aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
diff options
context:
space:
mode:
authorMonk Liu <Monk.Liu@amd.com>2017-09-15 04:43:01 -0400
committerAlex Deucher <alexander.deucher@amd.com>2017-09-26 15:14:24 -0400
commit4ff184d70e1dd85cc39f3b8ed0d98b728d6d9b6c (patch)
tree42d88687e0ac2de987cb8e5f8fbea77f9a00bdea /drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
parentbeb841028480a13a664f868688102f3cee762a6b (diff)
drm/amdgpu:fix uvd ring fini routine(v2)
fix missing finish uvd enc_ring. v2: since the adev pointer check in already in ring_fini so drop the check outsider Signed-off-by: Monk Liu <Monk.Liu@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
index 331e34ac61fd..e8bd50cf9785 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
@@ -269,6 +269,7 @@ int amdgpu_uvd_sw_init(struct amdgpu_device *adev)
269 269
270int amdgpu_uvd_sw_fini(struct amdgpu_device *adev) 270int amdgpu_uvd_sw_fini(struct amdgpu_device *adev)
271{ 271{
272 int i;
272 kfree(adev->uvd.saved_bo); 273 kfree(adev->uvd.saved_bo);
273 274
274 amd_sched_entity_fini(&adev->uvd.ring.sched, &adev->uvd.entity); 275 amd_sched_entity_fini(&adev->uvd.ring.sched, &adev->uvd.entity);
@@ -279,6 +280,9 @@ int amdgpu_uvd_sw_fini(struct amdgpu_device *adev)
279 280
280 amdgpu_ring_fini(&adev->uvd.ring); 281 amdgpu_ring_fini(&adev->uvd.ring);
281 282
283 for (i = 0; i < AMDGPU_MAX_UVD_ENC_RINGS; ++i)
284 amdgpu_ring_fini(&adev->uvd.ring_enc[i]);
285
282 release_firmware(adev->uvd.fw); 286 release_firmware(adev->uvd.fw);
283 287
284 return 0; 288 return 0;