[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

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

[Fix]
Power up the Realtek codec when HDA controller runtime resumes.

[Test]
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(-)

-- 
2.17.1




More information about the kernel-team mailing list