[PATCH 1/2] drm/exynos: fimd: Remove drm_dev and pipe members from fimd_context
Inki Dae
inki.dae at samsung.com
Mon Dec 8 05:37:53 PST 2014
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)) {
>
More information about the dri-devel
mailing list