From: Harry Wentland <harry.wentland-5C7GfCeVMHo@public.gmane.org>
To: Andrey Grodzovsky
<andrey.grodzovsky-5C7GfCeVMHo@public.gmane.org>,
amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org
Cc: bas-dldO88ZXqoXqqjsSq9zF6IRWq/SkRNHw@public.gmane.org
Subject: Re: [PATCH] Remove calls to DAL suspend/resume from amdgpu_device_gpu_recover.
Date: Thu, 17 May 2018 14:41:38 -0400 [thread overview]
Message-ID: <6d346841-6618-08cf-ac22-e3b4e8bb92c0@amd.com> (raw)
In-Reply-To: <1526572224-5392-1-git-send-email-andrey.grodzovsky-5C7GfCeVMHo@public.gmane.org>
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@amd.com>
Reviewed-by: Harry Wentland <harry.wentland@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@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
next prev parent reply other threads:[~2018-05-17 18:41 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-17 15:50 [PATCH] Remove calls to DAL suspend/resume from amdgpu_device_gpu_recover Andrey Grodzovsky
[not found] ` <1526572224-5392-1-git-send-email-andrey.grodzovsky-5C7GfCeVMHo@public.gmane.org>
2018-05-17 18:41 ` Harry Wentland [this message]
[not found] ` <6d346841-6618-08cf-ac22-e3b4e8bb92c0-5C7GfCeVMHo@public.gmane.org>
2018-05-18 9:54 ` Christian König
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=6d346841-6618-08cf-ac22-e3b4e8bb92c0@amd.com \
--to=harry.wentland-5c7gfcevmho@public.gmane.org \
--cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
--cc=andrey.grodzovsky-5C7GfCeVMHo@public.gmane.org \
--cc=bas-dldO88ZXqoXqqjsSq9zF6IRWq/SkRNHw@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox