diff options
author | Gustavo Padovan <gustavo.padovan@collabora.co.uk> | 2015-08-15 13:26:14 -0300 |
---|---|---|
committer | Inki Dae <daeinki@gmail.com> | 2015-08-31 00:27:37 +0900 |
commit | 822f6dfd714c961e3c5648b1d4a5ac10f807d592 (patch) | |
tree | bcc63655f5ea66b9381fab9278dcae83e38e051b /drivers/gpu/drm/exynos/exynos_drm_crtc.h | |
parent | ce3ff36be91a85d87f138794dbbd704fb99320c2 (diff) | |
download | linux-822f6dfd714c961e3c5648b1d4a5ac10f807d592.tar.gz linux-822f6dfd714c961e3c5648b1d4a5ac10f807d592.tar.bz2 linux-822f6dfd714c961e3c5648b1d4a5ac10f807d592.zip |
drm/exynos: check for pending fb before finish update
The current code was ignoring the end of update for all overlay planes,
caring only for the primary plane update in case of pageflip.
This change adds a change to start to check for pending updates for all
planes through exynos_plane->pending_fb. At the start of plane update the
pending_fb is set with the fb to be shown on the screen. Then only when to
fb is already presented in the screen we set pending_fb to NULL to
signal that the update was finished.
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
fixup! drm/exynos: check for pending fb before finish update
Diffstat (limited to 'drivers/gpu/drm/exynos/exynos_drm_crtc.h')
-rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_crtc.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_crtc.h b/drivers/gpu/drm/exynos/exynos_drm_crtc.h index 9e7027d6c2f6..8bedfde2084a 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_crtc.h +++ b/drivers/gpu/drm/exynos/exynos_drm_crtc.h @@ -25,7 +25,8 @@ struct exynos_drm_crtc *exynos_drm_crtc_create(struct drm_device *drm_dev, void *context); int exynos_drm_crtc_enable_vblank(struct drm_device *dev, int pipe); void exynos_drm_crtc_disable_vblank(struct drm_device *dev, int pipe); -void exynos_drm_crtc_finish_pageflip(struct exynos_drm_crtc *exynos_crtc); +void exynos_drm_crtc_finish_update(struct exynos_drm_crtc *exynos_crtc, + struct exynos_drm_plane *exynos_plane); void exynos_drm_crtc_complete_scanout(struct drm_framebuffer *fb); /* This function gets pipe value to crtc device matched with out_type. */ |