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

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].

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
-- 
2.51.0


Reply via email to