aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/linux-yocto-4.14.71/5353-drm-amd-display-Add-driver-side-parsing-for-CM.patch
diff options
context:
space:
mode:
Diffstat (limited to 'common/recipes-kernel/linux/linux-yocto-4.14.71/5353-drm-amd-display-Add-driver-side-parsing-for-CM.patch')
-rw-r--r--common/recipes-kernel/linux/linux-yocto-4.14.71/5353-drm-amd-display-Add-driver-side-parsing-for-CM.patch68
1 files changed, 68 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/linux-yocto-4.14.71/5353-drm-amd-display-Add-driver-side-parsing-for-CM.patch b/common/recipes-kernel/linux/linux-yocto-4.14.71/5353-drm-amd-display-Add-driver-side-parsing-for-CM.patch
new file mode 100644
index 00000000..7b90a33e
--- /dev/null
+++ b/common/recipes-kernel/linux/linux-yocto-4.14.71/5353-drm-amd-display-Add-driver-side-parsing-for-CM.patch
@@ -0,0 +1,68 @@
+From b9108f310126578eea2a83df78efa52b96b47751 Mon Sep 17 00:00:00 2001
+From: Jun Lei <Jun.Lei@amd.com>
+Date: Mon, 13 Aug 2018 15:11:44 -0400
+Subject: [PATCH 5353/5725] drm/amd/display: Add driver-side parsing for CM
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Although 4 unique register values exist for gamma modes, two are
+actually the same (the two RAMs) It’s not possible for caller to
+understand this HW specific behavior, so some parsing is necessary
+in driver
+
+Change-Id: I073e0f67aed5c9bc8760e89d7755e6399b3687e2
+Signed-off-by: Jun Lei <Jun.Lei@amd.com>
+Reviewed-by: Wesley Chalmers <Wesley.Chalmers@amd.com>
+Acked-by: Bhawanpreet Lakha <Bhawanpreet.Lakha@amd.com>
+---
+ .../display/dc/dcn10/dcn10_hw_sequencer_debug.c | 29 +++++++++++++++++++---
+ 1 file changed, 25 insertions(+), 4 deletions(-)
+
+diff --git a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer_debug.c b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer_debug.c
+index 9288b00..9c21825 100644
+--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer_debug.c
++++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer_debug.c
+@@ -314,14 +314,35 @@ static unsigned int dcn10_get_cm_states(struct dc *dc, char *pBuf, unsigned int
+ struct dpp *dpp = pool->dpps[i];
+ struct dcn_dpp_state s = {0};
+
++
++
++
+ dpp->funcs->dpp_read_state(dpp, &s);
+
+ if (s.is_enabled) {
+- chars_printed = snprintf_count(pBuf, remaining_buffer, "%x,%x,%x,%x,%x,%x,"
+- "%08x,%08x,%08x,%08x,%08x,%08x"
++ chars_printed = snprintf_count(pBuf, remaining_buffer, "%x,%x,"
++ "%s,%s,%s,"
++ "%x,%08x,%08x,%08x,%08x,%08x,%08x"
+ "\n",
+- dpp->inst, s.igam_input_format, s.igam_lut_mode, s.dgam_lut_mode,
+- s.rgam_lut_mode, s.gamut_remap_mode, s.gamut_remap_c11_c12,
++ dpp->inst, s.igam_input_format,
++ (s.igam_lut_mode == 0) ? "BypassFixed" :
++ ((s.igam_lut_mode == 1) ? "BypassFloat" :
++ ((s.igam_lut_mode == 2) ? "RAM" :
++ ((s.igam_lut_mode == 3) ? "RAM" :
++ "Unknown"))),
++ (s.dgam_lut_mode == 0) ? "Bypass" :
++ ((s.dgam_lut_mode == 1) ? "sRGB" :
++ ((s.dgam_lut_mode == 2) ? "Ycc" :
++ ((s.dgam_lut_mode == 3) ? "RAM" :
++ ((s.dgam_lut_mode == 4) ? "RAM" :
++ "Unknown")))),
++ (s.rgam_lut_mode == 0) ? "Bypass" :
++ ((s.rgam_lut_mode == 1) ? "sRGB" :
++ ((s.rgam_lut_mode == 2) ? "Ycc" :
++ ((s.rgam_lut_mode == 3) ? "RAM" :
++ ((s.rgam_lut_mode == 4) ? "RAM" :
++ "Unknown")))),
++ s.gamut_remap_mode, s.gamut_remap_c11_c12,
+ s.gamut_remap_c13_c14, s.gamut_remap_c21_c22, s.gamut_remap_c23_c24,
+ s.gamut_remap_c31_c32, s.gamut_remap_c33_c34);
+
+--
+2.7.4
+