From: Gustavo Padovan Date: Thu, 27 Nov 2014 18:28:44 +0000 (-0200) Subject: drm/exynos: don't duplicate drm_display_mode in fimd context X-Git-Tag: firefly_0821_release~176^2~2312^2~29^2~3 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=a8dc5ed67f94030b72daece4e5e433fa6fae3e3e;p=firefly-linux-kernel-4.4.55.git drm/exynos: don't duplicate drm_display_mode in fimd context We can safely use the mode stored in the crtc. Signed-off-by: Gustavo Padovan Signed-off-by: Inki Dae --- diff --git a/drivers/gpu/drm/exynos/exynos_drm_crtc.c b/drivers/gpu/drm/exynos/exynos_drm_crtc.c index 9e8ed5fd60ae..357fcd59aa48 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_crtc.c +++ b/drivers/gpu/drm/exynos/exynos_drm_crtc.c @@ -89,7 +89,6 @@ exynos_drm_crtc_mode_set(struct drm_crtc *crtc, struct drm_display_mode *mode, struct drm_display_mode *adjusted_mode, int x, int y, struct drm_framebuffer *old_fb) { - struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); struct drm_framebuffer *fb = crtc->primary->fb; unsigned int crtc_w; unsigned int crtc_h; @@ -102,10 +101,6 @@ exynos_drm_crtc_mode_set(struct drm_crtc *crtc, struct drm_display_mode *mode, crtc_w = fb->width - x; crtc_h = fb->height - y; - - if (exynos_crtc->ops->mode_set) - exynos_crtc->ops->mode_set(exynos_crtc, &crtc->mode); - return exynos_plane_mode_set(crtc->primary, crtc, fb, 0, 0, crtc_w, crtc_h, x, y, crtc_w, crtc_h); } diff --git a/drivers/gpu/drm/exynos/exynos_drm_fimd.c b/drivers/gpu/drm/exynos/exynos_drm_fimd.c index 9acd6890a3d6..d54ca07658c9 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_fimd.c +++ b/drivers/gpu/drm/exynos/exynos_drm_fimd.c @@ -164,7 +164,6 @@ struct fimd_context { struct clk *lcd_clk; void __iomem *regs; struct regmap *sysreg; - struct drm_display_mode mode; struct fimd_win_data win_data[WINDOWS_NR]; unsigned int default_win; unsigned long irq_flags; @@ -345,18 +344,10 @@ static bool fimd_mode_fixup(struct exynos_drm_crtc *crtc, return true; } -static void fimd_mode_set(struct exynos_drm_crtc *crtc, - const struct drm_display_mode *in_mode) -{ - struct fimd_context *ctx = crtc->ctx; - - drm_mode_copy(&ctx->mode, in_mode); -} - static void fimd_commit(struct exynos_drm_crtc *crtc) { struct fimd_context *ctx = crtc->ctx; - struct drm_display_mode *mode = &ctx->mode; + struct drm_display_mode *mode = &crtc->base.mode; struct fimd_driver_data *driver_data = ctx->driver_data; void *timing_base = ctx->regs + driver_data->timing_base; u32 val, clkdiv; @@ -1016,7 +1007,6 @@ static void fimd_te_handler(struct exynos_drm_crtc *crtc) static struct exynos_drm_crtc_ops fimd_crtc_ops = { .dpms = fimd_dpms, .mode_fixup = fimd_mode_fixup, - .mode_set = fimd_mode_set, .commit = fimd_commit, .enable_vblank = fimd_enable_vblank, .disable_vblank = fimd_disable_vblank,