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

2017-09-19 Thread Liu, Monk
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


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

2017-09-19 Thread Quan, Evan
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


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

2017-09-18 Thread Christian König

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 


Acked-by: Christian König 


---
  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