summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2012-01-18 13:01:26 +0000
committerRussell King (Oracle) <rmk+kernel@armlinux.org.uk>2024-03-26 12:08:23 +0000
commitc2de60dac48d3907c19fcbce38734f0b5bb0d154 (patch)
tree45386b0814fa79f9039f1fc4a100a544e58fe273 /include
parentd763aef100c9f1c98836cd54a4b38d005a3782c6 (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.h26
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