[Intel-gfx] [PATCH] drm/i915/display: pre-initialize some values in probe_gmdid_display()

Kandpal, Suraj suraj.kandpal at intel.com
Thu Jun 22 10:08:38 UTC 2023


> On Tue, 2023-06-20 at 10:30 +0000, Kandpal, Suraj wrote:
> > > When intel_display_device_probe() (and, subsequently,
> > > probe_gmdid_display()) returns, the caller expects ver, rel and step
> > > to be initialized.  Since there's no way to check that there was a
> > > failure and no_display was returned without some further
> > > refactoring, pre- initiliaze all these values to zero to keep it
> > > simple and safe.
> > >
> > > Signed-off-by: Luca Coelho <luciano.coelho at intel.com>
> >
> > Looks okay to me just a small suggestion/question below.
> >
> > > ---
> > >  drivers/gpu/drm/i915/display/intel_display_device.c | 9 +++++++++
> > >  1 file changed, 9 insertions(+)
> > >
> > > diff --git a/drivers/gpu/drm/i915/display/intel_display_device.c
> > > b/drivers/gpu/drm/i915/display/intel_display_device.c
> > > index 464df1764a86..fb6354e9e704 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_display_device.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_display_device.c
> > > @@ -731,6 +731,15 @@ probe_gmdid_display(struct drm_i915_private
> > > *i915, u16 *ver, u16 *rel, u16 *step
> > >  	u32 val;
> > >  	int i;
> > >
> > > +	/* The caller expects to ver, rel and step to be
> > > initialized
> > > +	 * here, and there's no good way to check when there was a
> > > +	 * failure and no_display was returned.  So initialize all
> > > these
> > > +	 * values here zero, to be sure.
> > > +	 */
> > > +	*ver = 0;
> > > +	*rel = 0;
> > > +	*step = 0;
> > > +
> >
> > From what I can see this is only called from
> > intel_display_device_probe() which is in turn called from
> > intel_device_info_driver_create() where the above variables are
> > defined maybe we initialize these values there itself.
> 
> Thanks for the review!
> 
> I thought about initializing the variables on the caller side, but reckoned that
> it would be more intuitive to initialize them in the
> probe_gmdid_display() function instead, because the caller expects those
> values to be set in successful cases and there's no way for it to know whether
> there was a failure or not (because we return a pointer to local no_display
> structure that the caller doesn't know about).
> 
> Obviously with the current code in the caller, that doesn't make much
> difference, but I thought it was cleaner as I did.
> 
> But I'm okay to change it and initialize them at the caller, so just let me know
> if you want that.

I don’t think it needs to be changed then and the explanation looks reasonable.
So this LGTM

Reviewed-by: Suraj Kandpal <suraj.kandpal at intel.com>
> 
> --
> Cheers,
> Luca.


More information about the Intel-gfx mailing list