sound/soc/intel/avs/cldma.h

Source file repositories/reference/linux-study-clean/sound/soc/intel/avs/cldma.h

File Facts

System
Linux kernel
Corpus path
sound/soc/intel/avs/cldma.h
Extension
.h
Size
942 bytes
Lines
33
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

#ifndef __SOUND_SOC_INTEL_AVS_CLDMA_H
#define __SOUND_SOC_INTEL_AVS_CLDMA_H

#include <linux/sizes.h>

#define AVS_CL_DEFAULT_BUFFER_SIZE	SZ_128K

struct hda_cldma;
extern struct hda_cldma code_loader;

void hda_cldma_fill(struct hda_cldma *cl);
void hda_cldma_transfer(struct hda_cldma *cl, unsigned long start_delay);

int hda_cldma_start(struct hda_cldma *cl);
int hda_cldma_stop(struct hda_cldma *cl);
int hda_cldma_reset(struct hda_cldma *cl);

void hda_cldma_set_data(struct hda_cldma *cl, void *data, unsigned int size);
void hda_cldma_setup(struct hda_cldma *cl);
void hda_cldma_interrupt(struct hda_cldma *cl);
int hda_cldma_init(struct hda_cldma *cl, struct hdac_bus *bus, void __iomem *dsp_ba,
		   unsigned int buffer_size);
void hda_cldma_free(struct hda_cldma *cl);

#endif

Annotation

Implementation Notes