Rev 5271 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5271 | Rev 6104 | ||
---|---|---|---|
Line 370... | Line 370... | ||
370 | ib->ptr[ib->length_dw++] = pe; |
370 | ib->ptr[ib->length_dw++] = pe; |
371 | ib->ptr[ib->length_dw++] = upper_32_bits(pe) & 0xff; |
371 | ib->ptr[ib->length_dw++] = upper_32_bits(pe) & 0xff; |
372 | for (; ndw > 0; ndw -= 2, --count, pe += 8) { |
372 | for (; ndw > 0; ndw -= 2, --count, pe += 8) { |
373 | if (flags & R600_PTE_SYSTEM) { |
373 | if (flags & R600_PTE_SYSTEM) { |
374 | value = radeon_vm_map_gart(rdev, addr); |
374 | value = radeon_vm_map_gart(rdev, addr); |
375 | value &= 0xFFFFFFFFFFFFF000ULL; |
- | |
376 | } else if (flags & R600_PTE_VALID) { |
375 | } else if (flags & R600_PTE_VALID) { |
377 | value = addr; |
376 | value = addr; |
378 | } else { |
377 | } else { |
379 | value = 0; |
378 | value = 0; |
380 | } |
379 | } |
Line 461... | Line 460... | ||
461 | 460 | ||
462 | /* bits 0-7 are the VM contexts0-7 */ |
461 | /* bits 0-7 are the VM contexts0-7 */ |
463 | radeon_ring_write(ring, DMA_PACKET(DMA_PACKET_SRBM_WRITE, 0, 0, 0)); |
462 | radeon_ring_write(ring, DMA_PACKET(DMA_PACKET_SRBM_WRITE, 0, 0, 0)); |
464 | radeon_ring_write(ring, (0xf << 16) | (VM_INVALIDATE_REQUEST >> 2)); |
463 | radeon_ring_write(ring, (0xf << 16) | (VM_INVALIDATE_REQUEST >> 2)); |
- | 464 | radeon_ring_write(ring, 1 << vm_id); |
|
- | 465 | ||
- | 466 | /* wait for invalidate to complete */ |
|
- | 467 | radeon_ring_write(ring, DMA_SRBM_READ_PACKET); |
|
- | 468 | radeon_ring_write(ring, (0xff << 20) | (VM_INVALIDATE_REQUEST >> 2)); |
|
- | 469 | radeon_ring_write(ring, 0); /* mask */ |
|
465 | radeon_ring_write(ring, 1 << vm_id); |
470 | radeon_ring_write(ring, 0); /* value */ |