On Fri, Apr 1, 2022 at 7:53 AM Lazar, Lijo <lijo.lazar@xxxxxxx> wrote: > > > > On 3/31/2022 8:26 PM, Alex Deucher wrote: > > Seems to cause a reboots or hangs on some systems. > > > > Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1924 > > Bug: https://gitlab.freedesktop.org/drm/amd/-/issues/1953 > > Fixes: daf8de0874ab5b ("drm/amdgpu: always reset the asic in suspend (v2)") > > Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx> > > --- > > drivers/gpu/drm/amd/pm/amdgpu_dpm.c | 3 +++ > > 1 file changed, 3 insertions(+) > > > > diff --git a/drivers/gpu/drm/amd/pm/amdgpu_dpm.c b/drivers/gpu/drm/amd/pm/amdgpu_dpm.c > > index c73fb73e9628..1ff6c42fb110 100644 > > --- a/drivers/gpu/drm/amd/pm/amdgpu_dpm.c > > +++ b/drivers/gpu/drm/amd/pm/amdgpu_dpm.c > > @@ -173,6 +173,9 @@ bool amdgpu_dpm_is_baco_supported(struct amdgpu_device *adev) > > > > if (!pp_funcs || !pp_funcs->get_asic_baco_capability) > > return false; > > + /* don't use baco for reset in S3 */ > > + if (adev->in_s3) > > + return false; > > > > Suggest to add && !adev->runpm to the workaround. For runpm supported > devices, most likely it should work. hmm. I've kind of gone back and forth with this. BACO works fine for runtime suspend on all of the GPUs that reported problems in the bugs. I think it's probably something timing related with the state of the system during suspend. Actually, thinking about it more, I think it may be related to the fact that BACO also controls the power to other devices on the GPU (e.g., audio or USB). For runtime suspend, that is handled via device dependencies, but at system suspend time, perhaps the BACO sequence causes havoc with the other devices. Alex > > Thanks, > Lijo > > > mutex_lock(&adev->pm.mutex); > > > >