summaryrefslogtreecommitdiff
path: root/src/radeon.h
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2006-02-16 23:27:44 +0000
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2006-02-16 23:27:44 +0000
commit5c141bb15d1163e04c012a0cdf0699d534f0be37 (patch)
tree5c80c7ed3638c3b9d6fec9c3ec13e0e9fd200643 /src/radeon.h
parent8c6e5a6eb50d371fd4ec700c26aa628cb5f45731 (diff)
Memory map and misc fixes. This completely reworks the way the driver
detects available & accessible video memory and initializes the card internal memory map. Along the way, I re-ordered some of the stuffs in pre-init in order to remove some dodgy codepath, fixed various init, exit and vt switch issues, and overall made the driver more robust. The full memory map fix requires an updated DRM. The X driver no longer tries to position the AGP aperture, this becomes entirely DRM responsibility.
Diffstat (limited to 'src/radeon.h')
-rw-r--r--src/radeon.h21
1 files changed, 14 insertions, 7 deletions
diff --git a/src/radeon.h b/src/radeon.h
index 57db4e93..fb70444f 100644
--- a/src/radeon.h
+++ b/src/radeon.h
@@ -102,7 +102,7 @@ typedef struct _region {
/* ------------------------------------- */
-#define RADEON_DEBUG 0 /* Turn off debugging output */
+#define RADEON_DEBUG 1 /* Turn off debugging output */
#define RADEON_IDLE_RETRY 16 /* Fall out of idle loops after this count */
#define RADEON_TIMEOUT 2000000 /* Fall out of wait loops after this count */
#define RADEON_MMIOSIZE 0x80000
@@ -116,13 +116,13 @@ typedef struct _region {
*/
#if RADEON_DEBUG
-#define RADEONTRACE(x) \
+#define RADEONTRACE(x) \
do { \
ErrorF("(**) %s(%d): ", RADEON_NAME, pScrn->scrnIndex); \
ErrorF x; \
-} while (0);
+} while(0)
#else
-#define RADEONTRACE(x)
+#define RADEONTRACE(x) do { } while(0)
#endif
@@ -147,10 +147,16 @@ typedef struct {
CARD32 cap0_trig_cntl;
CARD32 cap1_trig_cntl;
CARD32 bus_cntl;
- CARD32 surface_cntl;
CARD32 bios_4_scratch;
CARD32 bios_5_scratch;
CARD32 bios_6_scratch;
+ CARD32 surface_cntl;
+ CARD32 surfaces[8][3];
+ CARD32 mc_agp_location;
+ CARD32 mc_fb_location;
+ CARD32 display_base_addr;
+ CARD32 display2_base_addr;
+ CARD32 ov0_base_addr;
/* Other registers to save for VT switches */
CARD32 dp_datatype;
@@ -158,8 +164,6 @@ typedef struct {
CARD32 clock_cntl_index;
CARD32 amcgpio_en_reg;
CARD32 amcgpio_mask;
-
- CARD32 surfaces[8][3];
/* CRTC registers */
CARD32 crtc_gen_cntl;
@@ -326,6 +330,8 @@ typedef struct {
unsigned long MMIOAddr; /* MMIO region physical address */
unsigned long BIOSAddr; /* BIOS physical address */
unsigned int fbLocation;
+ CARD32 mc_fb_location;
+ CARD32 mc_agp_location;
unsigned char *MMIO; /* Map of MMIO region */
unsigned char *FB; /* Map of frame buffer */
@@ -482,6 +488,7 @@ typedef struct {
#ifdef XF86DRI
Bool noBackBuffer;
Bool directRenderingEnabled;
+ Bool directRenderingInited;
DRIInfoPtr pDRIInfo;
int drmFD;
int numVisualConfigs;