linux_dsm_epyc7002/sound/soc
Bard Liao 7c11af9fcd
ASoC: SOF: Intel: hda: solve MSI issues by merging ipc and stream irq handlers
The existing code uses two handlers for a shared edge-based MSI interrupts.
In corner cases, interrupts are lost, leading to IPC timeouts. Those
timeouts do not appear in legacy mode.

This patch merges the two handlers and threads into a single one, and
simplifies the mask/unmask operations by using a single top-level mask
(Global Interrupt Enable). The handler only checks for interrupt
sources using the Global Interrupt Status (GIS) field, and all the
actual work happens in the thread. This also enables us to remove the
use of spin locks. Stream events are prioritized over IPC ones.

This patch was tested with HDaudio and SoundWire platforms, and all
known IPC timeout issues are solved in MSI mode. The
SoundWire-specific patches will be provided in follow-up patches,
where the SoundWire interrupts are handled in the same thread as IPC
and stream interrupts.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20191204212859.13239-1-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2019-12-09 18:35:56 +00:00
..
adi
amd
atmel
au1x ASoC: Remove superfluous snd_dma_continuous_data() 2019-11-09 18:02:52 +01:00
bcm
cirrus
codecs ASoC: cs42l51: add dac mux widget in codec routes 2019-12-09 18:35:19 +00:00
dwc ASoC: Remove superfluous snd_dma_continuous_data() 2019-11-09 18:02:52 +01:00
fsl ASoC: fsl_sai: add IRQF_SHARED 2019-12-09 18:34:04 +00:00
generic
hisilicon
img
intel ASoC: Intel: boards: make common HDMI driver the default for SOF 2019-12-09 18:32:52 +00:00
jz4740
kirkwood
mediatek ASoC: mediatek: common: refine hw_params and hw_prepare 2019-12-09 18:33:34 +00:00
meson
mxs
pxa sound updates for 5.5-rc1 2019-11-26 20:04:35 -08:00
qcom ASoC: More updates for v5.5 2019-11-25 14:27:41 +01:00
rockchip
samsung sound updates for 5.5-rc1 2019-11-26 20:04:35 -08:00
sh ASoC: rsnd: Calculate DALIGN inversion at run-time 2019-12-09 18:35:00 +00:00
sirf
sof ASoC: SOF: Intel: hda: solve MSI issues by merging ipc and stream irq handlers 2019-12-09 18:35:56 +00:00
spear
sprd
sti
stm
sunxi
tegra
ti ASoC: ti: davinci-mcasp: Improve the sysclk selection 2019-12-09 18:35:37 +00:00
txx9
uniphier
ux500
xilinx
xtensa
zte
Kconfig
Makefile
soc-ac97.c
soc-acpi.c
soc-component.c ASoC: More updates for v5.5 2019-11-25 14:27:41 +01:00
soc-compress.c
soc-core.c ASoC: DMI long name - avoid to add board name if matches with product name 2019-11-22 19:54:50 +00:00
soc-dai.c
soc-dapm.c
soc-devres.c
soc-generic-dmaengine-pcm.c ASoC: dmaengine: Use dma_request_chan() directly for channel request 2019-11-15 12:02:58 +00:00
soc-io.c
soc-jack.c ASoC: Jack: Fix NULL pointer dereference in snd_soc_jack_report 2019-11-12 17:12:56 +00:00
soc-ops.c
soc-pcm.c ASoC: More updates for v5.5 2019-11-25 14:27:41 +01:00
soc-topology.c
soc-utils.c