drm/amdgpu: fix cik sdma ucode memleak
Signed-off-by: Monk Liu <Monk.Liu@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
@@ -66,6 +66,16 @@ MODULE_FIRMWARE("radeon/mullins_sdma1.bin");
|
|||||||
|
|
||||||
u32 amdgpu_cik_gpu_check_soft_reset(struct amdgpu_device *adev);
|
u32 amdgpu_cik_gpu_check_soft_reset(struct amdgpu_device *adev);
|
||||||
|
|
||||||
|
|
||||||
|
static void cik_sdma_free_microcode(struct amdgpu_device *adev)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
for (i = 0; i < adev->sdma.num_instances; i++) {
|
||||||
|
release_firmware(adev->sdma.instance[i].fw);
|
||||||
|
adev->sdma.instance[i].fw = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* sDMA - System DMA
|
* sDMA - System DMA
|
||||||
* Starting with CIK, the GPU has new asynchronous
|
* Starting with CIK, the GPU has new asynchronous
|
||||||
@@ -1005,6 +1015,7 @@ static int cik_sdma_sw_fini(void *handle)
|
|||||||
for (i = 0; i < adev->sdma.num_instances; i++)
|
for (i = 0; i < adev->sdma.num_instances; i++)
|
||||||
amdgpu_ring_fini(&adev->sdma.instance[i].ring);
|
amdgpu_ring_fini(&adev->sdma.instance[i].ring);
|
||||||
|
|
||||||
|
cik_sdma_free_microcode(adev);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user