[RESEND] [SRU] [F/G/Unstable/OEM-5.6] [PATCH 0/3] Fix broken MSI interrupt after HDA controller was suspended

Kai-Heng Feng kai.heng.feng at canonical.com
Tue Oct 13 07:53:52 UTC 2020

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

After HDA controller gets suspended and resumed, no MSI interrupt raised
when plugging headset to the audio jack.

Power up the Realtek codec when HDA controller runtime resumes.

1) Make sure both codec and HDA controller are runtime suspended.
2) Runtime resume the HDA controller without runtime resume the codec.
3) Plug a headset and see if the system can detect anything.

With the fix applied, we can see azx_interrupt() is working again by
using ftrace.

[Regression Potential]
If there's any system that is not affected by this issue, runtime-resume
the HDA controller will take a slightly longer time. It's rather
unlikely, since _all_ systems with Realtek codec we tested have this
issue, regardless of AMD or Intel.

Kai Vehmanen (1):
  UBUNTU: SAUCE: ALSA: hda: fix jack detection with Realtek codecs when
    in D3

Takashi Iwai (2):
  ALSA: hda: Skip controller resume if not needed
  ALSA: hda: Always use jackpoll helper for jack update after resume

 include/sound/hda_codec.h     |  6 ++++++
 sound/pci/hda/hda_codec.c     | 28 +++++++++++++++-----------
 sound/pci/hda/hda_intel.c     | 37 ++++++++++++++++++++---------------
 sound/pci/hda/patch_realtek.c |  1 +
 4 files changed, 45 insertions(+), 27 deletions(-)


More information about the kernel-team mailing list