Re: [PATCH v3 2/2] drm/panel: panasonic-vvx10f034n00: transition to mipi_dsi wrapped functions
From: Doug Anderson
Date: Mon Apr 13 2026 - 12:15:01 EST
Hi,
On Mon, Apr 13, 2026 at 1:07 AM <neil.armstrong@xxxxxxxxxx> wrote:
>
> On 1/13/26 10:14, Avinal Kumar wrote:
> > Changes the panasonic-vvx10f034n00 panel to multi
> > style functions for improved error handling.
> >
> > Signed-off-by: Avinal Kumar <avinal.xlvii@xxxxxxxxx>
> > ---
> > .../gpu/drm/panel/panel-panasonic-vvx10f034n00.c | 14 ++++++++++++--
> > 1 file changed, 12 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/panel/panel-panasonic-vvx10f034n00.c b/drivers/gpu/drm/panel/panel-panasonic-vvx10f034n00.c
> > index 3c3308fc55df..73c5827a15a4 100644
> > --- a/drivers/gpu/drm/panel/panel-panasonic-vvx10f034n00.c
> > +++ b/drivers/gpu/drm/panel/panel-panasonic-vvx10f034n00.c
> > @@ -44,14 +44,24 @@ static inline struct wuxga_nt_panel *to_wuxga_nt_panel(struct drm_panel *panel)
> >
> > static int wuxga_nt_panel_on(struct wuxga_nt_panel *wuxga_nt)
> > {
> > - return mipi_dsi_turn_on_peripheral(wuxga_nt->dsi);
> > + struct mipi_dsi_multi_context dsi_ctx = {
> > + .dsi = wuxga_nt->dsi
> > + };
> > +
> > + mipi_dsi_turn_on_peripheral_multi(&dsi_ctx);
> > + return dsi_ctx.accum_err;
> > }
> > u
> > static int wuxga_nt_panel_disable(struct drm_panel *panel)
> > {
> > struct wuxga_nt_panel *wuxga_nt = to_wuxga_nt_panel(panel);
> >
> > - return mipi_dsi_shutdown_peripheral(wuxga_nt->dsi);
> > + struct mipi_dsi_multi_context dsi_ctx = {
> > + .dsi = wuxga_nt->dsi
> > + };
nit: get rid of the blank line between the two variable declarations.
> > +
> > + mipi_dsi_shutdown_peripheral_multi(&dsi_ctx);
> > + return dsi_ctx.accum_err;
> > }
> >
> > static int wuxga_nt_panel_unprepare(struct drm_panel *panel)
>
> So yeah we want to use multi functions but in this case I don't think it's appropriate
> when a since dsi function is called in a callback.
>
> Dmitry ? Doug ?
It's a little weird, but I think the official stance is that we _do_
want to transition even when only a single DSI function is used, as
this patch does. I can spend some time trying to find the original
discussoins if need be, but as I recall:
* The "multi" functions do still have the advantage of giving you an
error printout. Previously the "disable" function here wouldn't have
printed an error. Speaking of which, we probably want a v2 of this
patch that gets rid of the (now extra) "failed to set panel on: %d\n"
error printout since we can now rely on the error printout in
mipi_dsi_turn_on_peripheral_multi().
* We talked about having a variant function with the error printout
but not the "multi" calling style, but I think we decided that it was
better to have fewer functions to worry about.
-Doug