drm/exynos: don't do any DPMS operation while updating planes
DPMS only makes sense when the mode changes, for plane update changes do not perform any dpms operation. This move places the win_commit() and commit() calls directly in the code instead of calling exynos_drm_crtc_commit() thus avoiding DPMS operations. Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Signed-off-by: Inki Dae <inki.dae@samsung.com>
This commit is contained in:
parent
e7cd811110
commit
ea8802d3dd
|
@ -115,6 +115,8 @@ 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;
|
||||
|
@ -134,7 +136,11 @@ static int exynos_drm_crtc_mode_set_commit(struct drm_crtc *crtc, int x, int y,
|
|||
if (ret)
|
||||
return ret;
|
||||
|
||||
exynos_drm_crtc_commit(crtc);
|
||||
if (manager->ops->win_commit)
|
||||
manager->ops->win_commit(manager, exynos_plane->zpos);
|
||||
|
||||
if (manager->ops->commit)
|
||||
manager->ops->commit(manager);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue