Also cc Sean, who reviewed the msm patch to double down on the not-so-awesome async solution (I think at least, I'm still not entirely sure what's all going on there): commit 2d99ced787e3d0f251fa370d2aae83cf2085a8d9 Author: Rob Clark <robdclark@xxxxxxxxxxxx> Date: Thu Aug 29 09:45:16 2019 -0700 drm/msm: async commit support On Tue, Oct 20, 2020 at 4:39 PM Daniel Vetter <daniel.vetter@xxxxxxxx> wrote: > > It's the horror and shouldn't be used. Realized we're not clear on > this in a discussion with Rob about what msm is doing to better > support async commits. > > Cc: Rob Clark <robdclark@xxxxxxxxx> > Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> > Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> > Cc: Maxime Ripard <mripard@xxxxxxxxxx> > Cc: Thomas Zimmermann <tzimmermann@xxxxxxx> > Cc: David Airlie <airlied@xxxxxxxx> > Cc: Daniel Vetter <daniel@xxxxxxxx> > --- > include/drm/drm_atomic.h | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h > index d07c851d255b..413fd0ca56a8 100644 > --- a/include/drm/drm_atomic.h > +++ b/include/drm/drm_atomic.h > @@ -308,7 +308,6 @@ struct __drm_private_objs_state { > * struct drm_atomic_state - the global state object for atomic updates > * @ref: count of all references to this state (will not be freed until zero) > * @dev: parent DRM device > - * @legacy_cursor_update: hint to enforce legacy cursor IOCTL semantics > * @async_update: hint for asynchronous plane update > * @planes: pointer to array of structures with per-plane data > * @crtcs: pointer to array of CRTC pointers > @@ -336,6 +335,17 @@ struct drm_atomic_state { > * drm_atomic_crtc_needs_modeset(). > */ > bool allow_modeset : 1; > + /** > + * @legacy_cursor_update: > + * > + * Hint to enforce legacy cursor IOCTL semantics. > + * > + * WARNING: This is thoroughly broken and pretty much impossible to > + * implement correctly. Drivers must ignore this and should instead > + * implement &drm_plane_helper_funcs.atomic_async_check and > + * &drm_plane_helper_funcs.atomic_async_commit hooks. New users of this > + * flag are not allowed. > + */ > bool legacy_cursor_update : 1; > bool async_update : 1; > /** > -- > 2.28.0 > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel