From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Gaggery Tsai Date: Tue, 28 Apr 2026 15:00:00 -0500 Subject: [PATCH] drm/i915/alpm: limit Panel Replay ALPM programming to PR Linux 7 already carries the Panel Replay/PSR selective-update granularity fixes from the old linux-ptl 0020 patch. Keep only the remaining ALPM fix: avoid programming PR-specific ALPM controls when Panel Replay is not active, and use the common helper for aux-less ALPM selection. Signed-off-by: Gaggery Tsai --- diff --git a/drivers/gpu/drm/i915/display/intel_alpm.c b/drivers/gpu/drm/i915/display/intel_alpm.c index f4f1b68..a115b53 100644 --- a/drivers/gpu/drm/i915/display/intel_alpm.c +++ b/drivers/gpu/drm/i915/display/intel_alpm.c @@ -317,7 +317,7 @@ static void lnl_alpm_configure(struct intel_dp *intel_dp, ALPM_CTL_AUX_LESS_SLEEP_HOLD_TIME_50_SYMBOLS | ALPM_CTL_AUX_LESS_WAKE_TIME(crtc_state->alpm_state.aux_less_wake_lines); - if (intel_dp->as_sdp_supported) { + if (intel_dp->as_sdp_supported && crtc_state->has_panel_replay) { u32 pr_alpm_ctl = PR_ALPM_CTL_ADAPTIVE_SYNC_SDP_POSITION_T1; if (crtc_state->link_off_after_as_sdp_when_pr_active) @@ -430,8 +430,8 @@ void intel_alpm_enable_sink(struct intel_dp *intel_dp, val = DP_ALPM_ENABLE | DP_ALPM_LOCK_ERROR_IRQ_HPD_ENABLE; - if (crtc_state->has_panel_replay || (crtc_state->has_lobf && - intel_alpm_aux_less_wake_supported(intel_dp))) + if (intel_psr_needs_alpm_aux_less(intel_dp, crtc_state) || + (crtc_state->has_lobf && intel_alpm_aux_less_wake_supported(intel_dp))) val |= DP_ALPM_MODE_AUX_LESS; drm_dp_dpcd_writeb(&intel_dp->aux, DP_RECEIVER_ALPM_CONFIG, val);