aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.19.8/1771-drm-amd-display-Add-DRM-color-properties-for-primary.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.19.8/1771-drm-amd-display-Add-DRM-color-properties-for-primary.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.19.8/1771-drm-amd-display-Add-DRM-color-properties-for-primary.patch47
1 files changed, 47 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.19.8/1771-drm-amd-display-Add-DRM-color-properties-for-primary.patch b/common/recipes-kernel/linux/linux-yocto-4.19.8/1771-drm-amd-display-Add-DRM-color-properties-for-primary.patch
new file mode 100644
index 00000000..c5b6fb87
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.19.8/1771-drm-amd-display-Add-DRM-color-properties-for-primary.patch
@@ -0,0 +1,47 @@
+From a222ed16a1418941e1409c01c11c383aea9002de Mon Sep 17 00:00:00 2001
+From: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
+Date: Fri, 15 Mar 2019 15:55:43 -0400
+Subject: [PATCH 1771/2940] drm/amd/display: Add DRM color properties for
+ primary planes
+
+[Why]
+We need DC's color space to match the color encoding and color space
+specified by userspace to correctly render YUV surfaces.
+
+[How]
+Add the DRM color properties when the DC plane supports NV12.
+
+Change-Id: Ie3eb9800a9a7954d05f691b277e7ca5a25164d5d
+Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
+Reviewed-by: Sun peng Li <Sunpeng.Li@amd.com>
+Acked-by: Bhawanpreet Lakha <Bhawanpreet Lakha@amd.com>
+---
+ drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 12 ++++++++++++
+ 1 file changed, 12 insertions(+)
+
+diff --git a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+index f0d17628213e..d5654efa2f66 100644
+--- a/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
++++ b/drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c
+@@ -4309,6 +4309,18 @@ static int amdgpu_dm_plane_init(struct amdgpu_display_manager *dm,
+ drm_plane_create_blend_mode_property(plane, blend_caps);
+ }
+
++ if (plane->type == DRM_PLANE_TYPE_PRIMARY &&
++ plane_cap && plane_cap->supports_nv12) {
++ /* This only affects YUV formats. */
++ drm_plane_create_color_properties(
++ plane,
++ BIT(DRM_COLOR_YCBCR_BT601) |
++ BIT(DRM_COLOR_YCBCR_BT709),
++ BIT(DRM_COLOR_YCBCR_LIMITED_RANGE) |
++ BIT(DRM_COLOR_YCBCR_FULL_RANGE),
++ DRM_COLOR_YCBCR_BT709, DRM_COLOR_YCBCR_LIMITED_RANGE);
++ }
++
+ drm_plane_helper_add(plane, &dm_plane_helper_funcs);
+
+ /* Create (reset) the plane state */
+--
+2.17.1
+