Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Functions
soc-dmaengine-pcm.c File Reference
#include <linux/module.h>
#include <linux/init.h>
#include <linux/dmaengine.h>
#include <linux/slab.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
#include <sound/soc.h>
#include <sound/dmaengine_pcm.h>

Go to the source code of this file.

Data Structures

struct  dmaengine_pcm_runtime_data
 

Functions

void snd_dmaengine_pcm_set_data (struct snd_pcm_substream *substream, void *data)
 
 EXPORT_SYMBOL_GPL (snd_dmaengine_pcm_set_data)
 
voidsnd_dmaengine_pcm_get_data (struct snd_pcm_substream *substream)
 
 EXPORT_SYMBOL_GPL (snd_dmaengine_pcm_get_data)
 
struct dma_chansnd_dmaengine_pcm_get_chan (struct snd_pcm_substream *substream)
 
 EXPORT_SYMBOL_GPL (snd_dmaengine_pcm_get_chan)
 
int snd_hwparams_to_dma_slave_config (const struct snd_pcm_substream *substream, const struct snd_pcm_hw_params *params, struct dma_slave_config *slave_config)
 
 EXPORT_SYMBOL_GPL (snd_hwparams_to_dma_slave_config)
 
int snd_dmaengine_pcm_trigger (struct snd_pcm_substream *substream, int cmd)
 
 EXPORT_SYMBOL_GPL (snd_dmaengine_pcm_trigger)
 
snd_pcm_uframes_t snd_dmaengine_pcm_pointer_no_residue (struct snd_pcm_substream *substream)
 
 EXPORT_SYMBOL_GPL (snd_dmaengine_pcm_pointer_no_residue)
 
snd_pcm_uframes_t snd_dmaengine_pcm_pointer (struct snd_pcm_substream *substream)
 
 EXPORT_SYMBOL_GPL (snd_dmaengine_pcm_pointer)
 
int snd_dmaengine_pcm_open (struct snd_pcm_substream *substream, dma_filter_fn filter_fn, void *filter_data)
 
 EXPORT_SYMBOL_GPL (snd_dmaengine_pcm_open)
 
int snd_dmaengine_pcm_close (struct snd_pcm_substream *substream)
 
 EXPORT_SYMBOL_GPL (snd_dmaengine_pcm_close)
 

Function Documentation

EXPORT_SYMBOL_GPL ( snd_dmaengine_pcm_set_data  )
EXPORT_SYMBOL_GPL ( snd_dmaengine_pcm_get_data  )
EXPORT_SYMBOL_GPL ( snd_dmaengine_pcm_get_chan  )
EXPORT_SYMBOL_GPL ( snd_hwparams_to_dma_slave_config  )
EXPORT_SYMBOL_GPL ( snd_dmaengine_pcm_trigger  )
EXPORT_SYMBOL_GPL ( snd_dmaengine_pcm_pointer_no_residue  )
EXPORT_SYMBOL_GPL ( snd_dmaengine_pcm_pointer  )
EXPORT_SYMBOL_GPL ( snd_dmaengine_pcm_open  )
EXPORT_SYMBOL_GPL ( snd_dmaengine_pcm_close  )
int snd_dmaengine_pcm_close ( struct snd_pcm_substream substream)

snd_dmaengine_pcm_close - Close a dmaengine based PCM substream : PCM substream

Definition at line 310 of file soc-dmaengine-pcm.c.

struct dma_chan* snd_dmaengine_pcm_get_chan ( struct snd_pcm_substream substream)
read

Definition at line 73 of file soc-dmaengine-pcm.c.

void* snd_dmaengine_pcm_get_data ( struct snd_pcm_substream substream)

snd_dmaengine_pcm_get_data - Get dmaeinge substream private data : PCM substream

Returns the data previously set with snd_dmaengine_pcm_set_data

Definition at line 65 of file soc-dmaengine-pcm.c.

int snd_dmaengine_pcm_open ( struct snd_pcm_substream substream,
dma_filter_fn  filter_fn,
void filter_data 
)

snd_dmaengine_pcm_open - Open a dmaengine based PCM substream : PCM substream : Filter function used to request the DMA channel : Data passed to the DMA filter function

Returns 0 on success, a negative error code otherwise.

This function will request a DMA channel using the passed filter function and data. The function should usually be called from the pcm open callback.

Note that this function will use private_data field of the substream's runtime. So it is not availabe to your pcm driver implementation. If you need to keep additional data attached to a substream use snd_dmaengine_pcm_{set,get}_data.

Definition at line 279 of file soc-dmaengine-pcm.c.

snd_pcm_uframes_t snd_dmaengine_pcm_pointer ( struct snd_pcm_substream substream)

snd_dmaengine_pcm_pointer - dmaengine based PCM pointer implementation : PCM substream

This function can be used as the PCM pointer callback for dmaengine based PCM driver implementations.

Definition at line 228 of file soc-dmaengine-pcm.c.

snd_pcm_uframes_t snd_dmaengine_pcm_pointer_no_residue ( struct snd_pcm_substream substream)

snd_dmaengine_pcm_pointer_no_residue - dmaengine based PCM pointer implementation : PCM substream

This function is deprecated and should not be used by new drivers, as its results may be unreliable.

Definition at line 214 of file soc-dmaengine-pcm.c.

void snd_dmaengine_pcm_set_data ( struct snd_pcm_substream substream,
void data 
)

snd_dmaengine_pcm_set_data - Set dmaengine substream private data : PCM substream : Data to set

Definition at line 51 of file soc-dmaengine-pcm.c.

int snd_dmaengine_pcm_trigger ( struct snd_pcm_substream substream,
int  cmd 
)

snd_dmaengine_pcm_trigger - dmaengine based PCM trigger implementation : PCM substream : Trigger command

Returns 0 on success, a negative error code otherwise.

This function can be used as the PCM trigger callback for dmaengine based PCM driver implementations.

Definition at line 176 of file soc-dmaengine-pcm.c.

int snd_hwparams_to_dma_slave_config ( const struct snd_pcm_substream substream,
const struct snd_pcm_hw_params params,
struct dma_slave_config slave_config 
)

snd_hwparams_to_dma_slave_config - Convert hw_params to dma_slave_config : PCM substream : hw_params : DMA slave config

This function can be used to initialize a dma_slave_config from a substream and hw_params in a dmaengine based PCM driver implementation.

Definition at line 90 of file soc-dmaengine-pcm.c.