drm/plane: Add new plane property IN_FORMATS_ASYNC
authorArun R Murthy <arun.r.murthy@intel.com>
Mon, 7 Apr 2025 05:43:45 +0000 (11:13 +0530)
committerSuraj Kandpal <suraj.kandpal@intel.com>
Fri, 9 May 2025 09:59:40 +0000 (15:29 +0530)
commit9cd5cc9da7ff650f1e9818dbfd54232c00ec47ed
tree38a172d2801d6cc252de0d5c5654ef1c101c271e
parent91bdccf579817f9a899fd3df90361276951edf33
drm/plane: Add new plane property IN_FORMATS_ASYNC

There exists a property IN_FORMATS which exposes the plane supported
modifiers/formats to the user. In some platforms when asynchronous flip
are used all of modifiers/formats mentioned in IN_FORMATS are not
supported. This patch adds a new plane property IN_FORMATS_ASYNC to
expose the async flip supported modifiers/formats so that user can use
this information ahead and do flip with unsupported
formats/modifiers. This will save flip failures.
Add a new function pointer similar to format_mod_supported specifically
for asynchronous flip.

v2: Remove async variable from drm_plane (Ville)
v3: Add new function pointer for async (Ville)
v5: Typo corrected in commit message & some correction in the kernel
documentation. (Chaitanya)
v7: Place IN_FORMATS_ASYNC next to IN_FORMATS (Ville)
v8: replace uint32_t with u32 and uint64_t with u64 (Chaitanya)

Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
Acked-by: Xaver Hugl <xaver.hugl@kde.org>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Reviewed-by: Chaitanya Kumar Borah <chaitanya.kumar.borah@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Tested-by: Naveen Kumar <naveen1.kumar@intel.com>
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
Link: https://lore.kernel.org/r/20250407-asyn-v13-1-b93ef83076c5@intel.com
drivers/gpu/drm/drm_mode_config.c
drivers/gpu/drm/drm_plane.c
include/drm/drm_mode_config.h
include/drm/drm_plane.h