Re: [PATCH v5 2/7] drm/panel: simple: Add ability to override typical timing

From: Sam Ravnborg
Date: Thu Jul 11 2019 - 15:39:02 EST


Hi Doug.

> > > > > @@ -91,6 +92,8 @@ struct panel_simple {
> > > > > struct i2c_adapter *ddc;
> > > > >
> > > > > struct gpio_desc *enable_gpio;
> > > > > +
> > > > > + struct drm_display_mode override_mode;
> > > > I fail to see where this poiter is assigned.
> > >
> > > In panel_simple_parse_override_mode(). Specifically:
> > >
> > > drm_display_mode_from_videomode(&vm, &panel->override_mode);
> >
> > The above code-snippet is only called in the panel has specified display
> > timings using display_timings - it is not called when display_mode is
> > used.
> > So override_mode is only assigned in some cases and not all cases.
> > This needs to be fixed so we do not reference override_mode unless
> > it is set.
>
> I'm afraid I'm not following you here.

>
> * override_mode is a structure that's directly part of "struct panel_simple".
I had somehow confused myself to think this was a pointer.
And you are right that override_mode is properly initialized when the
structure is allocated.

Sorry for not reading the code and your replies carefully enough.

Sam