drm/sun4i: backend: Use explicit fourcc helpers for packed YUV422 check
authorPaul Kocialkowski <paul.kocialkowski@bootlin.com>
Fri, 18 Jan 2019 14:51:13 +0000 (15:51 +0100)
committerMaxime Ripard <maxime.ripard@bootlin.com>
Fri, 18 Jan 2019 18:00:29 +0000 (19:00 +0100)
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.kocialkowski@bootlin.com>
Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190118145133.21281-4-paul.kocialkowski@bootlin.com
drivers/gpu/drm/sun4i/sun4i_backend.c

index 9e9255ee59cd83138f5572f0d31df50aec9cc244..bbadc2ab9f4d453c0ef0fdaac235480300d8da62 100644 (file)
@@ -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);