summaryrefslogtreecommitdiff
path: root/src/radeon_reg.h
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2009-10-22 16:07:58 -0400
committerAlex Deucher <alexdeucher@gmail.com>2009-10-22 16:07:58 -0400
commite57b54daf318ff59315a1c9ed21934f288c5c782 (patch)
treed1556b102dae4310d202d03c164ec2fb2a0bb517 /src/radeon_reg.h
parent4cf06dfba617529291ce4b4c306c4fc1bba110ee (diff)
R7xx: program additional CUR/GRPH regs for 40 bit addresses
The *_HIGH regs are reversed. The secondary ones are in the primary block and vice versa.
Diffstat (limited to 'src/radeon_reg.h')
-rw-r--r--src/radeon_reg.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/radeon_reg.h b/src/radeon_reg.h
index 54672864..e656f5fb 100644
--- a/src/radeon_reg.h
+++ b/src/radeon_reg.h
@@ -3669,8 +3669,16 @@
# define R600_D1GRPH_SWAP_ENDIAN_32BIT (2 << 0)
# define R600_D1GRPH_SWAP_ENDIAN_64BIT (3 << 0)
+/* the *_HIGH surface regs are backwards; the D1 regs are in the D2
+ * block and vice versa. This applies to GRPH, CUR, etc.
+ */
+
#define AVIVO_D1GRPH_PRIMARY_SURFACE_ADDRESS 0x6110
+#define R700_D1GRPH_PRIMARY_SURFACE_ADDRESS_HIGH 0x6914
+#define R700_D2GRPH_PRIMARY_SURFACE_ADDRESS_HIGH 0x6114
#define AVIVO_D1GRPH_SECONDARY_SURFACE_ADDRESS 0x6118
+#define R700_D1GRPH_SECONDARY_SURFACE_ADDRESS_HIGH 0x691c
+#define R700_D2GRPH_SECONDARY_SURFACE_ADDRESS_HIGH 0x611c
#define AVIVO_D1GRPH_PITCH 0x6120
#define AVIVO_D1GRPH_SURFACE_OFFSET_X 0x6124
#define AVIVO_D1GRPH_SURFACE_OFFSET_Y 0x6128
@@ -3690,6 +3698,8 @@
# define AVIVO_D1CURSOR_MODE_MASK (0x3<<8)
# define AVIVO_D1CURSOR_MODE_24BPP (0x2)
#define AVIVO_D1CUR_SURFACE_ADDRESS 0x6408
+#define R700_D1CUR_SURFACE_ADDRESS_HIGH 0x6c0c
+#define R700_D2CUR_SURFACE_ADDRESS_HIGH 0x640c
#define AVIVO_D1CUR_SIZE 0x6410
#define AVIVO_D1CUR_POSITION 0x6414
#define AVIVO_D1CUR_HOT_SPOT 0x6418