Subversion Repositories Kolibri OS

Rev

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
/**