mirror of
https://github.com/torvalds/linux.git
synced 2026-05-26 16:12:59 +02:00
drm/i915/psr: Use TRANS_PUSH to trigger frame change event
Now we have everything in place for triggering PSR "frame change" event using TRANS_PUSH: use TRANS_PUSH for LunarLake and onwards. v4: - Added call to intel_vrr_psr_frame_change_enable call - added setting LNL_TRANS_PUSH_PSR_PR_EN into intel_vrr_send_push 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 <jouni.hogander@intel.com> Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com> Link: https://patch.msgid.link/20260127124120.1069026-12-jouni.hogander@intel.com
This commit is contained in:
parent
8c55f7afde
commit
129a4da117
|
|
@ -2125,6 +2125,9 @@ static void intel_psr_enable_source(struct intel_dp *intel_dp,
|
|||
intel_dmc_block_pkgc(display, intel_dp->psr.pipe, true);
|
||||
|
||||
intel_alpm_configure(intel_dp, crtc_state);
|
||||
|
||||
if (HAS_PSR_TRANS_PUSH_FRAME_CHANGE(display))
|
||||
intel_vrr_psr_frame_change_enable(crtc_state);
|
||||
}
|
||||
|
||||
static bool psr_interrupt_error_check(struct intel_dp *intel_dp)
|
||||
|
|
@ -4569,6 +4572,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_TRANS_PUSH_FRAME_CHANGE(display) && crtc_state->has_psr;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -689,6 +689,9 @@ static u32 trans_vrr_push(const struct intel_crtc_state *crtc_state,
|
|||
if (send_push)
|
||||
trans_vrr_push |= TRANS_PUSH_SEND;
|
||||
|
||||
if (HAS_PSR_TRANS_PUSH_FRAME_CHANGE(display))
|
||||
trans_vrr_push |= LNL_TRANS_PUSH_PSR_PR_EN;
|
||||
|
||||
return trans_vrr_push;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user