1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17#ifndef __TEGRA_PCM_H__
18#define __TEGRA_PCM_H__
19
20#include <sound/dmaengine_pcm.h>
21#include <sound/asound.h>
22
23int tegra_pcm_construct(struct snd_soc_component *component,
24 struct snd_soc_pcm_runtime *rtd);
25void tegra_pcm_destruct(struct snd_soc_component *component,
26 struct snd_pcm *pcm);
27int tegra_pcm_open(struct snd_soc_component *component,
28 struct snd_pcm_substream *substream);
29int tegra_pcm_close(struct snd_soc_component *component,
30 struct snd_pcm_substream *substream);
31int tegra_pcm_hw_params(struct snd_soc_component *component,
32 struct snd_pcm_substream *substream,
33 struct snd_pcm_hw_params *params);
34int tegra_pcm_hw_free(struct snd_soc_component *component,
35 struct snd_pcm_substream *substream);
36int tegra_pcm_mmap(struct snd_soc_component *component,
37 struct snd_pcm_substream *substream,
38 struct vm_area_struct *vma);
39snd_pcm_uframes_t tegra_pcm_pointer(struct snd_soc_component *component,
40 struct snd_pcm_substream *substream);
41int tegra_pcm_platform_register(struct device *dev);
42int tegra_pcm_platform_register_with_chan_names(struct device *dev,
43 struct snd_dmaengine_pcm_config *config,
44 char *txdmachan, char *rxdmachan);
45void tegra_pcm_platform_unregister(struct device *dev);
46
47#endif
48