Hi, On Tue, Jun 18, 2024 at 8:34 PM Tejas Vipin <tejasvipin76@xxxxxxxxx> wrote: > > Use functions introduced in commit 966e397e4f60 ("drm/mipi-dsi: Introduce > mipi_dsi_*_write_seq_multi()") and commit f79d6d28d8fe > ("drm/mipi-dsi: wrap more functions for streamline handling") for the > raydium rm692e5 panel. It should be noted in the patch notes that as part of this patch there is a small functionality change which is arguably a bugfix. Specifically if some of the initialization commands in rm692e5_prepare() fail we'll now properly power the panel back off. IMO it's not a big enough deal to add a "Fixes" line since it's unlikely anyone is actually hitting this. If you want to add a Fixes tag (or someone else feels strongly that there should be one), the right way would probably to make this a 2-patch series and have _just_ the bugfix first and then have the conversion be a no-op. > Signed-off-by: Tejas Vipin <tejasvipin76@xxxxxxxxx> > --- > Changes in v2: > - Change rm692e5_on to return void and take mipi_dsi_multi_context > as an argument. > - Remove unnecessary warnings. > - More efficient error handling in rm692e5_prepare > > v1: https://lore.kernel.org/all/20240615093758.65431-1-tejasvipin76@xxxxxxxxx/ > --- > drivers/gpu/drm/panel/panel-raydium-rm692e5.c | 237 ++++++++---------- > 1 file changed, 99 insertions(+), 138 deletions(-) > > diff --git a/drivers/gpu/drm/panel/panel-raydium-rm692e5.c b/drivers/gpu/drm/panel/panel-raydium-rm692e5.c > index 21d97f6b8a2f..9936bda61af2 100644 > --- a/drivers/gpu/drm/panel/panel-raydium-rm692e5.c > +++ b/drivers/gpu/drm/panel/panel-raydium-rm692e5.c > @@ -40,176 +40,137 @@ static void rm692e5_reset(struct rm692e5_panel *ctx) > usleep_range(10000, 11000); > } > > -static int rm692e5_on(struct rm692e5_panel *ctx) > +static void rm692e5_on(struct mipi_dsi_multi_context *dsi_ctx) > { > - struct mipi_dsi_device *dsi = ctx->dsi; > - struct device *dev = &dsi->dev; > - int ret; > + dsi_ctx->dsi->mode_flags |= MIPI_DSI_MODE_LPM; > + > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0xfe, 0x41); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0xd6, 0x00); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0xfe, 0x16); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x8a, 0x87); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0xfe, 0x71); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x82, 0x01); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0xc6, 0x00); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0xc7, 0x2c); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0xc8, 0x64); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0xc9, 0x3c); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0xca, 0x80); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0xcb, 0x02); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0xcc, 0x02); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0xfe, 0x38); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x18, 0x13); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0xfe, 0xf4); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x00, 0xff); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x01, 0xff); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x02, 0xcf); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x03, 0xbc); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x04, 0xb9); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x05, 0x99); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x06, 0x02); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x07, 0x0a); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x08, 0xe0); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x09, 0x4c); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x0a, 0xeb); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x0b, 0xe8); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x0c, 0x32); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x0d, 0x07); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0xfe, 0xf4); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x0d, 0xc0); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x0e, 0xff); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x0f, 0xff); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x10, 0x33); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x11, 0x6f); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x12, 0x6e); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x13, 0xa6); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x14, 0x80); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x15, 0x02); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x16, 0x38); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x17, 0xd3); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x18, 0x3a); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x19, 0xba); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x1a, 0xcc); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x1b, 0x01); > + > + mipi_dsi_dcs_nop_multi(dsi_ctx); > + > + mipi_dsi_msleep(dsi_ctx, 32); > + > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0xfe, 0x38); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x18, 0x13); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0xfe, 0xd1); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0xd3, 0x00); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0xd0, 0x00); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0xd2, 0x00); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0xd4, 0x00); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0xb4, 0x01); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0xfe, 0xf9); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x00, 0xaf); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x1d, 0x37); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x44, 0x0a, 0x7b); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0xfe, 0x00); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0xfa, 0x01); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0xc2, 0x08); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x35, 0x00); > + mipi_dsi_generic_write_seq_multi(dsi_ctx, 0x51, 0x05, 0x42); > + > + mipi_dsi_dcs_exit_sleep_mode_multi(dsi_ctx); > + mipi_dsi_msleep(dsi_ctx, 100); > + mipi_dsi_dcs_set_display_on_multi(dsi_ctx); > nit: Delete the extra blank line above so there's not a blank like before the closing brace of the function. Hopefully you can post a v3 with the blank line removed and adjust the commit message. Then feel free to add: Reviewed-by: Douglas Anderson <dianders@xxxxxxxxxxxx>