Hi, The goal of this work is to find a nice way to allow amdgpu to perform async page flips in the overlay plane as well, not only on the primary one. Currently, when using the atomic uAPI, this is the only type of plane allowed to do async flips, and every driver accepts it. This patchset re-uses the per-plane function atomic_async_check() to this purpose, so drivers can allow different plane types. There's a `bool flip` parameter so the atomic_async_check() can do different decisions if it's a complete page flip or a plane update. igt test: https://lore.kernel.org/igt-dev/20241211031820.115844-1-andrealmeid@xxxxxxxxxx/ Changelog v9: https://lore.kernel.org/r/20241101-tonyk-async_flip-v9-0-681814efbfbe@xxxxxxxxxx - Add a 'flip' flag to indicate where the atomic_async_check() is being called from. v8: https://lore.kernel.org/lkml/20240806135300.114469-1-andrealmeid@xxxxxxxxxx/ - Rebased on top of 6.12-rc1 (drm/drm-next) v7: https://lore.kernel.org/dri-devel/20240618030024.500532-1-andrealmeid@xxxxxxxxxx/ - Complete rewrite --- André Almeida (2): drm/atomic: Let drivers decide which planes to async flip drm/amdgpu: Enable async flip on overlay planes .../drm/amd/display/amdgpu_dm/amdgpu_dm_plane.c | 11 ++++--- drivers/gpu/drm/drm_atomic_helper.c | 2 +- drivers/gpu/drm/drm_atomic_uapi.c | 37 ++++++++++++++++------ drivers/gpu/drm/loongson/lsdc_plane.c | 3 +- drivers/gpu/drm/mediatek/mtk_plane.c | 2 +- drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c | 2 +- drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 2 +- drivers/gpu/drm/tegra/dc.c | 3 +- drivers/gpu/drm/vc4/vc4_plane.c | 2 +- include/drm/drm_modeset_helper_vtables.h | 7 +++- 10 files changed, 49 insertions(+), 22 deletions(-) --- base-commit: c40c32cf71b90d85386fcc066c19feb23eb42804 change-id: 20241002-tonyk-async_flip-828cfe9cf3ca Best regards, -- André Almeida <andrealmeid@xxxxxxxxxx>