sound/soc/meson/aiu-fifo.h

Source file repositories/reference/linux-study-clean/sound/soc/meson/aiu-fifo.h

File Facts

System
Linux kernel
Corpus path
sound/soc/meson/aiu-fifo.h
Extension
.h
Size
1400 bytes
Lines
49
Domain
Driver Families
Bucket
sound/soc
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

struct aiu_fifo {
	const struct snd_pcm_hardware *pcm;
	unsigned int mem_offset;
	unsigned int fifo_block;
	struct clk *pclk;
	int irq;
};

int aiu_fifo_dai_probe(struct snd_soc_dai *dai);
int aiu_fifo_dai_remove(struct snd_soc_dai *dai);

snd_pcm_uframes_t aiu_fifo_pointer(struct snd_soc_component *component,
				   struct snd_pcm_substream *substream);

int aiu_fifo_trigger(struct snd_pcm_substream *substream, int cmd,
		     struct snd_soc_dai *dai);
int aiu_fifo_prepare(struct snd_pcm_substream *substream,
		     struct snd_soc_dai *dai);
int aiu_fifo_hw_params(struct snd_pcm_substream *substream,
		       struct snd_pcm_hw_params *params,
		       struct snd_soc_dai *dai);
int aiu_fifo_startup(struct snd_pcm_substream *substream,
		     struct snd_soc_dai *dai);
void aiu_fifo_shutdown(struct snd_pcm_substream *substream,
		       struct snd_soc_dai *dai);
int aiu_fifo_pcm_new(struct snd_soc_pcm_runtime *rtd,
		     struct snd_soc_dai *dai);

#endif /* _MESON_AIU_FIFO_H */

Annotation

Implementation Notes