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/20241216202427.76168-1-andrealmeid@xxxxxxxxxx/ Changelog v12: - Rebased on top of drm-next (for 6.14) v11: https://lore.kernel.org/r/20241212-tonyk-async_flip-v11-0-14379434be70@xxxxxxxxxx - Fix changelog - Add R-b and T-b tags v10: https://lore.kernel.org/all/20241211-tonyk-async_flip-v10-0-6b1ff04847c2@xxxxxxxxxx/ - Add a 'flip' flag to indicate where the atomic_async_check() is being called from. v9: https://lore.kernel.org/all/20241101-tonyk-async_flip-v9-0-681814efbfbe@xxxxxxxxxx/ - Rebased on top of 6.12-rc1 (drm/drm-next) v8: https://lore.kernel.org/lkml/20240806135300.114469-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 | 10 +++--- 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, 48 insertions(+), 22 deletions(-) --- base-commit: 64179a1416e1420a34226ab3beb5f84710953d16 change-id: 20241002-tonyk-async_flip-828cfe9cf3ca Best regards, -- André Almeida <andrealmeid@xxxxxxxxxx>