drm/doc: document fallback behaviour for atomic events
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 8 Mar 2017 14:12:39 +0000 (15:12 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 9 Mar 2017 15:18:02 +0000 (16:18 +0100)
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>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170308141257.12119-7-daniel.vetter@ffwll.ch
include/drm/drm_crtc.h

index cba29ffedafd5ec7b7ec480f2f6dd0c0e540237d..6ef59da3fd8ef3842bd864218261cdf3d7aa966e 100644 (file)
@@ -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;