Rev 5271 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5271 | Rev 6104 | ||
---|---|---|---|
Line 121... | Line 121... | ||
121 | ib->ptr[ib->length_dw++] = pe; |
121 | ib->ptr[ib->length_dw++] = pe; |
122 | ib->ptr[ib->length_dw++] = upper_32_bits(pe) & 0xff; |
122 | ib->ptr[ib->length_dw++] = upper_32_bits(pe) & 0xff; |
123 | for (; ndw > 0; ndw -= 2, --count, pe += 8) { |
123 | for (; ndw > 0; ndw -= 2, --count, pe += 8) { |
124 | if (flags & R600_PTE_SYSTEM) { |
124 | if (flags & R600_PTE_SYSTEM) { |
125 | value = radeon_vm_map_gart(rdev, addr); |
125 | value = radeon_vm_map_gart(rdev, addr); |
126 | value &= 0xFFFFFFFFFFFFF000ULL; |
- | |
127 | } else if (flags & R600_PTE_VALID) { |
126 | } else if (flags & R600_PTE_VALID) { |
128 | value = addr; |
127 | value = addr; |
129 | } else { |
128 | } else { |
130 | value = 0; |
129 | value = 0; |
131 | } |
130 | } |
Line 204... | Line 203... | ||
204 | 203 | ||
205 | /* bits 0-7 are the VM contexts0-7 */ |
204 | /* bits 0-7 are the VM contexts0-7 */ |
206 | radeon_ring_write(ring, DMA_PACKET(DMA_PACKET_SRBM_WRITE, 0, 0, 0, 0)); |
205 | radeon_ring_write(ring, DMA_PACKET(DMA_PACKET_SRBM_WRITE, 0, 0, 0, 0)); |
207 | radeon_ring_write(ring, (0xf << 16) | (VM_INVALIDATE_REQUEST >> 2)); |
206 | radeon_ring_write(ring, (0xf << 16) | (VM_INVALIDATE_REQUEST >> 2)); |
- | 207 | radeon_ring_write(ring, 1 << vm_id); |
|
- | 208 | ||
- | 209 | /* wait for invalidate to complete */ |
|
- | 210 | radeon_ring_write(ring, DMA_PACKET(DMA_PACKET_POLL_REG_MEM, 0, 0, 0, 0)); |
|
- | 211 | radeon_ring_write(ring, VM_INVALIDATE_REQUEST); |
|
- | 212 | radeon_ring_write(ring, 0xff << 16); /* retry */ |
|
- | 213 | radeon_ring_write(ring, 1 << vm_id); /* mask */ |
|
- | 214 | radeon_ring_write(ring, 0); /* value */ |
|
208 | radeon_ring_write(ring, 1 << vm_id); |
215 | radeon_ring_write(ring, (0 << 28) | 0x20); /* func(always) | poll interval */ |
Line 209... | Line 216... | ||
209 | } |
216 | } |
210 | 217 | ||
211 | /** |
218 | /** |