| From d965441342f3b7d63db784cad852328d17d47942 Mon Sep 17 00:00:00 2001 |
| From: Jerome Glisse <jglisse@redhat.com> |
| Date: Wed, 26 Feb 2014 19:22:47 -0500 |
| Subject: drm/radeon: free uvd ring on unload |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| From: Jerome Glisse <jglisse@redhat.com> |
| |
| commit d965441342f3b7d63db784cad852328d17d47942 upstream. |
| |
| Need to free the uvd ring. Also reshuffle gart tear down to |
| happen after uvd tear down. |
| |
| Signed-off-by: Jérôme Glisse <jglisse@redhat.com> |
| Reviewed-by: Christian König <christian.koenig@amd.com> |
| Signed-off-by: Alex Deucher <alexander.deucher@amd.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/gpu/drm/radeon/evergreen.c | 2 +- |
| drivers/gpu/drm/radeon/radeon_uvd.c | 2 ++ |
| drivers/gpu/drm/radeon/rv770.c | 2 +- |
| 3 files changed, 4 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/gpu/drm/radeon/evergreen.c |
| +++ b/drivers/gpu/drm/radeon/evergreen.c |
| @@ -5418,9 +5418,9 @@ void evergreen_fini(struct radeon_device |
| radeon_wb_fini(rdev); |
| radeon_ib_pool_fini(rdev); |
| radeon_irq_kms_fini(rdev); |
| - evergreen_pcie_gart_fini(rdev); |
| uvd_v1_0_fini(rdev); |
| radeon_uvd_fini(rdev); |
| + evergreen_pcie_gart_fini(rdev); |
| r600_vram_scratch_fini(rdev); |
| radeon_gem_fini(rdev); |
| radeon_fence_driver_fini(rdev); |
| --- a/drivers/gpu/drm/radeon/radeon_uvd.c |
| +++ b/drivers/gpu/drm/radeon/radeon_uvd.c |
| @@ -171,6 +171,8 @@ void radeon_uvd_fini(struct radeon_devic |
| |
| radeon_bo_unref(&rdev->uvd.vcpu_bo); |
| |
| + radeon_ring_fini(rdev, &rdev->ring[R600_RING_TYPE_UVD_INDEX]); |
| + |
| release_firmware(rdev->uvd_fw); |
| } |
| |
| --- a/drivers/gpu/drm/radeon/rv770.c |
| +++ b/drivers/gpu/drm/radeon/rv770.c |
| @@ -1921,9 +1921,9 @@ void rv770_fini(struct radeon_device *rd |
| radeon_wb_fini(rdev); |
| radeon_ib_pool_fini(rdev); |
| radeon_irq_kms_fini(rdev); |
| - rv770_pcie_gart_fini(rdev); |
| uvd_v1_0_fini(rdev); |
| radeon_uvd_fini(rdev); |
| + rv770_pcie_gart_fini(rdev); |
| r600_vram_scratch_fini(rdev); |
| radeon_gem_fini(rdev); |
| radeon_fence_driver_fini(rdev); |