aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/0043-drm-amd-display-use-rgb-full-range-as-default-quanti.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/0043-drm-amd-display-use-rgb-full-range-as-default-quanti.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/0043-drm-amd-display-use-rgb-full-range-as-default-quanti.patch159
1 files changed, 0 insertions, 159 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/0043-drm-amd-display-use-rgb-full-range-as-default-quanti.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/0043-drm-amd-display-use-rgb-full-range-as-default-quanti.patch
deleted file mode 100644
index 5616cc26..00000000
--- a/common/recipes-kernel/linux/linux-yocto-4.14.71/0043-drm-amd-display-use-rgb-full-range-as-default-quanti.patch
+++ /dev/null
@@ -1,159 +0,0 @@
-From cd2f1c5d833b4c7f43e14238dcdd3bfd4d00d53f Mon Sep 17 00:00:00 2001
-From: Wenjing Liu <Wenjing.Liu@amd.com>
-Date: Wed, 30 Nov 2016 17:57:24 -0500
-Subject: [PATCH 0043/4131] drm/amd/display: use rgb full range as default
- quantization for non HDMI
-
-Refactor the quantization decision to color module.
-Add the check if non HDMI, default quantization should be rgb full range.
-
-Signed-off-by: Wenjing Liu <Wenjing.Liu@amd.com>
-Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
-Reviewed-by: Anthony Koo <Anthony.Koo@amd.com>
-Acked-by: Harry Wentland <Harry.Wentland@amd.com>
-Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
----
- drivers/gpu/drm/amd/display/modules/color/color.c | 88 ++++++++++++++++++++--
- .../gpu/drm/amd/display/modules/inc/mod_color.h | 12 ++-
- 2 files changed, 94 insertions(+), 6 deletions(-)
-
-diff --git a/drivers/gpu/drm/amd/display/modules/color/color.c b/drivers/gpu/drm/amd/display/modules/color/color.c
-index 30d09d3..0610b82 100644
---- a/drivers/gpu/drm/amd/display/modules/color/color.c
-+++ b/drivers/gpu/drm/amd/display/modules/color/color.c
-@@ -2184,7 +2184,8 @@ bool mod_color_set_saturation(struct mod_color *mod_color,
- return true;
- }
-
--bool mod_color_set_preferred_quantization_range(struct mod_color *mod_color,
-+bool mod_color_persist_user_preferred_quantization_range(
-+ struct mod_color *mod_color,
- const struct dc_sink *sink,
- enum dc_quantization_range quantization_range)
- {
-@@ -2214,13 +2215,90 @@ bool mod_color_set_preferred_quantization_range(struct mod_color *mod_color,
-
- bool mod_color_get_preferred_quantization_range(struct mod_color *mod_color,
- const struct dc_sink *sink,
-+ const struct dc_crtc_timing *timing,
- enum dc_quantization_range *quantization_range)
- {
- struct core_color *core_color = MOD_COLOR_TO_CORE(mod_color);
-- unsigned int sink_index;
-+ unsigned int sink_index = sink_index_from_sink(core_color, sink);
-+ enum dc_quantization_range user_preferred_quantization_range =
-+ core_color->state[sink_index].
-+ preferred_quantization_range;
-+ bool rgb_full_range_supported =
-+ mod_color_is_rgb_full_range_supported_for_timing(
-+ sink, timing);
-+ bool rgb_limited_range_supported =
-+ mod_color_is_rgb_limited_range_supported_for_timing(
-+ sink, timing);
-+
-+ if (rgb_full_range_supported && rgb_limited_range_supported)
-+ *quantization_range = user_preferred_quantization_range;
-+ else if (rgb_full_range_supported && !rgb_limited_range_supported)
-+ *quantization_range = QUANTIZATION_RANGE_FULL;
-+ else if (!rgb_full_range_supported && rgb_limited_range_supported)
-+ *quantization_range = QUANTIZATION_RANGE_LIMITED;
-+ else
-+ *quantization_range = QUANTIZATION_RANGE_UNKNOWN;
-
-- sink_index = sink_index_from_sink(core_color, sink);
-- *quantization_range = core_color->state[sink_index].
-- preferred_quantization_range;
- return true;
- }
-+
-+bool mod_color_is_rgb_full_range_supported_for_timing(
-+ const struct dc_sink *sink,
-+ const struct dc_crtc_timing *timing)
-+{
-+ bool result = false;
-+
-+ if (!sink || !timing)
-+ return result;
-+
-+ if (sink->sink_signal == SIGNAL_TYPE_HDMI_TYPE_A)
-+ if (timing->vic || timing->hdmi_vic)
-+ if (timing->h_addressable == 640 &&
-+ timing->v_addressable == 480 &&
-+ (timing->pix_clk_khz == 25200 ||
-+ timing->pix_clk_khz == 25170 ||
-+ timing->pix_clk_khz == 25175))
-+ result = true;
-+ else
-+ /* don't support full range rgb */
-+ /* for HDMI CEA861 timings except VGA mode */
-+ result = false;
-+ else
-+ result = true;
-+ else
-+ result = true;
-+
-+ return result;
-+}
-+
-+bool mod_color_is_rgb_limited_range_supported_for_timing(
-+ const struct dc_sink *sink,
-+ const struct dc_crtc_timing *timing)
-+{
-+ bool result = false;
-+
-+ if (!sink || !timing)
-+ return result;
-+
-+ if (sink->sink_signal == SIGNAL_TYPE_HDMI_TYPE_A)
-+ if (timing->vic || timing->hdmi_vic)
-+ if (timing->h_addressable == 640 &&
-+ timing->v_addressable == 480 &&
-+ (timing->pix_clk_khz == 25200 ||
-+ timing->pix_clk_khz == 25170 ||
-+ timing->pix_clk_khz == 25175))
-+ /* don't support rgb limited for */
-+ /* HDMI CEA VGA mode */
-+ result = false;
-+ else
-+ /* support rgb limited for non VGA CEA timing */
-+ result = true;
-+ else
-+ /* support rgb limited for non CEA HDMI timing */
-+ result = true;
-+ else
-+ /* don't support rgb limited for non HDMI signal */
-+ result = false;
-+
-+ return result;
-+}
-diff --git a/drivers/gpu/drm/amd/display/modules/inc/mod_color.h b/drivers/gpu/drm/amd/display/modules/inc/mod_color.h
-index e54fe2c..91abc17 100644
---- a/drivers/gpu/drm/amd/display/modules/inc/mod_color.h
-+++ b/drivers/gpu/drm/amd/display/modules/inc/mod_color.h
-@@ -168,12 +168,22 @@ bool mod_color_set_saturation(struct mod_color *mod_color,
- const struct dc_stream **streams, int num_streams,
- int saturation_value);
-
--bool mod_color_set_preferred_quantization_range(struct mod_color *mod_color,
-+bool mod_color_persist_user_preferred_quantization_range(
-+ struct mod_color *mod_color,
- const struct dc_sink *sink,
- enum dc_quantization_range quantization_range);
-
- bool mod_color_get_preferred_quantization_range(struct mod_color *mod_color,
- const struct dc_sink *sink,
-+ const struct dc_crtc_timing *timing,
- enum dc_quantization_range *quantization_range);
-
-+bool mod_color_is_rgb_full_range_supported_for_timing(
-+ const struct dc_sink *sink,
-+ const struct dc_crtc_timing *timing);
-+
-+bool mod_color_is_rgb_limited_range_supported_for_timing(
-+ const struct dc_sink *sink,
-+ const struct dc_crtc_timing *timing);
-+
- #endif /* MOD_COLOR_H_ */
---
-2.7.4
-