]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/i915/display: Indexed 8bit format does not support async flip
authorArun R Murthy <arun.r.murthy@intel.com>
Mon, 7 Apr 2025 05:43:49 +0000 (11:13 +0530)
committerSuraj Kandpal <suraj.kandpal@intel.com>
Fri, 9 May 2025 10:00:41 +0000 (15:30 +0530)
Async flip is not supported with Indexed 8 bit format as it depends on
LUT and can't be updated atomically.

Note: This may change the alignment for C8 framebuffers on some
platforms.

Signed-off-by: Arun R Murthy <arun.r.murthy@intel.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Suraj Kandpal <suraj.kandpal@intel.com>
Link: https://lore.kernel.org/r/20250407-asyn-v13-5-b93ef83076c5@intel.com
drivers/gpu/drm/i915/display/intel_atomic_plane.c

index 3b9d3e1620cd882b8a7f9b4c96640e42367248bb..1bcfa5f4fd63442b632655ccaf325a87be78fe21 100644 (file)
@@ -177,7 +177,8 @@ bool intel_plane_needs_physical(struct intel_plane *plane)
 bool intel_plane_can_async_flip(struct intel_plane *plane, u32 format,
                                u64 modifier)
 {
-       if (intel_format_info_is_yuv_semiplanar(drm_format_info(format), modifier))
+       if (intel_format_info_is_yuv_semiplanar(drm_format_info(format), modifier) ||
+           format == DRM_FORMAT_C8)
                return false;
 
        return plane->can_async_flip && plane->can_async_flip(modifier);