[PATCH] drm/amdgpu: skip fw pri bo alloc for SRIOV
Christian König
ckoenig.leichtzumerken at gmail.com
Thu May 16 07:24:45 UTC 2019
Am 16.05.19 um 07:11 schrieb Yintian Tao:
> PSP fw primary buffer is not used under SRIOV
> Therefore, we don't need to allocate memory for it.
>
> Signed-off-by: Yintian Tao <yttao at amd.com>
> Signed-off-by: Monk Liu <Monk.Liu at amd.com>
> ---
> drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 22 +++++++++++++---------
> 1 file changed, 13 insertions(+), 9 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> index c567a55..d3c77d2 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> @@ -905,13 +905,16 @@ static int psp_load_fw(struct amdgpu_device *adev)
> if (!psp->cmd)
> return -ENOMEM;
>
> - ret = amdgpu_bo_create_kernel(adev, PSP_1_MEG, PSP_1_MEG,
> - AMDGPU_GEM_DOMAIN_GTT,
> - &psp->fw_pri_bo,
> - &psp->fw_pri_mc_addr,
> - &psp->fw_pri_buf);
> - if (ret)
> - goto failed;
> + /* this fw pri bo is not used under SRIOV */
> + if (!amdgpu_sriov_vf(psp->adev)) {
> + ret = amdgpu_bo_create_kernel(adev, PSP_1_MEG, PSP_1_MEG,
> + AMDGPU_GEM_DOMAIN_GTT,
> + &psp->fw_pri_bo,
> + &psp->fw_pri_mc_addr,
> + &psp->fw_pri_buf);
> + if (ret)
> + goto failed;
> + }
>
> ret = amdgpu_bo_create_kernel(adev, PSP_FENCE_BUFFER_SIZE, PAGE_SIZE,
> AMDGPU_GEM_DOMAIN_VRAM,
> @@ -1012,8 +1015,9 @@ static int psp_hw_fini(void *handle)
> psp_ring_destroy(psp, PSP_RING_TYPE__KM);
>
> amdgpu_bo_free_kernel(&psp->tmr_bo, &psp->tmr_mc_addr, &psp->tmr_buf);
> - amdgpu_bo_free_kernel(&psp->fw_pri_bo,
> - &psp->fw_pri_mc_addr, &psp->fw_pri_buf);
> + if (!amdgpu_sriov_vf(psp->adev))
> + amdgpu_bo_free_kernel(&psp->fw_pri_bo,
> + &psp->fw_pri_mc_addr, &psp->fw_pri_buf);
This is superfluous, amdgpu_bo_free_kernel() does a NULL check anyway.
Apart from that looks good to me,
Christian.
> amdgpu_bo_free_kernel(&psp->fence_buf_bo,
> &psp->fence_buf_mc_addr, &psp->fence_buf);
> amdgpu_bo_free_kernel(&psp->asd_shared_bo, &psp->asd_shared_mc_addr,
More information about the amd-gfx
mailing list