[AMD Official Use Only - AMD Internal Distribution Only]

Okay, part of xgmi ta call is blocked in guest, the other part is not. Then 
just keep the ta init micro as is. will leave psp call to deal with the delta 
between pf and vf.

Thanks for the catching.

Regards,
Hawking

-----Original Message-----
From: Lazar, Lijo <[email protected]>
Sent: Monday, August 12, 2024 13:16
To: Zhang, Hawking <[email protected]>; [email protected]; 
Zhou1, Tao <[email protected]>
Subject: Re: [PATCH] drm/amdgpu: Do not init ta microcode from guest side



On 8/12/2024 10:35 AM, Zhang, Hawking wrote:
> [AMD Official Use Only - AMD Internal Distribution Only]
>
> Yes, this applies to all types of Tas
>

Presently, we have this -
https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/amd/amdgpu/amdgpu_xgmi.c#L925

which makes use of XGMI TA commands in VF mode.

Thanks,
Lijo

> Regards,
> Hawking
>
> -----Original Message-----
> From: Lazar, Lijo <[email protected]>
> Sent: Monday, August 12, 2024 12:52
> To: Zhang, Hawking <[email protected]>; [email protected]; 
> Zhou1, Tao <[email protected]>
> Subject: Re: [PATCH] drm/amdgpu: Do not init ta microcode from guest side
>
>
>
> On 8/12/2024 8:52 AM, Hawking Zhang wrote:
>> TA should not be loaded from guest side.
>
> Does this apply to XGMI TA?
>
> Thanks,
> Lijo
>
>>
>> Signed-off-by: Hawking Zhang <[email protected]>
>> Reviewed-by: Shiwu Zhang <[email protected]>
>> ---
>>  drivers/gpu/drm/amd/amdgpu/psp_v13_0.c | 8 +++++---
>>  1 file changed, 5 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/amd/amdgpu/psp_v13_0.c 
>> b/drivers/gpu/drm/amd/amdgpu/psp_v13_0.c
>> index 85ec9e35690a..749d8143b1e7 100644
>> --- a/drivers/gpu/drm/amd/amdgpu/psp_v13_0.c
>> +++ b/drivers/gpu/drm/amd/amdgpu/psp_v13_0.c
>> @@ -132,9 +132,11 @@ static int psp_v13_0_init_microcode(struct psp_context 
>> *psp)
>>                   (adev->emu_flags & AMDGPU_EMU_dGPU_SIDEWINDER))
>>                       break;
>>               /* It's not necessary to load ras ta on Guest side */
>> -             err = psp_init_ta_microcode(psp, ucode_prefix);
>> -             if (err)
>> -                     return err;
>> +             if (!amdgpu_sriov_vf(adev)) {
>> +                     err = psp_init_ta_microcode(psp, ucode_prefix);
>> +                     if (err)
>> +                             return err;
>> +             }
>>               break;
>>       default:
>>               BUG();

Reply via email to