diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/cik_sdma.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/cik_sdma.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c index e8a48ae8d360..abfa3f2f15fa 100644 --- a/drivers/gpu/drm/amd/amdgpu/cik_sdma.c +++ b/drivers/gpu/drm/amd/amdgpu/cik_sdma.c | |||
@@ -714,7 +714,7 @@ static void cik_sdma_vm_copy_pte(struct amdgpu_ib *ib, | |||
714 | * Update PTEs by writing them manually using sDMA (CIK). | 714 | * Update PTEs by writing them manually using sDMA (CIK). |
715 | */ | 715 | */ |
716 | static void cik_sdma_vm_write_pte(struct amdgpu_ib *ib, | 716 | static void cik_sdma_vm_write_pte(struct amdgpu_ib *ib, |
717 | uint64_t pe, | 717 | const dma_addr_t *pages_addr, uint64_t pe, |
718 | uint64_t addr, unsigned count, | 718 | uint64_t addr, unsigned count, |
719 | uint32_t incr, uint32_t flags) | 719 | uint32_t incr, uint32_t flags) |
720 | { | 720 | { |
@@ -733,14 +733,7 @@ static void cik_sdma_vm_write_pte(struct amdgpu_ib *ib, | |||
733 | ib->ptr[ib->length_dw++] = upper_32_bits(pe); | 733 | ib->ptr[ib->length_dw++] = upper_32_bits(pe); |
734 | ib->ptr[ib->length_dw++] = ndw; | 734 | ib->ptr[ib->length_dw++] = ndw; |
735 | for (; ndw > 0; ndw -= 2, --count, pe += 8) { | 735 | for (; ndw > 0; ndw -= 2, --count, pe += 8) { |
736 | if (flags & AMDGPU_PTE_SYSTEM) { | 736 | value = amdgpu_vm_map_gart(pages_addr, addr); |
737 | value = amdgpu_vm_map_gart(ib->ring->adev, addr); | ||
738 | value &= 0xFFFFFFFFFFFFF000ULL; | ||
739 | } else if (flags & AMDGPU_PTE_VALID) { | ||
740 | value = addr; | ||
741 | } else { | ||
742 | value = 0; | ||
743 | } | ||
744 | addr += incr; | 737 | addr += incr; |
745 | value |= flags; | 738 | value |= flags; |
746 | ib->ptr[ib->length_dw++] = value; | 739 | ib->ptr[ib->length_dw++] = value; |