[PATCH 1/2] drm/amdgpu: fix PRT cleanup order in the VM

Nicolai Hähnle nhaehnle at gmail.com
Mon Feb 13 16:40:25 UTC 2017


On 13.02.2017 14:23, Christian König wrote:
> From: Christian König <christian.koenig at amd.com>
>
> We need to unmap the PRTs first and then free our scheduler entity.

Thanks for the quick fix! Both patches are

Reviewed-by: Nicolai Hähnle <nicolai.haehnle at amd.com>

... and I'll probably get around to testing them soon, as well.

>
> Signed-off-by: Christian König <christian.koenig at amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> index bc32239..0b7386e 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> @@ -1687,8 +1687,6 @@ void amdgpu_vm_fini(struct amdgpu_device *adev, struct amdgpu_vm *vm)
>  	struct amdgpu_bo_va_mapping *mapping, *tmp;
>  	int i;
>
> -	amd_sched_entity_fini(vm->entity.sched, &vm->entity);
> -
>  	if (!RB_EMPTY_ROOT(&vm->va)) {
>  		dev_err(adev->dev, "still active bo inside vm\n");
>  	}
> @@ -1706,6 +1704,8 @@ void amdgpu_vm_fini(struct amdgpu_device *adev, struct amdgpu_vm *vm)
>  	}
>  	amdgpu_vm_clear_freed(adev, vm);
>
> +	amd_sched_entity_fini(vm->entity.sched, &vm->entity);
> +
>  	for (i = 0; i < amdgpu_vm_num_pdes(adev); i++) {
>  		struct amdgpu_bo *pt = vm->page_tables[i].bo;
>
>



More information about the amd-gfx mailing list