Rev 868 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 868 | Rev 876 | ||
---|---|---|---|
Line 165... | Line 165... | ||
165 | }RHD_t, *RHDPtr; |
165 | }RHD_t, *RHDPtr; |
166 | 166 | ||
Line 167... | Line 167... | ||
167 | extern RHD_t rhd; |
167 | extern RHD_t rhd; |
Line 168... | Line -... | ||
168 | - | ||
169 | typedef struct |
- | |
170 | { |
- | |
171 | int xmin; |
- | |
172 | int ymin; |
- | |
173 | int xmax; |
- | |
174 | int ymax; |
- | |
175 | }clip_t, *PTRclip; |
- | |
176 | - | ||
177 | - | ||
178 | typedef struct |
- | |
179 | { |
- | |
180 | u32_t width; |
- | |
181 | u32_t height; |
- | |
182 | u32_t format; |
- | |
183 | u32_t flags; |
- | |
184 | u32_t pitch_offset; |
- | |
185 | u32_t pitch; |
- | |
186 | u32_t offset; |
- | |
187 | void* raw; |
- | |
188 | void* usermap; |
- | |
Line -... | Line 168... | ||
- | 168 | ||
- | 169 | ||
- | 170 | ||
- | 171 | #define R5XX_DP_BRUSH_BKGD_CLR 0x1478 |
|
- | 172 | #define R5XX_DP_BRUSH_FRGD_CLR 0x147c |
|
- | 173 | #define R5XX_BRUSH_DATA0 0x1480 |
|
- | 174 | #define R5XX_BRUSH_DATA1 0x1484 |
|
- | 175 | ||
- | 176 | # define RADEON_GMC_SRC_PITCH_OFFSET_CNTL (1 << 0) |
|
- | 177 | # define RADEON_GMC_DST_PITCH_OFFSET_CNTL (1 << 1) |
|
- | 178 | # define RADEON_GMC_BRUSH_SOLID_COLOR (13 << 4) |
|
- | 179 | # define RADEON_GMC_BRUSH_NONE (15 << 4) |
|
- | 180 | # define RADEON_GMC_DST_16BPP (4 << 8) |
|
- | 181 | # define RADEON_GMC_DST_24BPP (5 << 8) |
|
- | 182 | # define RADEON_GMC_DST_32BPP (6 << 8) |
|
- | 183 | # define RADEON_GMC_DST_DATATYPE_SHIFT 8 |
|
- | 184 | # define RADEON_GMC_SRC_DATATYPE_COLOR (3 << 12) |
|
- | 185 | # define RADEON_DP_SRC_SOURCE_MEMORY (2 << 24) |
|
- | 186 | # define RADEON_DP_SRC_SOURCE_HOST_DATA (3 << 24) |
|
- | 187 | # define RADEON_GMC_CLR_CMP_CNTL_DIS (1 << 28) |
|
- | 188 | # define RADEON_GMC_WR_MSK_DIS (1 << 30) |
|
- | 189 | # define RADEON_ROP3_S 0x00cc0000 |
|
- | 190 | # define RADEON_ROP3_P 0x00f00000 |
|
- | 191 | ||
- | 192 | #define RADEON_CP_PACKET0 0x00000000 |
|
- | 193 | #define RADEON_CP_PACKET1 0x40000000 |
|
- | 194 | #define RADEON_CP_PACKET2 0x80000000 |
|
- | 195 | #define RADEON_CP_PACKET3 0xC0000000 |
|
- | 196 | ||
- | 197 | # define RADEON_CNTL_PAINT 0x00009100 |
|
- | 198 | # define RADEON_CNTL_BITBLT 0x00009200 |
|
- | 199 | # define RADEON_CNTL_TRANBLT 0x00009C00 |
|
- | 200 | ||
- | 201 | # define RADEON_CNTL_PAINT_POLYLINE 0x00009500 |
|
- | 202 | # define RADEON_CNTL_PAINT_MULTI 0x00009A00 |
|
- | 203 | ||
- | 204 | #define CP_PACKET0(reg, n) \ |
|
- | 205 | (RADEON_CP_PACKET0 | ((n) << 16) | ((reg) >> 2)) |
|
- | 206 | ||
- | 207 | #define CP_PACKET1(reg0, reg1) \ |
|
189 | }pixmap_t; |
208 | (RADEON_CP_PACKET1 | (((reg1) >> 2) << 11) | ((reg0) >> 2)) |
- | 209 | ||
- | 210 | #define CP_PACKET2() \ |
|
- | 211 | (RADEON_CP_PACKET2) |
|
- | 212 | ||
- | 213 | #define CP_PACKET3( pkt, n ) \ |
|
- | 214 | (RADEON_CP_PACKET3 | (pkt) | ((n) << 16)) |
|
- | 215 | ||
- | 216 | #define BEGIN_RING( n ) do { \ |
|
- | 217 | ring = rhd.ring_base; \ |
|
- | 218 | write = rhd.ring_wp; \ |
|
- | 219 | } while (0) |
|
- | 220 | ||
- | 221 | #define ADVANCE_RING() |
|
- | 222 | ||
- | 223 | #define OUT_RING( x ) do { \ |
|
- | 224 | ring[write++] = (x); \ |
|
- | 225 | } while (0) |
|
- | 226 | ||
- | 227 | #define OUT_RING_REG(reg, val) \ |
|
- | 228 | do { \ |
|
- | 229 | OUT_RING(CP_PACKET0(reg, 0)); \ |
|
- | 230 | OUT_RING(val); \ |
|
- | 231 | } while (0) |
|
- | 232 | ||
- | 233 | #define DRM_MEMORYBARRIER() __asm volatile("lock; addl $0,0(%%esp)" : : : "memory"); |
|
- | 234 | ||
- | 235 | #define COMMIT_RING() do { \ |
|
- | 236 | rhd.ring_wp = write & 0x1FFF; \ |
|
- | 237 | /* Flush writes to ring */ \ |
|
- | 238 | DRM_MEMORYBARRIER(); \ |
|
- | 239 | /*GET_RING_HEAD( dev_priv ); */ \ |
|
- | 240 | OUTREG( RADEON_CP_RB_WPTR, rhd.ring_wp); \ |
|
- | 241 | /* read from PCI bus to ensure correct posting */ \ |
|
- | 242 | INREG( RADEON_CP_RB_RPTR ); \ |
|
- | 243 | } while (0) |
|
Line 190... | Line 244... | ||
190 | 244 | ||
191 | #define PX_LOCK 1 |
245 | |
192 | 246 | ||
193 | typedef struct { |
247 | typedef struct { |