summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
diff options
context:
space:
mode:
authorJyri Sarha <jsarha@ti.com>2016-09-07 10:46:40 +0200
committerJyri Sarha <jsarha@ti.com>2016-09-07 14:54:42 +0200
commit6c94c71400fbb630549611e17b430458c1c00cf8 (patch)
treeb32027199d969f60fe0b322756be453516783eea /drivers/gpu/drm/tilcdc/tilcdc_crtc.c
parentdrm/tilcdc: Remove unnecessary tilcdc_crtc_disable() from tilcdc_unload() (diff)
downloadlinux-6c94c71400fbb630549611e17b430458c1c00cf8.tar.xz
linux-6c94c71400fbb630549611e17b430458c1c00cf8.zip
drm/tilcdc: Take CRTC lock when calling tilcdc_crtc_disable()
Take CRTC lock when calling tilcdc_crtc_disable() in tilcdc_crtc_destroy(). In theory there could still be some operation ongoing, which should finish before destroying the CRTC. However, the main reason for adding this is to be able to add WARNing in tilcdc_crtc_disable() if CRTC is not locked. Signed-off-by: Jyri Sarha <jsarha@ti.com> Reviewed-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Diffstat (limited to 'drivers/gpu/drm/tilcdc/tilcdc_crtc.c')
-rw-r--r--drivers/gpu/drm/tilcdc/tilcdc_crtc.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
index 41ce411a64f9..c1cbabcfb9d4 100644
--- a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
+++ b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c
@@ -230,7 +230,9 @@ static void tilcdc_crtc_destroy(struct drm_crtc *crtc)
struct tilcdc_crtc *tilcdc_crtc = to_tilcdc_crtc(crtc);
struct tilcdc_drm_private *priv = crtc->dev->dev_private;
+ drm_modeset_lock_crtc(crtc, NULL);
tilcdc_crtc_disable(crtc);
+ drm_modeset_unlock_crtc(crtc);
flush_workqueue(priv->wq);