intel-xe.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] drm/i915/display: Limit SEL_FETCH clear to supported pipes
@ 2026-09-04  6:27 Nemesa Garg
  2026-09-04  6:38 ` ✓ CI.KUnit: success for " Patchwork
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Nemesa Garg @ 2026-09-04  6:27 UTC (permalink / raw)
  To: intel-gfx, intel-xe; +Cc: Nemesa Garg

Commit 7f1172a2ac0d ("drm/i915/display: Clear SEL_FETCH_PLANE_CTL
on plane disable") started clearing SEL_FETCH_PLANE_CTL and
SEL_FETCH_CUR_CTL on every plane and cursor disable.

Not all pipes implement these registers. Clearing them on a pipe
that does not have them leads to an unclaimed register access.

Skip the clear on pipes that do not implement the registers.

Fixes: 7f1172a2ac0d ("drm/i915/display: Clear SEL_FETCH_PLANE_CTL on plane disable")
Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/work_items/16876
Assisted-by: GitHub-Copilot:claude-opus-4.6
Signed-off-by: Nemesa Garg <nemesa.garg@intel.com>
---
 drivers/gpu/drm/i915/display/intel_cursor.c        | 4 ++++
 drivers/gpu/drm/i915/display/skl_universal_plane.c | 4 ++++
 2 files changed, 8 insertions(+)

diff --git a/drivers/gpu/drm/i915/display/intel_cursor.c b/drivers/gpu/drm/i915/display/intel_cursor.c
index 86bb96ac449b..3c06d5482691 100644
--- a/drivers/gpu/drm/i915/display/intel_cursor.c
+++ b/drivers/gpu/drm/i915/display/intel_cursor.c
@@ -544,6 +544,10 @@ static void i9xx_cursor_disable_sel_fetch_arm(struct intel_dsb *dsb,
 	if (!HAS_PSR2_SEL_FETCH(display))
 		return;
 
+	/* Display ver 12 only instantiates these registers for pipe A */
+	if (DISPLAY_VER(display) == 12 && pipe != PIPE_A)
+		return;
+
 	intel_de_write_dsb(display, dsb, SEL_FETCH_CUR_CTL(pipe), 0);
 }
 
diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c
index 5cda1ab90e40..252df30debc9 100644
--- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
+++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
@@ -893,6 +893,10 @@ static void icl_plane_disable_sel_fetch_arm(struct intel_dsb *dsb,
 	if (!HAS_PSR2_SEL_FETCH(display))
 		return;
 
+	/* Display ver 12 only instantiates these registers for pipe A */
+	if (DISPLAY_VER(display) == 12 && pipe != PIPE_A)
+		return;
+
 	intel_de_write_dsb(display, dsb, SEL_FETCH_PLANE_CTL(pipe, plane->id), 0);
 }
 
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-09-04 17:22 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-04  6:27 [PATCH] drm/i915/display: Limit SEL_FETCH clear to supported pipes Nemesa Garg
2026-09-04  6:38 ` ✓ CI.KUnit: success for " Patchwork
2026-09-04  6:45 ` [PATCH] " sashiko-bot
2026-09-04  7:10 ` Jani Nikula
2026-09-04  7:24 ` ✓ Xe.CI.BAT: success for " Patchwork
2026-09-04 17:22 ` ✓ Xe.CI.FULL: " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).