summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2013-08-01 18:10:40 +0200
committerDave Airlie <airlied@redhat.com>2013-08-02 09:20:13 +1000
commit4a51fff654b46a67a1cf4530471b55164c07d4dc (patch)
treec1929152c35e286f2492139de619a9681e09288b
parentacfd307f76ea2933ee855c60dc1621fbefcf9cdb (diff)
avivotool: dump audio engine registers on DCE6
Tested on HD7750. Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--avivotool.c7
-rw-r--r--radeon_reg.h4
2 files changed, 11 insertions, 0 deletions
diff --git a/avivotool.c b/avivotool.c
index 2651576..4c5c1ce 100644
--- a/avivotool.c
+++ b/avivotool.c
@@ -1107,6 +1107,13 @@ void eg_cmd_regs(const char *type)
SHOW_REG(EVERGREEN_AUDIO_RATE_BPS_CHANNEL);
SHOW_REG(EVERGREEN_AUDIO_PLAYING);
SHOW_REG(EVERGREEN_AUDIO_CAT_STATUS);
+ } else if (IS_DISPLAY_DCE6(card_info)) {
+ printf("\nAudio engine registers:\n");
+ for (i = 0; i < 0x70; i++) {
+ SET_REG(DCE6_AUDIO_ADDR, i);
+ tmp = GET_REG(DCE6_AUDIO_DATA);
+ printf("%04x\t%08x (%d)\n", i, tmp, tmp);
+ }
}
for (i = 0; i < EG_NUM_OFFSETS; i++) {
diff --git a/radeon_reg.h b/radeon_reg.h
index 1823ca8..ea5b6bc 100644
--- a/radeon_reg.h
+++ b/radeon_reg.h
@@ -3157,6 +3157,10 @@
#define EVERGREEN_DACA_SOURCE_SELECT 0x6694
#define EVERGREEN_DACB_CONTROL 0x6790
+/* DCE6 registers for indirect audio engine access */
+#define DCE6_AUDIO_ADDR 0x5e00
+#define DCE6_AUDIO_DATA 0x5e04
+
#define MC_VM_FB_LOCATION 0x2024
#define MC_VM_AGP_TOP 0x2028
#define MC_VM_AGP_BOT 0x202C