Lines Matching +full:software +full:- +full:locked
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
12 * all copies or substantial portions of the Software.
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20 * OTHER DEALINGS IN THE SOFTWARE.
32 * si_dma_is_lockup - Check if the DMA engine is locked up
37 * Check if the async DMA engine is locked up.
38 * Returns true if the engine appears to be locked up, false if not.
45 if (ring->idx == R600_RING_TYPE_DMA_INDEX) in si_dma_is_lockup()
58 * si_dma_vm_copy_pages - update PTEs by copying them from the GART
78 ib->ptr[ib->length_dw++] = DMA_PACKET(DMA_PACKET_COPY, in si_dma_vm_copy_pages()
80 ib->ptr[ib->length_dw++] = lower_32_bits(pe); in si_dma_vm_copy_pages()
81 ib->ptr[ib->length_dw++] = lower_32_bits(src); in si_dma_vm_copy_pages()
82 ib->ptr[ib->length_dw++] = upper_32_bits(pe) & 0xff; in si_dma_vm_copy_pages()
83 ib->ptr[ib->length_dw++] = upper_32_bits(src) & 0xff; in si_dma_vm_copy_pages()
87 count -= bytes / 8; in si_dma_vm_copy_pages()
92 * si_dma_vm_write_pages - update PTEs by writing them manually
118 /* for non-physically contiguous pages (system) */ in si_dma_vm_write_pages()
119 ib->ptr[ib->length_dw++] = DMA_PACKET(DMA_PACKET_WRITE, 0, 0, 0, ndw); in si_dma_vm_write_pages()
120 ib->ptr[ib->length_dw++] = pe; in si_dma_vm_write_pages()
121 ib->ptr[ib->length_dw++] = upper_32_bits(pe) & 0xff; in si_dma_vm_write_pages()
122 for (; ndw > 0; ndw -= 2, --count, pe += 8) { in si_dma_vm_write_pages()
132 ib->ptr[ib->length_dw++] = value; in si_dma_vm_write_pages()
133 ib->ptr[ib->length_dw++] = upper_32_bits(value); in si_dma_vm_write_pages()
139 * si_dma_vm_set_pages - update the page tables using the DMA
171 ib->ptr[ib->length_dw++] = DMA_PTE_PDE_PACKET(ndw); in si_dma_vm_set_pages()
172 ib->ptr[ib->length_dw++] = pe; /* dst addr */ in si_dma_vm_set_pages()
173 ib->ptr[ib->length_dw++] = upper_32_bits(pe) & 0xff; in si_dma_vm_set_pages()
174 ib->ptr[ib->length_dw++] = flags; /* mask */ in si_dma_vm_set_pages()
175 ib->ptr[ib->length_dw++] = 0; in si_dma_vm_set_pages()
176 ib->ptr[ib->length_dw++] = value; /* value */ in si_dma_vm_set_pages()
177 ib->ptr[ib->length_dw++] = upper_32_bits(value); in si_dma_vm_set_pages()
178 ib->ptr[ib->length_dw++] = incr; /* increment size */ in si_dma_vm_set_pages()
179 ib->ptr[ib->length_dw++] = 0; in si_dma_vm_set_pages()
182 count -= ndw / 2; in si_dma_vm_set_pages()
194 …radeon_ring_write(ring, (0xf << 16) | ((VM_CONTEXT8_PAGE_TABLE_BASE_ADDR + ((vm_id - 8) << 2)) >> … in si_dma_vm_flush()
203 /* bits 0-7 are the VM contexts0-7 */ in si_dma_vm_flush()
218 * si_copy_dma - copy pages using the DMA engine
237 int ring_index = rdev->asic->copy.dma_ring_index; in si_copy_dma()
238 struct radeon_ring *ring = &rdev->ring[ring_index]; in si_copy_dma()
255 radeon_sync_rings(rdev, &sync, ring->idx); in si_copy_dma()
261 size_in_bytes -= cur_size_in_bytes; in si_copy_dma()
271 r = radeon_fence_emit(rdev, &fence, ring->idx); in si_copy_dma()