Checking for the number of planes is not sufficient to en ensure that
the format is a packed YUV422.

Use explicit fourcc helpers for the check instead.

Signed-off-by: Paul Kocialkowski <paul.kocialkow...@bootlin.com>
Acked-by: Maxime Ripard <maxime.rip...@bootlin.com>
---
 drivers/gpu/drm/sun4i/sun4i_backend.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/sun4i/sun4i_backend.c 
b/drivers/gpu/drm/sun4i/sun4i_backend.c
index 9e9255ee59cd..bbadc2ab9f4d 100644
--- a/drivers/gpu/drm/sun4i/sun4i_backend.c
+++ b/drivers/gpu/drm/sun4i/sun4i_backend.c
@@ -245,7 +245,8 @@ static int sun4i_backend_update_yuv_format(struct 
sun4i_backend *backend,
                           SUN4I_BACKEND_ATTCTL_REG0_LAY_YUVEN);
 
        /* TODO: Add support for the multi-planar YUV formats */
-       if (format->num_planes == 1)
+       if (drm_format_info_is_yuv_packed(format) &&
+           drm_format_info_is_yuv_sampling_422(format))
                val |= SUN4I_BACKEND_IYUVCTL_FBFMT_PACKED_YUV422;
        else
                DRM_DEBUG_DRIVER("Unsupported YUV format (0x%x)\n", fmt);
-- 
2.19.2

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to