aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/drm/radeon_drv.h
diff options
context:
space:
mode:
authorDave Airlie <airlied@linux.ie>2006-03-19 03:37:55 -0500
committerDave Airlie <airlied@linux.ie>2006-03-19 03:37:55 -0500
commitd5ea702f1e8e3edeea6b673a58281bf99f3dbec5 (patch)
treedae329419620db61ccfaa9a50394e07c31f21d1f /drivers/char/drm/radeon_drv.h
parent45f17100bfd18c99d6479e94598f4e533bbe30d8 (diff)
drm: rework radeon memory map (radeon 1.23)
This code reworks the radeon memory map so it works better for newer r300 chips and for a lot of older PCI chips. It really requires a new X driver in order to take advantage of this code. From: Ben Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Dave Airlie <airlied@linux.ie>
Diffstat (limited to 'drivers/char/drm/radeon_drv.h')
-rw-r--r--drivers/char/drm/radeon_drv.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/char/drm/radeon_drv.h b/drivers/char/drm/radeon_drv.h
index 1f7d2ab8c4fc..a0c198895a27 100644
--- a/drivers/char/drm/radeon_drv.h
+++ b/drivers/char/drm/radeon_drv.h
@@ -38,7 +38,7 @@
38 38
39#define DRIVER_NAME "radeon" 39#define DRIVER_NAME "radeon"
40#define DRIVER_DESC "ATI Radeon" 40#define DRIVER_DESC "ATI Radeon"
41#define DRIVER_DATE "20051229" 41#define DRIVER_DATE "20060225"
42 42
43/* Interface history: 43/* Interface history:
44 * 44 *
@@ -91,9 +91,10 @@
91 * 1.20- Add support for r300 texrect 91 * 1.20- Add support for r300 texrect
92 * 1.21- Add support for card type getparam 92 * 1.21- Add support for card type getparam
93 * 1.22- Add support for texture cache flushes (R300_TX_CNTL) 93 * 1.22- Add support for texture cache flushes (R300_TX_CNTL)
94 * 1.23- Add new radeon memory map work from benh
94 */ 95 */
95#define DRIVER_MAJOR 1 96#define DRIVER_MAJOR 1
96#define DRIVER_MINOR 22 97#define DRIVER_MINOR 23
97#define DRIVER_PATCHLEVEL 0 98#define DRIVER_PATCHLEVEL 0
98 99
99/* 100/*
@@ -138,7 +139,8 @@ enum radeon_chip_flags {
138 CHIP_IS_PCIE = 0x00200000UL, 139 CHIP_IS_PCIE = 0x00200000UL,
139}; 140};
140 141
141#define GET_RING_HEAD(dev_priv) DRM_READ32( (dev_priv)->ring_rptr, 0 ) 142#define GET_RING_HEAD(dev_priv) (dev_priv->writeback_works ? \
143 DRM_READ32( (dev_priv)->ring_rptr, 0 ) : RADEON_READ(RADEON_CP_RB_RPTR))
142#define SET_RING_HEAD(dev_priv,val) DRM_WRITE32( (dev_priv)->ring_rptr, 0, (val) ) 144#define SET_RING_HEAD(dev_priv,val) DRM_WRITE32( (dev_priv)->ring_rptr, 0, (val) )
143 145
144typedef struct drm_radeon_freelist { 146typedef struct drm_radeon_freelist {
@@ -199,6 +201,8 @@ typedef struct drm_radeon_private {
199 drm_radeon_sarea_t *sarea_priv; 201 drm_radeon_sarea_t *sarea_priv;
200 202
201 u32 fb_location; 203 u32 fb_location;
204 u32 fb_size;
205 int new_memmap;
202 206
203 int gart_size; 207 int gart_size;
204 u32 gart_vm_start; 208 u32 gart_vm_start;