diff options
| author | Ahung Cheng <ahcheng@nvidia.com> | 2020-01-14 04:59:43 -0500 |
|---|---|---|
| committer | mobile promotions <svcmobile_promotions@nvidia.com> | 2020-04-10 08:09:27 -0400 |
| commit | b79a6a548c1eb4f8d66fcc7977c7ce33b6dfed9b (patch) | |
| tree | a0eb4c93adee45890ec74edff600d6c28dd456fc | |
| parent | 570a65547e8e2d457ea11f16a582133763efe07d (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.c | 13 |
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) | |||
| 2070 | static u32 tegra_hdmi_get_rgb_quant(struct tegra_hdmi *hdmi) | 2070 | static 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 | ||
| 2108 | static u32 tegra_hdmi_get_ycc_quant(struct tegra_hdmi *hdmi) | 2101 | static u32 tegra_hdmi_get_ycc_quant(struct tegra_hdmi *hdmi) |
