[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