#include <linux/dma-mapping.h>
#include <linux/dmaengine.h>
#include <linux/dma/sprd-dma.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
#include <sound/soc.h>
#include <sound/compress_driver.h>
#include "sprd-pcm-dma.h"
#define SPRD_COMPR_DMA_CHANS …
#define SPRD_COMPR_MIN_FRAGMENT_SIZE …
#define SPRD_COMPR_MAX_FRAGMENT_SIZE …
#define SPRD_COMPR_MIN_NUM_FRAGMENTS …
#define SPRD_COMPR_MAX_NUM_FRAGMENTS …
#define SPRD_COMPR_MCDT_EMPTY_WMK …
#define SPRD_COMPR_MCDT_FIFO_SIZE …
#define SPRD_COMPR_IRAM_BUF_SIZE …
#define SPRD_COMPR_IRAM_INFO_SIZE …
#define SPRD_COMPR_IRAM_LINKLIST_SIZE …
#define SPRD_COMPR_IRAM_SIZE …
#define SPRD_COMPR_AREA_BUF_SIZE …
#define SPRD_COMPR_AREA_LINKLIST_SIZE …
#define SPRD_COMPR_AREA_SIZE …
struct sprd_compr_dma { … };
struct sprd_compr_stream { … };
static int sprd_platform_compr_trigger(struct snd_soc_component *component,
struct snd_compr_stream *cstream,
int cmd);
static void sprd_platform_compr_drain_notify(void *arg)
{ … }
static void sprd_platform_compr_dma_complete(void *data)
{ … }
static int sprd_platform_compr_dma_config(struct snd_soc_component *component,
struct snd_compr_stream *cstream,
struct snd_compr_params *params,
int channel)
{ … }
static int sprd_platform_compr_set_params(struct snd_soc_component *component,
struct snd_compr_stream *cstream,
struct snd_compr_params *params)
{ … }
static int sprd_platform_compr_open(struct snd_soc_component *component,
struct snd_compr_stream *cstream)
{ … }
static int sprd_platform_compr_free(struct snd_soc_component *component,
struct snd_compr_stream *cstream)
{ … }
static int sprd_platform_compr_trigger(struct snd_soc_component *component,
struct snd_compr_stream *cstream,
int cmd)
{ … }
static int sprd_platform_compr_pointer(struct snd_soc_component *component,
struct snd_compr_stream *cstream,
struct snd_compr_tstamp *tstamp)
{ … }
static int sprd_platform_compr_copy(struct snd_soc_component *component,
struct snd_compr_stream *cstream,
char __user *buf, size_t count)
{ … }
static int sprd_platform_compr_get_caps(struct snd_soc_component *component,
struct snd_compr_stream *cstream,
struct snd_compr_caps *caps)
{ … }
static int
sprd_platform_compr_get_codec_caps(struct snd_soc_component *component,
struct snd_compr_stream *cstream,
struct snd_compr_codec_caps *codec)
{ … }
const struct snd_compress_ops sprd_platform_compress_ops = …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
MODULE_ALIAS(…) …;