pxa2xx-pcm.h 963 B

1234567891011121314151617181920212223242526272829
  1. /*
  2. * linux/sound/arm/pxa2xx-pcm.h -- ALSA PCM interface for the Intel PXA2xx chip
  3. *
  4. * Author: Nicolas Pitre
  5. * Created: Nov 30, 2004
  6. * Copyright: MontaVista Software, Inc.
  7. *
  8. * This program is free software; you can redistribute it and/or modify
  9. * it under the terms of the GNU General Public License version 2 as
  10. * published by the Free Software Foundation.
  11. */
  12. struct pxa2xx_pcm_dma_params {
  13. char *name; /* stream identifier */
  14. u32 dcmd; /* DMA descriptor dcmd field */
  15. volatile u32 *drcmr; /* the DMA request channel to use */
  16. u32 dev_addr; /* device physical address for DMA */
  17. };
  18. struct pxa2xx_pcm_client {
  19. struct pxa2xx_pcm_dma_params *playback_params;
  20. struct pxa2xx_pcm_dma_params *capture_params;
  21. int (*startup)(struct snd_pcm_substream *);
  22. void (*shutdown)(struct snd_pcm_substream *);
  23. int (*prepare)(struct snd_pcm_substream *);
  24. };
  25. extern int pxa2xx_pcm_new(struct snd_card *, struct pxa2xx_pcm_client *, struct snd_pcm **);