38 lines
1.7 KiB
Diff
38 lines
1.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Gaggery Tsai <gaggery.tsai@intel.com>
|
|
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 <gaggery.tsai@intel.com>
|
|
---
|
|
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);
|