[PATCH] drm: export atomic wait_for_vblanks helper
Daniel Vetter
daniel at ffwll.ch
Mon Nov 10 15:23:27 PST 2014
On Mon, Nov 10, 2014 at 10:59:23AM -0500, Rob Clark wrote:
> Signed-off-by: Rob Clark <robdclark at gmail.com>
> ---
> I'll need this helper for msm async commit, and I suspect other
> drivers will as well.
Yeah, makes sense. Some nits to clarify the kerneldoc below, with that
addressed this is
Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>
>
> drivers/gpu/drm/drm_atomic_helper.c | 16 +++++++++++++---
> include/drm/drm_atomic_helper.h | 3 +++
> 2 files changed, 16 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
> index ca839bd..9032fd5 100644
> --- a/drivers/gpu/drm/drm_atomic_helper.c
> +++ b/drivers/gpu/drm/drm_atomic_helper.c
> @@ -754,8 +754,17 @@ static void wait_for_fences(struct drm_device *dev,
> }
> }
>
> -static void
> -wait_for_vblanks(struct drm_device *dev, struct drm_atomic_state *old_state)
> +/**
> + * drm_atomic_helper_wait_for_vblanks - wait for vblank on crtcs
> + * @dev: DRM device
> + * @old_state: the just-applied driver state object
I think both for consistency and clarity we should copypaste the kerneldoc
I've used everyhwere else:
* @old_state: atomic state object with old state structures
Maybe we should also clarify the kerneldoc of the swap_state helper
function a bit, dunno. Now that I read it again it's not really a shining
beacon of great docs ;-)
> + *
> + * Helper to, after atomic commit, wait for vblanks on all effected crtcs
> + * (ie. before cleaning up old crtcs)
Missing full stop, and s/crtcs/framebuffers using
drm_atomic_helper_cleanup_planes()/
> + */
> +void
> +drm_atomic_helper_wait_for_vblanks(struct drm_device *dev,
> + struct drm_atomic_state *old_state)
> {
> struct drm_crtc *crtc;
> struct drm_crtc_state *old_crtc_state;
> @@ -800,6 +809,7 @@ wait_for_vblanks(struct drm_device *dev, struct drm_atomic_state *old_state)
> drm_crtc_vblank_put(crtc);
> }
> }
> +EXPORT_SYMBOL(drm_atomic_helper_wait_for_vblanks);
>
> /**
> * drm_atomic_helper_commit - commit validated state object
> @@ -859,7 +869,7 @@ int drm_atomic_helper_commit(struct drm_device *dev,
>
> drm_atomic_helper_commit_post_planes(dev, state);
>
> - wait_for_vblanks(dev, state);
> + drm_atomic_helper_wait_for_vblanks(dev, state);
>
> drm_atomic_helper_cleanup_planes(dev, state);
>
> diff --git a/include/drm/drm_atomic_helper.h b/include/drm/drm_atomic_helper.h
> index 67e3c46..64b4e91 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,
> struct drm_atomic_state *state,
> bool async);
>
> +void drm_atomic_helper_wait_for_vblanks(struct drm_device *dev,
> + struct drm_atomic_state *old_state);
> +
> void drm_atomic_helper_commit_pre_planes(struct drm_device *dev,
> struct drm_atomic_state *state);
> void drm_atomic_helper_commit_post_planes(struct drm_device *dev,
> --
> 1.9.3
>
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
More information about the dri-devel
mailing list