diff options
author | Dave Airlie <airlied@redhat.com> | 2009-02-18 17:11:08 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-02-18 17:11:08 +1000 |
commit | 5923a7c7290e19f8adcea26a4ae1efd51f01aca1 (patch) | |
tree | e5b55823ee65d41e15ef1e4cad522df4fafdb98f /avivotool.c | |
parent | e414a144dd5115bbb9ab21778c49998afecd5edb (diff) |
avivotool: fix cmdfifo dumping + add some atombios tables
Diffstat (limited to 'avivotool.c')
-rw-r--r-- | avivotool.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/avivotool.c b/avivotool.c index c08c388..6439481 100644 --- a/avivotool.c +++ b/avivotool.c @@ -2015,15 +2015,19 @@ void radeon_rom_tables(const char * file) void radeon_dump_cmdfifo(void) { int i; - uint32_t val; + uint32_t val, reg; val = radeon_get(RADEON_RBBM_CMDFIFO_STAT, "rbbm_status"); - printf("cmdfifo: rptr %d wptr %d\n", val & 63, (val >> 8) ^ 63); + printf("cmdfifo: rptr %d wptr %d\n", val & 63, (val >> 8) & 63); radeon_set(RADEON_RBBM_CMDFIFO_ADDR, "rbbm", 0); - for (i = 0; i < 64; i++) { + for (i = 0; i < 256; i++) { + radeon_set(RADEON_RBBM_CMDFIFO_ADDR, "rbbm", i + 256); + reg = radeon_get(RADEON_RBBM_CMDFIFO_DATA, "rbbm"); + if (reg != 0xdeadbeaf) + reg = ((reg >> 4) << 2) & 0xffff; radeon_set(RADEON_RBBM_CMDFIFO_ADDR, "rbbm", i); val = radeon_get(RADEON_RBBM_CMDFIFO_DATA, "rbbm"); - printf("%d: %08x\n", i, val); + printf("%d: r=%04x = %08x\n", i, reg, val); } } |