summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/exynos/exynos_drm_crtc.c
diff options
context:
space:
mode:
authorSean Paul <seanpaul@chromium.org>2014-01-30 16:19:18 -0500
committerInki Dae <daeinki@gmail.com>2014-03-24 00:36:33 +0900
commitcd706aa8dfd16b150be8294da2c1f1903abacb2c (patch)
tree564b12a7ea6b8131efc044b15c67891cf3b3ef43 /drivers/gpu/drm/exynos/exynos_drm_crtc.c
parenta9c4cd21390652c5eb473417bb962d20e372da03 (diff)
downloadlinux-stable-cd706aa8dfd16b150be8294da2c1f1903abacb2c.tar.gz
linux-stable-cd706aa8dfd16b150be8294da2c1f1903abacb2c.tar.bz2
linux-stable-cd706aa8dfd16b150be8294da2c1f1903abacb2c.zip
drm/exynos: Add mode_set manager operation
This patch adds a mode_set callback to the manager operations which sets the crtc's current mode to the manager driver. This will allow the fimd driver to set its mode using values from drm, instead of the dt. Signed-off-by: Sean Paul <seanpaul@chromium.org> Signed-off-by: Inki Dae <inki.dae@samsung.com>
Diffstat (limited to 'drivers/gpu/drm/exynos/exynos_drm_crtc.c')
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_crtc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_crtc.c b/drivers/gpu/drm/exynos/exynos_drm_crtc.c
index 7678ad08178e..7810338591df 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_crtc.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_crtc.c
@@ -115,6 +115,7 @@ exynos_drm_crtc_mode_set(struct drm_crtc *crtc, struct drm_display_mode *mode,
struct drm_framebuffer *old_fb)
{
struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc);
+ struct exynos_drm_manager *manager = exynos_crtc->manager;
struct drm_plane *plane = exynos_crtc->plane;
unsigned int crtc_w;
unsigned int crtc_h;
@@ -129,6 +130,9 @@ exynos_drm_crtc_mode_set(struct drm_crtc *crtc, struct drm_display_mode *mode,
crtc_w = crtc->fb->width - x;
crtc_h = crtc->fb->height - y;
+ if (manager->ops->mode_set)
+ manager->ops->mode_set(manager, &crtc->mode);
+
ret = exynos_plane_mode_set(plane, crtc, crtc->fb, 0, 0, crtc_w, crtc_h,
x, y, crtc_w, crtc_h);
if (ret)