[AMD Official Use Only - AMD Internal Distribution Only] Hi @Lazar, Lijo, Please refer the attached. The idea is to try to load regular MEC firmware if SJT one is not available. Thanks, Yuan -----Original Message----- From: Lazar, Lijo <Lijo.Lazar@xxxxxxx> Sent: Friday, December 6, 2024 12:18 AM To: Feng, Yuan <Yuan.Feng@xxxxxxx>; amd-gfx@xxxxxxxxxxxxxxxxxxxxx Subject: Re: [PATCH] drm/amdgpu: Use MEC FW with SJT on gfx_v9_4_3 On 12/6/2024 4:15 AM, Yuan Feng wrote: > On SRIOV, guest driver and host driver might deploy different versions > of MEC firmware binaries that lead to potential compability issues > cause system hang. To solve this, host and guest deploy MEC fw copies with two level jump table. > > Signed-off-by: Yuan Feng <yfeng1@xxxxxxx> > --- > drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c > b/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c > index 03654bfda58a..f248449e93a7 100644 > --- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c > +++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c > @@ -45,6 +45,7 @@ MODULE_FIRMWARE("amdgpu/gc_9_4_3_mec.bin"); > MODULE_FIRMWARE("amdgpu/gc_9_4_4_mec.bin"); > MODULE_FIRMWARE("amdgpu/gc_9_4_3_rlc.bin"); > MODULE_FIRMWARE("amdgpu/gc_9_4_4_rlc.bin"); > +MODULE_FIRMWARE("amdgpu/gc_9_4_3_sjt_mec.bin"); > This change needs to be done on top of https://patchwork.freedesktop.org/patch/626097/ as that one adds support for GFX 9.4.4 also. Thanks, Lijo > #define GFX9_MEC_HPD_SIZE 4096 > #define RLCG_UCODE_LOADING_START_ADDRESS 0x00002000L @@ -574,7 > +575,16 @@ static int gfx_v9_4_3_init_cp_compute_microcode(struct > amdgpu_device *adev, { > int err; > > - err = amdgpu_ucode_request(adev, &adev->gfx.mec_fw, > + if (amdgpu_sriov_vf(adev)) { > + err = amdgpu_ucode_request(adev, &adev->gfx.mec_fw, > + "amdgpu/%s_sjt_mec.bin", chip_name); > + > + if (err) > + err = amdgpu_ucode_request(adev, &adev->gfx.mec_fw, > + "amdgpu/%s_mec.bin", chip_name); > + } > + else > + err = amdgpu_ucode_request(adev, &adev->gfx.mec_fw, > "amdgpu/%s_mec.bin", chip_name); > if (err) > goto out;
Attachment:
0001-drm-amdgpu-Fix-for-MEC-SJT-FW-Load-Fail-on-VF.patch
Description: 0001-drm-amdgpu-Fix-for-MEC-SJT-FW-Load-Fail-on-VF.patch