summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAhung Cheng <ahcheng@nvidia.com>2020-01-14 04:59:43 -0500
committermobile promotions <svcmobile_promotions@nvidia.com>2020-04-10 08:09:27 -0400
commitb79a6a548c1eb4f8d66fcc7977c7ce33b6dfed9b (patch)
treea0eb4c93adee45890ec74edff600d6c28dd456fc
parent570a65547e8e2d457ea11f16a582133763efe07d (diff)
drivers: video: tegra: fix AVI RGB quantization
The HDMI 2.0 Specification (section 7.3) recommends that the AVI Q field is always set to either Limited or Full regardless of the EDID QS bit. Remove the default value (Q=0) as well as the checking for QS bit. Bug 2805930 Change-Id: Id757e546583336c8dd48aca169a5e1feca864563 Signed-off-by: Ahung Cheng <ahcheng@nvidia.com> (cherry picked from commit f64c72c28c31f671199feb429e7770c177b48058) Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2318701 Reviewed-by: automaticguardword <automaticguardword@nvidia.com> Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Prafull Suryawanshi <prafulls@nvidia.com> Reviewed-by: Naveen Kumar S <nkumars@nvidia.com> Reviewed-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: Ujwal Patel <ujwalp@nvidia.com> Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com> Tested-by: mobile promotions <svcmobile_promotions@nvidia.com> GVS: Gerrit_Virtual_Submit
-rw-r--r--drivers/video/tegra/dc/hdmi2.0.c13
1 files changed, 3 insertions, 10 deletions
diff --git a/drivers/video/tegra/dc/hdmi2.0.c b/drivers/video/tegra/dc/hdmi2.0.c
index 5863e5996..dc7be64c0 100644
--- a/drivers/video/tegra/dc/hdmi2.0.c
+++ b/drivers/video/tegra/dc/hdmi2.0.c
@@ -1,7 +1,7 @@
1/* 1/*
2 * hdmi2.0.c: hdmi2.0 driver. 2 * hdmi2.0.c: hdmi2.0 driver.
3 * 3 *
4 * Copyright (c) 2014-2019, NVIDIA CORPORATION, All rights reserved. 4 * Copyright (c) 2014-2020, NVIDIA CORPORATION, All rights reserved.
5 * Author: Animesh Kishore <ankishore@nvidia.com> 5 * Author: Animesh Kishore <ankishore@nvidia.com>
6 * 6 *
7 * This software is licensed under the terms of the GNU General Public 7 * This software is licensed under the terms of the GNU General Public
@@ -2070,7 +2070,6 @@ static u32 tegra_hdmi_get_ex_colorimetry(struct tegra_hdmi *hdmi)
2070static u32 tegra_hdmi_get_rgb_quant(struct tegra_hdmi *hdmi) 2070static u32 tegra_hdmi_get_rgb_quant(struct tegra_hdmi *hdmi)
2071{ 2071{
2072 u32 vmode = hdmi->dc->mode.vmode; 2072 u32 vmode = hdmi->dc->mode.vmode;
2073 u32 hdmi_quant = HDMI_AVI_RGB_QUANT_DEFAULT;
2074 2073
2075 /* 2074 /*
2076 * For seamless HDMI, read Q0/Q1 from bootloader 2075 * For seamless HDMI, read Q0/Q1 from bootloader
@@ -2095,14 +2094,8 @@ static u32 tegra_hdmi_get_rgb_quant(struct tegra_hdmi *hdmi)
2095 } 2094 }
2096 } 2095 }
2097 2096
2098 dev_info(&hdmi->dc->ndev->dev, "hdmi: get RGB quant from EDID.\n"); 2097 return (vmode & FB_VMODE_LIMITED_RANGE) ? HDMI_AVI_RGB_QUANT_LIMITED :
2099 if (tegra_edid_is_rgb_quantization_selectable(hdmi->edid)) { 2098 HDMI_AVI_RGB_QUANT_FULL;
2100 if (vmode & FB_VMODE_LIMITED_RANGE)
2101 hdmi_quant = HDMI_AVI_RGB_QUANT_LIMITED;
2102 else
2103 hdmi_quant = HDMI_AVI_RGB_QUANT_FULL;
2104 }
2105 return hdmi_quant;
2106} 2099}
2107 2100
2108static u32 tegra_hdmi_get_ycc_quant(struct tegra_hdmi *hdmi) 2101static u32 tegra_hdmi_get_ycc_quant(struct tegra_hdmi *hdmi)