summaryrefslogtreecommitdiff
path: root/crypto
diff options
context:
space:
mode:
authorMatthias Reichl <hias@horus.com>2016-04-27 15:26:51 +0200
committerMark Brown <broonie@kernel.org>2016-04-27 17:34:11 +0100
commit73fe01cfb3babff01748a9fbc95cc3ea2079cc7f (patch)
treef3f6b72b1fa9e2d0374f9417c9e97f1779d5af4a /crypto
parentf55532a0c0b8bb6148f4e07853b876ef73bc69ca (diff)
ASoC: dmaengine_pcm: Add support for packed transfers
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@horus.com> Acked-by: Lars-Peter Clausen <lars@metafoo.de> Tested-by: Martin Sperl <kernel@martin.sperl.org> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'crypto')
0 files changed, 0 insertions, 0 deletions