diff options
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 8 | 
1 files changed, 8 insertions, 0 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c index 8530befb2051..59cac347baa3 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c @@ -2168,6 +2168,14 @@ int amdgpu_vm_make_compute(struct amdgpu_device *adev, struct amdgpu_vm *vm)  	} else {  		vm->update_funcs = &amdgpu_vm_sdma_funcs;  	} +	/* +	 * Make sure root PD gets mapped. As vm_update_mode could be changed +	 * when turning a GFX VM into a compute VM. +	 */ +	r = vm->update_funcs->map_table(to_amdgpu_bo_vm(vm->root.bo)); +	if (r) +		goto unreserve_bo; +  	dma_fence_put(vm->last_update);  	vm->last_update = NULL;  	vm->is_compute_context = true; | 
