From: Mark Brown <broonie@kernel.org>
To: Simona Vetter <simona.vetter@ffwll.ch>,
Jani Nikula <jani.nikula@linux.intel.com>,
Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
Rodrigo Vivi <rodrigo.vivi@intel.com>,
Intel Graphics <intel-gfx@lists.freedesktop.org>,
DRI <dri-devel@lists.freedesktop.org>
Cc: Jani Nikula <jani.nikula@intel.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Linux Next Mailing List <linux-next@vger.kernel.org>,
Nemesa Garg <nemesa.garg@intel.com>,
Suraj Kandpal <suraj.kandpal@intel.com>
Subject: linux-next: manual merge of the drm-intel tree with the drm-intel-fixes tree
Date: Wed, 16 Sep 2026 13:28:43 +0100 [thread overview]
Message-ID: <aqqLe8U_PPOE4u7a@sirena.org.uk> (raw)
[-- Attachment #1: Type: text/plain, Size: 6096 bytes --]
Hi all,
Today's linux-next merge of the drm-intel tree got a conflict in:
drivers/gpu/drm/i915/display/intel_cursor.c
drivers/gpu/drm/i915/display/skl_universal_plane.c
between commit:
a26204be587c5 ("Revert "drm/i915/display: Clear SEL_FETCH_PLANE_CTL on plane disable"")
from the drm-intel-fixes tree and commits:
d393529394167 ("Revert "drm/i915/display: Clear SEL_FETCH_PLANE_CTL on plane disable"")
a4c0e7f80429e ("drm/i915/psr: Clear stale sel fetch enable bits on sel fetch disable")
from the drm-intel tree.
I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging. You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.
diff --combined drivers/gpu/drm/i915/display/intel_cursor.c
index 90173040d8253,4afd275de86ea..0000000000000
--- a/drivers/gpu/drm/i915/display/intel_cursor.c
+++ b/drivers/gpu/drm/i915/display/intel_cursor.c
@@@ -537,7 -537,8 +537,8 @@@ static void i9xx_cursor_disable_sel_fet
struct intel_display *display = to_intel_display(plane);
enum pipe pipe = plane->pipe;
- if (!crtc_state->enable_psr2_sel_fetch)
+ if (!crtc_state->enable_psr2_sel_fetch &&
+ !crtc_state->clear_psr2_sel_fetch)
return;
intel_de_write_dsb(display, dsb, SEL_FETCH_CUR_CTL(pipe), 0);
@@@ -570,8 -571,10 +571,10 @@@ static void i9xx_cursor_update_sel_fetc
struct intel_display *display = to_intel_display(plane);
enum pipe pipe = plane->pipe;
- if (!crtc_state->enable_psr2_sel_fetch)
+ if (!crtc_state->enable_psr2_sel_fetch) {
+ i9xx_cursor_disable_sel_fetch_arm(dsb, plane, crtc_state);
return;
+ }
if (drm_rect_height(&plane_state->psr2_sel_fetch_area) > 0) {
if (crtc_state->enable_psr2_su_region_et) {
diff --combined drivers/gpu/drm/i915/display/skl_universal_plane.c
index 07a6832933521,2636eba2ba465..0000000000000
--- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
+++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
@@@ -885,7 -885,8 +885,8 @@@ static void icl_plane_disable_sel_fetch
struct intel_display *display = to_intel_display(plane);
enum pipe pipe = plane->pipe;
- if (!crtc_state->enable_psr2_sel_fetch)
+ if (!crtc_state->enable_psr2_sel_fetch &&
+ !crtc_state->clear_psr2_sel_fetch)
return;
intel_de_write_dsb(display, dsb, SEL_FETCH_PLANE_CTL(pipe, plane->id), 0);
@@@ -1240,36 -1241,46 +1241,46 @@@ static u32 glk_plane_color_ctl_crtc(con
return plane_color_ctl;
}
- static u32 glk_plane_color_ctl(const struct intel_plane_state *plane_state)
+ static u32 glk_plane_color_ctl_input_csc(const struct intel_plane_state *plane_state)
{
struct intel_display *display = to_intel_display(plane_state);
const struct drm_framebuffer *fb = plane_state->hw.fb;
struct intel_plane *plane = to_intel_plane(plane_state->uapi.plane);
+ bool color_pipeline = !!plane_state->uapi.color_pipeline;
+ bool needs_csc = color_pipeline ? plane_state->hw.csc_ff_enable : fb->format->is_yuv;
+ u32 ctl = 0;
+
+ if (!needs_csc)
+ return 0;
+
+ if (!icl_is_hdr_plane(display, plane->id)) {
+ switch (plane_state->hw.color_encoding) {
+ case DRM_COLOR_YCBCR_BT709:
+ ctl |= PLANE_COLOR_CSC_MODE_YUV709_TO_RGB709;
+ break;
+ case DRM_COLOR_YCBCR_BT2020:
+ ctl |= PLANE_COLOR_CSC_MODE_YUV2020_TO_RGB2020;
+ break;
+ default:
+ ctl |= PLANE_COLOR_CSC_MODE_YUV601_TO_RGB601;
+ }
+ } else {
+ ctl |= PLANE_COLOR_INPUT_CSC_ENABLE;
+ }
+
+ if (plane_state->hw.color_range == DRM_COLOR_YCBCR_FULL_RANGE)
+ ctl |= PLANE_COLOR_YUV_RANGE_CORRECTION_DISABLE;
+
+ return ctl;
+ }
+
+ static u32 glk_plane_color_ctl(const struct intel_plane_state *plane_state)
+ {
u32 plane_color_ctl = 0;
plane_color_ctl |= PLANE_COLOR_PLANE_GAMMA_DISABLE;
plane_color_ctl |= glk_plane_color_ctl_alpha(plane_state);
-
- if (fb->format->is_yuv && !icl_is_hdr_plane(display, plane->id)) {
- switch (plane_state->hw.color_encoding) {
- case DRM_COLOR_YCBCR_BT709:
- plane_color_ctl |= PLANE_COLOR_CSC_MODE_YUV709_TO_RGB709;
- break;
- case DRM_COLOR_YCBCR_BT2020:
- plane_color_ctl |=
- PLANE_COLOR_CSC_MODE_YUV2020_TO_RGB2020;
- break;
- default:
- plane_color_ctl |=
- PLANE_COLOR_CSC_MODE_YUV601_TO_RGB601;
- }
- if (plane_state->hw.color_range == DRM_COLOR_YCBCR_FULL_RANGE)
- plane_color_ctl |= PLANE_COLOR_YUV_RANGE_CORRECTION_DISABLE;
- } else if (fb->format->is_yuv) {
- plane_color_ctl |= PLANE_COLOR_INPUT_CSC_ENABLE;
- if (plane_state->hw.color_range == DRM_COLOR_YCBCR_FULL_RANGE)
- plane_color_ctl |= PLANE_COLOR_YUV_RANGE_CORRECTION_DISABLE;
- }
+ plane_color_ctl |= glk_plane_color_ctl_input_csc(plane_state);
if (plane_state->force_black)
plane_color_ctl |= PLANE_COLOR_PLANE_CSC_ENABLE;
@@@ -1611,7 -1622,8 +1622,8 @@@ icl_plane_update_noarm(struct intel_ds
intel_de_write_dsb(display, dsb, PLANE_COLOR_CTL(pipe, plane_id),
plane_color_ctl);
- if (fb->format->is_yuv && icl_is_hdr_plane(display, plane_id))
+ if (icl_is_hdr_plane(display, plane_id) &&
+ (fb->format->is_yuv || plane_state->hw.csc_ff_enable))
icl_program_input_csc(dsb, plane, plane_state);
skl_write_plane_wm(dsb, plane, crtc_state);
@@@ -1634,10 -1646,8 +1646,8 @@@ static void icl_plane_update_sel_fetch_
struct intel_display *display = to_intel_display(plane);
enum pipe pipe = plane->pipe;
- if (!crtc_state->enable_psr2_sel_fetch)
- return;
-
- if (drm_rect_height(&plane_state->psr2_sel_fetch_area) > 0)
+ if (crtc_state->enable_psr2_sel_fetch &&
+ drm_rect_height(&plane_state->psr2_sel_fetch_area) > 0)
intel_de_write_dsb(display, dsb, SEL_FETCH_PLANE_CTL(pipe, plane->id),
SEL_FETCH_PLANE_CTL_ENABLE);
else
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
next reply other threads:[~2026-09-16 12:28 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-16 12:28 Mark Brown [this message]
-- strict thread matches above, loose matches on Subject: below --
2026-08-31 13:43 Mark Brown
2026-03-23 16:10 Mark Brown
2026-03-10 13:34 Mark Brown
2025-10-16 13:56 Mark Brown
2025-10-14 12:29 Mark Brown
2024-12-03 20:05 Mark Brown
2022-02-25 17:08 broonie
2022-02-23 14:46 broonie
2022-02-02 23:59 Stephen Rothwell
2021-08-02 15:18 Mark Brown
2020-06-30 1:52 Stephen Rothwell
2020-07-06 1:51 ` Stephen Rothwell
2020-03-11 2:36 Stephen Rothwell
2020-03-20 1:57 ` Stephen Rothwell
2019-03-21 23:57 Stephen Rothwell
2019-03-31 22:59 ` Stephen Rothwell
2017-10-18 9:27 Mark Brown
2017-10-16 11:35 Mark Brown
2017-10-17 8:11 ` Arnd Bergmann
2017-10-17 8:30 ` Mark Brown
2017-10-12 18:44 Mark Brown
2017-10-12 18:36 Mark Brown
2017-06-08 3:07 Stephen Rothwell
2017-06-08 3:04 Stephen Rothwell
2017-03-21 0:37 Stephen Rothwell
2016-08-24 1:42 Stephen Rothwell
2016-08-24 1:32 Stephen Rothwell
2016-06-22 1:40 Stephen Rothwell
2015-11-18 0:30 Stephen Rothwell
2015-09-30 1:32 Stephen Rothwell
2015-09-24 1:25 Stephen Rothwell
2015-09-24 8:57 ` Jani Nikula
2015-09-24 11:52 ` Stephen Rothwell
2015-07-15 0:15 Stephen Rothwell
2015-07-14 2:11 Stephen Rothwell
2015-07-14 7:34 ` Daniel Vetter
2015-07-10 2:15 Stephen Rothwell
2015-07-10 2:08 Stephen Rothwell
2015-02-27 0:36 Stephen Rothwell
2015-02-26 0:15 Stephen Rothwell
2015-02-25 1:05 Stephen Rothwell
2015-01-09 2:06 Stephen Rothwell
2014-05-22 5:58 Stephen Rothwell
2014-04-30 2:37 Stephen Rothwell
2013-12-16 1:45 Stephen Rothwell
2013-12-02 1:04 Stephen Rothwell
2013-12-02 1:13 ` Stephen Rothwell
2013-09-25 2:00 Stephen Rothwell
2013-09-20 1:40 Stephen Rothwell
2013-07-26 3:14 Stephen Rothwell
2013-07-26 3:10 Stephen Rothwell
2013-07-18 2:07 Stephen Rothwell
2013-07-18 1:44 Stephen Rothwell
2013-07-16 2:05 Stephen Rothwell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aqqLe8U_PPOE4u7a@sirena.org.uk \
--to=broonie@kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=jani.nikula@intel.com \
--cc=jani.nikula@linux.intel.com \
--cc=joonas.lahtinen@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-next@vger.kernel.org \
--cc=nemesa.garg@intel.com \
--cc=rodrigo.vivi@intel.com \
--cc=simona.vetter@ffwll.ch \
--cc=suraj.kandpal@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®