diff options
| author | Gustavo Padovan <gustavo.padovan@collabora.co.uk> | 2014-11-27 13:28:44 -0500 |
|---|---|---|
| committer | Inki Dae <daeinki@gmail.com> | 2015-01-25 07:28:08 -0500 |
| commit | a8dc5ed67f94030b72daece4e5e433fa6fae3e3e (patch) | |
| tree | 155f04aad6a7f3100fa8cd739a7cb4dac92d2419 | |
| parent | 93bca243ec96f0acb949d4aa2306f07467e89985 (diff) | |
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 <gustavo.padovan@collabora.co.uk>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
| -rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_crtc.c | 5 | ||||
| -rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_fimd.c | 12 |
2 files changed, 1 insertions, 16 deletions
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, | |||
| 89 | struct drm_display_mode *adjusted_mode, int x, int y, | 89 | struct drm_display_mode *adjusted_mode, int x, int y, |
| 90 | struct drm_framebuffer *old_fb) | 90 | struct drm_framebuffer *old_fb) |
| 91 | { | 91 | { |
| 92 | struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); | ||
| 93 | struct drm_framebuffer *fb = crtc->primary->fb; | 92 | struct drm_framebuffer *fb = crtc->primary->fb; |
| 94 | unsigned int crtc_w; | 93 | unsigned int crtc_w; |
| 95 | unsigned int crtc_h; | 94 | unsigned int crtc_h; |
| @@ -102,10 +101,6 @@ exynos_drm_crtc_mode_set(struct drm_crtc *crtc, struct drm_display_mode *mode, | |||
| 102 | 101 | ||
| 103 | crtc_w = fb->width - x; | 102 | crtc_w = fb->width - x; |
| 104 | crtc_h = fb->height - y; | 103 | crtc_h = fb->height - y; |
| 105 | |||
| 106 | if (exynos_crtc->ops->mode_set) | ||
| 107 | exynos_crtc->ops->mode_set(exynos_crtc, &crtc->mode); | ||
| 108 | |||
| 109 | return exynos_plane_mode_set(crtc->primary, crtc, fb, 0, 0, | 104 | return exynos_plane_mode_set(crtc->primary, crtc, fb, 0, 0, |
| 110 | crtc_w, crtc_h, x, y, crtc_w, crtc_h); | 105 | crtc_w, crtc_h, x, y, crtc_w, crtc_h); |
| 111 | } | 106 | } |
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 { | |||
| 164 | struct clk *lcd_clk; | 164 | struct clk *lcd_clk; |
| 165 | void __iomem *regs; | 165 | void __iomem *regs; |
| 166 | struct regmap *sysreg; | 166 | struct regmap *sysreg; |
| 167 | struct drm_display_mode mode; | ||
| 168 | struct fimd_win_data win_data[WINDOWS_NR]; | 167 | struct fimd_win_data win_data[WINDOWS_NR]; |
| 169 | unsigned int default_win; | 168 | unsigned int default_win; |
| 170 | unsigned long irq_flags; | 169 | unsigned long irq_flags; |
| @@ -345,18 +344,10 @@ static bool fimd_mode_fixup(struct exynos_drm_crtc *crtc, | |||
| 345 | return true; | 344 | return true; |
| 346 | } | 345 | } |
| 347 | 346 | ||
| 348 | static void fimd_mode_set(struct exynos_drm_crtc *crtc, | ||
| 349 | const struct drm_display_mode *in_mode) | ||
| 350 | { | ||
| 351 | struct fimd_context *ctx = crtc->ctx; | ||
| 352 | |||
| 353 | drm_mode_copy(&ctx->mode, in_mode); | ||
| 354 | } | ||
| 355 | |||
| 356 | static void fimd_commit(struct exynos_drm_crtc *crtc) | 347 | static void fimd_commit(struct exynos_drm_crtc *crtc) |
| 357 | { | 348 | { |
| 358 | struct fimd_context *ctx = crtc->ctx; | 349 | struct fimd_context *ctx = crtc->ctx; |
| 359 | struct drm_display_mode *mode = &ctx->mode; | 350 | struct drm_display_mode *mode = &crtc->base.mode; |
| 360 | struct fimd_driver_data *driver_data = ctx->driver_data; | 351 | struct fimd_driver_data *driver_data = ctx->driver_data; |
| 361 | void *timing_base = ctx->regs + driver_data->timing_base; | 352 | void *timing_base = ctx->regs + driver_data->timing_base; |
| 362 | u32 val, clkdiv; | 353 | u32 val, clkdiv; |
| @@ -1016,7 +1007,6 @@ static void fimd_te_handler(struct exynos_drm_crtc *crtc) | |||
| 1016 | static struct exynos_drm_crtc_ops fimd_crtc_ops = { | 1007 | static struct exynos_drm_crtc_ops fimd_crtc_ops = { |
| 1017 | .dpms = fimd_dpms, | 1008 | .dpms = fimd_dpms, |
| 1018 | .mode_fixup = fimd_mode_fixup, | 1009 | .mode_fixup = fimd_mode_fixup, |
| 1019 | .mode_set = fimd_mode_set, | ||
| 1020 | .commit = fimd_commit, | 1010 | .commit = fimd_commit, |
| 1021 | .enable_vblank = fimd_enable_vblank, | 1011 | .enable_vblank = fimd_enable_vblank, |
| 1022 | .disable_vblank = fimd_disable_vblank, | 1012 | .disable_vblank = fimd_disable_vblank, |
