---
name: "struct_snd_dmaengine_pcm_config"
section: "9"
platform: "linux"
package: "linux-manual-4.9"
version: "4.9.228-1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/struct_snd_dmaengine_pcm_config"
---

# struct\_snd\_dmaengine\_pcm\_config(9)

Configuration data for dmaengine based PCM

## NAME

struct\_snd\_dmaengine\_pcm\_config - Configuration data for dmaengine based PCM

## SYNOPSIS

```
struct snd_dmaengine_pcm_config {
  int (* prepare_slave_config) (struct snd_pcm_substream *substream,struct snd_pcm_hw_params *params,struct dma_slave_config *slave_config);
  struct dma_chan *(* compat_request_channel) (struct snd_soc_pcm_runtime *rtd,struct snd_pcm_substream *substream);
  dma_filter_fn compat_filter_fn;
  struct device * dma_dev;
  const char * chan_names[SNDRV_PCM_STREAM_LAST + 1];
  const struct snd_pcm_hardware * pcm_hardware;
  unsigned int prealloc_buffer_size;
};
```

## MEMBERS

prepare\_slave\_config

Callback used to fill in the DMA slave\_config for a PCM substream. Will be called from the PCM drivers hwparams callback.

compat\_request\_channel

Callback to request a DMA channel for platforms which do not use devicetree.

compat\_filter\_fn

Will be used as the filter function when requesting a channel for platforms which do not use devicetree. The filter parameter will be the DAI's DMA data.

dma\_dev

If set, request DMA channel on this device rather than the DAI device.

chan\_names\[SNDRV\_PCM\_STREAM\_LAST + 1\]

If set, these custom DMA channel names will be requested at registration time.

pcm\_hardware

snd\_pcm\_hardware struct to be used for the PCM.

prealloc\_buffer\_size

Size of the preallocated audio buffer.

## NOTE

If both compat\_request\_channel and compat\_filter\_fn are set compat\_request\_channel will be used to request the channel and compat\_filter\_fn will be ignored. Otherwise the channel will be requested using dma\_request\_channel with compat\_filter\_fn as the filter function.

## COPYRIGHT
