Message ID | 20240510-dsi-panels-upd-api-v1-3-317c78a0dcc8@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/mipi-dsi: simplify MIPI DSI init/cleanup even more | expand |
Hi, On Thu, May 9, 2024 at 3:37 PM Dmitry Baryshkov <dmitry.baryshkov@linaro.org> wrote: > > @@ -424,20 +420,14 @@ static inline struct ili9882t *to_ili9882t(struct drm_panel *panel) > > static int ili9882t_enter_sleep_mode(struct ili9882t *ili) > { > - struct mipi_dsi_device *dsi = ili->dsi; > - int ret; > - > - dsi->mode_flags &= ~MIPI_DSI_MODE_LPM; > + struct mipi_dsi_multi_context ctx = { .dsi = ili->dsi }; > > - ret = mipi_dsi_dcs_set_display_off(dsi); > - if (ret < 0) > - return ret; > + ili->dsi->mode_flags &= ~MIPI_DSI_MODE_LPM; > > - ret = mipi_dsi_dcs_enter_sleep_mode(dsi); > - if (ret < 0) > - return ret; > + mipi_dsi_dcs_set_display_off_multi(&ctx); > + mipi_dsi_dcs_enter_sleep_mode_multi(&ctx); > > - return 0; > + return ctx.accum_err; > } nit: Same comments I had on patch #2 (boe-tv101wum-nl6) about inlining this to the caller. Here it's even better since the caller already has a multi_context... In any case: Reviewed-by: Douglas Anderson <dianders@chromium.org>
diff --git a/drivers/gpu/drm/panel/panel-ilitek-ili9882t.c b/drivers/gpu/drm/panel/panel-ilitek-ili9882t.c index 58fc1d799371..e7a74d5443b0 100644 --- a/drivers/gpu/drm/panel/panel-ilitek-ili9882t.c +++ b/drivers/gpu/drm/panel/panel-ilitek-ili9882t.c @@ -402,19 +402,15 @@ static int starry_ili9882t_init(struct ili9882t *ili) mipi_dsi_dcs_write_seq_multi(&ctx, 0x92, 0x22); ili9882t_switch_page(&ctx, 0x00); - mipi_dsi_dcs_write_seq_multi(&ctx, MIPI_DCS_EXIT_SLEEP_MODE); - if (ctx.accum_err) - return ctx.accum_err; + mipi_dsi_dcs_exit_sleep_mode_multi(&ctx); - msleep(120); + mipi_dsi_msleep(&ctx, 120); - mipi_dsi_dcs_write_seq_multi(&ctx, MIPI_DCS_SET_DISPLAY_ON); - if (ctx.accum_err) - return ctx.accum_err; + mipi_dsi_dcs_set_display_on_multi(&ctx); - msleep(20); + mipi_dsi_msleep(&ctx, 20); - return 0; + return ctx.accum_err; }; static inline struct ili9882t *to_ili9882t(struct drm_panel *panel) @@ -424,20 +420,14 @@ static inline struct ili9882t *to_ili9882t(struct drm_panel *panel) static int ili9882t_enter_sleep_mode(struct ili9882t *ili) { - struct mipi_dsi_device *dsi = ili->dsi; - int ret; - - dsi->mode_flags &= ~MIPI_DSI_MODE_LPM; + struct mipi_dsi_multi_context ctx = { .dsi = ili->dsi }; - ret = mipi_dsi_dcs_set_display_off(dsi); - if (ret < 0) - return ret; + ili->dsi->mode_flags &= ~MIPI_DSI_MODE_LPM; - ret = mipi_dsi_dcs_enter_sleep_mode(dsi); - if (ret < 0) - return ret; + mipi_dsi_dcs_set_display_off_multi(&ctx); + mipi_dsi_dcs_enter_sleep_mode_multi(&ctx); - return 0; + return ctx.accum_err; } static int ili9882t_disable(struct drm_panel *panel)
Remove conditional code and always use mipi_dsi_dcs_*multi() wrappers to simplify driver's init/exit code. Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> --- drivers/gpu/drm/panel/panel-ilitek-ili9882t.c | 30 +++++++++------------------ 1 file changed, 10 insertions(+), 20 deletions(-)