[AMD Official Use Only - General] > -----Original Message----- > From: amd-gfx <amd-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of > Mario Limonciello > Sent: Tuesday, February 28, 2023 12:43 PM > To: amd-gfx@xxxxxxxxxxxxxxxxxxxxx > Cc: Peter Kopec <pekopec@xxxxxxxxxx>; Limonciello, Mario > <Mario.Limonciello@xxxxxxx> > Subject: [PATCH v2 0/3] Adjust dGPU handling for BACO > > This series adjusts the handling for dGPUs when the system is going into > s2idle. The intent is to match the following truth table below: > > +-------------------+----------------------------------+---------------------------------- > +-----------------------------+ > | | s2idle (no FADT) | s2idle (FADT) | deep > | > +-------------------+----------------------------------+---------------------------------- > +-----------------------------+ > | APU Prepare | 0 | 0 | 0 | > | APU Suspend | Run | Run | Run > | > | BACO dGPU Prepare | 1 if suspended | 1 if suspended | 1 > if suspended | > | BACO dGPU Suspend | Runtime suspend if prepare was 0 | Runtime > suspend if prepare was 0 | S3 suspend if prepare was 0 | > | BOCO dGPU Prepare | 1 | 1 | 1 if suspended > | For BOCO Prepare, it should be also "1 if suspsended" instead of "1" for s2idle per patch1. Do I miss anything? BR Evan > | BOCO dGPU Suspend | Runtime suspend if prepare was 0 | Runtime > suspend if prepare was 0 | S3 suspend if prepare was 0 | > +-------------------+----------------------------------+---------------------------------- > +-----------------------------+ > > That is BACO and BOCO are handled very similarly when system is doing > s2idle. > > v1->v2: > * Rework flags and flow > * Try to do runtime suspend first, and if it fails do system suspend > > Mario Limonciello (3): > drm/amd: Allow dGPUs that support BACO to use smart suspend > drm/amd: Don't always set s3 for dGPUs in all sleep modes > drm/amd: Add special handling for system s0ix state w/ dGPUs > > drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c | 11 +++--- > drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 44 +++++++++++++++----- > ---- > 2 files changed, 34 insertions(+), 21 deletions(-) > > -- > 2.34.1