[PATCH v1 4/4] drm/panel: ili9806e: Break some CMDS into helper functions

Michael Walle mwalle at kernel.org
Wed Jul 10 19:38:00 UTC 2024


On Wed Jul 10, 2024 at 9:12 PM CEST, Doug Anderson wrote:
> Hi,
>
> On Wed, Jul 10, 2024 at 2:02 AM Michael Walle <mwalle at kernel.org> wrote:
> >
> > On Wed Jul 10, 2024 at 10:47 AM CEST, Cong Yang wrote:
> > > Break select page cmds into helper function.
> >
> > Why though? I don't find that anything easier to read. In fact, I
> > deliberately chose not to factor that out into a function. It's just
> > a sequence of magic commands, taken straight from the datasheet. So,
> > I'd like to keep it that way.
>
> The consensus of previous discussion on the lists was that folks
> agreed that we should, where possible, make it more obvious what these
> magic sequences of commands were doing. IMO separating out the page
> switch command helps. Certainly I'm always happy to hear other
> opinions, though.

Fair enough, but in that case, one should take the datasheet (which
you can find online) and replace all the magic numbers with the
correct command names from it. E.g. 0xff is the ENEXTC register. To
be clear, I'm not just talking about the "switch page command".

As patch stands, I don't see much value, TBH. On the contrary, you
make it harder to compare it with the Ortustech panel datasheet.

just my 2c,
-michael

> > -michael
> >
> > > Signed-off-by: Cong Yang <yangcong5 at huaqin.corp-partner.google.com>
> > > ---
> > >  drivers/gpu/drm/panel/panel-ilitek-ili9806e.c | 14 ++++++++++----
> > >  1 file changed, 10 insertions(+), 4 deletions(-)
> > >
> > > diff --git a/drivers/gpu/drm/panel/panel-ilitek-ili9806e.c b/drivers/gpu/drm/panel/panel-ilitek-ili9806e.c
> > > index e4a44cd26c4d..68fb9a1a4d80 100644
> > > --- a/drivers/gpu/drm/panel/panel-ilitek-ili9806e.c
> > > +++ b/drivers/gpu/drm/panel/panel-ilitek-ili9806e.c
> > > @@ -35,6 +35,12 @@ struct ili9806e_panel {
> > >       enum drm_panel_orientation orientation;
> > >  };
> > >
> > > +#define ILI9806E_DCS_SWITCH_PAGE     0xff
> > > +
> > > +#define ili9806e_switch_page(ctx, page) \
> > > +     mipi_dsi_dcs_write_seq_multi(ctx, ILI9806E_DCS_SWITCH_PAGE, \
> > > +                                  0xff, 0x98, 0x06, 0x04, (page))
> > > +
> > >  static const char * const regulator_names[] = {
> > >       "vdd",
> > >       "vccio",
> > > @@ -227,7 +233,7 @@ static void ili9806e_dsi_remove(struct mipi_dsi_device *dsi)
> > >  static void com35h3p70ulc_init(struct mipi_dsi_multi_context *ctx)
> > >  {
> > >       /* Switch to page 1 */
> > > -     mipi_dsi_dcs_write_seq_multi(ctx, 0xff, 0xff, 0x98, 0x06, 0x04, 0x01);
> > > +     ili9806e_switch_page(ctx, 0x01);
>
> I think with your change you should remove the "Switch to page X"
> comments since they're now obvious. Other than that, I'm happy with:
>
> Reviewed-by: Douglas Anderson <dianders at chromium.org>



More information about the dri-devel mailing list