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

Liu, Monk Monk.Liu at amd.com
Wed Sep 20 01:54:49 UTC 2017


This condition is wrong, you are right, and I followed up a patch to correct it 
Should be :

If (!amdgpu_sriov_vf()) || !adev->in_reset)


BR Monk

-----Original Message-----
From: Quan, Evan 
Sent: 2017年9月20日 9:32
To: Koenig, Christian <Christian.Koenig at amd.com>; Liu, Monk <Monk.Liu at amd.com>; amd-gfx at lists.freedesktop.org
Subject: RE: [PATCH 04/18] drm/amdgpu/sriov:don't load psp fw during gpu reset

Hi Monk,

I think your change affects barematal case. Per my confirmation, vega10 cannot boot with the change applied.
If the change is only intended to cover gpu reset case of sriov, maybe the logic should be If (!(amdgpu_sriov_vf(adev) && adev->in_sriov_reset))

Regards,
Evan
>-----Original Message-----
>From: amd-gfx [mailto:amd-gfx-bounces at lists.freedesktop.org] On Behalf 
>Of Christian K?nig
>Sent: Monday, September 18, 2017 5:06 PM
>To: Liu, Monk <Monk.Liu at amd.com>; amd-gfx at lists.freedesktop.org
>Subject: Re: [PATCH 04/18] drm/amdgpu/sriov:don't load psp fw during 
>gpu reset
>
>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)
>
>
>_______________________________________________
>amd-gfx mailing list
>amd-gfx at lists.freedesktop.org
>https://lists.freedesktop.org/mailman/listinfo/amd-gfx


More information about the amd-gfx mailing list