cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

imx-pcm.h (1529B)


      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_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
     21static inline void
     22imx_pcm_dma_params_init_data(struct imx_dma_data *dma_data,
     23	int dma, enum sdma_peripheral_type peripheral_type)
     24{
     25	dma_data->dma_request = dma;
     26	dma_data->priority = DMA_PRIO_HIGH;
     27	dma_data->peripheral_type = peripheral_type;
     28}
     29
     30struct imx_pcm_fiq_params {
     31	int irq;
     32	void __iomem *base;
     33
     34	/* Pointer to original ssi driver to setup tx rx sizes */
     35	struct snd_dmaengine_dai_dma_data *dma_params_rx;
     36	struct snd_dmaengine_dai_dma_data *dma_params_tx;
     37};
     38
     39#if IS_ENABLED(CONFIG_SND_SOC_IMX_PCM_DMA)
     40int imx_pcm_dma_init(struct platform_device *pdev);
     41#else
     42static inline int imx_pcm_dma_init(struct platform_device *pdev)
     43{
     44	return -ENODEV;
     45}
     46#endif
     47
     48#if IS_ENABLED(CONFIG_SND_SOC_IMX_PCM_FIQ)
     49int imx_pcm_fiq_init(struct platform_device *pdev,
     50		struct imx_pcm_fiq_params *params);
     51void imx_pcm_fiq_exit(struct platform_device *pdev);
     52#else
     53static inline int imx_pcm_fiq_init(struct platform_device *pdev,
     54		struct imx_pcm_fiq_params *params)
     55{
     56	return -ENODEV;
     57}
     58
     59static inline void imx_pcm_fiq_exit(struct platform_device *pdev)
     60{
     61}
     62#endif
     63
     64#endif /* _IMX_PCM_H */