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