From 1649ab350f60b664a51fc4a7fd9c225bb72eb0a8 Mon Sep 17 00:00:00 2001 From: Eugeni Dodonov Date: Tue, 25 Oct 2011 14:40:12 -0200 Subject: [PATCH] tools/intel_reg_dumper: Add support for debug register Right now, we only check for hardware DRRS support. But much more can be done with it. Some day. Signed-off-by: Eugeni Dodonov --- lib/intel_reg.h | 8 ++++++++ tools/intel_reg_dumper.c | 20 ++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/lib/intel_reg.h b/lib/intel_reg.h index 3797de6..933a83a 100644 --- a/lib/intel_reg.h +++ b/lib/intel_reg.h @@ -3494,4 +3494,12 @@ typedef enum { #define GEN6_TD_CTL 0x7000 /* <= GEN5 was at 0x8000 */ #define GEN6_TD_CTL_FORCE_TD_BKPT (1<<4) +/* Port debugging + */ + +#define PORT_DBG 0x42308 +#define PORT_DBG_DRRS_HW_STATE_OFF (0<<30) +#define PORT_DBG_DRRS_HW_STATE_LOW (1<<30) +#define PORT_DBG_DRRS_HW_STATE_HIGH (2<<30) + #endif /* _I810_REG_H */ diff --git a/tools/intel_reg_dumper.c b/tools/intel_reg_dumper.c index 021e4cc..c167813 100644 --- a/tools/intel_reg_dumper.c +++ b/tools/intel_reg_dumper.c @@ -255,6 +255,24 @@ DEBUGSTRING(i830_debug_pipestat) _OREG_UPDATE_STATUS); } +DEBUGSTRING(ivb_debug_port) +{ + char *drrs; + switch (val & (2 << 30)) { + case PORT_DBG_DRRS_HW_STATE_OFF: + drrs = "off"; + break; + case PORT_DBG_DRRS_HW_STATE_LOW: + drrs = "low"; + break; + case PORT_DBG_DRRS_HW_STATE_HIGH: + drrs = "high"; + break; + } + snprintf(result, len, "HW DRRS %s", + drrs); +} + DEBUGSTRING(i830_debug_hvtotal) { snprintf(result, len, "%d active, %d total", @@ -1674,6 +1692,8 @@ static struct reg_debug ironlake_debug_regs[] = { DEFINEREG(PCH_PP_ON_DELAYS), DEFINEREG(PCH_PP_OFF_DELAYS), DEFINEREG(PCH_PP_DIVISOR), + + DEFINEREG2(PORT_DBG, ivb_debug_port), }; static struct reg_debug i945gm_mi_regs[] = { -- 2.7.4