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.

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

Reply via email to