[PATCH] drm/amdgpu: must update page table after gpu reset

Christian König deathsimple at vodafone.de
Mon Jun 27 09:58:22 UTC 2016


Patch is Reviewed-by: Christian König <christian.koenig at amd.com>.

Regards,
Christian.

Am 27.06.2016 um 11:06 schrieb Chunming Zhou:
> Record the gpu reset count in vmid to identify if gpu reset happened.
>
> Change-Id: Iebfc093a3fdc79adc9b8f54453f1d2135a31e74b
> Signed-off-by: Chunming Zhou <David1.Zhou at amd.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu.h    | 2 ++
>   drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 4 +++-
>   2 files changed, 5 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
> index 475a151..0474450 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
> @@ -895,6 +895,8 @@ struct amdgpu_vm_id {
>   	/* last flushed PD/PT update */
>   	struct fence		*flushed_updates;
>   
> +	uint32_t                current_gpu_reset_count;
> +
>   	uint32_t		gds_base;
>   	uint32_t		gds_size;
>   	uint32_t		gws_base;
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> index 35db766..1e6a897 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> @@ -250,6 +250,8 @@ int amdgpu_vm_grab_id(struct amdgpu_vm *vm, struct amdgpu_ring *ring,
>   		/* Check all the prerequisites to using this VMID */
>   		if (!id)
>   			continue;
> +		if (id->current_gpu_reset_count != atomic_read(&adev->gpu_reset_counter))
> +			continue;
>   
>   		if (atomic64_read(&id->owner) != vm->client_id)
>   			continue;
> @@ -303,7 +305,7 @@ int amdgpu_vm_grab_id(struct amdgpu_vm *vm, struct amdgpu_ring *ring,
>   	id->flushed_updates = fence_get(updates);
>   
>   	id->pd_gpu_addr = pd_addr;
> -
> +	id->current_gpu_reset_count = atomic_read(&adev->gpu_reset_counter);
>   	list_move_tail(&id->list, &adev->vm_manager.ids_lru);
>   	atomic64_set(&id->owner, vm->client_id);
>   	vm->ids[ring->idx] = id;



More information about the amd-gfx mailing list