Hi Dmitry,
Em 12/06/2024 17:45, Dmitry Baryshkov escreveu:
On Wed, Jun 12, 2024 at 04:37:12PM -0300, André Almeida wrote:
Different planes may have different capabilities of doing async flips,
so create a field to let drivers allow async flip per plane type.
Signed-off-by: André Almeida <andrealmeid@xxxxxxxxxx>
---
drivers/gpu/drm/drm_atomic_uapi.c | 4 ++--
drivers/gpu/drm/drm_plane.c | 3 +++
include/drm/drm_plane.h | 5 +++++
3 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/drm_plane.c b/drivers/gpu/drm/drm_plane.c
index 57662a1fd345..bbcec3940636 100644
--- a/drivers/gpu/drm/drm_plane.c
+++ b/drivers/gpu/drm/drm_plane.c
@@ -385,6 +385,9 @@ static int __drm_universal_plane_init(struct drm_device *dev,
drm_modeset_lock_init(&plane->mutex);
+ if (type == DRM_PLANE_TYPE_PRIMARY)
+ plane->async_flip = true;
+
Why? Also note that the commit message writes about adding the field,
not about enabling it for the primary planes.
This is not meant to have any function change actually, just to enable
per-plane configuration. Currently, any driver that supports async page
flip in atomic API supports flipping the primary plane.
But as Ville pointed out, that belongs to driver code, so I'll move
there, hope that it makes more clear
plane->base.properties = &plane->properties;
plane->dev = dev;
plane->funcs = funcs;