Panel Replay is also using ALPM. Currently possible ALPM errors are detected only when PSR2 is enabled. Detect possible ALPM errors also when eDP Panel Replay is enabled.
Signed-off-by: Jouni Högander <[email protected]> --- drivers/gpu/drm/i915/display/intel_psr.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_psr.c b/drivers/gpu/drm/i915/display/intel_psr.c index 99d357bfd84b7..a848c57e4ce5d 100644 --- a/drivers/gpu/drm/i915/display/intel_psr.c +++ b/drivers/gpu/drm/i915/display/intel_psr.c @@ -3866,7 +3866,8 @@ static void psr_alpm_check(struct intel_dp *intel_dp) { struct intel_psr *psr = &intel_dp->psr; - if (!psr->sel_update_enabled) + if ((!psr->sel_update_enabled && !intel_dp->psr.panel_replay_enabled) || + !intel_dp_is_edp(intel_dp)) return; if (intel_alpm_get_error(intel_dp)) { @@ -3980,7 +3981,6 @@ static void _psr_short_pulse(struct intel_dp *intel_dp) /* clear status register */ drm_dp_dpcd_write_byte(&intel_dp->aux, DP_PSR_ERROR_STATUS, error_status); - psr_alpm_check(intel_dp); psr_capability_changed_check(intel_dp); } @@ -4001,6 +4001,8 @@ void intel_psr_short_pulse(struct intel_dp *intel_dp) else _psr_short_pulse(intel_dp); + psr_alpm_check(intel_dp); + exit: mutex_unlock(&intel_dp->psr.lock); } -- 2.43.0
