Currently when a dGPU supports BOCO and is runtime suspended when running the prepare() callback, the rest of the suspend and resume will be skipped. This skipping is due to "Smart prepare", "Smart suspend" and "Smart resume" flags. dGPUs that support BACO are normally suspended via PMFW and lack of video or audio, but this policy doesn't apply to them. Furthermore even if a dGPU is runtime suspended the system wide suspend callbacks always wake them even if the power rails won't be cut. This series adjust the flow around runtime suspend handling for dGPUs. Mario Limonciello (3): drm/amd: Don't always set s3 for dGPUs in all sleep modes drm/amd: Allow dGPUs that support BACO to use smart suspend drm/amd: Use runtime suspend in lieu regular suspend on supported dGPUs drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c | 9 +++++++-- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 17 ++++++++++++----- 2 files changed, 19 insertions(+), 7 deletions(-) -- 2.34.1