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.koe...@amd.com>; Liu, Monk <monk....@amd.com>; 
amd-gfx@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-boun...@lists.freedesktop.org] On Behalf 
>Of Christian K?nig
>Sent: Monday, September 18, 2017 5:06 PM
>To: Liu, Monk <monk....@amd.com>; amd-gfx@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....@amd.com>
>
>Acked-by: Christian König <christian.koe...@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@lists.freedesktop.org
>https://lists.freedesktop.org/mailman/listinfo/amd-gfx
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to