From 918b301ff27237071c953230b1b48cd1658ee9a3 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 19 Sep 2024 18:14:18 +0100 Subject: [PATCH] drm/panel/ili9881: logging --- drivers/gpu/drm/panel/panel-ilitek-ili9881c.c | 28 +++++++++++++++---- 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c b/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c index a77ce9f7db9ddc..2de31a5e814d2f 100644 --- a/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c +++ b/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c @@ -1719,25 +1719,32 @@ static int ili9881c_prepare(struct drm_panel *panel) instr->arg.cmd.data); if (ret) - return ret; + pr_err("instr %u failed\n", i); + // return ret; } ret = ili9881c_switch_page(ctx, 0); if (ret) - return ret; + pr_err("ili9881c_switch_page failed\n"); + // return ret; ret = mipi_dsi_dcs_set_tear_on(ctx->dsi, MIPI_DSI_DCS_TEAR_MODE_VBLANK); if (ret) - return ret; + pr_err("mipi_dsi_dcs_set_tear_on failed\n"); + // return ret; ret = mipi_dsi_dcs_exit_sleep_mode(ctx->dsi); if (ret) - return ret; + pr_err("mipi_dsi_dcs_exit_sleep_mode failed\n"); + // return ret; if (ctx->desc->flags & ILI9881_FLAGS_PANEL_ON_IN_PREPARE) { msleep(120); ret = mipi_dsi_dcs_set_display_on(ctx->dsi); + if (ret) + pr_err("mipi_dsi_dcs_set_display_on failed\n"); + } return 0; @@ -1769,13 +1776,22 @@ static int ili9881c_disable(struct drm_panel *panel) static int ili9881c_unprepare(struct drm_panel *panel) { struct ili9881c *ctx = panel_to_ili9881c(panel); + int ret = 0; + + msleep(50); if (!(ctx->desc->flags & ILI9881_FLAGS_NO_SHUTDOWN_CMDS)) { if (ctx->desc->flags & ILI9881_FLAGS_PANEL_ON_IN_PREPARE) - mipi_dsi_dcs_set_display_off(ctx->dsi); + ret = mipi_dsi_dcs_set_display_off(ctx->dsi); + if (ret) + pr_err("mipi_dsi_dcs_set_display_off failed\n"); + msleep(50); - mipi_dsi_dcs_enter_sleep_mode(ctx->dsi); + ret = mipi_dsi_dcs_enter_sleep_mode(ctx->dsi); + if (ret) + pr_err("mipi_dsi_dcs_enter_sleep_mode failed\n"); } + msleep(100); regulator_disable(ctx->power); gpiod_set_value_cansleep(ctx->reset, 1);