[PATCH] Remove calls to DAL suspend/resume from amdgpu_device_gpu_recover.
Christian König
ckoenig.leichtzumerken at gmail.com
Fri May 18 09:54:19 UTC 2018
Am 17.05.2018 um 20:41 schrieb Harry Wentland:
> On 2018-05-17 11:50 AM, Andrey Grodzovsky wrote:
>> First of all it's already being called from the display code from amd_ip_funcs.suspend/resume hooks.
>> Second of all, the place in amdgpu_device_gpu_recover it's being called is wrong for GPU stalls since
>> it is called BEFORE we cancel and force completion of all jobs which were not yet processed.
>> So, as Bas pointed in the ticket we will try to wait for fence in amdgpu_pm_compute_clocks but the pipe
>> is hanged so we end up in deadlock.
>>
>> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106500
>> Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky at amd.com>
> Reviewed-by: Harry Wentland <harry.wentland at amd.com>
Reviewed-by: Christian König <christian.koenig at amd.com>
>
> Harry
>
>> ---
>> drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 9 +--------
>> 1 file changed, 1 insertion(+), 8 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> index fcd4bb2..f5c0a2d 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
>> @@ -3200,10 +3200,6 @@ int amdgpu_device_gpu_recover(struct amdgpu_device *adev,
>> /* block TTM */
>> resched = ttm_bo_lock_delayed_workqueue(&adev->mman.bdev);
>>
>> - /* store modesetting */
>> - if (amdgpu_device_has_dc_support(adev))
>> - state = drm_atomic_helper_suspend(adev->ddev);
>> -
>> /* block all schedulers and reset given job's ring */
>> for (i = 0; i < AMDGPU_MAX_RINGS; ++i) {
>> struct amdgpu_ring *ring = adev->rings[i];
>> @@ -3243,10 +3239,7 @@ int amdgpu_device_gpu_recover(struct amdgpu_device *adev,
>> kthread_unpark(ring->sched.thread);
>> }
>>
>> - if (amdgpu_device_has_dc_support(adev)) {
>> - if (drm_atomic_helper_resume(adev->ddev, state))
>> - dev_info(adev->dev, "drm resume failed:%d\n", r);
>> - } else {
>> + if (!amdgpu_device_has_dc_support(adev)) {
>> drm_helper_resume_force_mode(adev->ddev);
>> }
>>
>>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
More information about the amd-gfx
mailing list