Message ID | 1363035984-4861-2-git-send-email-alexdeucher@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Am 11.03.2013 22:06, schrieb alexdeucher@gmail.com: > From: Alex Deucher <alexander.deucher@amd.com> > > We weren't properly tearing down the VM sub-alloctor > on suspend leading to bogus VM PTs on resume. > > Fixes: > https://bugs.freedesktop.org/show_bug.cgi?id=60439 > > Tested-by: Dmitry Cherkasov <Dmitrii.Cherkasov@amd.com> > Signed-off-by: Alex Deucher <alexander.deucher@amd.com> > Cc: stable@vger.kernel.org I'm still wondering how I missed that. Anyway, I have a NAK on the other patch, but this one is: Reviewed-by: Christian König <christian.koenig@amd.com> Christian. > --- > drivers/gpu/drm/radeon/ni.c | 1 + > drivers/gpu/drm/radeon/si.c | 1 + > 2 files changed, 2 insertions(+), 0 deletions(-) > > diff --git a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c > index 3d81ca7..e6f3989 100644 > --- a/drivers/gpu/drm/radeon/ni.c > +++ b/drivers/gpu/drm/radeon/ni.c > @@ -1780,6 +1780,7 @@ int cayman_resume(struct radeon_device *rdev) > int cayman_suspend(struct radeon_device *rdev) > { > r600_audio_fini(rdev); > + radeon_vm_manager_fini(rdev); > cayman_cp_enable(rdev, false); > cayman_dma_stop(rdev); > evergreen_irq_suspend(rdev); > diff --git a/drivers/gpu/drm/radeon/si.c b/drivers/gpu/drm/radeon/si.c > index 9128120..bafbe32 100644 > --- a/drivers/gpu/drm/radeon/si.c > +++ b/drivers/gpu/drm/radeon/si.c > @@ -4469,6 +4469,7 @@ int si_resume(struct radeon_device *rdev) > > int si_suspend(struct radeon_device *rdev) > { > + radeon_vm_manager_fini(rdev); > si_cp_enable(rdev, false); > cayman_dma_stop(rdev); > si_irq_suspend(rdev);
diff --git a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c index 3d81ca7..e6f3989 100644 --- a/drivers/gpu/drm/radeon/ni.c +++ b/drivers/gpu/drm/radeon/ni.c @@ -1780,6 +1780,7 @@ int cayman_resume(struct radeon_device *rdev) int cayman_suspend(struct radeon_device *rdev) { r600_audio_fini(rdev); + radeon_vm_manager_fini(rdev); cayman_cp_enable(rdev, false); cayman_dma_stop(rdev); evergreen_irq_suspend(rdev); diff --git a/drivers/gpu/drm/radeon/si.c b/drivers/gpu/drm/radeon/si.c index 9128120..bafbe32 100644 --- a/drivers/gpu/drm/radeon/si.c +++ b/drivers/gpu/drm/radeon/si.c @@ -4469,6 +4469,7 @@ int si_resume(struct radeon_device *rdev) int si_suspend(struct radeon_device *rdev) { + radeon_vm_manager_fini(rdev); si_cp_enable(rdev, false); cayman_dma_stop(rdev); si_irq_suspend(rdev);