49 lines · c
1/* SPDX-License-Identifier: (GPL-2.0 OR MIT) */2/*3 * Copyright (c) 2020 BayLibre, SAS.4 * Author: Jerome Brunet <jbrunet@baylibre.com>5 */6 7#ifndef _MESON_AIU_FIFO_H8#define _MESON_AIU_FIFO_H9 10struct snd_pcm_hardware;11struct snd_soc_component_driver;12struct snd_soc_dai_driver;13struct clk;14struct snd_pcm_ops;15struct snd_pcm_substream;16struct snd_soc_dai;17struct snd_pcm_hw_params;18struct platform_device;19 20struct aiu_fifo {21 const struct snd_pcm_hardware *pcm;22 unsigned int mem_offset;23 unsigned int fifo_block;24 struct clk *pclk;25 int irq;26};27 28int aiu_fifo_dai_probe(struct snd_soc_dai *dai);29int aiu_fifo_dai_remove(struct snd_soc_dai *dai);30 31snd_pcm_uframes_t aiu_fifo_pointer(struct snd_soc_component *component,32 struct snd_pcm_substream *substream);33 34int aiu_fifo_trigger(struct snd_pcm_substream *substream, int cmd,35 struct snd_soc_dai *dai);36int aiu_fifo_prepare(struct snd_pcm_substream *substream,37 struct snd_soc_dai *dai);38int aiu_fifo_hw_params(struct snd_pcm_substream *substream,39 struct snd_pcm_hw_params *params,40 struct snd_soc_dai *dai);41int aiu_fifo_startup(struct snd_pcm_substream *substream,42 struct snd_soc_dai *dai);43void aiu_fifo_shutdown(struct snd_pcm_substream *substream,44 struct snd_soc_dai *dai);45int aiu_fifo_pcm_new(struct snd_soc_pcm_runtime *rtd,46 struct snd_soc_dai *dai);47 48#endif /* _MESON_AIU_FIFO_H */49