diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2012-01-18 13:01:26 +0000 |
---|---|---|
committer | Russell King (Oracle) <rmk+kernel@armlinux.org.uk> | 2024-03-26 12:08:23 +0000 |
commit | c2de60dac48d3907c19fcbce38734f0b5bb0d154 (patch) | |
tree | 45386b0814fa79f9039f1fc4a100a544e58fe273 /include | |
parent | d763aef100c9f1c98836cd54a4b38d005a3782c6 (diff) |
ALSA: ASoC: add generic slave and cyclic DMA engine support
Add a generic DMA engine platform driver to ASoC. This allows a range
of DMA engines to be used to transfer data to a CPUs audio interface
without having to rewrite this code many times.
This driver supports both DMA_SLAVE and DMA_CYCLIC channels, preferring
DMA_CYCLIC channels over DMA_SLAVE channels.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'include')
-rw-r--r-- | include/sound/soc-dmaengine.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/include/sound/soc-dmaengine.h b/include/sound/soc-dmaengine.h new file mode 100644 index 000000000000..b435133de04d --- /dev/null +++ b/include/sound/soc-dmaengine.h @@ -0,0 +1,26 @@ +/* + * Generic ASoC DMA engine backend + * + * Copyright (C) 2012 Russell King + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + */ +#ifndef _LINUX_SND_SOC_DMAENGINE_H +#define _LINUX_SND_SOC_DMAENGINE_H + +#include <linux/dmaengine.h> + +struct soc_dma_config { + dma_filter_fn filter; + void *data; + + dma_addr_t reg; + enum dma_slave_buswidth width; + u32 maxburst; + size_t align; + size_t fifo_size; +}; + +#endif |