~ubuntu-branches/ubuntu/quantal/linux-lowlatency/quantal-proposed

« back to all changes in this revision

Viewing changes to include/sound/dmaengine_pcm.h

  • Committer: Package Import Robot
  • Author(s): Andy Whitcroft, Andy Whitcroft
  • Date: 2012-06-21 09:16:38 UTC
  • Revision ID: package-import@ubuntu.com-20120621091638-gubhv4nox8xez1ct
Tags: 3.5.0-1.1
[ Andy Whitcroft]

* Rebuild lowlatency against Ubuntu-3.5.0-1.1
* All new configuration system to allow configuration deltas to be
  exposed via debian.lowlatency/config-delta

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 *  Copyright (C) 2012, Analog Devices Inc.
 
3
 *      Author: Lars-Peter Clausen <lars@metafoo.de>
 
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
 
 
21
/**
 
22
 * snd_pcm_substream_to_dma_direction - Get dma_transfer_direction for a PCM
 
23
 *   substream
 
24
 * @substream: PCM substream
 
25
 */
 
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
 
 
43
int snd_dmaengine_pcm_open(struct snd_pcm_substream *substream,
 
44
        dma_filter_fn filter_fn, void *filter_data);
 
45
int snd_dmaengine_pcm_close(struct snd_pcm_substream *substream);
 
46
 
 
47
struct dma_chan *snd_dmaengine_pcm_get_chan(struct snd_pcm_substream *substream);
 
48
 
 
49
#endif