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 17 struct s3c_dma_client { 18 char *name; 19 }; 20 21 struct s3c_dma_params { 22 struct s3c_dma_client *client; /* stream identifier */ 23 int channel; /* Channel ID */ 24 dma_addr_t dma_addr; 25 int dma_size; /* Size of the DMA transfer */ 26 unsigned ch; 27 struct samsung_dma_ops *ops; 28 char *ch_name; 29 struct snd_dmaengine_dai_dma_data dma_data; 30 }; 31 32 void samsung_asoc_init_dma_data(struct snd_soc_dai *dai, 33 struct s3c_dma_params *playback, 34 struct s3c_dma_params *capture); 35 int samsung_asoc_dma_platform_register(struct device *dev); 36 void samsung_asoc_dma_platform_unregister(struct device *dev); 37 38 #endif 39