mbox series

[0/5,SRU,J] Not able to enter s2idle state on AMD platforms

Message ID 20220221055333.1169827-1-alex.hung@canonical.com
Headers show
Series Not able to enter s2idle state on AMD platforms | expand

Message

Alex Hung Feb. 21, 2022, 5:53 a.m. UTC
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 (5):
  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_pcie.c | 72 +++++++++++++++++++++++++++++++++-
 drivers/hid/amd-sfh-hid/amd_sfh_pcie.h |  4 +-
 2 files changed, 74 insertions(+), 2 deletions(-)

Comments

Tim Gardner Feb. 21, 2022, 6:30 p.m. UTC | #1
Acked-by: Tim Gardner <tim.gardner@canonical.com>

You need to nominate jammy/linux in the bug report.

On 2/20/22 22:53, Alex Hung wrote:
> 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 (5):
>    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_pcie.c | 72 +++++++++++++++++++++++++++++++++-
>   drivers/hid/amd-sfh-hid/amd_sfh_pcie.h |  4 +-
>   2 files changed, 74 insertions(+), 2 deletions(-)
>
Paolo Pisati March 7, 2022, 12:29 p.m. UTC | #2
On Sun, Feb 20, 2022 at 10:53:28PM -0700, Alex Hung wrote:
> BugLink: https://bugs.launchpad.net/bugs/1961121

Patch 02 was already part of stable v5.15.25, i applied the rest.