]> asedeno.scripts.mit.edu Git - linux.git/commit
ALSA: hda - Apply sync-write workaround to old Intel platforms, too
authorTakashi Iwai <tiwai@suse.de>
Mon, 23 Dec 2019 22:18:16 +0000 (23:18 +0100)
committerTakashi Iwai <tiwai@suse.de>
Mon, 23 Dec 2019 22:19:03 +0000 (23:19 +0100)
commitc366b3dbbab14b28d044b94eb9ce77c23482ea35
treeb5baf9fd7054eaa2e2442c21078a32163b328f37
parent8cc0991c09bfd11fd878b0321a7a06724520d879
ALSA: hda - Apply sync-write workaround to old Intel platforms, too

Klaus Ethgen reported occasional high CPU usages in his system that
seem caused by HD-audio driver.  The perf output revealed that it's
in the unsolicited event handling in the workqueue, and the problem
seems triggered by some communication stall between the controller and
the codec at the runtime or system resume.

Actually a similar phenomenon was seen in the past for other Intel
platforms, and we already applied the workaround to enforce sync-write
for CORB/RIRB verbs for Skylake and newer chipsets (commit
2756d9143aa5 "ALSA: hda - Fix intermittent CORB/RIRB stall on Intel
chips").  Fortunately, the same workaround is applicable to the old
chipset, and the experiment showed the positive effect.

Based on the experiment result, this patch enables the sync-write
workaround for all Intel chipsets.  The only reason I hesitated to
apply this workaround was about the possibly slightly higher CPU usage.
But if the lack of sync causes a much severer problem even for quite
old chip, we should think this would be necessary for all Intel chips.

Reported-by: Klaus Ethgen <Klaus@ethgen.ch>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20191223171833.GA17053@chua
Link: https://lore.kernel.org/r/20191223221816.32572-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_intel.c