* [PATCH] drm/i915/psr: Deactivate PSR only on LNL and when selective fetch enabled
@ 2025-09-22 10:27 Jouni Högander
2025-09-22 11:44 ` ✗ Fi.CI.DOCS: warning for " Patchwork
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Jouni Högander @ 2025-09-22 10:27 UTC (permalink / raw)
To: intel-xe, intel-gfx; +Cc: Jouni Högander, Lemen, Koos Vriezen
Using intel_psr_exit in frontbuffer flush on older platforms seems to be
causing problems.
Sending single full frame update using intel_psr_force_update is anyways
more optimal compared to psr deactivate/activate -> move back to this
approach on PSR1, PSR HW tracking and Panel Replay full frame update and
use deactivate/activate only on LunarLake and only when selective fetch is
enabled.
Tested-by: Lemen <lemen@lemen.xyz>
Tested-by: Koos Vriezen <koos.vriezen@gmail.com>
Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14946
Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
---
drivers/gpu/drm/i915/display/intel_psr.c | 12 ++++++++++--
1 file changed, 10 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
index 01bf304c705f..10eb93a34cf2 100644
--- a/drivers/gpu/drm/i915/display/intel_psr.c
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
@@ -3402,6 +3402,7 @@ 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) {
+ /* Selective fetch prior LNL */
if (intel_dp->psr.psr2_sel_fetch_cff_enabled) {
/* can we turn CFF off? */
if (intel_dp->psr.busy_frontbuffer_bits == 0)
@@ -3420,12 +3421,19 @@ 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) {
+ /*
+ * PSR1 on all platforms
+ * PSR2 HW tracking
+ * Panel Replay Full frame update
+ */
+ intel_psr_force_update(intel_dp);
} else {
+ /* Selective update LNL onwards */
intel_psr_exit(intel_dp);
}
- if ((!intel_dp->psr.psr2_sel_fetch_enabled || DISPLAY_VER(display) >= 20) &&
- !intel_dp->psr.busy_frontbuffer_bits)
+ if (!intel_dp->psr.active && !intel_dp->psr.busy_frontbuffer_bits)
queue_work(display->wq.unordered, &intel_dp->psr.work);
}
--
2.43.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* ✗ Fi.CI.DOCS: warning for drm/i915/psr: Deactivate PSR only on LNL and when selective fetch enabled
2025-09-22 10:27 [PATCH] drm/i915/psr: Deactivate PSR only on LNL and when selective fetch enabled Jouni Högander
@ 2025-09-22 11:44 ` Patchwork
2025-09-22 12:04 ` ✓ i915.CI.BAT: success " Patchwork
` (2 subsequent siblings)
3 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2025-09-22 11:44 UTC (permalink / raw)
To: Jouni Högander; +Cc: intel-gfx
== Series Details ==
Series: drm/i915/psr: Deactivate PSR only on LNL and when selective fetch enabled
URL : https://patchwork.freedesktop.org/series/154835/
State : warning
== Summary ==
Error: patch https://patchwork.freedesktop.org/api/1.0/series/154835/revisions/1/mbox/ not found
^ permalink raw reply [flat|nested] 6+ messages in thread
* ✓ i915.CI.BAT: success for drm/i915/psr: Deactivate PSR only on LNL and when selective fetch enabled
2025-09-22 10:27 [PATCH] drm/i915/psr: Deactivate PSR only on LNL and when selective fetch enabled Jouni Högander
2025-09-22 11:44 ` ✗ Fi.CI.DOCS: warning for " Patchwork
@ 2025-09-22 12:04 ` Patchwork
2025-09-22 13:55 ` ✓ i915.CI.Full: " Patchwork
2025-09-22 14:27 ` [PATCH] " Kahola, Mika
3 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2025-09-22 12:04 UTC (permalink / raw)
To: Jouni Högander; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 1882 bytes --]
== Series Details ==
Series: drm/i915/psr: Deactivate PSR only on LNL and when selective fetch enabled
URL : https://patchwork.freedesktop.org/series/154835/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_17252 -> Patchwork_154835v1
====================================================
Summary
-------
**WARNING**
Minor unknown changes coming with Patchwork_154835v1 need to be verified
manually.
If you think the reported changes have nothing to do with the changes
introduced in Patchwork_154835v1, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them
to document this new failure mode, which will reduce false positives in CI.
External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/index.html
Participating hosts (39 -> 39)
------------------------------
No changes in participating hosts
Possible new issues
-------------------
Here are the unknown changes that may have been introduced in Patchwork_154835v1:
### IGT changes ###
#### Warnings ####
* igt@i915_module_load@load:
- fi-ivb-3770: [ABORT][1] ([i915#15020]) -> [ABORT][2]
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17252/fi-ivb-3770/igt@i915_module_load@load.html
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/fi-ivb-3770/igt@i915_module_load@load.html
[i915#15020]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15020
Build changes
-------------
* Linux: CI_DRM_17252 -> Patchwork_154835v1
CI-20190529: 20190529
CI_DRM_17252: 07f928e6921093fc1341f7024f0bf72bcebc8842 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_8546: 8546
Patchwork_154835v1: 07f928e6921093fc1341f7024f0bf72bcebc8842 @ git://anongit.freedesktop.org/gfx-ci/linux
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/index.html
[-- Attachment #2: Type: text/html, Size: 2480 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* ✓ i915.CI.Full: success for drm/i915/psr: Deactivate PSR only on LNL and when selective fetch enabled
2025-09-22 10:27 [PATCH] drm/i915/psr: Deactivate PSR only on LNL and when selective fetch enabled Jouni Högander
2025-09-22 11:44 ` ✗ Fi.CI.DOCS: warning for " Patchwork
2025-09-22 12:04 ` ✓ i915.CI.BAT: success " Patchwork
@ 2025-09-22 13:55 ` Patchwork
2025-09-22 14:27 ` [PATCH] " Kahola, Mika
3 siblings, 0 replies; 6+ messages in thread
From: Patchwork @ 2025-09-22 13:55 UTC (permalink / raw)
To: Jouni Högander; +Cc: intel-gfx
[-- Attachment #1: Type: text/plain, Size: 11868 bytes --]
== Series Details ==
Series: drm/i915/psr: Deactivate PSR only on LNL and when selective fetch enabled
URL : https://patchwork.freedesktop.org/series/154835/
State : success
== Summary ==
CI Bug Log - changes from CI_DRM_17252_full -> Patchwork_154835v1_full
====================================================
Summary
-------
**SUCCESS**
No regressions found.
Participating hosts (12 -> 12)
------------------------------
No changes in participating hosts
Known issues
------------
Here are the changes found in Patchwork_154835v1_full that come from known issues:
### IGT changes ###
#### Issues hit ####
* igt@fbdev@info:
- shard-rkl: NOTRUN -> [SKIP][1] ([i915#14544] / [i915#1849] / [i915#2582])
[1]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-rkl-6/igt@fbdev@info.html
- shard-glk10: NOTRUN -> [SKIP][2] ([i915#1849])
[2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-glk10/igt@fbdev@info.html
* igt@gem_exec_capture@capture-invisible:
- shard-glk10: NOTRUN -> [SKIP][3] ([i915#6334]) +1 other test skip
[3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-glk10/igt@gem_exec_capture@capture-invisible.html
* igt@gem_exec_reloc@basic-write-read-active:
- shard-rkl: NOTRUN -> [SKIP][4] ([i915#14544] / [i915#3281]) +3 other tests skip
[4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-rkl-6/igt@gem_exec_reloc@basic-write-read-active.html
* igt@gem_lmem_swapping@heavy-verify-multi-ccs:
- shard-rkl: NOTRUN -> [SKIP][5] ([i915#14544] / [i915#4613])
[5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-rkl-6/igt@gem_lmem_swapping@heavy-verify-multi-ccs.html
* igt@gem_pxp@reject-modify-context-protection-off-3:
- shard-rkl: NOTRUN -> [SKIP][6] ([i915#14544] / [i915#4270])
[6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-rkl-6/igt@gem_pxp@reject-modify-context-protection-off-3.html
* igt@i915_module_load@load:
- shard-dg2-9: NOTRUN -> [ABORT][7] ([i915#15020])
[7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-dg2-9/igt@i915_module_load@load.html
* igt@kms_chamelium_hpd@dp-hpd-with-enabled-mode:
- shard-rkl: NOTRUN -> [SKIP][8] ([i915#11151] / [i915#14544] / [i915#7828]) +1 other test skip
[8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-rkl-6/igt@kms_chamelium_hpd@dp-hpd-with-enabled-mode.html
* igt@kms_color@ctm-0-75:
- shard-rkl: NOTRUN -> [SKIP][9] ([i915#12655] / [i915#14544])
[9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-rkl-6/igt@kms_color@ctm-0-75.html
* igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size:
- shard-rkl: NOTRUN -> [SKIP][10] ([i915#14544]) +26 other tests skip
[10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-rkl-6/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-varying-size.html
* igt@kms_feature_discovery@display-4x:
- shard-rkl: NOTRUN -> [SKIP][11] ([i915#14544] / [i915#1839])
[11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-rkl-6/igt@kms_feature_discovery@display-4x.html
* igt@kms_flip@2x-plain-flip:
- shard-rkl: NOTRUN -> [SKIP][12] ([i915#14544] / [i915#9934])
[12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-rkl-6/igt@kms_flip@2x-plain-flip.html
* igt@kms_flip@absolute-wf_vblank-interruptible:
- shard-rkl: NOTRUN -> [SKIP][13] ([i915#14544] / [i915#3637]) +2 other tests skip
[13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-rkl-6/igt@kms_flip@absolute-wf_vblank-interruptible.html
* igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling:
- shard-rkl: NOTRUN -> [SKIP][14] ([i915#14544] / [i915#3555]) +2 other tests skip
[14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-rkl-6/igt@kms_flip_scaled_crc@flip-32bpp-ytile-to-32bpp-ytilegen12rcccs-downscaling.html
* igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt:
- shard-rkl: NOTRUN -> [SKIP][15] ([i915#14544] / [i915#1849] / [i915#5354]) +15 other tests skip
[15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-rkl-6/igt@kms_frontbuffer_tracking@psr-2p-scndscrn-indfb-msflip-blt.html
* igt@kms_invalid_mode@bad-vsync-start:
- shard-rkl: NOTRUN -> [SKIP][16] ([i915#14544] / [i915#3555] / [i915#8826])
[16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-rkl-6/igt@kms_invalid_mode@bad-vsync-start.html
* igt@kms_pipe_crc_basic@read-crc-frame-sequence:
- shard-glk10: NOTRUN -> [SKIP][17] ([i915#11190]) +2 other tests skip
[17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-glk10/igt@kms_pipe_crc_basic@read-crc-frame-sequence.html
- shard-rkl: NOTRUN -> [SKIP][18] ([i915#11190] / [i915#14544])
[18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-rkl-6/igt@kms_pipe_crc_basic@read-crc-frame-sequence.html
* igt@kms_plane_alpha_blend@coverage-vs-premult-vs-constant:
- shard-rkl: NOTRUN -> [SKIP][19] ([i915#14544] / [i915#7294])
[19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-rkl-6/igt@kms_plane_alpha_blend@coverage-vs-premult-vs-constant.html
* igt@kms_plane_lowres@tiling-yf:
- shard-glk10: NOTRUN -> [SKIP][20] +224 other tests skip
[20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-glk10/igt@kms_plane_lowres@tiling-yf.html
* igt@kms_plane_scaling@plane-downscale-factor-0-75-with-pixel-format:
- shard-rkl: NOTRUN -> [SKIP][21] ([i915#14544] / [i915#8152])
[21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-rkl-6/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-pixel-format.html
* igt@kms_plane_scaling@plane-downscale-factor-0-75-with-pixel-format@pipe-a:
- shard-rkl: NOTRUN -> [SKIP][22] ([i915#12247] / [i915#14544]) +1 other test skip
[22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-rkl-6/igt@kms_plane_scaling@plane-downscale-factor-0-75-with-pixel-format@pipe-a.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-75:
- shard-rkl: NOTRUN -> [SKIP][23] ([i915#14544] / [i915#3555] / [i915#6953] / [i915#8152])
[23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-rkl-6/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-75.html
* igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-75@pipe-b:
- shard-rkl: NOTRUN -> [SKIP][24] ([i915#12247] / [i915#14544] / [i915#8152]) +1 other test skip
[24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-rkl-6/igt@kms_plane_scaling@planes-unity-scaling-downscale-factor-0-75@pipe-b.html
* igt@kms_pm_dc@dc6-psr:
- shard-rkl: NOTRUN -> [SKIP][25] ([i915#14544] / [i915#9685])
[25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-rkl-6/igt@kms_pm_dc@dc6-psr.html
* igt@kms_prime@basic-modeset-hybrid:
- shard-rkl: NOTRUN -> [SKIP][26] ([i915#14544] / [i915#6524])
[26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-rkl-6/igt@kms_prime@basic-modeset-hybrid.html
* igt@kms_properties@crtc-properties-atomic:
- shard-rkl: NOTRUN -> [SKIP][27] ([i915#11521] / [i915#14544])
[27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-rkl-6/igt@kms_properties@crtc-properties-atomic.html
* igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf:
- shard-glk10: NOTRUN -> [SKIP][28] ([i915#11520]) +5 other tests skip
[28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-glk10/igt@kms_psr2_sf@fbc-psr2-cursor-plane-update-sf.html
* igt@kms_psr2_sf@pr-overlay-plane-update-sf-dmg-area:
- shard-rkl: NOTRUN -> [SKIP][29] ([i915#11520] / [i915#14544]) +1 other test skip
[29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-rkl-6/igt@kms_psr2_sf@pr-overlay-plane-update-sf-dmg-area.html
* igt@kms_psr@psr-sprite-plane-onoff:
- shard-rkl: NOTRUN -> [SKIP][30] ([i915#1072] / [i915#14544] / [i915#9732]) +5 other tests skip
[30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-rkl-6/igt@kms_psr@psr-sprite-plane-onoff.html
#### Possible fixes ####
* igt@gem_exec_fence@invalid-fence-array:
- shard-rkl: [DMESG-WARN][31] ([i915#12964]) -> [PASS][32]
[31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_17252/shard-rkl-6/igt@gem_exec_fence@invalid-fence-array.html
[32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/shard-rkl-6/igt@gem_exec_fence@invalid-fence-array.html
{name}: This element is suppressed. This means it is ignored when computing
the status of the difference (SUCCESS, WARNING, or FAILURE).
[i915#1072]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1072
[i915#11151]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11151
[i915#11190]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11190
[i915#11520]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11520
[i915#11521]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/11521
[i915#12247]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12247
[i915#12655]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12655
[i915#12964]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12964
[i915#14544]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14544
[i915#15020]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/15020
[i915#1839]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1839
[i915#1849]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1849
[i915#2582]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/2582
[i915#3281]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3281
[i915#3555]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3555
[i915#3637]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/3637
[i915#4270]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4270
[i915#4613]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/4613
[i915#5354]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/5354
[i915#6334]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6334
[i915#6524]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6524
[i915#6953]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/6953
[i915#7294]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7294
[i915#7828]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/7828
[i915#8152]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8152
[i915#8826]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/8826
[i915#9685]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9685
[i915#9732]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9732
[i915#9934]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9934
Build changes
-------------
* Linux: CI_DRM_17252 -> Patchwork_154835v1
CI-20190529: 20190529
CI_DRM_17252: 07f928e6921093fc1341f7024f0bf72bcebc8842 @ git://anongit.freedesktop.org/gfx-ci/linux
IGT_8546: 8546
Patchwork_154835v1: 07f928e6921093fc1341f7024f0bf72bcebc8842 @ git://anongit.freedesktop.org/gfx-ci/linux
piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_154835v1/index.html
[-- Attachment #2: Type: text/html, Size: 15573 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* RE: [PATCH] drm/i915/psr: Deactivate PSR only on LNL and when selective fetch enabled
2025-09-22 10:27 [PATCH] drm/i915/psr: Deactivate PSR only on LNL and when selective fetch enabled Jouni Högander
` (2 preceding siblings ...)
2025-09-22 13:55 ` ✓ i915.CI.Full: " Patchwork
@ 2025-09-22 14:27 ` Kahola, Mika
2025-09-26 6:00 ` Hogander, Jouni
3 siblings, 1 reply; 6+ messages in thread
From: Kahola, Mika @ 2025-09-22 14:27 UTC (permalink / raw)
To: Hogander, Jouni, intel-xe@lists.freedesktop.org,
intel-gfx@lists.freedesktop.org
Cc: Hogander, Jouni, Lemen, Koos Vriezen
> -----Original Message-----
> From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Jouni Högander
> Sent: Monday, 22 September 2025 13.27
> To: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org
> Cc: Hogander, Jouni <jouni.hogander@intel.com>; Lemen <lemen@lemen.xyz>; Koos Vriezen <koos.vriezen@gmail.com>
> Subject: [PATCH] drm/i915/psr: Deactivate PSR only on LNL and when selective fetch enabled
>
> Using intel_psr_exit in frontbuffer flush on older platforms seems to be causing problems.
>
> Sending single full frame update using intel_psr_force_update is anyways more optimal compared to psr deactivate/activate ->
> move back to this approach on PSR1, PSR HW tracking and Panel Replay full frame update and use deactivate/activate only on
> LunarLake and only when selective fetch is enabled.
>
> Tested-by: Lemen <lemen@lemen.xyz>
> Tested-by: Koos Vriezen <koos.vriezen@gmail.com>
> Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14946
Reviewed-by: Mika Kahola <mika.kahola@intel.com>
> Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_psr.c | 12 ++++++++++--
> 1 file changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c
> index 01bf304c705f..10eb93a34cf2 100644
> --- a/drivers/gpu/drm/i915/display/intel_psr.c
> +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> @@ -3402,6 +3402,7 @@ 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) {
> + /* Selective fetch prior LNL */
> if (intel_dp->psr.psr2_sel_fetch_cff_enabled) {
> /* can we turn CFF off? */
> if (intel_dp->psr.busy_frontbuffer_bits == 0) @@ -3420,12 +3421,19 @@ 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) {
> + /*
> + * PSR1 on all platforms
> + * PSR2 HW tracking
> + * Panel Replay Full frame update
> + */
> + intel_psr_force_update(intel_dp);
> } else {
> + /* Selective update LNL onwards */
> intel_psr_exit(intel_dp);
> }
>
> - if ((!intel_dp->psr.psr2_sel_fetch_enabled || DISPLAY_VER(display) >= 20) &&
> - !intel_dp->psr.busy_frontbuffer_bits)
> + if (!intel_dp->psr.active && !intel_dp->psr.busy_frontbuffer_bits)
> queue_work(display->wq.unordered, &intel_dp->psr.work); }
>
> --
> 2.43.0
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] drm/i915/psr: Deactivate PSR only on LNL and when selective fetch enabled
2025-09-22 14:27 ` [PATCH] " Kahola, Mika
@ 2025-09-26 6:00 ` Hogander, Jouni
0 siblings, 0 replies; 6+ messages in thread
From: Hogander, Jouni @ 2025-09-26 6:00 UTC (permalink / raw)
To: intel-xe@lists.freedesktop.org, Kahola, Mika,
intel-gfx@lists.freedesktop.org
Cc: lemen@lemen.xyz, koos.vriezen@gmail.com
On Mon, 2025-09-22 at 14:27 +0000, Kahola, Mika wrote:
> > -----Original Message-----
> > From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf
> > Of Jouni Högander
> > Sent: Monday, 22 September 2025 13.27
> > To: intel-xe@lists.freedesktop.org; intel-gfx@lists.freedesktop.org
> > Cc: Hogander, Jouni <jouni.hogander@intel.com>; Lemen
> > <lemen@lemen.xyz>; Koos Vriezen <koos.vriezen@gmail.com>
> > Subject: [PATCH] drm/i915/psr: Deactivate PSR only on LNL and when
> > selective fetch enabled
> >
> > Using intel_psr_exit in frontbuffer flush on older platforms seems
> > to be causing problems.
> >
> > Sending single full frame update using intel_psr_force_update is
> > anyways more optimal compared to psr deactivate/activate ->
> > move back to this approach on PSR1, PSR HW tracking and Panel
> > Replay full frame update and use deactivate/activate only on
> > LunarLake and only when selective fetch is enabled.
> >
> > Tested-by: Lemen <lemen@lemen.xyz>
> > Tested-by: Koos Vriezen <koos.vriezen@gmail.com>
> > Closes:
> > https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/14946
>
> Reviewed-by: Mika Kahola <mika.kahola@intel.com>
Thank you Mika for checking my patch. This is now pushed to drm-intel-
next.
BR,
Jouni Högander
>
> > Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> > ---
> > drivers/gpu/drm/i915/display/intel_psr.c | 12 ++++++++++--
> > 1 file changed, 10 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_psr.c
> > b/drivers/gpu/drm/i915/display/intel_psr.c
> > index 01bf304c705f..10eb93a34cf2 100644
> > --- a/drivers/gpu/drm/i915/display/intel_psr.c
> > +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> > @@ -3402,6 +3402,7 @@ 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) {
> > + /* Selective fetch prior LNL */
> > if (intel_dp->psr.psr2_sel_fetch_cff_enabled) {
> > /* can we turn CFF off? */
> > if (intel_dp->psr.busy_frontbuffer_bits ==
> > 0) @@ -3420,12 +3421,19 @@ 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) {
> > + /*
> > + * PSR1 on all platforms
> > + * PSR2 HW tracking
> > + * Panel Replay Full frame update
> > + */
> > + intel_psr_force_update(intel_dp);
> > } else {
> > + /* Selective update LNL onwards */
> > intel_psr_exit(intel_dp);
> > }
> >
> > - if ((!intel_dp->psr.psr2_sel_fetch_enabled ||
> > DISPLAY_VER(display) >= 20) &&
> > - !intel_dp->psr.busy_frontbuffer_bits)
> > + if (!intel_dp->psr.active && !intel_dp-
> > >psr.busy_frontbuffer_bits)
> > queue_work(display->wq.unordered, &intel_dp-
> > >psr.work); }
> >
> > --
> > 2.43.0
>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-09-26 6:00 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-22 10:27 [PATCH] drm/i915/psr: Deactivate PSR only on LNL and when selective fetch enabled Jouni Högander
2025-09-22 11:44 ` ✗ Fi.CI.DOCS: warning for " Patchwork
2025-09-22 12:04 ` ✓ i915.CI.BAT: success " Patchwork
2025-09-22 13:55 ` ✓ i915.CI.Full: " Patchwork
2025-09-22 14:27 ` [PATCH] " Kahola, Mika
2025-09-26 6:00 ` Hogander, Jouni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox