aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm2708/patches-4.14/950-0182-drm-vc4-Add-support-for-NV21-and-NV61.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-4.14/950-0182-drm-vc4-Add-support-for-NV21-and-NV61.patch')
-rw-r--r--target/linux/brcm2708/patches-4.14/950-0182-drm-vc4-Add-support-for-NV21-and-NV61.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.14/950-0182-drm-vc4-Add-support-for-NV21-and-NV61.patch b/target/linux/brcm2708/patches-4.14/950-0182-drm-vc4-Add-support-for-NV21-and-NV61.patch
new file mode 100644
index 0000000000..b14d11783e
--- /dev/null
+++ b/target/linux/brcm2708/patches-4.14/950-0182-drm-vc4-Add-support-for-NV21-and-NV61.patch
@@ -0,0 +1,41 @@
+From 4c974447d05dc0295676b2ba4554351bf77886f6 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Thu, 16 Nov 2017 14:22:31 +0000
+Subject: [PATCH 182/454] drm/vc4: Add support for NV21 and NV61.
+
+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
+(cherry picked from commit cb20dd170d6a7d41e0f347998771b0e0db183438)
+---
+ drivers/gpu/drm/vc4/vc4_plane.c | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+--- a/drivers/gpu/drm/vc4/vc4_plane.c
++++ b/drivers/gpu/drm/vc4/vc4_plane.c
+@@ -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)