OSDN Git Service

drm/amdgpu: stop using amdgpu_bo_gpu_offset in the VM backend
authorChristian König <christian.koenig@amd.com>
Fri, 6 Dec 2019 11:28:47 +0000 (12:28 +0100)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 5 Feb 2020 04:30:39 +0000 (23:30 -0500)
We need to update page tables without any lock held.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Felix Kuehling <Felix.Kuehling@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_vm_sdma.c

index 3b61317..ab64817 100644 (file)
@@ -147,7 +147,7 @@ static void amdgpu_vm_sdma_copy_ptes(struct amdgpu_vm_update_params *p,
 
        src += p->num_dw_left * 4;
 
-       pe += amdgpu_bo_gpu_offset(bo);
+       pe += amdgpu_gmc_sign_extend(bo->tbo.offset);
        trace_amdgpu_vm_copy_ptes(pe, src, count, p->direct);
 
        amdgpu_vm_copy_pte(p->adev, ib, pe, src, count);
@@ -174,7 +174,7 @@ static void amdgpu_vm_sdma_set_ptes(struct amdgpu_vm_update_params *p,
 {
        struct amdgpu_ib *ib = p->job->ibs;
 
-       pe += amdgpu_bo_gpu_offset(bo);
+       pe += amdgpu_gmc_sign_extend(bo->tbo.offset);
        trace_amdgpu_vm_set_ptes(pe, addr, count, incr, flags, p->direct);
        if (count < 3) {
                amdgpu_vm_write_pte(p->adev, ib, pe, addr | flags,