]> Git Repo - linux.git/commit
ASoC: SOF: Intel: don't ignore IOC interrupts for non-audio transfers
authorPierre-Louis Bossart <[email protected]>
Thu, 4 Apr 2024 18:54:47 +0000 (13:54 -0500)
committerMark Brown <[email protected]>
Thu, 4 Apr 2024 18:58:27 +0000 (19:58 +0100)
commitd5263dbbd8af026159b16a08a94bedfe51b5f67b
tree1253843975bbf0248d9f519ddf0838b145d842c6
parent6cbf086143cf9674c7f029e1cf435c65a537066a
ASoC: SOF: Intel: don't ignore IOC interrupts for non-audio transfers

The HDaudio stream interrupts are ignored unless the stream is PCM or
compressed audio. For alternate non-audio usages, such as code loader
or SoundWire BPT case, the IOC interrupt on the last buffer
transferred is silently ignored.

This patch adds a 'struct completion' for each HDaudio stream. This
capability helps detect if the non-audio data transfers
completed. There is no performance impact for audio streams.

In the code loader case, the code currently starts the DMA and
directly checks if the firmware status changes, without checking if
the DMA succeeded. With a first pass waiting for the DMA to complete,
system validation engineers can gather more precise timing information
on firmware boot time or root-cause boot failures more accurately.

A timeout of 500ms was selected for the code loader DMA. This is an
experimental value which should be more than enough - higher values
would certainly be problematic from a usage/latency perspective.

Signed-off-by: Pierre-Louis Bossart <[email protected]>
Reviewed-by: Péter Ujfalusi <[email protected]>
Reviewed-by: Rander Wang <[email protected]>
Reviewed-by: Ranjani Sridharan <[email protected]>
Link: https://msgid.link/r/[email protected]
Signed-off-by: Mark Brown <[email protected]>
sound/soc/sof/intel/hda-loader.c
sound/soc/sof/intel/hda-stream.c
sound/soc/sof/intel/hda.h
This page took 0.05676 seconds and 4 git commands to generate.