drm/vc4: Add support for NV21 and NV61.
authorDave Stevenson <dave.stevenson@raspberrypi.org>
Thu, 16 Nov 2017 14:22:31 +0000 (14:22 +0000)
committerEric Anholt <eric@anholt.net>
Mon, 20 Nov 2017 23:19:56 +0000 (15:19 -0800)
NV12 (YUV420 2 plane) and NV16 (YUV422 2 plane) were
supported, but NV21 and NV61 (same but with Cb and Cr
swapped) weren't. Add them.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Eric Anholt <eric@anholt.net>
Link: https://patchwork.freedesktop.org/patch/msgid/1f50799525e3401551dff2b0b2828b9ab892f75f.1510841336.git.dave.stevenson@raspberrypi.org
drivers/gpu/drm/vc4/vc4_plane.c

index 6373fd5..515f979 100644 (file)
@@ -153,10 +153,20 @@ static const struct hvs_format {
                .pixel_order = HVS_PIXEL_ORDER_XYCBCR,
        },
        {
+               .drm = DRM_FORMAT_NV21,
+               .hvs = HVS_PIXEL_FORMAT_YCBCR_YUV420_2PLANE,
+               .pixel_order = HVS_PIXEL_ORDER_XYCRCB,
+       },
+       {
                .drm = DRM_FORMAT_NV16,
                .hvs = HVS_PIXEL_FORMAT_YCBCR_YUV422_2PLANE,
                .pixel_order = HVS_PIXEL_ORDER_XYCBCR,
        },
+       {
+               .drm = DRM_FORMAT_NV61,
+               .hvs = HVS_PIXEL_FORMAT_YCBCR_YUV422_2PLANE,
+               .pixel_order = HVS_PIXEL_ORDER_XYCRCB,
+       },
 };
 
 static const struct hvs_format *vc4_get_hvs_format(u32 drm_format)