[alsa-devel] [PATCH 1/2] ASoC: dmaengine_pcm: Add support for packed transfers
Martin Sperl
kernel at martin.sperl.org
Wed Apr 27 16:33:12 CEST 2016
> On 27.04.2016, at 15:26, Matthias Reichl <hias at horus.com> wrote:
>
> dmaengine_pcm currently only supports setups where FIFO reads/writes
> correspond to exactly one sample, eg 16-bit sample data is transferred
> via 16-bit FIFO accesses, 32-bit data via 32-bit accesses.
>
> This patch adds support for setups with fixed width FIFOs where
> multiple samples are packed into a larger word.
>
> For example setups with a 32-bit wide FIFO register that expect
> 16-bit sample transfers to be done with the left+right sample data
> packed into a 32-bit word.
>
> Support for packed transfers is controlled via the
> SND_DMAENGINE_PCM_DAI_FLAG_PACK flag in snd_dmaengine_dai_dma_data.flags
>
> If this flag is set dmaengine_pcm doesn't put any restriction on the
> supported formats and sets the DMA transfer width to undefined.
>
> This means control over the constraints is now transferred to the DAI
> driver and it's responsible to provide proper configuration and
> check for possible corner cases that aren't handled by the ALSA core.
>
> Signed-off-by: Matthias Reichl <hias at horus.com>
Tested-by: Martin Sperl <kernel at martin.sperl.org>
More information about the Alsa-devel
mailing list