Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Jouni Högander" <jouni.hogander@intel.com>
To: intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org
Cc: "Jouni Högander" <jouni.hogander@intel.com>
Subject: [PATCH v9 7/8] drm/i915/psr: Do PSR exit on frontbuffer flush on LunarLake and onwards
Date: Tue, 23 Dec 2025 12:51:19 +0200	[thread overview]
Message-ID: <20251223105120.21505-8-jouni.hogander@intel.com> (raw)
In-Reply-To: <20251223105120.21505-1-jouni.hogander@intel.com>

We need to use intel_psr_exit in frontbuffer flush on LunarLake and
onwardsif we want to move using trans push mechanism to trigger Frame
Change event.

Keep PSR1 and PSR2 HW tracking as it is for older platforms as this was
seen causing problems there.

Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
---
 drivers/gpu/drm/i915/display/intel_psr.c | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
index 4336ba188aa7..ee70d0ceeb5b 100644
--- a/drivers/gpu/drm/i915/display/intel_psr.c
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
@@ -3559,7 +3559,14 @@ static void _psr_flush_handle(struct intel_dp *intel_dp)
 {
 	struct intel_display *display = to_intel_display(intel_dp);
 
-	if (DISPLAY_VER(display) < 20 && intel_dp->psr.psr2_sel_fetch_enabled) {
+	if (DISPLAY_VER(display) >= 20) {
+		/*
+		 * We can use PSR exit on LunarLake onwards. Also
+		 * using trans push mechanism to trigger Frame Change
+		 * event requires using PSR exit.
+		 */
+		intel_psr_exit(intel_dp);
+	} else if (intel_dp->psr.psr2_sel_fetch_enabled) {
 		/* Selective fetch prior LNL */
 		if (intel_dp->psr.psr2_sel_fetch_cff_enabled) {
 			/* can we turn CFF off? */
@@ -3579,16 +3586,11 @@ static void _psr_flush_handle(struct intel_dp *intel_dp)
 		intel_psr_configure_full_frame_update(intel_dp);
 
 		intel_psr_force_update(intel_dp);
-	} else if (!intel_dp->psr.psr2_sel_fetch_enabled) {
+	} else {
 		/*
-		 * PSR1 on all platforms
-		 * PSR2 HW tracking
-		 * Panel Replay Full frame update
+		 * On older platforms using PSR exit was seen causing problems
 		 */
 		intel_psr_force_update(intel_dp);
-	} else {
-		/* Selective update LNL onwards */
-		intel_psr_exit(intel_dp);
 	}
 
 	if (!intel_dp->psr.active && !intel_dp->psr.busy_frontbuffer_bits)
-- 
2.43.0


  parent reply	other threads:[~2025-12-23 10:51 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-23 10:51 [PATCH v9 0/8] Use trans push mechanism to generate frame change event Jouni Högander
2025-12-23 10:51 ` [PATCH v9 1/8] drm/i915/psr: Add TRANS_PUSH register bit definition for PSR Jouni Högander
2025-12-23 10:51 ` [PATCH v9 2/8] drm/i915/psr: Add intel_psr_use_trans_push to query if TRANS_PUSH is used Jouni Högander
2025-12-23 10:51 ` [PATCH v9 3/8] drm/i915/vrr: Prepare to Use TRANS_PUSH mechanism for PSR frame change Jouni Högander
2026-01-22 11:04   ` Nautiyal, Ankit K
2026-01-22 11:39     ` Hogander, Jouni
2025-12-23 10:51 ` [PATCH v9 4/8] drm/i915/dsb: Set DSB_SKIP_WAITS_EN chicken bit for LunarLake and onwards Jouni Högander
2026-01-23  4:41   ` Nautiyal, Ankit K
2026-01-23  6:19     ` Hogander, Jouni
2025-12-23 10:51 ` [PATCH v9 5/8] drm/i915/display: Wait for vblank in case of PSR is using trans push Jouni Högander
2025-12-23 10:51 ` [PATCH v9 6/8] drm/i915/psr: Wait for idle only after possible send push Jouni Högander
2026-01-23  5:12   ` Nautiyal, Ankit K
2026-01-23  6:37     ` Hogander, Jouni
2026-01-23 11:33       ` Nautiyal, Ankit K
2025-12-23 10:51 ` Jouni Högander [this message]
2026-01-23  6:18   ` [PATCH v9 7/8] drm/i915/psr: Do PSR exit on frontbuffer flush on LunarLake and onwards Nautiyal, Ankit K
2025-12-23 10:51 ` [PATCH v9 8/8] drm/i915/psr: Use TRANS_PUSH to trigger frame change event Jouni Högander
2026-01-22 11:04   ` Nautiyal, Ankit K
2026-01-22 11:43     ` Hogander, Jouni
2025-12-23 11:41 ` ✓ CI.KUnit: success for Use trans push mechanism to generate frame change event (rev9) Patchwork
2025-12-23 11:57 ` ✗ CI.checksparse: warning " Patchwork
2025-12-23 12:19 ` ✓ Xe.CI.BAT: success " Patchwork
2025-12-23 22:33 ` ✗ Xe.CI.Full: failure " Patchwork

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=20251223105120.21505-8-jouni.hogander@intel.com \
    --to=jouni.hogander@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=intel-xe@lists.freedesktop.org \
    /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