[PATCH] drm/amdgpu: disable CRTCs before teardown
Lukas Wunner
lukas at wunner.de
Mon Sep 26 17:29:14 UTC 2016
On Sun, Sep 25, 2016 at 11:34:48PM +0300, Grazvydas Ignotas wrote:
> Some code called by drm_crtc_force_disable_all() wants to wait for all
> fences, so only do fence teardown after CRTCs are disabled.
Ugh, how embarrassing, that was added by me.
Do you have a BUG splat (e.g. soft lockup) for this? I'd be curious to
see exactly where things explode, would also be good to have that in
the commit message.
Thanks!
Lukas
>
> Signed-off-by: Grazvydas Ignotas <notasas at gmail.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> index 99a15ca..1a1bc79 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
> @@ -1822,11 +1822,11 @@ void amdgpu_device_fini(struct amdgpu_device *adev)
>
> DRM_INFO("amdgpu: finishing device.\n");
> adev->shutdown = true;
> + drm_crtc_force_disable_all(adev->ddev);
> /* evict vram memory */
> amdgpu_bo_evict_vram(adev);
> amdgpu_ib_pool_fini(adev);
> amdgpu_fence_driver_fini(adev);
> - drm_crtc_force_disable_all(adev->ddev);
> amdgpu_fbdev_fini(adev);
> r = amdgpu_fini(adev);
> kfree(adev->ip_block_status);
> --
> 2.7.4
More information about the dri-devel
mailing list