1 /* 2 * dma.h -- 3 * 4 * This program is free software; you can redistribute it and/or modify it 5 * under the terms of the GNU General Public License as published by the 6 * Free Software Foundation; either version 2 of the License, or (at your 7 * option) any later version. 8 * 9 * ALSA PCM interface for the Samsung SoC 10 */ 11 12 #ifndef _S3C_AUDIO_H 13 #define _S3C_AUDIO_H 14 15 #include <sound/dmaengine_pcm.h> 16 #include <linux/dmaengine.h> 17 18 struct s3c_dma_params { 19 void *slave; /* Channel ID */ 20 dma_addr_t dma_addr; 21 int dma_size; /* Size of the DMA transfer */ 22 char *ch_name; 23 struct snd_dmaengine_dai_dma_data dma_data; 24 }; 25 26 void samsung_asoc_init_dma_data(struct snd_soc_dai *dai, 27 struct s3c_dma_params *playback, 28 struct s3c_dma_params *capture); 29 /* 30 * @tx, @rx arguments can be NULL if the DMA channel names are "tx", "rx", 31 * otherwise actual DMA channel names must be passed to this function. 32 */ 33 int samsung_asoc_dma_platform_register(struct device *dev, dma_filter_fn filter, 34 const char *tx, const char *rx); 35 #endif 36