Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
include
sound
dmaengine_pcm.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2012, Analog Devices Inc.
3
* Author: Lars-Peter Clausen <
[email protected]
>
4
*
5
* This program is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License as published by the
7
* Free Software Foundation; either version 2 of the License, or (at your
8
* option) any later version.
9
*
10
* You should have received a copy of the GNU General Public License along
11
* with this program; if not, write to the Free Software Foundation, Inc.,
12
* 675 Mass Ave, Cambridge, MA 02139, USA.
13
*
14
*/
15
#ifndef __SOUND_DMAENGINE_PCM_H__
16
#define __SOUND_DMAENGINE_PCM_H__
17
18
#include <
sound/pcm.h
>
19
#include <
linux/dmaengine.h
>
20
26
static
inline
enum
dma_transfer_direction
27
snd_pcm_substream_to_dma_direction(
const
struct
snd_pcm_substream
*substream)
28
{
29
if
(substream->
stream
==
SNDRV_PCM_STREAM_PLAYBACK
)
30
return
DMA_MEM_TO_DEV
;
31
else
32
return
DMA_DEV_TO_MEM
;
33
}
34
35
void
snd_dmaengine_pcm_set_data
(
struct
snd_pcm_substream
*substream,
void
*
data
);
36
void
*
snd_dmaengine_pcm_get_data
(
struct
snd_pcm_substream
*substream);
37
38
int
snd_hwparams_to_dma_slave_config
(
const
struct
snd_pcm_substream
*substream,
39
const
struct
snd_pcm_hw_params
*
params
,
struct
dma_slave_config
*
slave_config
);
40
int
snd_dmaengine_pcm_trigger
(
struct
snd_pcm_substream
*substream,
int
cmd
);
41
snd_pcm_uframes_t
snd_dmaengine_pcm_pointer
(
struct
snd_pcm_substream
*substream);
42
snd_pcm_uframes_t
snd_dmaengine_pcm_pointer_no_residue
(
struct
snd_pcm_substream
*substream);
43
44
int
snd_dmaengine_pcm_open
(
struct
snd_pcm_substream
*substream,
45
dma_filter_fn
filter_fn,
void
*filter_data);
46
int
snd_dmaengine_pcm_close
(
struct
snd_pcm_substream
*substream);
47
48
struct
dma_chan
*
snd_dmaengine_pcm_get_chan
(
struct
snd_pcm_substream
*substream);
49
50
#endif
Generated on Thu Jan 10 2013 14:53:32 for Linux Kernel by
1.8.2