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;
> >  
> >     /*
> 

Reply via email to