[PATCH 0/7][SRU][OEM-5.14] Not able to enter s2idle state on AMD platforms

Alex Hung alex.hung at canonical.com
Mon Feb 21 05:52:50 UTC 2022


BugLink: https://bugs.launchpad.net/bugs/1961121

[Impact]

  AMD Systems don't enter PC6 at runtime and cause failures to enter s2idle.

  Currently the fix is from kernel driver rather than MP2 firmware, which
  disable interrupts from kernel driver to fix MP2 firmware blocking CPUOFF.

[Fix]

  The fixes involve 1) cancelling delayed work when entering s0ix and re-scheduling it
  when resuming from s0ix, and 2) clearing interrupts during the driver initialization
  and sensor command operations.

  Note: PATCH 1 (173709f50e) & 2 (0873d1afac) are required for actual fixes PATCH 3~7
  Note 2: all patches were cherry-picked from mainline.

[Test]

  This is requested by AMD and was tested on AMD CRB.

[Where problems could occur]

  Risk is low to medium. Some code flow changes are guarded by reasonable conditions,
  but the fixes introduced additional suspend and resume operations.

  Having said that, clearing interrupts before driver initialization and cancelling work
  before entering sleeping states are standard approaches are usually safe.

Basavaraj Natikar (7):
  HID: amd_sfh: Add command response to check command status
  HID: amd_sfh: Add support for PM suspend and resume
  HID: amd_sfh: Handle amd_sfh work buffer in PM ops
  HID: amd_sfh: Correct the structure field name
  HID: amd_sfh: Disable the interrupt for all command
  HID: amd_sfh: Add functionality to clear interrupts
  HID: amd_sfh: Add interrupt handler to process interrupts

 drivers/hid/amd-sfh-hid/amd_sfh_client.c |  41 ++++++---
 drivers/hid/amd-sfh-hid/amd_sfh_pcie.c   | 137 ++++++++++++++++++++++++++++++-
 drivers/hid/amd-sfh-hid/amd_sfh_pcie.h   |  27 +++++-
 3 files changed, 192 insertions(+), 13 deletions(-)

-- 
2.7.4




More information about the kernel-team mailing list