dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] drm: export atomic wait_for_vblanks helper
@ 2014-11-10 15:59 Rob Clark
  2014-11-10 23:23 ` Daniel Vetter
  0 siblings, 1 reply; 2+ messages in thread
From: Rob Clark @ 2014-11-10 15:59 UTC (permalink / raw)
  To: dri-devel

Signed-off-by: Rob Clark <robdclark@gmail.com>
---
I'll need this helper for msm async commit, and I suspect other
drivers will as well.

 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
+ *
+ * Helper to, after atomic commit, wait for vblanks on all effected crtcs
+ * (ie. before cleaning up old crtcs)
+ */
+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

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] drm: export atomic wait_for_vblanks helper
  2014-11-10 15:59 [PATCH] drm: export atomic wait_for_vblanks helper Rob Clark
@ 2014-11-10 23:23 ` Daniel Vetter
  0 siblings, 0 replies; 2+ messages in thread
From: Daniel Vetter @ 2014-11-10 23:23 UTC (permalink / raw)
  To: Rob Clark; +Cc: dri-devel

On Mon, Nov 10, 2014 at 10:59:23AM -0500, Rob Clark wrote:
> Signed-off-by: Rob Clark <robdclark@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@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
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-11-10 23:23 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-10 15:59 [PATCH] drm: export atomic wait_for_vblanks helper Rob Clark
2014-11-10 23:23 ` Daniel Vetter

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox