bcm27xx: update patches from RPi foundation
[openwrt/staging/luka.git] / target / linux / bcm27xx / patches-5.4 / 950-0473-drm-vc4-Add-DRM_FORMAT_P030-support-to-firmware-kms.patch
diff --git a/target/linux/bcm27xx/patches-5.4/950-0473-drm-vc4-Add-DRM_FORMAT_P030-support-to-firmware-kms.patch b/target/linux/bcm27xx/patches-5.4/950-0473-drm-vc4-Add-DRM_FORMAT_P030-support-to-firmware-kms.patch
deleted file mode 100644 (file)
index f6264ff..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-From 531d3d5c89825bade52f4257d264bbb06775a6fa Mon Sep 17 00:00:00 2001
-From: Dave Stevenson <dave.stevenson@raspberrypi.com>
-Date: Fri, 24 Jan 2020 14:24:33 +0000
-Subject: [PATCH] drm/vc4: Add DRM_FORMAT_P030 support to firmware-kms
-
-Adds support for this format which is 3 10bit samples packed into
-4 bytes, as used by the HEVC codec block.
-
-Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
----
- drivers/gpu/drm/vc4/vc4_firmware_kms.c | 21 ++++++++++++++++++++-
- drivers/gpu/drm/vc4/vc_image_types.h   |  4 ++++
- 2 files changed, 24 insertions(+), 1 deletion(-)
-
---- a/drivers/gpu/drm/vc4/vc4_firmware_kms.c
-+++ b/drivers/gpu/drm/vc4/vc4_firmware_kms.c
-@@ -216,6 +216,10 @@ static const struct vc_image_format {
-               .vc_image = VC_IMAGE_YUV420SP,
-               .is_vu = 1,
-       },
-+      {
-+              .drm = DRM_FORMAT_P030,
-+              .vc_image = VC_IMAGE_YUV10COL,
-+      },
- };
- static const struct vc_image_format *vc4_get_vc_image_fmt(u32 drm_format)
-@@ -622,7 +626,15 @@ static int vc4_plane_to_mb(struct drm_pl
-               }
-               break;
-       case DRM_FORMAT_MOD_BROADCOM_SAND128:
--              mb->plane.vc_image_type = VC_IMAGE_YUV_UV;
-+              switch (mb->plane.vc_image_type) {
-+              case VC_IMAGE_YUV420SP:
-+                      mb->plane.vc_image_type = VC_IMAGE_YUV_UV;
-+                      break;
-+              /* VC_IMAGE_YUV10COL could be included in here, but it is only
-+               * valid as a SAND128 format, so the table at the top will have
-+               * already set the correct format.
-+               */
-+              }
-               /* Note that the column pitch is passed across in lines, not
-                * bytes.
-                */
-@@ -707,6 +719,13 @@ static bool vc4_fkms_format_mod_supporte
-               case DRM_FORMAT_MOD_BROADCOM_SAND128:
-                       return true;
-               default:
-+                      return false;
-+              }
-+      case DRM_FORMAT_P030:
-+              switch (fourcc_mod_broadcom_mod(modifier)) {
-+              case DRM_FORMAT_MOD_BROADCOM_SAND128:
-+                      return true;
-+              default:
-                       return false;
-               }
-       case DRM_FORMAT_NV21:
---- a/drivers/gpu/drm/vc4/vc_image_types.h
-+++ b/drivers/gpu/drm/vc4/vc_image_types.h
-@@ -139,6 +139,10 @@ enum {
-       VC_IMAGE_YUV_UV_16,
-       /* YUV4:2:0 with U,V in side-by-side format */
-       VC_IMAGE_YUV420_S,
-+      /* 10-bit YUV 420 column image format */
-+      VC_IMAGE_YUV10COL,
-+      /* 32-bpp, 10-bit R/G/B, 2-bit Alpha */
-+      VC_IMAGE_RGBA1010102,
-       VC_IMAGE_MAX,     /* bounds for error checking */
-       VC_IMAGE_FORCE_ENUM_16BIT = 0xffff,