aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRob Clark <robdclark@gmail.com>2014-11-11 19:38:59 -0500
committerDave Airlie <airlied@redhat.com>2014-11-12 02:55:44 -0500
commit5ee3229c87d396cab3c2dfc335b90320cc4a2f42 (patch)
tree64e8a16ac5625a56e669fa1ac04645e117cd9ef1
parent51b44eb17b8ec6c83eac7772b4c8bc5887c5fbf7 (diff)
drm: export atomic wait_for_vblanks helper (v2)
v1: original v2: danvet's kerneldoc nitpicks Signed-off-by: Rob Clark <robdclark@gmail.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--drivers/gpu/drm/drm_atomic_helper.c17
-rw-r--r--include/drm/drm_atomic_helper.h3
2 files changed, 17 insertions, 3 deletions
diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
index ca839bd9bb0d..fad2b932cf72 100644
--- a/drivers/gpu/drm/drm_atomic_helper.c
+++ b/drivers/gpu/drm/drm_atomic_helper.c
@@ -754,8 +754,18 @@ static void wait_for_fences(struct drm_device *dev,
754 } 754 }
755} 755}
756 756
757static void 757/**
758wait_for_vblanks(struct drm_device *dev, struct drm_atomic_state *old_state) 758 * drm_atomic_helper_wait_for_vblanks - wait for vblank on crtcs
759 * @dev: DRM device
760 * @old_state: atomic state object with old state structures
761 *
762 * Helper to, after atomic commit, wait for vblanks on all effected
763 * crtcs (ie. before cleaning up old framebuffers using
764 * drm_atomic_helper_cleanup_planes())
765 */
766void
767drm_atomic_helper_wait_for_vblanks(struct drm_device *dev,
768 struct drm_atomic_state *old_state)
759{ 769{
760 struct drm_crtc *crtc; 770 struct drm_crtc *crtc;
761 struct drm_crtc_state *old_crtc_state; 771 struct drm_crtc_state *old_crtc_state;
@@ -800,6 +810,7 @@ wait_for_vblanks(struct drm_device *dev, struct drm_atomic_state *old_state)
800 drm_crtc_vblank_put(crtc); 810 drm_crtc_vblank_put(crtc);
801 } 811 }
802} 812}
813EXPORT_SYMBOL(drm_atomic_helper_wait_for_vblanks);
803 814
804/** 815/**
805 * drm_atomic_helper_commit - commit validated state object 816 * drm_atomic_helper_commit - commit validated state object
@@ -859,7 +870,7 @@ int drm_atomic_helper_commit(struct drm_device *dev,
859 870
860 drm_atomic_helper_commit_post_planes(dev, state); 871 drm_atomic_helper_commit_post_planes(dev, state);
861 872
862 wait_for_vblanks(dev, state); 873 drm_atomic_helper_wait_for_vblanks(dev, state);
863 874
864 drm_atomic_helper_cleanup_planes(dev, state); 875 drm_atomic_helper_cleanup_planes(dev, state);
865 876
diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h
index 67e3c4645ae0..64b4e91b93bc 100644
--- a/include/drm/drm_atomic_helper.h
+++ b/include/drm/drm_atomic_helper.h
@@ -34,6 +34,9 @@ int drm_atomic_helper_commit(struct drm_device *dev,
34 struct drm_atomic_state *state, 34 struct drm_atomic_state *state,
35 bool async); 35 bool async);
36 36
37void drm_atomic_helper_wait_for_vblanks(struct drm_device *dev,
38 struct drm_atomic_state *old_state);
39
37void drm_atomic_helper_commit_pre_planes(struct drm_device *dev, 40void drm_atomic_helper_commit_pre_planes(struct drm_device *dev,
38 struct drm_atomic_state *state); 41 struct drm_atomic_state *state);
39void drm_atomic_helper_commit_post_planes(struct drm_device *dev, 42void drm_atomic_helper_commit_post_planes(struct drm_device *dev,