> -----Original Message-----
> From: Hogander, Jouni <[email protected]>
> Sent: Wednesday, September 2, 2026 3:20 PM
> To: [email protected]; Manna, Animesh
> <[email protected]>; [email protected]
> Cc: Kandpal, Suraj <[email protected]>; Nikula, Jani
> <[email protected]>
> Subject: Re: [PATCH v5 12/15] drm/i915/alpm: Replace is_edp() with
> alpm_is_possible()
>
> On Tue, 2026-08-25 at 11:15 +0530, Animesh Manna wrote:
> > Add a separate alpm_is_possible() which will check for both edp and
> > dp.
> >
> > Cc: Jouni Högander <[email protected]>
> > Signed-off-by: Animesh Manna <[email protected]>
> > ---
> > drivers/gpu/drm/i915/display/intel_alpm.c | 16 +++++++++++++---
> > drivers/gpu/drm/i915/display/intel_alpm.h | 1 +
> > 2 files changed, 14 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_alpm.c
> > b/drivers/gpu/drm/i915/display/intel_alpm.c
> > index d23f3bdf1339..f3f6f40f9624 100644
> > --- a/drivers/gpu/drm/i915/display/intel_alpm.c
> > +++ b/drivers/gpu/drm/i915/display/intel_alpm.c
> > @@ -72,6 +72,16 @@ void intel_alpm_init(struct intel_dp *intel_dp)
> > mutex_init(&intel_dp->alpm.lock);
> > }
> >
> > +bool intel_alpm_is_possible(struct intel_dp *intel_dp) {
> > + struct intel_display *display = to_intel_display(intel_dp);
> > +
> > + return (DISPLAY_VER(display) >= 12 && intel_dp->alpm_dpcd)
> > ||
> > + (DISPLAY_VER(display) >= 35 &&
>
> Not sure if you are going to fix that intel_alpm_source_supported.
> Maybe that could be reused here? Where that display version 12 is coming
> from?
Got it, currently modified the code which will check only dpcd info which will
be populated if intel_alpm_source_supported is true during initialization.
Regards,
Animesh
>
> BR,
> Jouni Högander
>
>
> > + intel_dp-
> > >lttpr_common_caps[DP_LTTPR_ALPM_CAPABILITIES -
> > +
> > DP_LT_TUNABLE_PHY_REPEATER_FIELD_DATA_STRUCTURE_REV]);
> > +}
> > +
> > static int get_silence_period_symbols(const struct intel_crtc_state
> > *crtc_state)
> > {
> > return SILENCE_PERIOD_TIME *
> > intel_dp_link_symbol_clock(crtc_state->port_clock) / @@ -519,7 +529,7
> > @@ void intel_alpm_lobf_compute_config(struct
> > intel_dp *intel_dp,
> > if (intel_dp->alpm.sink_alpm_error)
> > return;
> >
> > - if (!intel_dp_is_edp(intel_dp))
> > + if (!intel_alpm_is_possible(intel_dp))
> > return;
> >
> > if (DISPLAY_VER(display) < 20)
> > @@ -685,7 +695,7 @@ void intel_alpm_lobf_disable(const struct
> > intel_crtc_state *new_crtc_state)
> >
> > intel_dp = enc_to_intel_dp(encoder);
> >
> > - if (!intel_dp_is_edp(intel_dp))
> > + if (!intel_alpm_is_possible(intel_dp))
> > continue;
> >
> > mutex_lock(&intel_dp->alpm.lock);
> > @@ -726,7 +736,7 @@ void intel_alpm_lobf_enable(const struct
> > intel_crtc_state *new_crtc_state)
> >
> > intel_dp = enc_to_intel_dp(encoder);
> >
> > - if (intel_dp_is_edp(intel_dp)) {
> > + if (intel_alpm_is_possible(intel_dp)) {
> > intel_alpm_enable_sink(intel_dp,
> > new_crtc_state);
> > intel_alpm_configure(intel_dp,
> > new_crtc_state);
> > }
> > diff --git a/drivers/gpu/drm/i915/display/intel_alpm.h
> > b/drivers/gpu/drm/i915/display/intel_alpm.h
> > index 7280865ed5f0..b0f6e2a9eede 100644
> > --- a/drivers/gpu/drm/i915/display/intel_alpm.h
> > +++ b/drivers/gpu/drm/i915/display/intel_alpm.h
> > @@ -18,6 +18,7 @@ struct intel_crtc;
> > bool intel_alpm_source_supported(struct intel_connector *connector);
> > void intel_alpm_init_dpcd(struct intel_dp *intel_dp);
> > void intel_alpm_init(struct intel_dp *intel_dp);
> > +bool intel_alpm_is_possible(struct intel_dp *intel_dp);
> > bool intel_alpm_compute_params(struct intel_dp *intel_dp,
> > struct intel_crtc_state *crtc_state);
> > void intel_alpm_lobf_compute_config(struct intel_dp *intel_dp,