summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/tilcdc
diff options
context:
space:
mode:
authorJyri Sarha <jsarha@ti.com>2016-06-15 11:16:23 +0300
committerJyri Sarha <jsarha@ti.com>2016-08-08 23:04:54 +0300
commitd85f850ed6b9c47207b46643d1489e0a83900758 (patch)
tree54456234f78714a17db06bad84b2d35af3e9809d /drivers/gpu/drm/tilcdc
parent437c7d948d75c83441afea48773e50b992632483 (diff)
drm/tilcdc: Call drm_crtc_vblank_on() and *_off() in start() and stop()
Add drm_crtc_vblank_on() and *_off() calls to start() and stop() functions, to make sure any vblank waits etc. gets properly cleaned up. Signed-off-by: Jyri Sarha <jsarha@ti.com>
Diffstat (limited to 'drivers/gpu/drm/tilcdc')
-rw-r--r--drivers/gpu/drm/tilcdc/tilcdc_crtc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
index 8013a74b5d12..dfbeba5f0435 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
@@ -109,6 +109,8 @@ static void start(struct drm_crtc *crtc)
tilcdc_clear(dev, LCDC_DMA_CTRL_REG, LCDC_DUAL_FRAME_BUFFER_ENABLE);
tilcdc_set(dev, LCDC_RASTER_CTRL_REG, LCDC_PALETTE_LOAD_MODE(DATA_ONLY));
tilcdc_set(dev, LCDC_RASTER_CTRL_REG, LCDC_RASTER_ENABLE);
+
+ drm_crtc_vblank_on(crtc);
}
static void stop(struct drm_crtc *crtc)
@@ -132,6 +134,8 @@ static void stop(struct drm_crtc *crtc)
dev_err(dev->dev, "%s: timeout waiting for framedone\n",
__func__);
}
+
+ drm_crtc_vblank_off(crtc);
}
static void tilcdc_crtc_destroy(struct drm_crtc *crtc)