aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/drm/radeon_drv.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/char/drm/radeon_drv.h')
-rw-r--r--drivers/char/drm/radeon_drv.h24
1 files changed, 22 insertions, 2 deletions
diff --git a/drivers/char/drm/radeon_drv.h b/drivers/char/drm/radeon_drv.h
index 8b105f1460a7..54f49ef4bef0 100644
--- a/drivers/char/drm/radeon_drv.h
+++ b/drivers/char/drm/radeon_drv.h
@@ -95,9 +95,11 @@
95 * 1.24- Add general-purpose packet for manipulating scratch registers (r300) 95 * 1.24- Add general-purpose packet for manipulating scratch registers (r300)
96 * 1.25- Add support for r200 vertex programs (R200_EMIT_VAP_PVS_CNTL, 96 * 1.25- Add support for r200 vertex programs (R200_EMIT_VAP_PVS_CNTL,
97 * new packet type) 97 * new packet type)
98 * 1.26- Add support for variable size PCI(E) gart aperture
99 * 1.27- Add support for IGP GART
98 */ 100 */
99#define DRIVER_MAJOR 1 101#define DRIVER_MAJOR 1
100#define DRIVER_MINOR 25 102#define DRIVER_MINOR 27
101#define DRIVER_PATCHLEVEL 0 103#define DRIVER_PATCHLEVEL 0
102 104
103/* 105/*
@@ -143,6 +145,7 @@ enum radeon_chip_flags {
143 RADEON_IS_PCIE = 0x00200000UL, 145 RADEON_IS_PCIE = 0x00200000UL,
144 RADEON_NEW_MEMMAP = 0x00400000UL, 146 RADEON_NEW_MEMMAP = 0x00400000UL,
145 RADEON_IS_PCI = 0x00800000UL, 147 RADEON_IS_PCI = 0x00800000UL,
148 RADEON_IS_IGPGART = 0x01000000UL,
146}; 149};
147 150
148#define GET_RING_HEAD(dev_priv) (dev_priv->writeback_works ? \ 151#define GET_RING_HEAD(dev_priv) (dev_priv->writeback_works ? \
@@ -240,7 +243,6 @@ typedef struct drm_radeon_private {
240 243
241 int do_boxes; 244 int do_boxes;
242 int page_flipping; 245 int page_flipping;
243 int current_page;
244 246
245 u32 color_fmt; 247 u32 color_fmt;
246 unsigned int front_offset; 248 unsigned int front_offset;
@@ -280,6 +282,7 @@ typedef struct drm_radeon_private {
280 struct radeon_virt_surface virt_surfaces[2 * RADEON_MAX_SURFACES]; 282 struct radeon_virt_surface virt_surfaces[2 * RADEON_MAX_SURFACES];
281 283
282 unsigned long pcigart_offset; 284 unsigned long pcigart_offset;
285 unsigned int pcigart_offset_set;
283 drm_ati_pcigart_info gart_info; 286 drm_ati_pcigart_info gart_info;
284 287
285 u32 scratch_ages[5]; 288 u32 scratch_ages[5];
@@ -432,6 +435,15 @@ extern int r300_do_cp_cmdbuf(drm_device_t * dev, DRMFILE filp,
432#define RADEON_PCIE_TX_GART_END_LO 0x16 435#define RADEON_PCIE_TX_GART_END_LO 0x16
433#define RADEON_PCIE_TX_GART_END_HI 0x17 436#define RADEON_PCIE_TX_GART_END_HI 0x17
434 437
438#define RADEON_IGPGART_INDEX 0x168
439#define RADEON_IGPGART_DATA 0x16c
440#define RADEON_IGPGART_UNK_18 0x18
441#define RADEON_IGPGART_CTRL 0x2b
442#define RADEON_IGPGART_BASE_ADDR 0x2c
443#define RADEON_IGPGART_FLUSH 0x2e
444#define RADEON_IGPGART_ENABLE 0x38
445#define RADEON_IGPGART_UNK_39 0x39
446
435#define RADEON_MPP_TB_CONFIG 0x01c0 447#define RADEON_MPP_TB_CONFIG 0x01c0
436#define RADEON_MEM_CNTL 0x0140 448#define RADEON_MEM_CNTL 0x0140
437#define RADEON_MEM_SDRAM_MODE_REG 0x0158 449#define RADEON_MEM_SDRAM_MODE_REG 0x0158
@@ -964,6 +976,14 @@ do { \
964 RADEON_WRITE( RADEON_CLOCK_CNTL_DATA, (val) ); \ 976 RADEON_WRITE( RADEON_CLOCK_CNTL_DATA, (val) ); \
965} while (0) 977} while (0)
966 978
979#define RADEON_WRITE_IGPGART( addr, val ) \
980do { \
981 RADEON_WRITE( RADEON_IGPGART_INDEX, \
982 ((addr) & 0x7f) | (1 << 8)); \
983 RADEON_WRITE( RADEON_IGPGART_DATA, (val) ); \
984 RADEON_WRITE( RADEON_IGPGART_INDEX, 0x7f ); \
985} while (0)
986
967#define RADEON_WRITE_PCIE( addr, val ) \ 987#define RADEON_WRITE_PCIE( addr, val ) \
968do { \ 988do { \
969 RADEON_WRITE8( RADEON_PCIE_INDEX, \ 989 RADEON_WRITE8( RADEON_PCIE_INDEX, \