diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c index b2fbf96dad7a..7af4b57ad3d4 100644 --- a/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c +++ b/drivers/gpu/drm/amd/amdgpu/sdma_v3_0.c | |||
@@ -922,7 +922,7 @@ static void sdma_v3_0_vm_copy_pte(struct amdgpu_ib *ib, | |||
922 | * Update PTEs by writing them manually using sDMA (CIK). | 922 | * Update PTEs by writing them manually using sDMA (CIK). |
923 | */ | 923 | */ |
924 | static void sdma_v3_0_vm_write_pte(struct amdgpu_ib *ib, | 924 | static void sdma_v3_0_vm_write_pte(struct amdgpu_ib *ib, |
925 | uint64_t pe, | 925 | const dma_addr_t *pages_addr, uint64_t pe, |
926 | uint64_t addr, unsigned count, | 926 | uint64_t addr, unsigned count, |
927 | uint32_t incr, uint32_t flags) | 927 | uint32_t incr, uint32_t flags) |
928 | { | 928 | { |
@@ -941,14 +941,7 @@ static void sdma_v3_0_vm_write_pte(struct amdgpu_ib *ib, | |||
941 | ib->ptr[ib->length_dw++] = upper_32_bits(pe); | 941 | ib->ptr[ib->length_dw++] = upper_32_bits(pe); |
942 | ib->ptr[ib->length_dw++] = ndw; | 942 | ib->ptr[ib->length_dw++] = ndw; |
943 | for (; ndw > 0; ndw -= 2, --count, pe += 8) { | 943 | for (; ndw > 0; ndw -= 2, --count, pe += 8) { |
944 | if (flags & AMDGPU_PTE_SYSTEM) { | 944 | value = amdgpu_vm_map_gart(pages_addr, addr); |
945 | value = amdgpu_vm_map_gart(ib->ring->adev, addr); | ||
946 | value &= 0xFFFFFFFFFFFFF000ULL; | ||
947 | } else if (flags & AMDGPU_PTE_VALID) { | ||
948 | value = addr; | ||
949 | } else { | ||
950 | value = 0; | ||
951 | } | ||
952 | addr += incr; | 945 | addr += incr; |
953 | value |= flags; | 946 | value |= flags; |
954 | ib->ptr[ib->length_dw++] = value; | 947 | ib->ptr[ib->length_dw++] = value; |