All of the formats/modifiers supported by the plane during synchronous flips are nor supported by asynchronous flips. The formats/modifiers exposed to user by IN_FORMATS exposes all formats/modifiers supported by plane and this list varies for async flips. If the async flip supported formats/modifiers are exposed to the user, user based on this list can take decision to proceed or not and avoid flip failures during async flips. Discussion around this can be located @ https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29618#note_2487123 Userspace implementation for IN_FORMARTS_ASYNC under review @ https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4063 Arun R Murthy (4): drm/plane: Add new plane property IN_FORMATS_ASYNC drm/i915/fb: Add async field to the modifiers description drm/i915/display: Add async_flip flag in get_modifiers drm/i915/display: Add async supported formats/modifiers drivers/gpu/drm/drm_mode_config.c | 7 ++ drivers/gpu/drm/drm_plane.c | 73 +++++++++++++++++++ drivers/gpu/drm/i915/display/i9xx_plane.c | 2 +- drivers/gpu/drm/i915/display/intel_cursor.c | 2 +- drivers/gpu/drm/i915/display/intel_fb.c | 53 ++++++++++++-- drivers/gpu/drm/i915/display/intel_fb.h | 4 +- drivers/gpu/drm/i915/display/intel_sprite.c | 2 +- .../drm/i915/display/skl_universal_plane.c | 25 ++++++- include/drm/drm_mode_config.h | 6 ++ include/drm/drm_plane.h | 10 +++ 10 files changed, 172 insertions(+), 12 deletions(-) -- 2.25.1