summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/exynos/exynos_drm_drv.c
diff options
context:
space:
mode:
authorJoonyoung Shim2014-09-18 10:50:35 +0200
committerInki Dae2014-09-19 17:56:39 +0200
commit4a3ffedda2bdadf7ae315ae5f5f74477635d6bd6 (patch)
treec3a9f101e44ca07f297bf2b06f20524e19a93165 /drivers/gpu/drm/exynos/exynos_drm_drv.c
parentdrm/exynos/hdmi: unregister connector on removal (diff)
downloadkernel-qcow2-linux-4a3ffedda2bdadf7ae315ae5f5f74477635d6bd6.tar.gz
kernel-qcow2-linux-4a3ffedda2bdadf7ae315ae5f5f74477635d6bd6.tar.xz
kernel-qcow2-linux-4a3ffedda2bdadf7ae315ae5f5f74477635d6bd6.zip
drm/exynos: factor out initial setting of each driver
From fimd driver and vidi driver, dev->irq_enabled and dev->vblank_disable_allowed are set and also mixer needs them even if missed. It's duplicated so set them when loads drm driver. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> Signed-off-by: Inki Dae <inki.dae@samsung.com>
Diffstat (limited to 'drivers/gpu/drm/exynos/exynos_drm_drv.c')
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_drv.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c
index 9b00e4ecdb3a..2103d970d6ea 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_drv.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_drv.c
@@ -116,6 +116,23 @@ static int exynos_drm_load(struct drm_device *dev, unsigned long flags)
/* force connectors detection */
drm_helper_hpd_irq_event(dev);
+ /*
+ * enable drm irq mode.
+ * - with irq_enabled = true, we can use the vblank feature.
+ *
+ * P.S. note that we wouldn't use drm irq handler but
+ * just specific driver own one instead because
+ * drm framework supports only one irq handler.
+ */
+ dev->irq_enabled = true;
+
+ /*
+ * with vblank_disable_allowed = true, vblank interrupt will be disabled
+ * by drm timer once a current process gives up ownership of
+ * vblank event.(after drm_vblank_put function is called)
+ */
+ dev->vblank_disable_allowed = true;
+
return 0;
err_unbind_all: