APPLIED Re: [SRU][OEM-5.10][PULL] Add s2idle support on AMD Renoir and Cezanne

Timo Aaltonen tjaalton at ubuntu.com
Wed May 12 05:48:40 UTC 2021


On 4.5.2021 17.58, Kai-Heng Feng wrote:
> BugLink: https://bugs.launchpad.net/bugs/1927067
> 
> [Impact]
> S2idle doesn't work on AMD Renoir and Cezanne.
> 
> [Fix]
> Backport AMD PMC driver and pull many new patches let AMDGPU support s2idle.
> 
> [Test]
> Suspend the laptop and the system freezes.
> With the patch applied, suspend works but with some caveats:
> 1) Keyboard sometimes can't wake up the laptop.
> 2) Touchpad sometimes can wake up the laptop.
> 3) RTC can't wake up the laptop.
> 
> [Where problems could occur]
> Most changes are limited to logic of suspend/resume, and specific to Renoir GFX.
> However, there are some refactoring patches may cause unintended
> results, so AMDGPU may break for sleep/hibernation/runtime suspend on
> non-Renoir GFXs.
> 
> --
> 
> The following changes since commit bf0bf5a6f6debc0a3b1cab51c21cc823003238c1:
> 
>    UBUNTU: Ubuntu-oem-5.10-5.10.0-1025.26 (2021-04-26 16:18:11 +0300)
> 
> are available in the Git repository at:
> 
>    https://git.launchpad.net/~kaihengfeng/+git/linux amd-s0ix-5.10
> 
> for you to fetch changes up to 79ec557a2062e5e72fc31429efe6a64e91d7a72e:
> 
>    UBUNTU: SAUCE: platform/x86: force LPS0 functions for AMD
> (2021-05-04 19:55:36 +0800)
> 
> ----------------------------------------------------------------
> Alex Deucher (16):
>        drm/amdgpu: drop extra drm_kms_helper_poll_enable/disable calls
>        drm/amdgpu: use runpm flag rather than fbcon for kfd runtime suspend (v2)
>        drm/amdgpu: reset runpm flag if device suspend fails
>        drm/amdgpu: Only check for S0ix if AMD_PMC is configured
>        drm/amdgpu: fix S0ix handling when the CONFIG_AMD_PMC=m
>        drm/amdgpu: rework S3/S4/S0ix state handling
>        drm/amdgpu: don't evict vram on APUs for suspend to ram (v4)
>        drm/amdgpu: clean up non-DC suspend/resume handling
>        drm/amdgpu: move s0ix check into amdgpu_device_ip_suspend_phase2 (v3)
>        drm/amdgpu: re-enable suspend phase 2 for S0ix
>        drm/amdgpu/swsmu: skip gfx cgpg on s0ix suspend
>        drm/amdgpu: update comments about s0ix suspend/resume
>        drm/amdgpu: drop S0ix checks around CG/PG in suspend
>        drm/amdgpu: skip kfd suspend/resume for S0ix
>        UBUNTU: SAUCE: platform/x86: Add missing LPS0 functions for AMD
>        UBUNTU: SAUCE: platform/x86: force LPS0 functions for AMD
> 
> Kai-Heng Feng (2):
>        UBUNTU: [Config] Enable CONFIG_AMD_PMC=m
>        UBUNTU: SAUCE: Move ASPM quirk flag to MSB
> 
> Likun Gao (1):
>        drm/amdgpu: add judgement for suspend/resume sequence
> 
> Marcin Bachry (1):
>        UBUNTU: SAUCE: PCI: quirks: Quirk PCI d3hot delay for AMD xhci
> 
> Pan Bian (1):
>        platform/x86: amd-pmc: put device on error paths
> 
> Pratik Vishwakarma (1):
>        drm/amdgpu: skip CG/PG for gfx during S0ix
> 
> Prike Liang (9):
>        drm/amdgpu: add s0i3 capacity check for s0i3 routine (v2)
>        drm/amdgpu: add amdgpu_gfx_state_change_set() set gfx power
> change entry (v2)
>        drm/amdgpu: update amdgpu device suspend/resume sequence for s0i3 support
>        drm/amd/pm: add gfx_state_change_set() for rn gfx power switch (v2)
>        drm/amdgpu/pm: no need GPU status set since
> mmnbif_gpu_BIF_DOORBELL_FENCE_CNTL added in FSDL
>        drm/amdgpu: fix shutdown and poweroff process failed with s0ix
>        drm/amdgpu: fix the hibernation suspend with s0ix
>        UBUNTU: SAUCE: usb: pci-quirks: disable D3cold on AMD xhci
> suspend for s2idle
>        UBUNTU: SAUCE: nvme: put some AMD PCIE downstream NVME device to
> simple suspend/resume path
> 
> Prike.Liang (1):
>        UBUNTU: SAUCE: ACPI / idle: override and update c-state latency
> when not conformance with s0ix
> 
> Shyam Sundar S K (3):
>        platform/x86: amd-pmc: Add AMD platform support for S2Idle
>        platform/x86: amd-pmc: Fix CONFIG_DEBUG_FS check
>        ACPI: PM: s2idle: Add AMD support to handle _DSM
> 
> Yifan Zhang (2):
>        drm/amd/display: setup system context in dm_init
>        drm/amd/display: add S/G support for Renoir
> 
>   MAINTAINERS                                        |   6 +
>   debian.oem/config/annotations                      |   1 +
>   debian.oem/config/config.common.ubuntu             |   1 +
>   drivers/acpi/processor_idle.c                      |  17 ++
>   drivers/acpi/sleep.c                               | 177 ++++++++++++-
>   drivers/gpu/drm/amd/amdgpu/amdgpu.h                |   6 +-
>   drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c           |  17 ++
>   drivers/gpu/drm/amd/amdgpu/amdgpu_device.c         | 123 +++------
>   drivers/gpu/drm/amd/amdgpu/amdgpu_display.c        |  93 +++++++
>   drivers/gpu/drm/amd/amdgpu/amdgpu_display.h        |   3 +
>   drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c            |  27 +-
>   drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.c            |  20 ++
>   drivers/gpu/drm/amd/amdgpu/amdgpu_gfx.h            |   7 +
>   drivers/gpu/drm/amd/amdgpu/amdgpu_object.c         |   8 +-
>   drivers/gpu/drm/amd/amdgpu/dce_v10_0.c             |   9 +-
>   drivers/gpu/drm/amd/amdgpu/dce_v11_0.c             |   9 +-
>   drivers/gpu/drm/amd/amdgpu/dce_v6_0.c              |   8 +-
>   drivers/gpu/drm/amd/amdgpu/dce_v8_0.c              |   9 +-
>   drivers/gpu/drm/amd/amdgpu/dce_virtual.c           |  15 +-
>   drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c  |  61 +++++
>   drivers/gpu/drm/amd/include/kgd_pp_interface.h     |   1 +
>   drivers/gpu/drm/amd/pm/inc/amdgpu_smu.h            |   2 +
>   drivers/gpu/drm/amd/pm/inc/hwmgr.h                 |   1 +
>   drivers/gpu/drm/amd/pm/inc/rv_ppsmc.h              |   3 +-
>   drivers/gpu/drm/amd/pm/powerplay/amd_powerplay.c   |  19 ++
>   .../gpu/drm/amd/pm/powerplay/hwmgr/smu10_hwmgr.c   |   8 +
>   drivers/gpu/drm/amd/pm/swsmu/amdgpu_smu.c          |  17 +-
>   drivers/gpu/drm/amd/pm/swsmu/smu12/renoir_ppt.c    |   7 +
>   drivers/nvme/host/pci.c                            |   5 +
>   drivers/pci/quirks.c                               |  12 +
>   drivers/platform/x86/Kconfig                       |  14 +
>   drivers/platform/x86/Makefile                      |   3 +
>   drivers/platform/x86/amd-pmc.c                     | 294 +++++++++++++++++++++
>   drivers/usb/host/xhci-pci.c                        |   6 +-
>   drivers/usb/host/xhci.h                            |   1 +
>   include/linux/pci.h                                |   4 +-
>   include/linux/pci_ids.h                            |   2 +
>   37 files changed, 894 insertions(+), 122 deletions(-)
>   create mode 100644 drivers/platform/x86/amd-pmc.c
> 


-- 
t



More information about the kernel-team mailing list