[Public]
> -----Original Message----- > From: Huang, Tim <tim.hu...@amd.com> > Sent: Friday, January 20, 2023 10:29 > To: amd-gfx@lists.freedesktop.org > Cc: Deucher, Alexander <alexander.deuc...@amd.com>; Zhang, Yifan > <yifan1.zh...@amd.com>; Du, Xiaojian <xiaojian...@amd.com>; Ma, Li > <li...@amd.com>; Limonciello, Mario <mario.limoncie...@amd.com>; > Huang, Tim <tim.hu...@amd.com> > Subject: [PATCH 1/2] drm/amdgpu: skip psp suspend for IMU enabled ASICs > mode2 reset > > The psp suspend & resume should be skipped to avoid destroy > the TMR and reload FWs again for IMU enabled APU ASICs. > > Signed-off-by: Tim Huang <tim.hu...@amd.com> Reviewed-by: Mario Limonciello <mario.limoncie...@amd.com> Please also for this one Cc: sta...@vger.kernel.org # 6.1 > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > index efd4f8226120..0f9a5b12c3a5 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c > @@ -3036,6 +3036,18 @@ static int > amdgpu_device_ip_suspend_phase2(struct amdgpu_device *adev) > (adev->ip_blocks[i].version->type == > AMD_IP_BLOCK_TYPE_SDMA)) > continue; > > + /* Once swPSP provides the IMU, RLC FW binaries to TOS > during cold-boot. > + * These are in TMR, hence are expected to be reused by > PSP-TOS to reload > + * from this location and RLC Autoload automatically also gets > loaded > + * from here based on PMFW -> PSP message during re-init > sequence. > + * Therefore, the psp suspend & resume should be skipped > to avoid destroy > + * the TMR and reload FWs again for IMU enabled APU ASICs. > + */ > + if (amdgpu_in_reset(adev) && > + (adev->flags & AMD_IS_APU) && adev->gfx.imu.funcs && > + adev->ip_blocks[i].version->type == > AMD_IP_BLOCK_TYPE_PSP) > + continue; > + > /* XXX handle errors */ > r = adev->ip_blocks[i].version->funcs->suspend(adev); > /* XXX handle errors */ > -- > 2.25.1