aboutsummaryrefslogtreecommitdiffstats
path: root/include/sound
diff options
context:
space:
mode:
authorOlivier Moysan <olivier.moysan@st.com>2018-02-19 16:00:36 +0100
committerMark Brown <broonie@kernel.org>2018-02-26 11:11:20 +0000
commit78648092ef46255e6dc6685202164199c86cf930 (patch)
treef226b44417b9638854052f6fb75b74d99e6ea9c9 /include/sound
parentASoC: soc-generic-dmaengine-pcm: Fix sparse warnings (diff)
downloadlinux-dev-78648092ef46255e6dc6685202164199c86cf930.tar.xz
linux-dev-78648092ef46255e6dc6685202164199c86cf930.zip
ASoC: dmaengine_pcm: add processing support
Allow dmaengine client to optionally register a processing callback. This callback is intended to apply processing on samples in buffer copied from/to user space, before/after DMA transfer. Signed-off-by: Olivier Moysan <olivier.moysan@st.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'include/sound')
-rw-r--r--include/sound/dmaengine_pcm.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/sound/dmaengine_pcm.h b/include/sound/dmaengine_pcm.h
index 8a5a8404966e..47ef486852ed 100644
--- a/include/sound/dmaengine_pcm.h
+++ b/include/sound/dmaengine_pcm.h
@@ -140,6 +140,9 @@ struct snd_dmaengine_pcm_config {
struct dma_chan *(*compat_request_channel)(
struct snd_soc_pcm_runtime *rtd,
struct snd_pcm_substream *substream);
+ int (*process)(struct snd_pcm_substream *substream,
+ int channel, unsigned long hwoff,
+ void *buf, unsigned long bytes);
dma_filter_fn compat_filter_fn;
struct device *dma_dev;
const char *chan_names[SNDRV_PCM_STREAM_LAST + 1];