From: Jyri Sarha Date: Wed, 15 Jun 2016 08:16:23 +0000 (+0300) Subject: drm/tilcdc: Call drm_crtc_vblank_on() and *_off() in start() and stop() X-Git-Tag: v4.9-rc1~41^2~44^2~23 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=d85f850ed6b9c47207b46643d1489e0a83900758;p=karo-tx-linux.git 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 --- 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)