On 12/23/2025 4:21 PM, Jouni Högander wrote:
Now we have everything in place for triggering PSR "frame change" event
using TRANS_PUSH: use TRANS_PUSH for LunarLake and onwards.
v3: use HAS_PSR_FRAME_CHANGE macro
v2: use AND instead of OR in intel_psr_use_trans_push
Signed-off-by: Jouni Högander <[email protected]>
---
drivers/gpu/drm/i915/display/intel_psr.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/intel_psr.c
b/drivers/gpu/drm/i915/display/intel_psr.c
index ee70d0ceeb5b..353924f8c975 100644
--- a/drivers/gpu/drm/i915/display/intel_psr.c
+++ b/drivers/gpu/drm/i915/display/intel_psr.c
@@ -4569,6 +4569,7 @@ int intel_psr_min_guardband(struct intel_crtc_state
*crtc_state)
bool intel_psr_use_trans_push(const struct intel_crtc_state *crtc_state)
{
- /* TODO: Enable using trans push when everything is in place */
- return false;
+ struct intel_display *display = to_intel_display(crtc_state);
+
+ return HAS_PSR_FRAME_CHANGE(display) && crtc_state->has_psr;
Can we just always enable this bit for LNL+ platforms.
I mean if no PSR/PSR2/Panel Replay are enabled, if we still have this
bit set, can there be any issue?
The frame change event will be generated but the PSR/PR logic will not
get activated.
Regards,
Ankit
}