diff options
author | Gustavo Padovan <gustavo.padovan@collabora.co.uk> | 2015-06-01 11:04:48 -0400 |
---|---|---|
committer | Inki Dae <daeinki@gmail.com> | 2015-06-19 11:32:49 -0400 |
commit | 9d5ab6a0ff7bb9565e8e1bcce5648964b6434470 (patch) | |
tree | 181628385329a710653c190cc5a2986016db9f9f /drivers/gpu/drm/exynos/exynos_drm_fb.c | |
parent | 47a7deff3606c4455f0abf0cdb1a9c89ba722a6b (diff) |
drm/exynos: atomic phase 3: convert page flips
PageFlips now use the atomic helper to work through the atomic modesetting
API. Async page flips are not supported yet.
v2: Add .atomic_begin() step to handle the vblank part we removed from
exynos page_flip code.
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com>
Tested-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Diffstat (limited to 'drivers/gpu/drm/exynos/exynos_drm_fb.c')
-rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_fb.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fb.c b/drivers/gpu/drm/exynos/exynos_drm_fb.c index 19c06429fc45..05d229c1629a 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_fb.c +++ b/drivers/gpu/drm/exynos/exynos_drm_fb.c | |||
@@ -266,11 +266,18 @@ static void exynos_drm_output_poll_changed(struct drm_device *dev) | |||
266 | exynos_drm_fbdev_init(dev); | 266 | exynos_drm_fbdev_init(dev); |
267 | } | 267 | } |
268 | 268 | ||
269 | static int exynos_atomic_commit(struct drm_device *dev, | ||
270 | struct drm_atomic_state *state, | ||
271 | bool async) | ||
272 | { | ||
273 | return drm_atomic_helper_commit(dev, state, false); | ||
274 | } | ||
275 | |||
269 | static const struct drm_mode_config_funcs exynos_drm_mode_config_funcs = { | 276 | static const struct drm_mode_config_funcs exynos_drm_mode_config_funcs = { |
270 | .fb_create = exynos_user_fb_create, | 277 | .fb_create = exynos_user_fb_create, |
271 | .output_poll_changed = exynos_drm_output_poll_changed, | 278 | .output_poll_changed = exynos_drm_output_poll_changed, |
272 | .atomic_check = drm_atomic_helper_check, | 279 | .atomic_check = drm_atomic_helper_check, |
273 | .atomic_commit = drm_atomic_helper_commit, | 280 | .atomic_commit = exynos_atomic_commit, |
274 | }; | 281 | }; |
275 | 282 | ||
276 | void exynos_drm_mode_config_init(struct drm_device *dev) | 283 | void exynos_drm_mode_config_init(struct drm_device *dev) |