2 * linux/sound/arm/omap/omap-alsa-dma.h
4 * Common audio DMA handling for the OMAP processors
6 * Copyright (C) 2006 Mika Laitio <lamikr@cc.jyu.fi>
8 * Copyright (C) 2005 Instituto Nokia de Tecnologia - INdT - Manaus Brazil
10 * Copyright (C) 2004 Texas Instruments, Inc.
12 * Copyright (C) 2000, 2001 Nicolas Pitre <nico@cam.org>
14 * This package is free software; you can redistribute it and/or modify
15 * it under the terms of the GNU General Public License version 2 as
16 * published by the Free Software Foundation.
18 * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
19 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
20 * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
25 * 2004/08/12 Nishanth Menon - Modified to integrate Audio requirements on 1610,1710 platforms
27 * 2005/07/25 INdT Kernel Team - Renamed to omap-alsa-dma.h. Ported to Alsa.
30 #ifndef __OMAP_AUDIO_ALSA_DMA_H
31 #define __OMAP_AUDIO_ALSA_DMA_H
33 /************************** INCLUDES *************************************/
35 #include <asm/arch/omap-alsa.h>
37 /************************** GLOBAL DATA STRUCTURES *********************************/
39 typedef void (*dma_callback_t) (int lch, u16 ch_status, void *data);
41 /**************** ARCH SPECIFIC FUNCIONS *******************************************/
43 void omap_clear_alsa_sound_dma(struct audio_stream * s);
45 int omap_request_alsa_sound_dma(int device_id, const char *device_name,
46 void *data, int **channels);
47 int omap_free_alsa_sound_dma(void *data, int **channels);
49 int omap_start_alsa_sound_dma(struct audio_stream *s, dma_addr_t dma_ptr, u_int dma_size);
51 void omap_stop_alsa_sound_dma(struct audio_stream *s);