OSDN Git Service

drm/amd/display: Enable BT2020 in COLOR_ENCODING property
authorStylon Wang <stylon.wang@amd.com>
Fri, 13 Mar 2020 14:21:38 +0000 (10:21 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 31 Mar 2020 16:26:15 +0000 (12:26 -0400)
[Why]
BT2020 is not supported in COLOR_ENCODING property of planes.  Only
BT601 and BT709 was available.

[How]
Allow BT2020 as legit value in setting COLOR_ENCODING property.

Signed-off-by: Stylon Wang <stylon.wang@amd.com>
Reviewed-by: Nicholas Kazlauskas <Nicholas.Kazlauskas@amd.com>
Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c

index ad14c1a..bab587a 100644 (file)
@@ -5592,12 +5592,15 @@ static int amdgpu_dm_plane_init(struct amdgpu_display_manager *dm,
        }
 
        if (plane->type == DRM_PLANE_TYPE_PRIMARY &&
-           plane_cap && plane_cap->pixel_format_support.nv12) {
+           plane_cap &&
+           (plane_cap->pixel_format_support.nv12 ||
+            plane_cap->pixel_format_support.p010)) {
                /* 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_BT709) |
+                       BIT(DRM_COLOR_YCBCR_BT2020),
                        BIT(DRM_COLOR_YCBCR_LIMITED_RANGE) |
                        BIT(DRM_COLOR_YCBCR_FULL_RANGE),
                        DRM_COLOR_YCBCR_BT709, DRM_COLOR_YCBCR_LIMITED_RANGE);