[PATCH 05/12] drm/amdgpu: block ttm first before parking scheduler

Christian König deathsimple at vodafone.de
Fri Jul 1 09:21:49 UTC 2016


Am 30.06.2016 um 11:34 schrieb Chunming Zhou:
> Change-Id: I6122248dca518afe5ea05d611eb09116631670bd
> Signed-off-by: Chunming Zhou <David1.Zhou at amd.com>

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

> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 5 +++--
>   1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index 742ad22..f71db10 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -1943,6 +1943,9 @@ int amdgpu_gpu_reset(struct amdgpu_device *adev)
>   	atomic_inc(&adev->gpu_reset_counter);
>   	atomic_set(&adev->is_gpu_reset, 1);
>   
> +	/* block TTM */
> +	resched = ttm_bo_lock_delayed_workqueue(&adev->mman.bdev);
> +
>   	/* block scheduler */
>   	for (i = 0; i < AMDGPU_MAX_RINGS; ++i) {
>   		struct amdgpu_ring *ring = adev->rings[i];
> @@ -1954,8 +1957,6 @@ int amdgpu_gpu_reset(struct amdgpu_device *adev)
>   		amd_sched_hw_job_reset(&ring->sched);
>   	}
>   
> -	/* block TTM */
> -	resched = ttm_bo_lock_delayed_workqueue(&adev->mman.bdev);
>   	/* store modesetting */
>   	if (amdgpu_device_has_dal_support(adev))
>   		state = drm_atomic_helper_suspend(adev->ddev);



More information about the amd-gfx mailing list