drm/amdgpu: install stub fence into potential unused fence pointers
authorjsg <jsg@openbsd.org>
Thu, 24 Aug 2023 06:03:05 +0000 (06:03 +0000)
committerjsg <jsg@openbsd.org>
Thu, 24 Aug 2023 06:03:05 +0000 (06:03 +0000)
From Lang Yu
78b25110eb8c6990f7f5096bc0136c12a2b4cc99 in linux-6.1.y/6.1.47
187916e6ed9d0c3b3abc27429f7a5f8c936bd1f0 in mainline linux

sys/dev/pci/drm/amd/amdgpu/amdgpu_vm.c

index 54e47f3..f8f2457 100644 (file)
@@ -1414,6 +1414,7 @@ struct amdgpu_bo_va *amdgpu_vm_bo_add(struct amdgpu_device *adev,
        amdgpu_vm_bo_base_init(&bo_va->base, vm, bo);
 
        bo_va->ref_count = 1;
+       bo_va->last_pt_update = dma_fence_get_stub();
        INIT_LIST_HEAD(&bo_va->valids);
        INIT_LIST_HEAD(&bo_va->invalids);
 
@@ -2142,7 +2143,8 @@ int amdgpu_vm_init(struct amdgpu_device *adev, struct amdgpu_vm *vm)
                vm->update_funcs = &amdgpu_vm_cpu_funcs;
        else
                vm->update_funcs = &amdgpu_vm_sdma_funcs;
-       vm->last_update = NULL;
+
+       vm->last_update = dma_fence_get_stub();
        vm->last_unlocked = dma_fence_get_stub();
        vm->last_tlb_flush = dma_fence_get_stub();
 
@@ -2271,7 +2273,7 @@ int amdgpu_vm_make_compute(struct amdgpu_device *adev, struct amdgpu_vm *vm)
                goto unreserve_bo;
 
        dma_fence_put(vm->last_update);
-       vm->last_update = NULL;
+       vm->last_update = dma_fence_get_stub();
        vm->is_compute_context = true;
 
        /* Free the shadow bo for compute VM */