On Thu, 16 Jan 2025 16:25:35 +0000 Simon Ser <cont...@emersion.fr> wrote:
> It's not obvious off-hand which CRTCs will get a page-flip event > when using this flag in an atomic commit, because it's all > implicitly implied based on the contents of the atomic commit. > Document requirements for using this flag and > and? > Note, because prepare_signaling() runs right after > drm_atomic_set_property() calls, page-flip events are not delivered > for CRTCs pulled in later by DRM core (e.g. on modeset by > drm_atomic_helper_check_modeset()) or the driver (e.g. other CRTCs > sharing a DP-MST connector). > > Signed-off-by: Simon Ser <cont...@emersion.fr> > Cc: Simona Vetter <simona.vet...@ffwll.ch> > Cc: Ville Syrjälä <ville.syrj...@linux.intel.com> > Cc: Pekka Paalanen <pekka.paala...@collabora.com> > Cc: David Turner <david.tur...@raspberrypi.com> > --- > include/uapi/drm/drm_mode.h | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/include/uapi/drm/drm_mode.h b/include/uapi/drm/drm_mode.h > index c082810c08a8..a122bea25593 100644 > --- a/include/uapi/drm/drm_mode.h > +++ b/include/uapi/drm/drm_mode.h > @@ -962,6 +962,14 @@ struct hdr_output_metadata { > * Request that the kernel sends back a vblank event (see > * struct drm_event_vblank) with the &DRM_EVENT_FLIP_COMPLETE type when the > * page-flip is done. > + * > + * When used with atomic uAPI, one event will be delivered per CRTC included > in > + * the atomic commit. A CRTC is included in an atomic commit if one of its > + * properties is set, or if a property is set on a connector or plane linked > + * via the CRTC_ID property to the CRTC. At least one CRTC must be included, > + * and all pulled in CRTCs must be either previously or newly powered on (in > + * other words, a powered off CRTC which stays off cannot be included in the > + * atomic commit). Sounds right. I imagine this doc needs to be extended when drm_colorop lands, as yet another way to pull in a CRTC. Wasn't this also conditional on the DRM_CAP_CRTC_IN_VBLANK_EVENT or did userspace really need to count the events even without it? Nevertheless, should there be a "see also DRM_CAP_CRTC_IN_VBLANK_EVENT"? > */ > #define DRM_MODE_PAGE_FLIP_EVENT 0x01 > /** Thanks, pq
pgpe1sEAGTnD7.pgp
Description: OpenPGP digital signature