diff options
Diffstat (limited to 'sound/soc/davinci/davinci-pcm.h')
| -rw-r--r-- | sound/soc/davinci/davinci-pcm.h | 32 |
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 |
