summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/tilcdc
diff options
context:
space:
mode:
authorJyri Sarha2016-06-15 10:16:23 +0200
committerJyri Sarha2016-08-08 22:04:54 +0200
commitd85f850ed6b9c47207b46643d1489e0a83900758 (patch)
tree54456234f78714a17db06bad84b2d35af3e9809d /drivers/gpu/drm/tilcdc
parentdrm/tilcdc: Increase time out for waiting frame done interrupt (diff)
downloadkernel-qcow2-linux-d85f850ed6b9c47207b46643d1489e0a83900758.tar.gz
kernel-qcow2-linux-d85f850ed6b9c47207b46643d1489e0a83900758.tar.xz
kernel-qcow2-linux-d85f850ed6b9c47207b46643d1489e0a83900758.zip
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)