Am 14.11.2017 um 10:07 schrieb Monk Liu: > Move "reserve_fw_vram_fini" to the correct place > which should in amdgpu_ttm_fini() since reserve_fw_vram_init is > in amdgpu_ttm_init(). > > this can fix error report and memory leak in "vram_mgr_fini()". > > Change-Id: I4b1dc7eecda62407f30a5a16f59555eee49f04a3 > Signed-off-by: Monk Liu <Monk.Liu at amd.com> Reviewed-by: Christian König <christian.koenig at amd.com> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu.h | 1 + > drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 1 - > drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c | 1 + > 3 files changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h > index 04a0a75..10735e8 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h > @@ -1459,6 +1459,7 @@ struct amdgpu_fw_vram_usage { > }; > > int amdgpu_fw_reserve_vram_init(struct amdgpu_device *adev); > +void amdgpu_fw_reserve_vram_fini(struct amdgpu_device *adev); > > /* > * CGS > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > index aa678ff..9471f47 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > @@ -2479,7 +2479,6 @@ void amdgpu_device_fini(struct amdgpu_device *adev) > /* evict vram memory */ > amdgpu_bo_evict_vram(adev); > amdgpu_ib_pool_fini(adev); > - amdgpu_fw_reserve_vram_fini(adev); > amdgpu_fence_driver_fini(adev); > amdgpu_fbdev_fini(adev); > r = amdgpu_fini(adev); > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > index 615b849..03a5e44 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c > @@ -1643,6 +1643,7 @@ void amdgpu_ttm_fini(struct amdgpu_device *adev) > > amdgpu_ssg_fini(adev); > amdgpu_direct_gma_fini(adev); > + amdgpu_fw_reserve_vram_fini(adev); > > ttm_bo_clean_mm(&adev->mman.bdev, TTM_PL_VRAM); > ttm_bo_clean_mm(&adev->mman.bdev, TTM_PL_TT);