mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 20:54:03 +02:00
drm/panel: ilitek-ili9805: Use _multi variants
Convert functions mipi_dsi_* to mipi_dsi_*_multi as per the gpu/todo file. The multi variant of these functions include improved error handling. Signed-off-by: Michail Tatas <michail.tatas@gmail.com> Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org> Reviewed-by: Douglas Anderson <dianders@chromium.org> Signed-off-by: Douglas Anderson <dianders@chromium.org> Link: https://patch.msgid.link/20260723203601.806697-2-michail.tatas@gmail.com
This commit is contained in:
parent
4d49f1adfb
commit
fdde70f523
|
|
@ -159,36 +159,23 @@ static int ili9805_power_off(struct ili9805 *ctx)
|
|||
|
||||
static int ili9805_activate(struct ili9805 *ctx)
|
||||
{
|
||||
struct mipi_dsi_device *dsi = ctx->dsi;
|
||||
struct device *dev = &dsi->dev;
|
||||
int i, ret;
|
||||
struct mipi_dsi_multi_context dsi_ctx = { .dsi = ctx->dsi };
|
||||
int i;
|
||||
|
||||
for (i = 0; i < ctx->desc->init_length; i++) {
|
||||
const struct ili9805_instr *instr = &ctx->desc->init[i];
|
||||
|
||||
ret = mipi_dsi_dcs_write_buffer(ctx->dsi, instr->data, instr->len);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
mipi_dsi_dcs_write_buffer_multi(&dsi_ctx, instr->data, instr->len);
|
||||
|
||||
if (instr->delay > 0)
|
||||
msleep(instr->delay);
|
||||
mipi_dsi_msleep(&dsi_ctx, instr->delay);
|
||||
}
|
||||
|
||||
ret = mipi_dsi_dcs_exit_sleep_mode(ctx->dsi);
|
||||
if (ret) {
|
||||
dev_err(dev, "Failed to exit sleep mode (%d)\n", ret);
|
||||
return ret;
|
||||
}
|
||||
mipi_dsi_dcs_exit_sleep_mode_multi(&dsi_ctx);
|
||||
mipi_dsi_usleep_range(&dsi_ctx, 5000, 6000);
|
||||
mipi_dsi_dcs_set_display_on_multi(&dsi_ctx);
|
||||
|
||||
usleep_range(5000, 6000);
|
||||
|
||||
ret = mipi_dsi_dcs_set_display_on(ctx->dsi);
|
||||
if (ret) {
|
||||
dev_err(dev, "Failed to set display ON (%d)\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return dsi_ctx.accum_err;
|
||||
}
|
||||
|
||||
static int ili9805_prepare(struct drm_panel *panel)
|
||||
|
|
@ -211,25 +198,13 @@ static int ili9805_prepare(struct drm_panel *panel)
|
|||
|
||||
static int ili9805_deactivate(struct ili9805 *ctx)
|
||||
{
|
||||
struct mipi_dsi_device *dsi = ctx->dsi;
|
||||
struct device *dev = &dsi->dev;
|
||||
int ret;
|
||||
struct mipi_dsi_multi_context dsi_ctx = { .dsi = ctx->dsi };
|
||||
|
||||
ret = mipi_dsi_dcs_set_display_off(ctx->dsi);
|
||||
if (ret < 0) {
|
||||
dev_err(dev, "Failed to set display OFF (%d)\n", ret);
|
||||
return ret;
|
||||
}
|
||||
mipi_dsi_dcs_set_display_off_multi(&dsi_ctx);
|
||||
mipi_dsi_usleep_range(&dsi_ctx, 5000, 10000);
|
||||
mipi_dsi_dcs_enter_sleep_mode_multi(&dsi_ctx);
|
||||
|
||||
usleep_range(5000, 10000);
|
||||
|
||||
ret = mipi_dsi_dcs_enter_sleep_mode(ctx->dsi);
|
||||
if (ret < 0) {
|
||||
dev_err(dev, "Failed to enter sleep mode (%d)\n", ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
return 0;
|
||||
return dsi_ctx.accum_err;
|
||||
}
|
||||
|
||||
static int ili9805_unprepare(struct drm_panel *panel)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user