On Thu, Feb 12, 2026 at 08:27:31AM +0200, Jouni Högander wrote: > PORT_ALPM_CTL is supposed to be written only before link training. Remove > writing it from ALPM disable. > > Also clearing ALPM_CTL_ALPM_AUX_LESS_ENABLE and is not about disabling ALPM > but switching to AUX-Wake ALPM. Stop touching this bit on ALPM disable.
There's another open coded variant of this in intel_alpm_lobf_disable(), and that thing also gets passed the wrong crtc_state (new instead of old). Also LOBF enable is now being done from two places (intel_alpm_lobf_enable() and intel_psr_enable_source()). How those two interact is anyone's guess. > > Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/7153 > Fixes: 1ccbf135862b ("drm/i915/psr: Enable ALPM on source side for eDP Panel > replay") > Cc: Animesh Manna <[email protected]> > Cc: Jani Nikula <[email protected]> > Cc: <[email protected]> # v6.10+ > Signed-off-by: Jouni Högander <[email protected]> > --- > drivers/gpu/drm/i915/display/intel_alpm.c | 7 +------ > 1 file changed, 1 insertion(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_alpm.c > b/drivers/gpu/drm/i915/display/intel_alpm.c > index e0a4a59dc025..b3334bc4d0f9 100644 > --- a/drivers/gpu/drm/i915/display/intel_alpm.c > +++ b/drivers/gpu/drm/i915/display/intel_alpm.c > @@ -604,12 +604,7 @@ void intel_alpm_disable(struct intel_dp *intel_dp) > mutex_lock(&intel_dp->alpm.lock); > > intel_de_rmw(display, ALPM_CTL(display, cpu_transcoder), > - ALPM_CTL_ALPM_ENABLE | ALPM_CTL_LOBF_ENABLE | > - ALPM_CTL_ALPM_AUX_LESS_ENABLE, 0); > - > - intel_de_rmw(display, > - PORT_ALPM_CTL(cpu_transcoder), > - PORT_ALPM_CTL_ALPM_AUX_LESS_ENABLE, 0); > + ALPM_CTL_ALPM_ENABLE | ALPM_CTL_LOBF_ENABLE, 0); > > drm_dbg_kms(display->drm, "Disabling ALPM\n"); > mutex_unlock(&intel_dp->alpm.lock); > -- > 2.43.0 -- Ville Syrjälä Intel
