mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-08-31 08:15:07 -04:00
ALSA: hda/core: Log stream DMA errors on interrupt
The stream descriptor status register reports FIFO and descriptor errors, but these are currently cleared silently along with the rest of the interrupt status. Log them, rate-limited, so DMA problems are visible instead of only manifesting as audible glitches. Observed on some AMD GPU HDMI audio controllers under specific low power circumstances. Signed-off-by: Arun Raghavan <arunr@valvesoftware.com> Cc: Arun Raghavan <arun@arunraghavan.net> Link: https://patch.msgid.link/20260803-master-v1-1-9bcedb736978@valvesoftware.com Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
committed by
Takashi Iwai
parent
1c03dd434e
commit
dc9edf5878
@@ -688,6 +688,11 @@ int snd_hdac_bus_handle_stream_irq(struct hdac_bus *bus, unsigned int status,
|
||||
sd_status = snd_hdac_stream_readb(azx_dev, SD_STS);
|
||||
snd_hdac_stream_writeb(azx_dev, SD_STS, SD_INT_MASK);
|
||||
handled |= 1 << azx_dev->index;
|
||||
if (sd_status & (SD_INT_FIFO_ERR | SD_INT_DESC_ERR)) {
|
||||
dev_warn_ratelimited(bus->dev,
|
||||
"stream %u dma error: 0x%02x\n",
|
||||
azx_dev->index, sd_status);
|
||||
}
|
||||
if ((!azx_dev->substream && !azx_dev->cstream) ||
|
||||
!azx_dev->running || !(sd_status & SD_INT_COMPLETE))
|
||||
continue;
|
||||
|
||||
Reference in New Issue
Block a user