Message ID | 20250328-asyn-v11-5-a50d13bfea0d@intel.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Expose modifiers/formats supported by async flips | expand |
On Fri, Mar 28, 2025 at 09:26:24PM +0530, Arun R Murthy wrote: > Async flip is not supported with Indexed 8 bit format as it depends on > LUT and can't be updated atomically. We should again highlight that 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> > --- > drivers/gpu/drm/i915/display/intel_atomic_plane.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_atomic_plane.c b/drivers/gpu/drm/i915/display/intel_atomic_plane.c > index 3b9d3e1620cd882b8a7f9b4c96640e42367248bb..1bcfa5f4fd63442b632655ccaf325a87be78fe21 100644 > --- a/drivers/gpu/drm/i915/display/intel_atomic_plane.c > +++ b/drivers/gpu/drm/i915/display/intel_atomic_plane.c > @@ -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); > > -- > 2.25.1
diff --git a/drivers/gpu/drm/i915/display/intel_atomic_plane.c b/drivers/gpu/drm/i915/display/intel_atomic_plane.c index 3b9d3e1620cd882b8a7f9b4c96640e42367248bb..1bcfa5f4fd63442b632655ccaf325a87be78fe21 100644 --- a/drivers/gpu/drm/i915/display/intel_atomic_plane.c +++ b/drivers/gpu/drm/i915/display/intel_atomic_plane.c @@ -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);