On Thu, Mar 06, 2025 at 11:08:18PM +0530, Tejas Vipin wrote: > > > On 3/6/25 10:58 PM, Doug Anderson wrote: > > Hi, > > > > On Thu, Mar 6, 2025 at 6:05 AM <neil.armstr...@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 <tejasvipi...@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? > > I like Dmitry's suggestion [1]. If we went ahead with this we'd also > only need to equate the accum_err for the few msleep calls.
I think we will have more and more double-DSI panels. So I'd suggest to add msleep wrapper which gets two DSI contexts. > Since it > does change the behavior, I'd like to hear another opinion on it before > I go ahead with it. > > [1]: > https://lore.kernel.org/all/p2esqngynwfrshz5rqfnmx6qgwf4dclpkb3mphwg2vavx2jbcg@clqoy5tjh7bb/ > > > > > Other than that, it looks good to me. > > > > -Doug > > -- > Tejas Vipin -- With best wishes Dmitry