Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[linux.git] / sound / soc / samsung / dma.h
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