[PATCH] drm/amdgpu: don't use BACO for reset in S3

Alex Deucher alexdeucher at gmail.com
Fri Apr 1 13:59:12 UTC 2022


On Fri, Apr 1, 2022 at 7:53 AM Lazar, Lijo <lijo.lazar at amd.com> 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 at amd.com>
> > ---
> >   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);
> >
> >


More information about the amd-gfx mailing list