diff mbox

[06/24] drm/doc: document fallback behaviour for atomic events

Message ID 20170308141257.12119-7-daniel.vetter@ffwll.ch (mailing list archive)
State New, archived
Headers show

Commit Message

Daniel Vetter March 8, 2017, 2:12 p.m. UTC
Worst case if the hw can't support completion signalling in a
race-free way we want the event to be too late, not too early.

Text adapted from a proposal from Laurent - the other side of how to
make hw work correctly where it's possible is imo already sufficiently
documented.

v2: Review from Laurent.

Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
---
 include/drm/drm_crtc.h | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

Laurent Pinchart March 8, 2017, 2:57 p.m. UTC | #1
Hi Daniel,

Thank you for the patch.

On Wednesday 08 Mar 2017 15:12:39 Daniel Vetter wrote:
> Worst case if the hw can't support completion signalling in a
> race-free way we want the event to be too late, not too early.
> 
> Text adapted from a proposal from Laurent - the other side of how to
> make hw work correctly where it's possible is imo already sufficiently
> documented.
> 
> v2: Review from Laurent.
> 
> Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
>  include/drm/drm_crtc.h | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
> index cba29ffedafd..6ef59da3fd8e 100644
> --- a/include/drm/drm_crtc.h
> +++ b/include/drm/drm_crtc.h
> @@ -204,6 +204,12 @@ struct drm_crtc_state {
>  	 * drm_crtc_arm_vblank_event(). See the documentation of that function
>  	 * for a detailed discussion of the constraints it needs to be used
>  	 * safely.
> +	 *
> +	 * If the device can't notify of flip completion in a race-free way
> +	 * at all, then the event should be armed just after the page flip is
> +	 * committed. In the worst case the driver will send the event to
> +	 * userspace one frame too late. This doesn't allow for a real atomic
> +	 * update, but it should avoid tearing.
>  	 */
>  	struct drm_pending_vblank_event *event;
diff mbox

Patch

diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
index cba29ffedafd..6ef59da3fd8e 100644
--- a/include/drm/drm_crtc.h
+++ b/include/drm/drm_crtc.h
@@ -204,6 +204,12 @@  struct drm_crtc_state {
 	 * drm_crtc_arm_vblank_event(). See the documentation of that function
 	 * for a detailed discussion of the constraints it needs to be used
 	 * safely.
+	 *
+	 * If the device can't notify of flip completion in a race-free way
+	 * at all, then the event should be armed just after the page flip is
+	 * committed. In the worst case the driver will send the event to
+	 * userspace one frame too late. This doesn't allow for a real atomic
+	 * update, but it should avoid tearing.
 	 */
 	struct drm_pending_vblank_event *event;