[PATCH] drm/exynos: factor out initial setting of each driver
Inki Dae
inki.dae at samsung.com
Fri Sep 19 09:06:10 PDT 2014
2014-09-18 17:50 GMT+09:00 Joonyoung Shim <jy0922.shim at samsung.com>:
> 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.
Picked it up.
Thanks,
Inki Dae
>
> Signed-off-by: Joonyoung Shim <jy0922.shim at samsung.com>
> ---
> drivers/gpu/drm/exynos/exynos_drm_drv.c | 17 +++++++++++++++++
> drivers/gpu/drm/exynos/exynos_drm_fimd.c | 17 -----------------
> drivers/gpu/drm/exynos/exynos_drm_vidi.c | 17 -----------------
> 3 files changed, 17 insertions(+), 34 deletions(-)
>
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_drv.c b/drivers/gpu/drm/exynos/exynos_drm_drv.c
> index 0d74e9b..bc87be3 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:
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> index 5d09e33..370abdc 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> @@ -237,23 +237,6 @@ static int fimd_mgr_initialize(struct exynos_drm_manager *mgr,
> mgr->drm_dev = ctx->drm_dev = drm_dev;
> mgr->pipe = ctx->pipe = priv->pipe++;
>
> - /*
> - * 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.
> - */
> - drm_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)
> - */
> - drm_dev->vblank_disable_allowed = true;
> -
> /* attach this sub driver to iommu mapping if supported. */
> if (is_drm_iommu_supported(ctx->drm_dev)) {
> /*
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_vidi.c b/drivers/gpu/drm/exynos/exynos_drm_vidi.c
> index 9528d81..2e6120b 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_vidi.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_vidi.c
> @@ -303,23 +303,6 @@ static int vidi_mgr_initialize(struct exynos_drm_manager *mgr,
> mgr->drm_dev = ctx->drm_dev = drm_dev;
> mgr->pipe = ctx->pipe = priv->pipe++;
>
> - /*
> - * enable drm irq mode.
> - * - with irq_enabled = 1, 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.
> - */
> - drm_dev->irq_enabled = 1;
> -
> - /*
> - * with vblank_disable_allowed = 1, 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)
> - */
> - drm_dev->vblank_disable_allowed = 1;
> -
> return 0;
> }
>
> --
> 1.9.1
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
More information about the dri-devel
mailing list