On Tue, 2026-09-15 at 23:34 +0530, Animesh Manna wrote: > Abstract ALPM DPCD initialization into its own function. > > v2: > - Improve commit description. [Suraj, Jouni] > > Cc: Jouni Högander <[email protected]> > Signed-off-by: Animesh Manna <[email protected]>
Reviewed-by: Jouni Högander <[email protected]> > --- > drivers/gpu/drm/i915/display/intel_alpm.c | 11 +++++++++++ > drivers/gpu/drm/i915/display/intel_alpm.h | 1 + > drivers/gpu/drm/i915/display/intel_dp.c | 6 +----- > 3 files changed, 13 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_alpm.c > b/drivers/gpu/drm/i915/display/intel_alpm.c > index 10943539bc7c..a6743fe62d48 100644 > --- a/drivers/gpu/drm/i915/display/intel_alpm.c > +++ b/drivers/gpu/drm/i915/display/intel_alpm.c > @@ -43,6 +43,17 @@ bool intel_alpm_is_alpm_aux_less(struct intel_dp > *intel_dp, > (crtc_state->has_lobf && > intel_alpm_aux_less_wake_supported(intel_dp)); > } > > +bool intel_alpm_init_dpcd(struct intel_dp *intel_dp) > +{ > + u8 dpcd; > + > + if (drm_dp_dpcd_read_byte(&intel_dp->aux, > DP_RECEIVER_ALPM_CAP, &dpcd) < 0) > + return false; > + > + intel_dp->alpm_dpcd = dpcd; > + return true; > +} > + > void intel_alpm_init(struct intel_dp *intel_dp) > { > mutex_init(&intel_dp->alpm.lock); > diff --git a/drivers/gpu/drm/i915/display/intel_alpm.h > b/drivers/gpu/drm/i915/display/intel_alpm.h > index f8f605d94f96..56c3e1482e37 100644 > --- a/drivers/gpu/drm/i915/display/intel_alpm.h > +++ b/drivers/gpu/drm/i915/display/intel_alpm.h > @@ -15,6 +15,7 @@ struct intel_connector; > struct intel_atomic_state; > struct intel_crtc; > > +bool intel_alpm_init_dpcd(struct intel_dp *intel_dp); > void intel_alpm_init(struct intel_dp *intel_dp); > bool intel_alpm_compute_params(struct intel_dp *intel_dp, > struct intel_crtc_state *crtc_state); > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c > b/drivers/gpu/drm/i915/display/intel_dp.c > index 0cd5e6b5034c..650c8b39270b 100644 > --- a/drivers/gpu/drm/i915/display/intel_dp.c > +++ b/drivers/gpu/drm/i915/display/intel_dp.c > @@ -4783,7 +4783,6 @@ static bool > intel_edp_init_dpcd(struct intel_dp *intel_dp, struct > intel_connector *connector) > { > struct intel_display *display = to_intel_display(intel_dp); > - int ret; > u8 dprx; > > /* this function is meant to be called only once */ > @@ -4829,10 +4828,7 @@ intel_edp_init_dpcd(struct intel_dp *intel_dp, > struct intel_connector *connector > */ > intel_dp_init_source_oui(intel_dp); > > - /* Read the ALPM DPCD caps */ > - ret = drm_dp_dpcd_read_byte(&intel_dp->aux, > DP_RECEIVER_ALPM_CAP, > - &intel_dp->alpm_dpcd); > - if (ret < 0) > + if (!intel_alpm_init_dpcd(intel_dp)) > return false; > > /*
