diff options
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/4550-drm-amd-display-DP-YCbCr-4-2-0-support.patch')
-rw-r--r-- | common/recipes-kernel/linux/linux-yocto-4.14.71/4550-drm-amd-display-DP-YCbCr-4-2-0-support.patch | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/4550-drm-amd-display-DP-YCbCr-4-2-0-support.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/4550-drm-amd-display-DP-YCbCr-4-2-0-support.patch new file mode 100644 index 00000000..2e18f266 --- /dev/null +++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/4550-drm-amd-display-DP-YCbCr-4-2-0-support.patch @@ -0,0 +1,52 @@ +From 3bf530f45e3d0284113006927a2289815cd0ca82 Mon Sep 17 00:00:00 2001 +From: Eric Bernstein <eric.bernstein@amd.com> +Date: Mon, 14 May 2018 17:01:00 -0400 +Subject: [PATCH 4550/5725] drm/amd/display: DP YCbCr 4:2:0 support + +Update MSA MISC1 bit 6 programming to handle YCbCr 4:2:0 +and BT2020 cases. + +Signed-off-by: Eric Bernstein <eric.bernstein@amd.com> +Reviewed-by: Hersen Wu <hersenxs.wu@amd.com> +Acked-by: Harry Wentland <harry.wentland@amd.com> +--- + .../gpu/drm/amd/display/dc/dcn10/dcn10_stream_encoder.c | 14 ++++++++++++-- + 1 file changed, 12 insertions(+), 2 deletions(-) + +diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_stream_encoder.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_stream_encoder.c +index c928ee4..147f614 100644 +--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_stream_encoder.c ++++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_stream_encoder.c +@@ -298,9 +298,20 @@ void enc1_stream_encoder_dp_set_stream_attribute( + } + + misc1 = REG_READ(DP_MSA_MISC); ++ /* For YCbCr420 and BT2020 Colorimetry Formats, VSC SDP shall be used. ++ * When MISC1, bit 6, is Set to 1, a Source device uses a VSC SDP to indicate the ++ * Pixel Encoding/Colorimetry Format and that a Sink device shall ignore MISC1, bit 7, ++ * and MISC0, bits 7:1 (MISC1, bit 7, and MISC0, bits 7:1, become “don’t care”). ++ */ ++ if ((crtc_timing->pixel_encoding == PIXEL_ENCODING_YCBCR420) || ++ (output_color_space == COLOR_SPACE_2020_YCBCR) || ++ (output_color_space == COLOR_SPACE_2020_RGB_FULLRANGE) || ++ (output_color_space == COLOR_SPACE_2020_RGB_LIMITEDRANGE)) ++ misc1 = misc1 | 0x40; ++ else ++ misc1 = misc1 & ~0x40; + + /* set color depth */ +- + switch (crtc_timing->display_color_depth) { + case COLOR_DEPTH_666: + REG_UPDATE(DP_PIXEL_FORMAT, DP_COMPONENT_DEPTH, +@@ -354,7 +365,6 @@ void enc1_stream_encoder_dp_set_stream_attribute( + + switch (output_color_space) { + case COLOR_SPACE_SRGB: +- misc0 = misc0 | 0x0; + misc1 = misc1 & ~0x80; /* bit7 = 0*/ + dynamic_range_rgb = 0; /*full range*/ + break; +-- +2.7.4 + |