On Mon, 2026-09-28 at 12:58 +0300, Hogander, Jouni wrote: > 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]
Small note here. It is not just commit description that changed. Also error value of intel_alpm_init_dpcd is handled and there is early exit in intel_edp_init_dpcd. BR, Jouni Högander > > > > 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; > > > > /* >
