aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/tinydrm/st7586.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/tinydrm/st7586.c')
-rw-r--r--drivers/gpu/drm/tinydrm/st7586.c15
1 files changed, 4 insertions, 11 deletions
diff --git a/drivers/gpu/drm/tinydrm/st7586.c b/drivers/gpu/drm/tinydrm/st7586.c
index 5aebfceb740e..a6396ef9cc4a 100644
--- a/drivers/gpu/drm/tinydrm/st7586.c
+++ b/drivers/gpu/drm/tinydrm/st7586.c
@@ -179,20 +179,16 @@ static void st7586_pipe_enable(struct drm_simple_display_pipe *pipe,
179{ 179{
180 struct tinydrm_device *tdev = pipe_to_tinydrm(pipe); 180 struct tinydrm_device *tdev = pipe_to_tinydrm(pipe);
181 struct mipi_dbi *mipi = mipi_dbi_from_tinydrm(tdev); 181 struct mipi_dbi *mipi = mipi_dbi_from_tinydrm(tdev);
182 struct drm_framebuffer *fb = pipe->plane.fb;
183 struct device *dev = tdev->drm->dev;
184 int ret; 182 int ret;
185 u8 addr_mode; 183 u8 addr_mode;
186 184
187 DRM_DEBUG_KMS("\n"); 185 DRM_DEBUG_KMS("\n");
188 186
189 mipi_dbi_hw_reset(mipi); 187 ret = mipi_dbi_poweron_reset(mipi);
190 ret = mipi_dbi_command(mipi, ST7586_AUTO_READ_CTRL, 0x9f); 188 if (ret)
191 if (ret) {
192 DRM_DEV_ERROR(dev, "Error sending command %d\n", ret);
193 return; 189 return;
194 }
195 190
191 mipi_dbi_command(mipi, ST7586_AUTO_READ_CTRL, 0x9f);
196 mipi_dbi_command(mipi, ST7586_OTP_RW_CTRL, 0x00); 192 mipi_dbi_command(mipi, ST7586_OTP_RW_CTRL, 0x00);
197 193
198 msleep(10); 194 msleep(10);
@@ -241,10 +237,7 @@ static void st7586_pipe_enable(struct drm_simple_display_pipe *pipe,
241 237
242 mipi_dbi_command(mipi, MIPI_DCS_SET_DISPLAY_ON); 238 mipi_dbi_command(mipi, MIPI_DCS_SET_DISPLAY_ON);
243 239
244 mipi->enabled = true; 240 mipi_dbi_enable_flush(mipi);
245
246 if (fb)
247 fb->funcs->dirty(fb, NULL, 0, 0, NULL, 0);
248} 241}
249 242
250static void st7586_pipe_disable(struct drm_simple_display_pipe *pipe) 243static void st7586_pipe_disable(struct drm_simple_display_pipe *pipe)