[PATCH] drm/radeon: free uvd ring on unload

Christian König deathsimple at vodafone.de
Thu Feb 27 01:20:39 PST 2014


Am 27.02.2014 01:22, schrieb j.glisse at gmail.com:
> From: Jerome Glisse <jglisse at redhat.com>
>
> 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 at redhat.com>
> Cc: stable at vger.kernel.org

Reviewed-by: Christian König <christian.koenig at amd.com>

> ---
>   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(-)
>
> diff --git a/drivers/gpu/drm/radeon/evergreen.c b/drivers/gpu/drm/radeon/evergreen.c
> index 5623e75..8a2c010 100644
> --- a/drivers/gpu/drm/radeon/evergreen.c
> +++ b/drivers/gpu/drm/radeon/evergreen.c
> @@ -5475,9 +5475,9 @@ void evergreen_fini(struct radeon_device *rdev)
>   	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);
> diff --git a/drivers/gpu/drm/radeon/radeon_uvd.c b/drivers/gpu/drm/radeon/radeon_uvd.c
> index 6781fee..3e6804b 100644
> --- 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_device *rdev)
>   
>   	radeon_bo_unref(&rdev->uvd.vcpu_bo);
>   
> +	radeon_ring_fini(rdev, &rdev->ring[R600_RING_TYPE_UVD_INDEX]);
> +
>   	release_firmware(rdev->uvd_fw);
>   }
>   
> diff --git a/drivers/gpu/drm/radeon/rv770.c b/drivers/gpu/drm/radeon/rv770.c
> index 6c772e5..4e37a42 100644
> --- a/drivers/gpu/drm/radeon/rv770.c
> +++ b/drivers/gpu/drm/radeon/rv770.c
> @@ -1955,9 +1955,9 @@ void rv770_fini(struct radeon_device *rdev)
>   	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);



More information about the dri-devel mailing list