Good point. We should limit it in BACO only once an ASIC supports BOCO and BACO together. Regards, Guchun -----Original Message----- From: Alex Deucher <alexdeucher@xxxxxxxxx> Sent: Monday, July 11, 2022 11:29 PM To: Chen, Guchun <Guchun.Chen@xxxxxxx> Cc: amd-gfx list <amd-gfx@xxxxxxxxxxxxxxxxxxxxx>; Deucher, Alexander <Alexander.Deucher@xxxxxxx>; Zhang, Hawking <Hawking.Zhang@xxxxxxx>; Lazar, Lijo <Lijo.Lazar@xxxxxxx>; Quan, Evan <Evan.Quan@xxxxxxx>; Feng, Kenneth <Kenneth.Feng@xxxxxxx> Subject: Re: [PATCH 1/2] drm/amdgpu: skip SMU FW reloading in runpm BACO case On Mon, Jul 11, 2022 at 9:58 AM Guchun Chen <guchun.chen@xxxxxxx> wrote: > > SMU is always alive, so it's fine to skip SMU FW reloading when runpm > resumed from BACO, this can avoid some race issues when resuming SMU > FW. > > Suggested-by: Evan Quan <evan.quan@xxxxxxx> > Signed-off-by: Guchun Chen <guchun.chen@xxxxxxx> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c > index e9411c28d88b..9f17235bab83 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c > @@ -2348,6 +2348,12 @@ static int psp_load_smu_fw(struct psp_context *psp) > &adev->firmware.ucode[AMDGPU_UCODE_ID_SMC]; > struct amdgpu_ras *ras = psp->ras_context.ras; > > + /* Skip SMU FW reloading in case of using BACO for runpm, > + * as SMU is always alive. > + */ > + if (adev->in_runpm && amdgpu_asic_supports_baco(adev)) > + return 0; What is an asic supports both BACO and BOCO? I think we need to differentiate here. Alex > + > if (!ucode->fw || amdgpu_sriov_vf(psp->adev)) > return 0; > > -- > 2.17.1 >