[PATCH] drm/panel: novatek-nt36523: transition to mipi_dsi wrapped functions

Doug Anderson dianders at chromium.org
Thu Mar 6 17:28:27 UTC 2025


Hi,

On Thu, Mar 6, 2025 at 6:05 AM <neil.armstrong at linaro.org> wrote:
>
> On 06/03/2025 14:43, Tejas Vipin wrote:
> > Changes the novatek-nt36523 panel to use multi style functions for
> > improved error handling.
> >
> > Signed-off-by: Tejas Vipin <tejasvipin76 at gmail.com>
> > ---
> >   drivers/gpu/drm/panel/panel-novatek-nt36523.c | 1683 ++++++++---------
> >   1 file changed, 823 insertions(+), 860 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/panel/panel-novatek-nt36523.c b/drivers/gpu/drm/panel/panel-novatek-nt36523.c
> > index 04f1d2676c78..922a225f6258 100644
> > --- a/drivers/gpu/drm/panel/panel-novatek-nt36523.c
> > +++ b/drivers/gpu/drm/panel/panel-novatek-nt36523.c
> > @@ -23,10 +23,12 @@
> >
> >   #define DSI_NUM_MIN 1
> >
> > -#define mipi_dsi_dual_dcs_write_seq(dsi0, dsi1, cmd, seq...)        \
> > -             do {                                                 \
> > -                     mipi_dsi_dcs_write_seq(dsi0, cmd, seq);      \
> > -                     mipi_dsi_dcs_write_seq(dsi1, cmd, seq);      \
> > +#define mipi_dsi_dual_dcs_write_seq_multi(dsi_ctx0, dsi_ctx1, cmd, seq...)      \
> > +             do {                                                            \
> > +                     mipi_dsi_dcs_write_seq_multi(&dsi_ctx0, cmd, seq);      \
> > +                     dsi_ctx1.accum_err = dsi_ctx0.accum_err;                \
> > +                     mipi_dsi_dcs_write_seq_multi(&dsi_ctx1, cmd, seq);      \
> > +                     dsi_ctx0.accum_err = dsi_ctx1.accum_err;                \
>
> Just thinking out loud, but can't we do :
>
> struct mipi_dsi_multi_context dsi_ctx = { .dsi = NULL };
>
> #define mipi_dsi_dual_dcs_write_seq_multi(dsi_ctx, dsi0, dsi1, cmd, seq...)      \
>                 do {
>                         dsi_ctx.dsi = dsi0;                                     \
>                         mipi_dsi_dcs_write_seq_multi(&dsi_ctx, cmd, seq);       \
>                         dsi_ctx.dsi = dsi1;                                     \
>                         mipi_dsi_dcs_write_seq_multi(&dsi_ctx, cmd, seq);       \
>
> ?
>
> So we have a single accum_err.

Even though the code you used was what I suggested in IRC, I like
Neil's suggestion better here. What do you think?

Other than that, it looks good to me.

-Doug


More information about the dri-devel mailing list