drm/amd/display: Add driver-side parsing for CM
authorJun Lei <Jun.Lei@amd.com>
Mon, 13 Aug 2018 19:11:44 +0000 (15:11 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 11 Sep 2018 03:42:32 +0000 (22:42 -0500)
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

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>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dc/dcn10/dcn10_hw_sequencer_debug.c

index 9288b00e49b40c37ad6227e43e0988f7b82200ad..9c218252004fa1674b4f37308cae50bc533588a6 100644 (file)
@@ -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);