[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