[PATCH v1 0/3] platform/x86/amd: Add S0ix support to the Xbox Ally

Antheas Kapenekakis posted 3 patches 3 months, 2 weeks ago
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(-)
[PATCH v1 0/3] platform/x86/amd: Add S0ix support to the Xbox Ally
Posted by Antheas Kapenekakis 3 months, 2 weeks ago
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
Re: [PATCH v1 0/3] platform/x86/amd: Add S0ix support to the Xbox Ally
Posted by Ilpo Järvinen 3 months ago
On Fri, 24 Oct 2025 17:21:49 +0200, 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
> 
> [...]


Thank you for your contribution, it has been applied to my local
review-ilpo-fixes branch. Note it will show up in the public
platform-drivers-x86/review-ilpo-fixes branch only once I've pushed my
local branch there, which might take a while.

The list of commits applied:
[1/3] platform/x86/amd/pmc: Add support for Van Gogh SoC
      commit: a400f448c1ad5e22e7ec1700e911f8f9c6a85475
[2/3] platform/x86/amd/pmc: Add spurious_8042 to Xbox Ally
      commit: 50cb52ee1dd60247746a984392632ec4237df127
[3/3] drm/amdgpu: only send the SMU RLC notification on S3
      (no commit info)

--
 i.
Re: [PATCH v1 0/3] platform/x86/amd: Add S0ix support to the Xbox Ally
Posted by Mario Limonciello (AMD) (kernel.org) 3 months, 1 week ago

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

Ilpo,

Patches 1 and 2 are good for platform-x86.  Since this fixes the 
platform-x86 side of a hang at suspend I think these should go 6.18-rc 
if you're open to it.

We're doing something different with the other patches in 
amd-staging-drm-next.  You can ignore the ones in this series.
Re: [PATCH v1 0/3] platform/x86/amd: Add S0ix support to the Xbox Ally
Posted by Mario Limonciello 3 months, 2 weeks ago

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