[Intel-gfx] [PATCH i-g-t 3/3] tools/intel_reg: Dump DP_BUFTRANS registers on ILK-IVB
ville.syrjala at linux.intel.com
ville.syrjala at linux.intel.com
Fri Aug 5 08:39:29 UTC 2016
From: Ville Syrjälä <ville.syrjala at linux.intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
---
lib/intel_reg.h | 2 ++
tools/intel_reg_decode.c | 32 ++++++++++++++++++++++++++++++++
2 files changed, 34 insertions(+)
diff --git a/lib/intel_reg.h b/lib/intel_reg.h
index 0ffa803dab8d..3a28c08c3595 100644
--- a/lib/intel_reg.h
+++ b/lib/intel_reg.h
@@ -3099,6 +3099,8 @@ typedef enum {
#define TRANSC_DP_LINK_M2 0xe2048
#define TRANSC_DP_LINK_N2 0xe204c
+#define DP_BUFTRANS(x) (0xe4f00 + 4 * (x))
+
#define TRANSACONF 0xf0008
#define TRANSBCONF 0xf1008
#define TRANSCCONF 0xf2008
diff --git a/tools/intel_reg_decode.c b/tools/intel_reg_decode.c
index 2d79290a4b58..98415fe8ae31 100644
--- a/tools/intel_reg_decode.c
+++ b/tools/intel_reg_decode.c
@@ -1540,6 +1540,26 @@ DEBUGSTRING(ironlake_debug_hdmi)
enable, disp_pipe + 'A', bpc, encoding, mode, audio, vsync, hsync, detect);
}
+DEBUGSTRING(ironlake_debug_dp_buftrans)
+{
+ static const char * const reg_names[] = {
+ "400mV, 0.0dB",
+ "400mV, 3.5dB",
+ "400mV, 6.0dB",
+ "400mV, 9.5dB",
+ "600mV, 0.0dB",
+ "600mV, 3.5dB",
+ "600mV, 6.0dB",
+ "800mV, 0.0dB",
+ "800mV, 3.5dB",
+ "1200mV, 0.0dB",
+ };
+ int idx = (reg - DP_BUFTRANS(0)) / 4;
+
+ return z_snprintf(result, len, "%s: OE=%3d, pre-emphasis=%2d, P current drive=%2d, N current drive=%2d",
+ reg_names[idx], (val >> 19) & 0x1ff, (val >> 12) & 0x1f, (val >> 6) & 0xf, val & 0xf);
+}
+
DEBUGSTRING(snb_debug_dpll_sel)
{
const char *transa, *transb;
@@ -2304,6 +2324,18 @@ static const struct reg_debug ironlake_debug_regs[] = {
DEFINEREG(PCH_DP_B),
DEFINEREG(PCH_DP_C),
DEFINEREG(PCH_DP_D),
+
+ DEFINEREG2(DP_BUFTRANS(0), ironlake_debug_dp_buftrans),
+ DEFINEREG2(DP_BUFTRANS(1), ironlake_debug_dp_buftrans),
+ DEFINEREG2(DP_BUFTRANS(2), ironlake_debug_dp_buftrans),
+ DEFINEREG2(DP_BUFTRANS(3), ironlake_debug_dp_buftrans),
+ DEFINEREG2(DP_BUFTRANS(4), ironlake_debug_dp_buftrans),
+ DEFINEREG2(DP_BUFTRANS(5), ironlake_debug_dp_buftrans),
+ DEFINEREG2(DP_BUFTRANS(6), ironlake_debug_dp_buftrans),
+ DEFINEREG2(DP_BUFTRANS(7), ironlake_debug_dp_buftrans),
+ DEFINEREG2(DP_BUFTRANS(8), ironlake_debug_dp_buftrans),
+ DEFINEREG2(DP_BUFTRANS(9), ironlake_debug_dp_buftrans),
+
DEFINEREG2(TRANS_DP_CTL_A, snb_debug_trans_dp_ctl),
DEFINEREG2(TRANS_DP_CTL_B, snb_debug_trans_dp_ctl),
DEFINEREG2(TRANS_DP_CTL_C, snb_debug_trans_dp_ctl),
--
2.7.4
More information about the Intel-gfx
mailing list