#include <linux/pci.h>
#include <sound/hda_register.h>
#include <sound/hdaudio_ext.h>
#include "cldma.h"
#include "registers.h"
#define AZX_CL_SD_BASE …
#define AZX_SD_CTL_STRM_MASK …
#define AZX_SD_CTL_STRM(s) …
#define AZX_SD_BDLPL_BDLPLBA_MASK …
#define AZX_SD_BDLPL_BDLPLBA(lb) …
#define AZX_CL_SPBFCS …
#define AZX_REG_CL_SPBFCTL …
#define AZX_REG_CL_SD_SPIB …
#define AVS_CL_OP_INTERVAL_US …
#define AVS_CL_OP_TIMEOUT_US …
#define AVS_CL_IOC_TIMEOUT_MS …
#define AVS_CL_STREAM_INDEX …
struct hda_cldma { … };
static void cldma_memcpy_work(struct work_struct *work);
struct hda_cldma code_loader = …;
void hda_cldma_fill(struct hda_cldma *cl)
{ … }
static void cldma_memcpy_work(struct work_struct *work)
{ … }
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)
{ … }
static void cldma_setup_bdle(struct hda_cldma *cl, u32 bdle_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)
{ … }