aboutsummaryrefslogtreecommitdiff
path: root/sound/soc/davinci/davinci-pcm.h
diff options
context:
space:
mode:
Diffstat (limited to 'sound/soc/davinci/davinci-pcm.h')
-rw-r--r--sound/soc/davinci/davinci-pcm.h32
1 files changed, 22 insertions, 10 deletions
diff --git a/sound/soc/davinci/davinci-pcm.h b/sound/soc/davinci/davinci-pcm.h
index 62cb4eb07e3..0fe2346a9aa 100644
--- a/sound/soc/davinci/davinci-pcm.h
+++ b/sound/soc/davinci/davinci-pcm.h
@@ -12,18 +12,30 @@
#ifndef _DAVINCI_PCM_H
#define _DAVINCI_PCM_H
-struct davinci_pcm_dma_params {
- char *name; /* stream identifier */
- int channel; /* sync dma channel ID */
- dma_addr_t dma_addr; /* device physical address for DMA */
- unsigned int data_type; /* xfer data type */
-};
+#include <linux/genalloc.h>
+#include <linux/platform_data/davinci_asp.h>
+#include <linux/platform_data/edma.h>
-struct evm_snd_platform_data {
- int tx_dma_ch;
- int rx_dma_ch;
+struct davinci_pcm_dma_params {
+ int channel; /* sync dma channel ID */
+ unsigned short acnt;
+ dma_addr_t dma_addr; /* device physical address for DMA */
+ unsigned sram_size;
+ struct gen_pool *sram_pool; /* SRAM gen_pool for ping pong */
+ enum dma_event_q asp_chan_q; /* event queue number for ASP channel */
+ enum dma_event_q ram_chan_q; /* event queue number for RAM channel */
+ unsigned char data_type; /* xfer data type */
+ unsigned char convert_mono_stereo;
+ unsigned int fifo_level;
};
-extern struct snd_soc_platform davinci_soc_platform;
+#if IS_ENABLED(CONFIG_SND_DAVINCI_SOC)
+int davinci_soc_platform_register(struct device *dev);
+#else
+static inline int davinci_soc_platform_register(struct device *dev)
+{
+ return 0;
+}
+#endif /* CONFIG_SND_DAVINCI_SOC */
#endif