* [PATCH] drm/i915/alpm: ALPM disable fixes
@ 2026-02-12 6:27 Jouni Högander
2026-02-20 8:06 ` Michał Grzelak
2026-02-26 9:12 ` Ville Syrjälä
0 siblings, 2 replies; 5+ messages in thread
From: Jouni Högander @ 2026-02-12 6:27 UTC (permalink / raw)
To: intel-gfx, intel-xe
Cc: Jouni Högander, Animesh Manna, Jani Nikula, stable
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 <animesh.manna@intel.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Cc: <stable@vger.kernel.org> # v6.10+
Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
---
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
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH] drm/i915/alpm: ALPM disable fixes
2026-02-12 6:27 [PATCH] drm/i915/alpm: ALPM disable fixes Jouni Högander
@ 2026-02-20 8:06 ` Michał Grzelak
2026-02-20 10:38 ` Hogander, Jouni
2026-02-26 9:12 ` Ville Syrjälä
1 sibling, 1 reply; 5+ messages in thread
From: Michał Grzelak @ 2026-02-20 8:06 UTC (permalink / raw)
To: Jouni Högander
Cc: intel-gfx, intel-xe, Animesh Manna, Jani Nikula, stable
[-- Attachment #1: Type: text/plain, Size: 728 bytes --]
On Thu, 12 Feb 2026, 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.
>
> 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 <animesh.manna@intel.com>
> Cc: Jani Nikula <jani.nikula@linux.intel.com>
> Cc: <stable@vger.kernel.org> # v6.10+
> Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
Reviewed-by: Michał Grzelak <michal.grzelak@intel.com>
BR,
Michał
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] drm/i915/alpm: ALPM disable fixes
2026-02-20 8:06 ` Michał Grzelak
@ 2026-02-20 10:38 ` Hogander, Jouni
0 siblings, 0 replies; 5+ messages in thread
From: Hogander, Jouni @ 2026-02-20 10:38 UTC (permalink / raw)
To: Grzelak, Michal
Cc: intel-xe@lists.freedesktop.org, stable@vger.kernel.org,
Manna, Animesh, intel-gfx@lists.freedesktop.org,
jani.nikula@linux.intel.com
On Fri, 2026-02-20 at 09:06 +0100, Michał Grzelak wrote:
> On Thu, 12 Feb 2026, 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.
> >
> > 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 <animesh.manna@intel.com>
> > Cc: Jani Nikula <jani.nikula@linux.intel.com>
> > Cc: <stable@vger.kernel.org> # v6.10+
> > Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
>
> Reviewed-by: Michał Grzelak <michal.grzelak@intel.com>
Thank you Michal for your review. This is now pushed to drm-intel-next.
BR,
Jouni Högander
>
> BR,
> Michał
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] drm/i915/alpm: ALPM disable fixes
2026-02-12 6:27 [PATCH] drm/i915/alpm: ALPM disable fixes Jouni Högander
2026-02-20 8:06 ` Michał Grzelak
@ 2026-02-26 9:12 ` Ville Syrjälä
2026-02-26 10:52 ` Hogander, Jouni
1 sibling, 1 reply; 5+ messages in thread
From: Ville Syrjälä @ 2026-02-26 9:12 UTC (permalink / raw)
To: Jouni Högander
Cc: intel-gfx, intel-xe, Animesh Manna, Jani Nikula, stable,
Ankit Nautiyal
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 <animesh.manna@intel.com>
> Cc: Jani Nikula <jani.nikula@linux.intel.com>
> Cc: <stable@vger.kernel.org> # v6.10+
> Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> ---
> 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
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] drm/i915/alpm: ALPM disable fixes
2026-02-26 9:12 ` Ville Syrjälä
@ 2026-02-26 10:52 ` Hogander, Jouni
0 siblings, 0 replies; 5+ messages in thread
From: Hogander, Jouni @ 2026-02-26 10:52 UTC (permalink / raw)
To: ville.syrjala@linux.intel.com
Cc: intel-xe@lists.freedesktop.org, stable@vger.kernel.org,
Manna, Animesh, intel-gfx@lists.freedesktop.org,
jani.nikula@linux.intel.com, Nautiyal, Ankit K
On Thu, 2026-02-26 at 11:12 +0200, Ville Syrjälä wrote:
> 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).
Ok, I missed that part. I think we could clear only LOBF bit in
intel_alpm_lobf_disable and then share intel_alpm_disable.
>
> 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.
LOBF wont be enabled via intel_psr_enable_source. PSR and LOBF are
mutually exclusive. Maybe it would more clear if LOBF enable bit is
written separately and only other configuration is shared between PSR
and LOBF. Any other suggestions?
>
> >
> > 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 <animesh.manna@intel.com>
> > Cc: Jani Nikula <jani.nikula@linux.intel.com>
> > Cc: <stable@vger.kernel.org> # v6.10+
> > Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> > ---
> > 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
>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-02-26 10:53 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-12 6:27 [PATCH] drm/i915/alpm: ALPM disable fixes Jouni Högander
2026-02-20 8:06 ` Michał Grzelak
2026-02-20 10:38 ` Hogander, Jouni
2026-02-26 9:12 ` Ville Syrjälä
2026-02-26 10:52 ` Hogander, Jouni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox