intel_reg_dumper: add some 945 MI reg dumping

This commit is contained in:
Jesse Barnes 2010-06-30 02:02:49 -07:00
parent be6e1a53fc
commit b1e839d026
3 changed files with 58 additions and 1 deletions

View File

@ -96,6 +96,9 @@
devid == PCI_CHIP_E7221_G || \
devid == PCI_CHIP_I915_GM)
#define IS_945GM(devid) (devid == PCI_CHIP_I945_GM || \
devid == PCI_CHIP_I945_GME)
#define IS_945(devid) (devid == PCI_CHIP_I945_G || \
devid == PCI_CHIP_I945_GM || \
devid == PCI_CHIP_I945_GME || \

View File

@ -427,6 +427,8 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# define I830_PRIMARY_RING_1_DONE (1 << 1)
# define I830_PRIMARY_RING_0_DONE (1 << 0)
#define NOPID 0x2094
#define SCPD0 0x209c /* debug */
#define INST_PS 0x20c4
#define IPEIR_I965 0x2064 /* i965 */

View File

@ -1631,6 +1631,55 @@ static struct reg_debug ironlake_debug_regs[] = {
DEFINEREG(PCH_PP_DIVISOR),
};
static struct reg_debug i945gm_mi_regs[] = {
DEFINEREG(PGETBL_CTL),
DEFINEREG(PGTBL_ER),
DEFINEREG(EXCC),
DEFINEREG(HWS_PGA),
DEFINEREG(IPEIR),
DEFINEREG(IPEHR),
DEFINEREG(INST_DONE),
DEFINEREG(NOPID),
DEFINEREG(HWSTAM),
DEFINEREG(SCPD0),
DEFINEREG(IER),
DEFINEREG(IIR),
DEFINEREG(IMR),
DEFINEREG(ISR),
DEFINEREG(EIR),
DEFINEREG(EMR),
DEFINEREG(ESR),
DEFINEREG(INST_PM),
DEFINEREG(ECOSKPD),
};
static void
i945_dump_mi_regs(void)
{
int i;
for (i = 0; i < ARRAY_SIZE(i945gm_mi_regs); i++) {
uint32_t val = INREG(i945gm_mi_regs[i].reg);
if (i945gm_mi_regs[i].debug_output != NULL) {
char *debug = NULL;
i945gm_mi_regs[i].debug_output(&debug,
i945gm_mi_regs
[i].reg,
val);
if (debug != NULL) {
printf("%30.30s: 0x%08x (%s)\n",
i945gm_mi_regs[i].name,
(unsigned int)val, debug);
free(debug);
}
} else {
printf("%30.30s: 0x%08x\n", i945gm_mi_regs[i].name,
(unsigned int)val);
}
}
}
static void
ironlake_dump_regs(void)
{
@ -1901,7 +1950,10 @@ int main(int argc, char** argv)
intel_check_pch();
ironlake_dump_regs();
}
else
else if (IS_945GM(devid)) {
i945_dump_mi_regs();
intel_dump_regs();
} else
intel_dump_regs();
return 0;