brintos

brintos / linux-shallow public Read only

0
0
Text · 1.2 KiB · ac5f57c Raw
56 lines · c
1/* SPDX-License-Identifier: GPL-2.0+ */2/*3 * Copyright 2009 Sascha Hauer <s.hauer@pengutronix.de>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_H10#define _IMX_PCM_H11 12#include <linux/dma/imx-dma.h>13 14/*15 * Do not change this as the FIQ handler depends on this size16 */17#define IMX_SSI_DMABUF_SIZE	(64 * 1024)18 19#define IMX_DEFAULT_DMABUF_SIZE	(64 * 1024)20 21struct 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)31int imx_pcm_dma_init(struct platform_device *pdev);32#else33static inline int imx_pcm_dma_init(struct platform_device *pdev)34{35	return -ENODEV;36}37#endif38 39#if IS_ENABLED(CONFIG_SND_SOC_IMX_PCM_FIQ)40int imx_pcm_fiq_init(struct platform_device *pdev,41		struct imx_pcm_fiq_params *params);42void imx_pcm_fiq_exit(struct platform_device *pdev);43#else44static inline int imx_pcm_fiq_init(struct platform_device *pdev,45		struct imx_pcm_fiq_params *params)46{47	return -ENODEV;48}49 50static inline void imx_pcm_fiq_exit(struct platform_device *pdev)51{52}53#endif54 55#endif /* _IMX_PCM_H */56