diff options
author | Monk Liu <Monk.Liu@amd.com> | 2017-11-14 11:55:14 +0300 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2017-11-16 21:36:24 +0300 |
commit | 9862def99d6fd007e73d9b7d8474ae18c1b4ce48 (patch) | |
tree | ae5f10a29235a1693089c75d7e8ff4f207dc5b59 /drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | |
parent | 9ee8ecbb3eafeb1a899eaba1329ba3c4c092b754 (diff) | |
download | linux-9862def99d6fd007e73d9b7d8474ae18c1b4ce48.tar.xz |
drm/amdgpu:fix memleak
those RLC used buffers are not cleared in GFX's sw_fini
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>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c index b8002ac3e536..9ecdf621a74a 100644 --- a/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v8_0.c @@ -2118,6 +2118,15 @@ static int gfx_v8_0_sw_fini(void *handle) gfx_v8_0_mec_fini(adev); gfx_v8_0_rlc_fini(adev); + amdgpu_bo_free_kernel(&adev->gfx.rlc.clear_state_obj, + &adev->gfx.rlc.clear_state_gpu_addr, + (void **)&adev->gfx.rlc.cs_ptr); + if ((adev->asic_type == CHIP_CARRIZO) || + (adev->asic_type == CHIP_STONEY)) { + amdgpu_bo_free_kernel(&adev->gfx.rlc.cp_table_obj, + &adev->gfx.rlc.cp_table_gpu_addr, + (void **)&adev->gfx.rlc.cp_table_ptr); + } gfx_v8_0_free_microcode(adev); return 0; |