Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/sound/soc/fsl/imx-pcm.h
26428 views
1
/* SPDX-License-Identifier: GPL-2.0+ */
2
/*
3
* Copyright 2009 Sascha Hauer <[email protected]>
4
*
5
* This code is based on code copyrighted by Freescale,
6
* Liam Girdwood, Javier Martin and probably others.
7
*/
8
9
#ifndef _IMX_PCM_H
10
#define _IMX_PCM_H
11
12
#include <linux/dma/imx-dma.h>
13
14
/*
15
* Do not change this as the FIQ handler depends on this size
16
*/
17
#define IMX_SSI_DMABUF_SIZE (64 * 1024)
18
19
#define IMX_DEFAULT_DMABUF_SIZE (64 * 1024)
20
21
struct imx_pcm_fiq_params {
22
int irq;
23
void __iomem *base;
24
25
/* Pointer to original ssi driver to setup tx rx sizes */
26
struct snd_dmaengine_dai_dma_data *dma_params_rx;
27
struct snd_dmaengine_dai_dma_data *dma_params_tx;
28
};
29
30
#if IS_ENABLED(CONFIG_SND_SOC_IMX_PCM_DMA)
31
int imx_pcm_dma_init(struct platform_device *pdev);
32
#else
33
static inline int imx_pcm_dma_init(struct platform_device *pdev)
34
{
35
return -ENODEV;
36
}
37
#endif
38
39
#if IS_ENABLED(CONFIG_SND_SOC_IMX_PCM_FIQ)
40
int imx_pcm_fiq_init(struct platform_device *pdev,
41
struct imx_pcm_fiq_params *params);
42
void imx_pcm_fiq_exit(struct platform_device *pdev);
43
#else
44
static inline int imx_pcm_fiq_init(struct platform_device *pdev,
45
struct imx_pcm_fiq_params *params)
46
{
47
return -ENODEV;
48
}
49
50
static inline void imx_pcm_fiq_exit(struct platform_device *pdev)
51
{
52
}
53
#endif
54
55
#endif /* _IMX_PCM_H */
56
57