On 11/19/2024 9:07 PM, 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 with two level jump > table. > > Signed-off-by: Yuan Feng <yfeng1@xxxxxxx> Reviewed-by: Lijo Lazar <lijo.lazar@xxxxxxx> Thanks, Lijo > --- > drivers/gpu/drm/amd/amdgpu/gfx_v9_4_3.c | 7 ++++++- > 1 file changed, 6 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..6011332cce92 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"); > > #define GFX9_MEC_HPD_SIZE 4096 > #define RLCG_UCODE_LOADING_START_ADDRESS 0x00002000L > @@ -574,7 +575,11 @@ 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); > + else > + err = amdgpu_ucode_request(adev, &adev->gfx.mec_fw, > "amdgpu/%s_mec.bin", chip_name); > if (err) > goto out;