[PATCH 04/18] drm/amdgpu/sriov:don't load psp fw during gpu reset

Christian König ckoenig.leichtzumerken at gmail.com
Mon Sep 18 09:06:20 UTC 2017


Am 18.09.2017 um 08:11 schrieb Monk Liu:
> At least for SRIOV we found reload PSP fw during
> gpu reset cause PSP hang.
>
> Change-Id: I5f273187a10bb8571b77651dfba7656ce0429af0
> Signed-off-by: Monk Liu <Monk.Liu at amd.com>

Acked-by: Christian König <christian.koenig at amd.com>

> ---
>   drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 15 +++++++++------
>   1 file changed, 9 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> index 8a1ee97..4eee2ef 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
> @@ -253,15 +253,18 @@ static int psp_asd_load(struct psp_context *psp)
>   
>   static int psp_hw_start(struct psp_context *psp)
>   {
> +	struct amdgpu_device *adev = psp->adev;
>   	int ret;
>   
> -	ret = psp_bootloader_load_sysdrv(psp);
> -	if (ret)
> -		return ret;
> +	if (amdgpu_sriov_vf(adev) && !adev->in_sriov_reset) {
> +		ret = psp_bootloader_load_sysdrv(psp);
> +		if (ret)
> +			return ret;
>   
> -	ret = psp_bootloader_load_sos(psp);
> -	if (ret)
> -		return ret;
> +		ret = psp_bootloader_load_sos(psp);
> +		if (ret)
> +			return ret;
> +	}
>   
>   	ret = psp_ring_create(psp, PSP_RING_TYPE__KM);
>   	if (ret)




More information about the amd-gfx mailing list