diff options
Diffstat (limited to 'target/linux/brcm2708/patches-4.4/0513-drm-vc4-Fix-up-the-limited-range-RGB-output-commit.patch')
-rw-r--r-- | target/linux/brcm2708/patches-4.4/0513-drm-vc4-Fix-up-the-limited-range-RGB-output-commit.patch | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.4/0513-drm-vc4-Fix-up-the-limited-range-RGB-output-commit.patch b/target/linux/brcm2708/patches-4.4/0513-drm-vc4-Fix-up-the-limited-range-RGB-output-commit.patch new file mode 100644 index 0000000000..09781b1ecd --- /dev/null +++ b/target/linux/brcm2708/patches-4.4/0513-drm-vc4-Fix-up-the-limited-range-RGB-output-commit.patch @@ -0,0 +1,29 @@ +From b66013edab6e2149beb55eb1021926fd7ea26da7 Mon Sep 17 00:00:00 2001 +From: Eric Anholt <eric@anholt.net> +Date: Thu, 15 Sep 2016 17:52:17 +0100 +Subject: [PATCH] drm/vc4: Fix up the limited range RGB output commit. + +CEA mode #1 is the only one that doesn't do limited range, thus the +strange pattern in other drivers. + +Signed-off-by: Eric Anholt <eric@anholt.net> +--- + drivers/gpu/drm/vc4/vc4_hdmi.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +--- a/drivers/gpu/drm/vc4/vc4_hdmi.c ++++ b/drivers/gpu/drm/vc4/vc4_hdmi.c +@@ -343,8 +343,11 @@ static void vc4_hdmi_encoder_mode_set(st + csc_ctl = VC4_SET_FIELD(VC4_HD_CSC_CTL_ORDER_BGR, + VC4_HD_CSC_CTL_ORDER); + +- if (vc4_encoder->hdmi_monitor && drm_match_cea_mode(mode) != 0) { +- /* Enable limited range RGB output. This matrix is: ++ if (vc4_encoder->hdmi_monitor && drm_match_cea_mode(mode) > 1) { ++ /* CEA VICs other than #1 requre limited range RGB ++ * output. Apply a colorspace conversion to squash ++ * 0-255 down to 16-235. The matrix here is: ++ * + * [ 0 0 0.8594 16] + * [ 0 0.8594 0 16] + * [ 0.8594 0 0 16] |