* [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