diff options
author | Gustavo Padovan <gustavo.padovan@collabora.co.uk> | 2014-11-25 11:21:17 -0200 |
---|---|---|
committer | Inki Dae <daeinki@gmail.com> | 2015-01-25 21:28:05 +0900 |
commit | 0e0a649faa27333efea9cce14bff9bab75230f25 (patch) | |
tree | 6f04a5942b31e2a149284ab4d11432cdb2b7ecba /drivers/gpu/drm/exynos/exynos_drm_crtc.c | |
parent | 9d5310c024691cadb2dcab1a74b5ab067255f1be (diff) | |
download | talos-obmc-linux-0e0a649faa27333efea9cce14bff9bab75230f25.tar.gz talos-obmc-linux-0e0a649faa27333efea9cce14bff9bab75230f25.zip |
drm/exynos: unify plane update on exynos_update_plane()
We can safely use the exynos_update_plane() to update the plane
framebuffer for both the overlay and primary planes.
Note that this patch removes a call to manager->ops->commit() in
exynos_drm_crtc_mode_set_commit(). The commit() call is used only by the
fimd driver to set underlying timings and need only in full modeset
operations. For plane update only win_commit is needed.
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
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.c | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_crtc.c b/drivers/gpu/drm/exynos/exynos_drm_crtc.c index a43e25d57a02..4c8bd4d1e861 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_crtc.c +++ b/drivers/gpu/drm/exynos/exynos_drm_crtc.c @@ -117,12 +117,9 @@ static int exynos_drm_crtc_mode_set_commit(struct drm_crtc *crtc, int x, int y, struct drm_framebuffer *old_fb) { struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(crtc); - struct exynos_drm_manager *manager = exynos_crtc->manager; - struct exynos_drm_plane *exynos_plane = to_exynos_plane(crtc->primary); struct drm_framebuffer *fb = crtc->primary->fb; unsigned int crtc_w; unsigned int crtc_h; - int ret; /* when framebuffer changing is requested, crtc's dpms should be on */ if (exynos_crtc->dpms > DRM_MODE_DPMS_ON) { @@ -133,18 +130,8 @@ static int exynos_drm_crtc_mode_set_commit(struct drm_crtc *crtc, int x, int y, crtc_w = fb->width - x; crtc_h = fb->height - y; - ret = exynos_plane_mode_set(crtc->primary, crtc, fb, 0, 0, - crtc_w, crtc_h, x, y, crtc_w, crtc_h); - if (ret) - return ret; - - if (manager->ops->win_commit) - manager->ops->win_commit(manager, exynos_plane->zpos); - - if (manager->ops->commit) - manager->ops->commit(manager); - - return 0; + return exynos_update_plane(crtc->primary, crtc, fb, 0, 0, + crtc_w, crtc_h, x, y, crtc_w, crtc_h); } static int exynos_drm_crtc_mode_set_base(struct drm_crtc *crtc, int x, int y, |