On 2014년 12월 07일 21:04, Ajay Kumar wrote:
> ctx->drm_dev is unnecessary since it can be easily accessed
> via ctx->manager->drm_dev. Even the pipe variable inside
> fimd_context is redundant. Cleaning up the same.

Already applied.

Thanks,
Inki Dae

> 
> Signed-off-by: Ajay Kumar <ajaykumar.rs at samsung.com>
> ---
>  drivers/gpu/drm/exynos/exynos_drm_fimd.c |   28 ++++++++++++++--------------
>  1 file changed, 14 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c 
> b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> index e5810d1..157f4dd 100644
> --- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> +++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c
> @@ -159,7 +159,6 @@ struct fimd_win_data {
>  struct fimd_context {
>       struct exynos_drm_manager       manager;
>       struct device                   *dev;
> -     struct drm_device               *drm_dev;
>       struct clk                      *bus_clk;
>       struct clk                      *lcd_clk;
>       void __iomem                    *regs;
> @@ -174,7 +173,6 @@ struct fimd_context {
>       u32                             i80ifcon;
>       bool                            i80_if;
>       bool                            suspended;
> -     int                             pipe;
>       wait_queue_head_t               wait_vsync_queue;
>       atomic_t                        wait_vsync_event;
>       atomic_t                        win_updated;
> @@ -298,17 +296,17 @@ static int fimd_mgr_initialize(struct 
> exynos_drm_manager *mgr,
>       struct exynos_drm_private *priv;
>       priv = drm_dev->dev_private;
>  
> -     mgr->drm_dev = ctx->drm_dev = drm_dev;
> -     mgr->pipe = ctx->pipe = priv->pipe++;
> +     mgr->drm_dev = drm_dev;
> +     mgr->pipe = priv->pipe++;
>  
>       /* attach this sub driver to iommu mapping if supported. */
> -     if (is_drm_iommu_supported(ctx->drm_dev)) {
> +     if (is_drm_iommu_supported(mgr->drm_dev)) {
>               /*
>                * If any channel is already active, iommu will throw
>                * a PAGE FAULT when enabled. So clear any channel if enabled.
>                */
>               fimd_clear_channel(mgr);
> -             drm_iommu_attach_device(ctx->drm_dev, ctx->dev);
> +             drm_iommu_attach_device(mgr->drm_dev, ctx->dev);
>       }
>  
>       return 0;
> @@ -319,8 +317,8 @@ static void fimd_mgr_remove(struct exynos_drm_manager 
> *mgr)
>       struct fimd_context *ctx = mgr_to_fimd(mgr);
>  
>       /* detach this sub driver from iommu mapping if supported. */
> -     if (is_drm_iommu_supported(ctx->drm_dev))
> -             drm_iommu_detach_device(ctx->drm_dev, ctx->dev);
> +     if (is_drm_iommu_supported(mgr->drm_dev))
> +             drm_iommu_detach_device(mgr->drm_dev, ctx->dev);
>  }
>  
>  static u32 fimd_calc_clkdiv(struct fimd_context *ctx,
> @@ -1001,7 +999,7 @@ static void fimd_te_handler(struct exynos_drm_manager 
> *mgr)
>       struct fimd_context *ctx = mgr_to_fimd(mgr);
>  
>       /* Checks the crtc is detached already from encoder */
> -     if (ctx->pipe < 0 || !ctx->drm_dev)
> +     if (mgr->pipe < 0 || !mgr->drm_dev)
>               return;
>  
>       /*
> @@ -1018,7 +1016,7 @@ static void fimd_te_handler(struct exynos_drm_manager 
> *mgr)
>       }
>  
>       if (test_bit(0, &ctx->irq_flags))
> -             drm_handle_vblank(ctx->drm_dev, ctx->pipe);
> +             drm_handle_vblank(mgr->drm_dev, mgr->pipe);
>  }
>  
>  static struct exynos_drm_manager_ops fimd_manager_ops = {
> @@ -1047,17 +1045,19 @@ static irqreturn_t fimd_irq_handler(int irq, void 
> *dev_id)
>               writel(clear_bit, ctx->regs + VIDINTCON1);
>  
>       /* check the crtc is detached already from encoder */
> -     if (ctx->pipe < 0 || !ctx->drm_dev)
> +     if (ctx->manager.pipe < 0 || !ctx->manager.drm_dev)
>               goto out;
>  
>       if (ctx->i80_if) {
> -             exynos_drm_crtc_finish_pageflip(ctx->drm_dev, ctx->pipe);
> +             exynos_drm_crtc_finish_pageflip(ctx->manager.drm_dev,
> +                                                     ctx->manager.pipe);
>  
>               /* Exits triggering mode */
>               atomic_set(&ctx->triggering, 0);
>       } else {
> -             drm_handle_vblank(ctx->drm_dev, ctx->pipe);
> -             exynos_drm_crtc_finish_pageflip(ctx->drm_dev, ctx->pipe);
> +             drm_handle_vblank(ctx->manager.drm_dev, ctx->manager.pipe);
> +             exynos_drm_crtc_finish_pageflip(ctx->manager.drm_dev,
> +                                                     ctx->manager.pipe);
>  
>               /* set wait vsync event to zero and wake up queue. */
>               if (atomic_read(&ctx->wait_vsync_event)) {
> 

Reply via email to