* [PATCH] drm/i915/psr: Skip PSR exit for legacy cursor updates on LNL
@ 2026-06-23 8:41 Aaron Ma
2026-06-23 8:52 ` sashiko-bot
2026-06-23 9:19 ` ✗ Fi.CI.BUILD: failure for " Patchwork
0 siblings, 2 replies; 3+ messages in thread
From: Aaron Ma @ 2026-06-23 8:41 UTC (permalink / raw)
To: Jani Nikula, Rodrigo Vivi, Joonas Lahtinen, Tvrtko Ursulin,
David Airlie, Simona Vetter, intel-gfx, intel-xe, dri-devel,
linux-kernel
Cc: Gwan-gyeong Mun, Ville Syrjälä,
José Roberto de Souza
ORIGIN_CURSOR_UPDATE falls through to _psr_flush_handle() on LNL
(DISPLAY_VER >= 20), which calls intel_psr_exit(). Cursor plane updated
via legacy ioctl (drmModeMoveCursor) does not dirty the primary
frontbuffer, no PSR2 state change is needed. Match the existing
ORIGIN_FLIP behavior by unconditionally returning early.
Before this, the psr2_sel_fetch_enabled guard only prevented the early
return when PSR2 selective fetch was active, sending cursor updates
through intel_psr_exit() and causing a black line artifact on some
panels during the exit/re-enable transition.
Fixes: ef39826c12b4 ("drm/i915/display: Fix glitches when moving cursor with PSR2 selective fetch enabled")
Signed-off-by: Aaron Ma <aaron.ma@canonical.com>
---
drivers/gpu/drm/i915/display/intel_psr.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
index e138982dc91f6..32bee6c03b754 100644
--- a/drivers/gpu/drm/i915/display/intel_psr.c
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
@@ -3771,8 +3771,7 @@ void intel_psr_flush(struct intel_display *display,
goto unlock;
if (origin == ORIGIN_FLIP ||
- (origin == ORIGIN_CURSOR_UPDATE &&
- !intel_dp->psr.psr2_sel_fetch_enabled)) {
+ origin == ORIGIN_CURSOR_UPDATE) {
tgl_dc3co_flush_locked(intel_dp, frontbuffer_bits, origin);
goto unlock;
}
--
2.43.0
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH] drm/i915/psr: Skip PSR exit for legacy cursor updates on LNL
2026-06-23 8:41 [PATCH] drm/i915/psr: Skip PSR exit for legacy cursor updates on LNL Aaron Ma
@ 2026-06-23 8:52 ` sashiko-bot
2026-06-23 9:19 ` ✗ Fi.CI.BUILD: failure for " Patchwork
1 sibling, 0 replies; 3+ messages in thread
From: sashiko-bot @ 2026-06-23 8:52 UTC (permalink / raw)
To: Aaron Ma; +Cc: dri-devel
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] Unconditionally skipping PSR flush/exit for legacy cursor updates reintroduces cursor trailing artifacts on pre-LNL platforms with PSR2 selective fetch.
--
commit 2fb445d4d3ce6ed075913638e7c06b17876c62bb
Author: Aaron Ma <aaron.ma@canonical.com>
drm/i915/psr: Skip PSR exit for legacy cursor updates on LNL
This commit modifies the PSR flush handler to unconditionally skip the
PSR exit path for legacy cursor updates. It removes the selective fetch
check to resolve visual artifacts during exit/re-enable transitions on LNL.
> diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
> index e138982dc91f6..32bee6c03b754 100644
> --- a/drivers/gpu/drm/i915/display/intel_psr.c
> +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> @@ -3771,8 +3771,7 @@ void intel_psr_flush(struct intel_display *display,
> goto unlock;
>
> if (origin == ORIGIN_FLIP ||
> - (origin == ORIGIN_CURSOR_UPDATE &&
> - !intel_dp->psr.psr2_sel_fetch_enabled)) {
> + origin == ORIGIN_CURSOR_UPDATE) {
[Severity: Medium]
Will unconditionally removing the !intel_dp->psr.psr2_sel_fetch_enabled
guard reintroduce cursor trailing artifacts on pre-LNL platforms?
The commit message mentions skipping PSR exit for LNL, but the change applies
to all platforms.
Any legacy cursor update on pre-LNL platforms with PSR2 selective fetch
enabled will now trigger intel_legacy_cursor_update(), which issues
ORIGIN_CURSOR_UPDATE and bypasses the full-frame fallback update in
_psr_flush_handle().
Could this revert the behavior introduced in commit ef39826c12b4 for older
platforms?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260623084137.3421894-1-aaron.ma@canonical.com?part=1
^ permalink raw reply [flat|nested] 3+ messages in thread* ✗ Fi.CI.BUILD: failure for drm/i915/psr: Skip PSR exit for legacy cursor updates on LNL
2026-06-23 8:41 [PATCH] drm/i915/psr: Skip PSR exit for legacy cursor updates on LNL Aaron Ma
2026-06-23 8:52 ` sashiko-bot
@ 2026-06-23 9:19 ` Patchwork
1 sibling, 0 replies; 3+ messages in thread
From: Patchwork @ 2026-06-23 9:19 UTC (permalink / raw)
To: Aaron Ma; +Cc: intel-gfx
== Series Details ==
Series: drm/i915/psr: Skip PSR exit for legacy cursor updates on LNL
URL : https://patchwork.freedesktop.org/series/169004/
State : failure
== Summary ==
Error: patch https://patchwork.freedesktop.org/api/1.0/series/169004/revisions/1/mbox/ not applied
Applying: drm/i915/psr: Skip PSR exit for legacy cursor updates on LNL
Using index info to reconstruct a base tree...
M drivers/gpu/drm/i915/display/intel_psr.c
Falling back to patching base and 3-way merge...
Auto-merging drivers/gpu/drm/i915/display/intel_psr.c
CONFLICT (content): Merge conflict in drivers/gpu/drm/i915/display/intel_psr.c
error: Failed to merge in the changes.
hint: Use 'git am --show-current-patch=diff' to see the failed patch
Patch failed at 0001 drm/i915/psr: Skip PSR exit for legacy cursor updates on LNL
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".
Build failed, no error log produced
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-06-23 9:19 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-23 8:41 [PATCH] drm/i915/psr: Skip PSR exit for legacy cursor updates on LNL Aaron Ma
2026-06-23 8:52 ` sashiko-bot
2026-06-23 9:19 ` ✗ Fi.CI.BUILD: failure for " Patchwork
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.