Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
1428 | serge | 1 | /* |
2 | * RadeonHD R6xx, R7xx Register documentation |
||
3 | * |
||
4 | * Copyright (C) 2008-2009 Advanced Micro Devices, Inc. |
||
5 | * Copyright (C) 2008-2009 Matthias Hopf |
||
6 | * |
||
7 | * Permission is hereby granted, free of charge, to any person obtaining a |
||
8 | * copy of this software and associated documentation files (the "Software"), |
||
9 | * to deal in the Software without restriction, including without limitation |
||
10 | * the rights to use, copy, modify, merge, publish, distribute, sublicense, |
||
11 | * and/or sell copies of the Software, and to permit persons to whom the |
||
12 | * Software is furnished to do so, subject to the following conditions: |
||
13 | * |
||
14 | * The above copyright notice and this permission notice shall be included |
||
15 | * in all copies or substantial portions of the Software. |
||
16 | * |
||
17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
||
18 | * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||
19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
||
20 | * THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN |
||
21 | * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN |
||
22 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
||
23 | */ |
||
24 | |||
25 | #ifndef _R600_REG_R6xx_H_ |
||
26 | #define _R600_REG_R6xx_H_ |
||
27 | |||
28 | /* |
||
29 | * Registers for R6xx chips that are not documented yet |
||
30 | */ |
||
31 | |||
32 | enum { |
||
33 | |||
34 | MM_INDEX = 0x0000, |
||
35 | MM_DATA = 0x0004, |
||
36 | |||
37 | SRBM_STATUS = 0x0e50, |
||
38 | RLC_RQ_PENDING_bit = 1 << 3, |
||
39 | RCU_RQ_PENDING_bit = 1 << 4, |
||
40 | GRBM_RQ_PENDING_bit = 1 << 5, |
||
41 | HI_RQ_PENDING_bit = 1 << 6, |
||
42 | IO_EXTERN_SIGNAL_bit = 1 << 7, |
||
43 | VMC_BUSY_bit = 1 << 8, |
||
44 | MCB_BUSY_bit = 1 << 9, |
||
45 | MCDZ_BUSY_bit = 1 << 10, |
||
46 | MCDY_BUSY_bit = 1 << 11, |
||
47 | MCDX_BUSY_bit = 1 << 12, |
||
48 | MCDW_BUSY_bit = 1 << 13, |
||
49 | SEM_BUSY_bit = 1 << 14, |
||
50 | SRBM_STATUS__RLC_BUSY_bit = 1 << 15, |
||
51 | PDMA_BUSY_bit = 1 << 16, |
||
52 | IH_BUSY_bit = 1 << 17, |
||
53 | CSC_BUSY_bit = 1 << 20, |
||
54 | CMC7_BUSY_bit = 1 << 21, |
||
55 | CMC6_BUSY_bit = 1 << 22, |
||
56 | CMC5_BUSY_bit = 1 << 23, |
||
57 | CMC4_BUSY_bit = 1 << 24, |
||
58 | CMC3_BUSY_bit = 1 << 25, |
||
59 | CMC2_BUSY_bit = 1 << 26, |
||
60 | CMC1_BUSY_bit = 1 << 27, |
||
61 | CMC0_BUSY_bit = 1 << 28, |
||
62 | BIF_BUSY_bit = 1 << 29, |
||
63 | IDCT_BUSY_bit = 1 << 30, |
||
64 | |||
65 | SRBM_READ_ERROR = 0x0e98, |
||
66 | READ_ADDRESS_mask = 0xffff << 2, |
||
67 | READ_ADDRESS_shift = 2, |
||
68 | READ_REQUESTER_HI_bit = 1 << 24, |
||
69 | READ_REQUESTER_GRBM_bit = 1 << 25, |
||
70 | READ_REQUESTER_RCU_bit = 1 << 26, |
||
71 | READ_REQUESTER_RLC_bit = 1 << 27, |
||
72 | READ_ERROR_bit = 1 << 31, |
||
73 | |||
74 | SRBM_INT_STATUS = 0x0ea4, |
||
75 | RDERR_INT_STAT_bit = 1 << 0, |
||
76 | GFX_CNTX_SWITCH_INT_STAT_bit = 1 << 1, |
||
77 | SRBM_INT_ACK = 0x0ea8, |
||
78 | RDERR_INT_ACK_bit = 1 << 0, |
||
79 | GFX_CNTX_SWITCH_INT_ACK_bit = 1 << 1, |
||
80 | |||
81 | /* R6XX_MC_VM_FB_LOCATION = 0x2180, */ |
||
82 | |||
83 | VENDOR_DEVICE_ID = 0x4000, |
||
84 | |||
85 | HDP_MEM_COHERENCY_FLUSH_CNTL = 0x5480, |
||
86 | |||
87 | /* D1GRPH_PRIMARY_SURFACE_ADDRESS = 0x6110, */ |
||
88 | /* D1GRPH_PITCH = 0x6120, */ |
||
89 | /* D1GRPH_Y_END = 0x6138, */ |
||
90 | |||
91 | GRBM_STATUS = 0x8010, |
||
92 | R600_CMDFIFO_AVAIL_mask = 0x1f << 0, |
||
93 | R700_CMDFIFO_AVAIL_mask = 0xf << 0, |
||
94 | CMDFIFO_AVAIL_shift = 0, |
||
95 | SRBM_RQ_PENDING_bit = 1 << 5, |
||
96 | CP_RQ_PENDING_bit = 1 << 6, |
||
97 | CF_RQ_PENDING_bit = 1 << 7, |
||
98 | PF_RQ_PENDING_bit = 1 << 8, |
||
99 | GRBM_EE_BUSY_bit = 1 << 10, |
||
100 | GRBM_STATUS__VC_BUSY_bit = 1 << 11, |
||
101 | DB03_CLEAN_bit = 1 << 12, |
||
102 | CB03_CLEAN_bit = 1 << 13, |
||
103 | VGT_BUSY_NO_DMA_bit = 1 << 16, |
||
104 | GRBM_STATUS__VGT_BUSY_bit = 1 << 17, |
||
105 | TA03_BUSY_bit = 1 << 18, |
||
106 | GRBM_STATUS__TC_BUSY_bit = 1 << 19, |
||
107 | SX_BUSY_bit = 1 << 20, |
||
108 | SH_BUSY_bit = 1 << 21, |
||
109 | SPI03_BUSY_bit = 1 << 22, |
||
110 | SMX_BUSY_bit = 1 << 23, |
||
111 | SC_BUSY_bit = 1 << 24, |
||
112 | PA_BUSY_bit = 1 << 25, |
||
113 | DB03_BUSY_bit = 1 << 26, |
||
114 | CR_BUSY_bit = 1 << 27, |
||
115 | CP_COHERENCY_BUSY_bit = 1 << 28, |
||
116 | GRBM_STATUS__CP_BUSY_bit = 1 << 29, |
||
117 | CB03_BUSY_bit = 1 << 30, |
||
118 | GUI_ACTIVE_bit = 1 << 31, |
||
119 | GRBM_STATUS2 = 0x8014, |
||
120 | CR_CLEAN_bit = 1 << 0, |
||
121 | SMX_CLEAN_bit = 1 << 1, |
||
122 | SPI0_BUSY_bit = 1 << 8, |
||
123 | SPI1_BUSY_bit = 1 << 9, |
||
124 | SPI2_BUSY_bit = 1 << 10, |
||
125 | SPI3_BUSY_bit = 1 << 11, |
||
126 | TA0_BUSY_bit = 1 << 12, |
||
127 | TA1_BUSY_bit = 1 << 13, |
||
128 | TA2_BUSY_bit = 1 << 14, |
||
129 | TA3_BUSY_bit = 1 << 15, |
||
130 | DB0_BUSY_bit = 1 << 16, |
||
131 | DB1_BUSY_bit = 1 << 17, |
||
132 | DB2_BUSY_bit = 1 << 18, |
||
133 | DB3_BUSY_bit = 1 << 19, |
||
134 | CB0_BUSY_bit = 1 << 20, |
||
135 | CB1_BUSY_bit = 1 << 21, |
||
136 | CB2_BUSY_bit = 1 << 22, |
||
137 | CB3_BUSY_bit = 1 << 23, |
||
138 | GRBM_SOFT_RESET = 0x8020, |
||
139 | SOFT_RESET_CP_bit = 1 << 0, |
||
140 | SOFT_RESET_CB_bit = 1 << 1, |
||
141 | SOFT_RESET_CR_bit = 1 << 2, |
||
142 | SOFT_RESET_DB_bit = 1 << 3, |
||
143 | SOFT_RESET_PA_bit = 1 << 5, |
||
144 | SOFT_RESET_SC_bit = 1 << 6, |
||
145 | SOFT_RESET_SMX_bit = 1 << 7, |
||
146 | SOFT_RESET_SPI_bit = 1 << 8, |
||
147 | SOFT_RESET_SH_bit = 1 << 9, |
||
148 | SOFT_RESET_SX_bit = 1 << 10, |
||
149 | SOFT_RESET_TC_bit = 1 << 11, |
||
150 | SOFT_RESET_TA_bit = 1 << 12, |
||
151 | SOFT_RESET_VC_bit = 1 << 13, |
||
152 | SOFT_RESET_VGT_bit = 1 << 14, |
||
153 | SOFT_RESET_GRBM_GCA_bit = 1 << 15, |
||
154 | |||
155 | WAIT_UNTIL = 0x8040, |
||
156 | WAIT_CP_DMA_IDLE_bit = 1 << 8, |
||
157 | WAIT_CMDFIFO_bit = 1 << 10, |
||
158 | WAIT_2D_IDLE_bit = 1 << 14, |
||
159 | WAIT_3D_IDLE_bit = 1 << 15, |
||
160 | WAIT_2D_IDLECLEAN_bit = 1 << 16, |
||
161 | WAIT_3D_IDLECLEAN_bit = 1 << 17, |
||
162 | WAIT_EXTERN_SIG_bit = 1 << 19, |
||
163 | CMDFIFO_ENTRIES_mask = 0x1f << 20, |
||
164 | CMDFIFO_ENTRIES_shift = 20, |
||
165 | |||
166 | GRBM_READ_ERROR = 0x8058, |
||
167 | /* READ_ADDRESS_mask = 0xffff << 2, */ |
||
168 | /* READ_ADDRESS_shift = 2, */ |
||
169 | READ_REQUESTER_SRBM_bit = 1 << 28, |
||
170 | READ_REQUESTER_CP_bit = 1 << 29, |
||
171 | READ_REQUESTER_WU_POLL_bit = 1 << 30, |
||
172 | /* READ_ERROR_bit = 1 << 31, */ |
||
173 | |||
174 | SCRATCH_REG0 = 0x8500, |
||
175 | SCRATCH_REG1 = 0x8504, |
||
176 | SCRATCH_REG2 = 0x8508, |
||
177 | SCRATCH_REG3 = 0x850c, |
||
178 | SCRATCH_REG4 = 0x8510, |
||
179 | SCRATCH_REG5 = 0x8514, |
||
180 | SCRATCH_REG6 = 0x8518, |
||
181 | SCRATCH_REG7 = 0x851c, |
||
182 | SCRATCH_UMSK = 0x8540, |
||
183 | SCRATCH_ADDR = 0x8544, |
||
184 | |||
185 | CP_COHER_CNTL = 0x85f0, |
||
186 | DEST_BASE_0_ENA_bit = 1 << 0, |
||
187 | DEST_BASE_1_ENA_bit = 1 << 1, |
||
188 | SO0_DEST_BASE_ENA_bit = 1 << 2, |
||
189 | SO1_DEST_BASE_ENA_bit = 1 << 3, |
||
190 | SO2_DEST_BASE_ENA_bit = 1 << 4, |
||
191 | SO3_DEST_BASE_ENA_bit = 1 << 5, |
||
192 | CB0_DEST_BASE_ENA_bit = 1 << 6, |
||
193 | CB1_DEST_BASE_ENA_bit = 1 << 7, |
||
194 | CB2_DEST_BASE_ENA_bit = 1 << 8, |
||
195 | CB3_DEST_BASE_ENA_bit = 1 << 9, |
||
196 | CB4_DEST_BASE_ENA_bit = 1 << 10, |
||
197 | CB5_DEST_BASE_ENA_bit = 1 << 11, |
||
198 | CB6_DEST_BASE_ENA_bit = 1 << 12, |
||
199 | CB7_DEST_BASE_ENA_bit = 1 << 13, |
||
200 | DB_DEST_BASE_ENA_bit = 1 << 14, |
||
201 | CR_DEST_BASE_ENA_bit = 1 << 15, |
||
202 | TC_ACTION_ENA_bit = 1 << 23, |
||
203 | VC_ACTION_ENA_bit = 1 << 24, |
||
204 | CB_ACTION_ENA_bit = 1 << 25, |
||
205 | DB_ACTION_ENA_bit = 1 << 26, |
||
206 | SH_ACTION_ENA_bit = 1 << 27, |
||
207 | SMX_ACTION_ENA_bit = 1 << 28, |
||
208 | CR0_ACTION_ENA_bit = 1 << 29, |
||
209 | CR1_ACTION_ENA_bit = 1 << 30, |
||
210 | CR2_ACTION_ENA_bit = 1 << 31, |
||
211 | CP_COHER_SIZE = 0x85f4, |
||
212 | CP_COHER_BASE = 0x85f8, |
||
213 | CP_COHER_STATUS = 0x85fc, |
||
214 | MATCHING_GFX_CNTX_mask = 0xff << 0, |
||
215 | MATCHING_GFX_CNTX_shift = 0, |
||
216 | MATCHING_CR_CNTX_mask = 0xffff << 8, |
||
217 | MATCHING_CR_CNTX_shift = 8, |
||
218 | STATUS_bit = 1 << 31, |
||
219 | |||
220 | CP_STALLED_STAT1 = 0x8674, |
||
221 | RBIU_TO_DMA_NOT_RDY_TO_RCV_bit = 1 << 0, |
||
222 | RBIU_TO_IBS_NOT_RDY_TO_RCV_bit = 1 << 1, |
||
223 | RBIU_TO_SEM_NOT_RDY_TO_RCV_bit = 1 << 2, |
||
224 | RBIU_TO_2DREGS_NOT_RDY_TO_RCV_bit = 1 << 3, |
||
225 | RBIU_TO_MEMWR_NOT_RDY_TO_RCV_bit = 1 << 4, |
||
226 | RBIU_TO_MEMRD_NOT_RDY_TO_RCV_bit = 1 << 5, |
||
227 | RBIU_TO_EOPD_NOT_RDY_TO_RCV_bit = 1 << 6, |
||
228 | RBIU_TO_RECT_NOT_RDY_TO_RCV_bit = 1 << 7, |
||
229 | RBIU_TO_STRMO_NOT_RDY_TO_RCV_bit = 1 << 8, |
||
230 | RBIU_TO_PSTAT_NOT_RDY_TO_RCV_bit = 1 << 9, |
||
231 | MIU_WAITING_ON_RDREQ_FREE_bit = 1 << 16, |
||
232 | MIU_WAITING_ON_WRREQ_FREE_bit = 1 << 17, |
||
233 | MIU_NEEDS_AVAIL_WRREQ_PHASE_bit = 1 << 18, |
||
234 | RCIU_WAITING_ON_GRBM_FREE_bit = 1 << 24, |
||
235 | RCIU_WAITING_ON_VGT_FREE_bit = 1 << 25, |
||
236 | RCIU_STALLED_ON_ME_READ_bit = 1 << 26, |
||
237 | RCIU_STALLED_ON_DMA_READ_bit = 1 << 27, |
||
238 | RCIU_HALTED_BY_REG_VIOLATION_bit = 1 << 28, |
||
239 | CP_STALLED_STAT2 = 0x8678, |
||
240 | PFP_TO_CSF_NOT_RDY_TO_RCV_bit = 1 << 0, |
||
241 | PFP_TO_MEQ_NOT_RDY_TO_RCV_bit = 1 << 1, |
||
242 | PFP_TO_VGT_NOT_RDY_TO_RCV_bit = 1 << 2, |
||
243 | PFP_HALTED_BY_INSTR_VIOLATION_bit = 1 << 3, |
||
244 | MULTIPASS_IB_PENDING_IN_PFP_bit = 1 << 4, |
||
245 | ME_BRUSH_WC_NOT_RDY_TO_RCV_bit = 1 << 8, |
||
246 | ME_STALLED_ON_BRUSH_LOGIC_bit = 1 << 9, |
||
247 | CR_CNTX_NOT_AVAIL_TO_ME_bit = 1 << 10, |
||
248 | GFX_CNTX_NOT_AVAIL_TO_ME_bit = 1 << 11, |
||
249 | ME_RCIU_NOT_RDY_TO_RCV_bit = 1 << 12, |
||
250 | ME_TO_CONST_NOT_RDY_TO_RCV_bit = 1 << 13, |
||
251 | ME_WAITING_DATA_FROM_PFP_bit = 1 << 14, |
||
252 | ME_WAITING_ON_PARTIAL_FLUSH_bit = 1 << 15, |
||
253 | RECT_FIFO_NEEDS_CR_RECT_DONE_bit = 1 << 16, |
||
254 | RECT_FIFO_NEEDS_WR_CONFIRM_bit = 1 << 17, |
||
255 | EOPD_FIFO_NEEDS_SC_EOP_DONE_bit = 1 << 18, |
||
256 | EOPD_FIFO_NEEDS_SMX_EOP_DONE_bit = 1 << 19, |
||
257 | EOPD_FIFO_NEEDS_WR_CONFIRM_bit = 1 << 20, |
||
258 | EOPD_FIFO_NEEDS_SIGNAL_SEM_bit = 1 << 21, |
||
259 | SO_NUMPRIM_FIFO_NEEDS_SOADDR_bit = 1 << 22, |
||
260 | SO_NUMPRIM_FIFO_NEEDS_NUMPRIM_bit = 1 << 23, |
||
261 | PIPE_STATS_FIFO_NEEDS_SAMPLE_bit = 1 << 24, |
||
262 | SURF_SYNC_NEEDS_IDLE_CNTXS_bit = 1 << 30, |
||
263 | SURF_SYNC_NEEDS_ALL_CLEAN_bit = 1 << 31, |
||
264 | CP_BUSY_STAT = 0x867c, |
||
265 | REG_BUS_FIFO_BUSY_bit = 1 << 0, |
||
266 | RING_FETCHING_DATA_bit = 1 << 1, |
||
267 | INDR1_FETCHING_DATA_bit = 1 << 2, |
||
268 | INDR2_FETCHING_DATA_bit = 1 << 3, |
||
269 | STATE_FETCHING_DATA_bit = 1 << 4, |
||
270 | PRED_FETCHING_DATA_bit = 1 << 5, |
||
271 | COHER_CNTR_NEQ_ZERO_bit = 1 << 6, |
||
272 | PFP_PARSING_PACKETS_bit = 1 << 7, |
||
273 | ME_PARSING_PACKETS_bit = 1 << 8, |
||
274 | RCIU_PFP_BUSY_bit = 1 << 9, |
||
275 | RCIU_ME_BUSY_bit = 1 << 10, |
||
276 | OUTSTANDING_READ_TAGS_bit = 1 << 11, |
||
277 | SEM_CMDFIFO_NOT_EMPTY_bit = 1 << 12, |
||
278 | SEM_FAILED_AND_HOLDING_bit = 1 << 13, |
||
279 | SEM_POLLING_FOR_PASS_bit = 1 << 14, |
||
280 | _3D_BUSY_bit = 1 << 15, |
||
281 | _2D_BUSY_bit = 1 << 16, |
||
282 | CP_STAT = 0x8680, |
||
283 | CSF_RING_BUSY_bit = 1 << 0, |
||
284 | CSF_WPTR_POLL_BUSY_bit = 1 << 1, |
||
285 | CSF_INDIRECT1_BUSY_bit = 1 << 2, |
||
286 | CSF_INDIRECT2_BUSY_bit = 1 << 3, |
||
287 | CSF_STATE_BUSY_bit = 1 << 4, |
||
288 | CSF_PREDICATE_BUSY_bit = 1 << 5, |
||
289 | CSF_BUSY_bit = 1 << 6, |
||
290 | MIU_RDREQ_BUSY_bit = 1 << 7, |
||
291 | MIU_WRREQ_BUSY_bit = 1 << 8, |
||
292 | ROQ_RING_BUSY_bit = 1 << 9, |
||
293 | ROQ_INDIRECT1_BUSY_bit = 1 << 10, |
||
294 | ROQ_INDIRECT2_BUSY_bit = 1 << 11, |
||
295 | ROQ_STATE_BUSY_bit = 1 << 12, |
||
296 | ROQ_PREDICATE_BUSY_bit = 1 << 13, |
||
297 | ROQ_ALIGN_BUSY_bit = 1 << 14, |
||
298 | PFP_BUSY_bit = 1 << 15, |
||
299 | MEQ_BUSY_bit = 1 << 16, |
||
300 | ME_BUSY_bit = 1 << 17, |
||
301 | QUERY_BUSY_bit = 1 << 18, |
||
302 | SEMAPHORE_BUSY_bit = 1 << 19, |
||
303 | INTERRUPT_BUSY_bit = 1 << 20, |
||
304 | SURFACE_SYNC_BUSY_bit = 1 << 21, |
||
305 | DMA_BUSY_bit = 1 << 22, |
||
306 | RCIU_BUSY_bit = 1 << 23, |
||
307 | CP_STAT__CP_BUSY_bit = 1 << 31, |
||
308 | |||
309 | CP_ME_CNTL = 0x86d8, |
||
310 | ME_STATMUX_mask = 0xff << 0, |
||
311 | ME_STATMUX_shift = 0, |
||
312 | ME_HALT_bit = 1 << 28, |
||
313 | CP_ME_STATUS = 0x86dc, |
||
314 | |||
315 | CP_RB_RPTR = 0x8700, |
||
316 | RB_RPTR_mask = 0xfffff << 0, |
||
317 | RB_RPTR_shift = 0, |
||
318 | CP_RB_WPTR_DELAY = 0x8704, |
||
319 | PRE_WRITE_TIMER_mask = 0xfffffff << 0, |
||
320 | PRE_WRITE_TIMER_shift = 0, |
||
321 | PRE_WRITE_LIMIT_mask = 0x0f << 28, |
||
322 | PRE_WRITE_LIMIT_shift = 28, |
||
323 | |||
324 | CP_ROQ_RB_STAT = 0x8780, |
||
325 | ROQ_RPTR_PRIMARY_mask = 0x3ff << 0, |
||
326 | ROQ_RPTR_PRIMARY_shift = 0, |
||
327 | ROQ_WPTR_PRIMARY_mask = 0x3ff << 16, |
||
328 | ROQ_WPTR_PRIMARY_shift = 16, |
||
329 | CP_ROQ_IB1_STAT = 0x8784, |
||
330 | ROQ_RPTR_INDIRECT1_mask = 0x3ff << 0, |
||
331 | ROQ_RPTR_INDIRECT1_shift = 0, |
||
332 | ROQ_WPTR_INDIRECT1_mask = 0x3ff << 16, |
||
333 | ROQ_WPTR_INDIRECT1_shift = 16, |
||
334 | CP_ROQ_IB2_STAT = 0x8788, |
||
335 | ROQ_RPTR_INDIRECT2_mask = 0x3ff << 0, |
||
336 | ROQ_RPTR_INDIRECT2_shift = 0, |
||
337 | ROQ_WPTR_INDIRECT2_mask = 0x3ff << 16, |
||
338 | ROQ_WPTR_INDIRECT2_shift = 16, |
||
339 | |||
340 | CP_MEQ_STAT = 0x8794, |
||
341 | MEQ_RPTR_mask = 0x3ff << 0, |
||
342 | MEQ_RPTR_shift = 0, |
||
343 | MEQ_WPTR_mask = 0x3ff << 16, |
||
344 | MEQ_WPTR_shift = 16, |
||
345 | |||
346 | CC_GC_SHADER_PIPE_CONFIG = 0x8950, |
||
347 | INACTIVE_QD_PIPES_mask = 0xff << 8, |
||
348 | INACTIVE_QD_PIPES_shift = 8, |
||
349 | R6XX_MAX_QD_PIPES = 8, |
||
350 | INACTIVE_SIMDS_mask = 0xff << 16, |
||
351 | INACTIVE_SIMDS_shift = 16, |
||
352 | R6XX_MAX_SIMDS = 8, |
||
353 | GC_USER_SHADER_PIPE_CONFIG = 0x8954, |
||
354 | |||
355 | VC_ENHANCE = 0x9714, |
||
356 | DB_DEBUG = 0x9830, |
||
357 | PREZ_MUST_WAIT_FOR_POSTZ_DONE = 1 << 31, |
||
358 | |||
359 | DB_WATERMARKS = 0x00009838, |
||
360 | DEPTH_FREE_mask = 0x1f << 0, |
||
361 | DEPTH_FREE_shift = 0, |
||
362 | DEPTH_FLUSH_mask = 0x3f << 5, |
||
363 | DEPTH_FLUSH_shift = 5, |
||
364 | FORCE_SUMMARIZE_mask = 0x0f << 11, |
||
365 | FORCE_SUMMARIZE_shift = 11, |
||
366 | DEPTH_PENDING_FREE_mask = 0x1f << 15, |
||
367 | DEPTH_PENDING_FREE_shift = 15, |
||
368 | DEPTH_CACHELINE_FREE_mask = 0x1f << 20, |
||
369 | DEPTH_CACHELINE_FREE_shift = 20, |
||
370 | EARLY_Z_PANIC_DISABLE_bit = 1 << 25, |
||
371 | LATE_Z_PANIC_DISABLE_bit = 1 << 26, |
||
372 | RE_Z_PANIC_DISABLE_bit = 1 << 27, |
||
373 | DB_EXTRA_DEBUG_mask = 0x0f << 28, |
||
374 | DB_EXTRA_DEBUG_shift = 28, |
||
375 | |||
376 | CP_RB_BASE = 0xc100, |
||
377 | CP_RB_CNTL = 0xc104, |
||
378 | RB_BUFSZ_mask = 0x3f << 0, |
||
379 | CP_RB_WPTR = 0xc114, |
||
380 | RB_WPTR_mask = 0xfffff << 0, |
||
381 | RB_WPTR_shift = 0, |
||
382 | CP_RB_RPTR_WR = 0xc108, |
||
383 | RB_RPTR_WR_mask = 0xfffff << 0, |
||
384 | RB_RPTR_WR_shift = 0, |
||
385 | |||
386 | CP_INT_STATUS = 0xc128, |
||
387 | DISABLE_CNTX_SWITCH_INT_STAT_bit = 1 << 0, |
||
388 | ENABLE_CNTX_SWITCH_INT_STAT_bit = 1 << 1, |
||
389 | SEM_SIGNAL_INT_STAT_bit = 1 << 18, |
||
390 | CNTX_BUSY_INT_STAT_bit = 1 << 19, |
||
391 | CNTX_EMPTY_INT_STAT_bit = 1 << 20, |
||
392 | WAITMEM_SEM_INT_STAT_bit = 1 << 21, |
||
393 | PRIV_INSTR_INT_STAT_bit = 1 << 22, |
||
394 | PRIV_REG_INT_STAT_bit = 1 << 23, |
||
395 | OPCODE_ERROR_INT_STAT_bit = 1 << 24, |
||
396 | SCRATCH_INT_STAT_bit = 1 << 25, |
||
397 | TIME_STAMP_INT_STAT_bit = 1 << 26, |
||
398 | RESERVED_BIT_ERROR_INT_STAT_bit = 1 << 27, |
||
399 | DMA_INT_STAT_bit = 1 << 28, |
||
400 | IB2_INT_STAT_bit = 1 << 29, |
||
401 | IB1_INT_STAT_bit = 1 << 30, |
||
402 | RB_INT_STAT_bit = 1 << 31, |
||
403 | |||
404 | /* SX_ALPHA_TEST_CONTROL = 0x00028410, */ |
||
405 | ALPHA_FUNC__REF_NEVER = 0, |
||
406 | ALPHA_FUNC__REF_ALWAYS = 7, |
||
407 | /* DB_SHADER_CONTROL = 0x0002880c, */ |
||
408 | Z_ORDER__EARLY_Z_THEN_LATE_Z = 2, |
||
409 | /* PA_SU_SC_MODE_CNTL = 0x00028814, */ |
||
410 | /* POLY_MODE_mask = 0x03 << 3, */ |
||
411 | POLY_MODE__TRIANGLES = 0, POLY_MODE__DUAL_MODE, |
||
412 | /* POLYMODE_FRONT_PTYPE_mask = 0x07 << 5, */ |
||
413 | POLYMODE_PTYPE__POINTS = 0, POLYMODE_PTYPE__LINES, POLYMODE_PTYPE__TRIANGLES, |
||
414 | PA_SC_AA_SAMPLE_LOCS_8S_WD1_M = 0x00028c20, |
||
415 | DB_SRESULTS_COMPARE_STATE0 = 0x00028d28, /* See autoregs: DB_SRESULTS_COMPARE_STATE1 */ |
||
416 | /* DB_SRESULTS_COMPARE_STATE1 = 0x00028d2c, */ |
||
417 | DB_ALPHA_TO_MASK = 0x00028d44, |
||
418 | ALPHA_TO_MASK_ENABLE = 1 << 0, |
||
419 | ALPHA_TO_MASK_OFFSET0_mask = 0x03 << 8, |
||
420 | ALPHA_TO_MASK_OFFSET0_shift = 8, |
||
421 | ALPHA_TO_MASK_OFFSET1_mask = 0x03 << 8, |
||
422 | ALPHA_TO_MASK_OFFSET1_shift = 10, |
||
423 | ALPHA_TO_MASK_OFFSET2_mask = 0x03 << 8, |
||
424 | ALPHA_TO_MASK_OFFSET2_shift = 12, |
||
425 | ALPHA_TO_MASK_OFFSET3_mask = 0x03 << 8, |
||
426 | ALPHA_TO_MASK_OFFSET3_shift = 14, |
||
427 | |||
428 | /* SQ_VTX_CONSTANT_WORD2_0 = 0x00038008, */ |
||
429 | /* SQ_VTX_CONSTANT_WORD2_0__DATA_FORMAT_mask = 0x3f << 20, */ |
||
430 | FMT_INVALID=0, FMT_8, FMT_4_4, FMT_3_3_2, |
||
431 | FMT_16=5, FMT_16_FLOAT, FMT_8_8, |
||
432 | FMT_5_6_5, FMT_6_5_5, FMT_1_5_5_5, FMT_4_4_4_4, |
||
433 | FMT_5_5_5_1, FMT_32, FMT_32_FLOAT, FMT_16_16, |
||
434 | FMT_16_16_FLOAT=16, FMT_8_24, FMT_8_24_FLOAT, FMT_24_8, |
||
435 | FMT_24_8_FLOAT, FMT_10_11_11, FMT_10_11_11_FLOAT, FMT_11_11_10, |
||
436 | FMT_11_11_10_FLOAT, FMT_2_10_10_10, FMT_8_8_8_8, FMT_10_10_10_2, |
||
437 | FMT_X24_8_32_FLOAT, FMT_32_32, FMT_32_32_FLOAT, FMT_16_16_16_16, |
||
438 | FMT_16_16_16_16_FLOAT=32, FMT_32_32_32_32=34, FMT_32_32_32_32_FLOAT, |
||
439 | FMT_1 = 37, FMT_GB_GR=39, |
||
440 | FMT_BG_RG, FMT_32_AS_8, FMT_32_AS_8_8, FMT_5_9_9_9_SHAREDEXP, |
||
441 | FMT_8_8_8, FMT_16_16_16, FMT_16_16_16_FLOAT, FMT_32_32_32, |
||
442 | FMT_32_32_32_FLOAT=48, |
||
443 | |||
444 | /* High level register file lengths */ |
||
445 | SQ_ALU_CONSTANT = SQ_ALU_CONSTANT0_0, /* 256 PS, 256 VS */ |
||
446 | SQ_ALU_CONSTANT_ps_num = 256, |
||
447 | SQ_ALU_CONSTANT_vs_num = 256, |
||
448 | SQ_ALU_CONSTANT_all_num = 512, |
||
449 | SQ_ALU_CONSTANT_offset = 16, |
||
450 | SQ_ALU_CONSTANT_ps = 0, |
||
451 | SQ_ALU_CONSTANT_vs = SQ_ALU_CONSTANT_ps + SQ_ALU_CONSTANT_ps_num, |
||
452 | SQ_TEX_RESOURCE = SQ_TEX_RESOURCE_WORD0_0, /* 160 PS, 160 VS, 16 FS, 160 GS */ |
||
453 | SQ_TEX_RESOURCE_ps_num = 160, |
||
454 | SQ_TEX_RESOURCE_vs_num = 160, |
||
455 | SQ_TEX_RESOURCE_fs_num = 16, |
||
456 | SQ_TEX_RESOURCE_gs_num = 160, |
||
457 | SQ_TEX_RESOURCE_all_num = 496, |
||
458 | SQ_TEX_RESOURCE_offset = 28, |
||
459 | SQ_TEX_RESOURCE_ps = 0, |
||
460 | SQ_TEX_RESOURCE_vs = SQ_TEX_RESOURCE_ps + SQ_TEX_RESOURCE_ps_num, |
||
461 | SQ_TEX_RESOURCE_fs = SQ_TEX_RESOURCE_vs + SQ_TEX_RESOURCE_vs_num, |
||
462 | SQ_TEX_RESOURCE_gs = SQ_TEX_RESOURCE_fs + SQ_TEX_RESOURCE_fs_num, |
||
463 | SQ_VTX_RESOURCE = SQ_VTX_CONSTANT_WORD0_0, /* 160 PS, 160 VS, 16 FS, 160 GS */ |
||
464 | SQ_VTX_RESOURCE_ps_num = 160, |
||
465 | SQ_VTX_RESOURCE_vs_num = 160, |
||
466 | SQ_VTX_RESOURCE_fs_num = 16, |
||
467 | SQ_VTX_RESOURCE_gs_num = 160, |
||
468 | SQ_VTX_RESOURCE_all_num = 496, |
||
469 | SQ_VTX_RESOURCE_offset = 28, |
||
470 | SQ_VTX_RESOURCE_ps = 0, |
||
471 | SQ_VTX_RESOURCE_vs = SQ_VTX_RESOURCE_ps + SQ_VTX_RESOURCE_ps_num, |
||
472 | SQ_VTX_RESOURCE_fs = SQ_VTX_RESOURCE_vs + SQ_VTX_RESOURCE_vs_num, |
||
473 | SQ_VTX_RESOURCE_gs = SQ_VTX_RESOURCE_fs + SQ_VTX_RESOURCE_fs_num, |
||
474 | SQ_TEX_SAMPLER_WORD = SQ_TEX_SAMPLER_WORD0_0, /* 18 per PS, VS, GS */ |
||
475 | SQ_TEX_SAMPLER_WORD_ps_num = 18, |
||
476 | SQ_TEX_SAMPLER_WORD_vs_num = 18, |
||
477 | SQ_TEX_SAMPLER_WORD_gs_num = 18, |
||
478 | SQ_TEX_SAMPLER_WORD_all_num = 54, |
||
479 | SQ_TEX_SAMPLER_WORD_offset = 12, |
||
480 | SQ_TEX_SAMPLER_WORD_ps = 0, |
||
481 | SQ_TEX_SAMPLER_WORD_vs = SQ_TEX_SAMPLER_WORD_ps + SQ_TEX_SAMPLER_WORD_ps_num, |
||
482 | SQ_TEX_SAMPLER_WORD_gs = SQ_TEX_SAMPLER_WORD_vs + SQ_TEX_SAMPLER_WORD_vs_num, |
||
483 | SQ_LOOP_CONST = SQ_LOOP_CONST_0, /* 32 per PS, VS, GS */ |
||
484 | SQ_LOOP_CONST_ps_num = 32, |
||
485 | SQ_LOOP_CONST_vs_num = 32, |
||
486 | SQ_LOOP_CONST_gs_num = 32, |
||
487 | SQ_LOOP_CONST_all_num = 96, |
||
488 | SQ_LOOP_CONST_offset = 4, |
||
489 | SQ_LOOP_CONST_ps = 0, |
||
490 | SQ_LOOP_CONST_vs = SQ_LOOP_CONST_ps + SQ_LOOP_CONST_ps_num, |
||
491 | SQ_LOOP_CONST_gs = SQ_LOOP_CONST_vs + SQ_LOOP_CONST_vs_num, |
||
492 | SQ_BOOL_CONST = SQ_BOOL_CONST_0, /* 32 bits per PS, VS, GS */ |
||
493 | SQ_BOOL_CONST_ps_num = 1, |
||
494 | SQ_BOOL_CONST_vs_num = 1, |
||
495 | SQ_BOOL_CONST_gs_num = 1, |
||
496 | SQ_BOOL_CONST_all_num = 3, |
||
497 | SQ_BOOL_CONST_offset = 4, |
||
498 | SQ_BOOL_CONST_ps = 0, |
||
499 | SQ_BOOL_CONST_vs = SQ_BOOL_CONST_ps + SQ_BOOL_CONST_ps_num, |
||
500 | SQ_BOOL_CONST_gs = SQ_BOOL_CONST_vs + SQ_BOOL_CONST_vs_num |
||
501 | }; |
||
502 | |||
503 | |||
504 | #endif><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><>><> |