X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=sound%2Farm%2Fpxa2xx-pcm.h;h=5c4a4d38a08399c1df3a60ea3bf02e78c70998cf;hb=4e9ba518ec19c6c961bf6074ec05ae1a927230bc;hp=43517597cab9587bb945e9dbb4e42bb95d4685ef;hpb=cb220c1af49644786944c549518b491d4c654030;p=linux-2.6-omap-h63xx.git diff --git a/sound/arm/pxa2xx-pcm.h b/sound/arm/pxa2xx-pcm.h index 43517597cab..5c4a4d38a08 100644 --- a/sound/arm/pxa2xx-pcm.h +++ b/sound/arm/pxa2xx-pcm.h @@ -9,21 +9,22 @@ * it under the terms of the GNU General Public License version 2 as * published by the Free Software Foundation. */ +#include -typedef struct { - char *name; /* stream identifier */ - u32 dcmd; /* DMA descriptor dcmd field */ - volatile u32 *drcmr; /* the DMA request channel to use */ - u32 dev_addr; /* device physical address for DMA */ -} pxa2xx_pcm_dma_params_t; - -typedef struct { - pxa2xx_pcm_dma_params_t *playback_params; - pxa2xx_pcm_dma_params_t *capture_params; - int (*startup)(snd_pcm_substream_t *); - void (*shutdown)(snd_pcm_substream_t *); - int (*prepare)(snd_pcm_substream_t *); -} pxa2xx_pcm_client_t; +struct pxa2xx_runtime_data { + int dma_ch; + struct pxa2xx_pcm_dma_params *params; + pxa_dma_desc *dma_desc_array; + dma_addr_t dma_desc_array_phys; +}; -extern int pxa2xx_pcm_new(snd_card_t *, pxa2xx_pcm_client_t *, snd_pcm_t **); +struct pxa2xx_pcm_client { + struct pxa2xx_pcm_dma_params *playback_params; + struct pxa2xx_pcm_dma_params *capture_params; + int (*startup)(struct snd_pcm_substream *); + void (*shutdown)(struct snd_pcm_substream *); + int (*prepare)(struct snd_pcm_substream *); +}; + +extern int pxa2xx_pcm_new(struct snd_card *, struct pxa2xx_pcm_client *, struct snd_pcm **);