On Tue, 18 Jun 2024 at 12:38, Jani Nikula <jani.nikula@xxxxxxxxxxxxxxx> wrote: > > On Tue, 18 Jun 2024, André Almeida <andrealmeid@xxxxxxxxxx> wrote: > > Drivers have different capabilities on what plane types they can or > > cannot perform async flips. Create a plane::async_flip field so each > > driver can choose which planes they allow doing async flips. > > > > Signed-off-by: André Almeida <andrealmeid@xxxxxxxxxx> > > --- > > include/drm/drm_plane.h | 5 +++++ > > 1 file changed, 5 insertions(+) > > > > diff --git a/include/drm/drm_plane.h b/include/drm/drm_plane.h > > index 9507542121fa..0bebc72af5c3 100644 > > --- a/include/drm/drm_plane.h > > +++ b/include/drm/drm_plane.h > > @@ -786,6 +786,11 @@ struct drm_plane { > > * @kmsg_panic: Used to register a panic notifier for this plane > > */ > > struct kmsg_dumper kmsg_panic; > > + > > + /** > > + * @async_flip: indicates if a plane can do async flips > > + */ > > When is it okay to set or change the value of this member? > > If you don't document it, people will find creative uses for this. Maybe it's better to have a callback instead of a static field? This way it becomes clear that it's only relevant at the time of the atomic_check(). > > + bool async_flip; > > }; > > > > #define obj_to_plane(x) container_of(x, struct drm_plane, base) > > -- > Jani Nikula, Intel -- With best wishes Dmitry