[PATCH 04/10] drm/amdgpu:put reserve_fw_vram_fini to correct place

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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);




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux