On 10/24/2025 10:21 AM, Antheas Kapenekakis wrote:
The Xbox Ally features a Van Gogh SoC that on the Steam Deck uses S3.
Therefore, kernel support for S0ix was previously absent. Introduce
this support in three patches:
1) Add Van Gogh to AMD PMC driver
2) Enable spurious_8042 quirk, as it is common in those generations
3) Adjust the Van Gogh init logic to avoid powering down the rlc
and tweak post init
Just to be clear - there is no need for all 3 patches to go to one tree
or another. The PMC patches should go platform-x86 and the DRM patch
should go through drm.
This allows the Xbox Ally to properly enter and exit S0ix suspend.
Perhaps it also allows the Steam Deck to use s2idle without crashing,
note it is not currently possible [1].
FWIW I don't anticipate this series actually gets Steam deck into a
hardware sleep state because you need firmware support as well.
But the drm patch will probably will help the hang that was observed
which lead to the patch you've linked below.
Currently, around 1/10 times the SoC misses the PMC hint and does not
enter S0ix, so perhaps 1 or 3 need tweaking further. It wakes up always,
however.
@Alex: I tweaked the text on patch 3 a bit. You can resend it separately
after the issue with 1/10 failures is fixed.
[1]:
https://github.com/evlaV/linux-integration/commit/5ab73e9069017aa1b5351f91513ba540ce5905fb
Alex Deucher (1):
drm/amdgpu: only send the SMU RLC notification on S3
Antheas Kapenekakis (2):
platform/x86/amd/pmc: Add support for Van Gogh SoC
platform/x86/amd/pmc: Add spurious_8042 to Xbox Ally
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 8 +++++---
drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c | 6 ++++++
drivers/gpu/drm/amd/pm/swsmu/smu11/vangogh_ppt.c | 3 +++
drivers/platform/x86/amd/pmc/pmc-quirks.c | 8 ++++++++
drivers/platform/x86/amd/pmc/pmc.c | 3 +++
drivers/platform/x86/amd/pmc/pmc.h | 1 +
6 files changed, 26 insertions(+), 3 deletions(-)
base-commit: 6fab32bb6508abbb8b7b1c5498e44f0c32320ed5