linux-IllusionX/sound/soc
Matthias Reichl beff053c0e ASoC: bcm2835: Add S16_LE support via packed DMA transfers
The bcm2835-i2s driver already has support for the S16_LE format but
that format hasn't been made available because dmaengine_pcm didn't
support packed data transfers.

bcm2835-i2s needs 16-bit left+right channel data to be packed into
a 32-bit word, the FIFO register is 32-bit only and doesn't support
16-bit access.

Now that dmaengine_pcm supports packed transfers the format can
be made available by setting the SND_DMAENGINE_PCM_DAI_FLAG_PACK flag.

No further configuration is necessary:
- snd_dmaengine_dai_dma_data.addr_width is already set to
  DMA_SLAVE_BUSWIDTH_4_BYTES to force 32-bit DMA transfers
- dmaengine_pcm will pick up the S16_LE format from the DAI
  configuration and make it available since it's no longer
  masked out due to the PACK flag.
- there are no further corner cases to catch in hw_params,
  since the channel count is fixed at 2 we always have two
  16-bit stereo samples that can be transferred via 32-bit DMA

Signed-off-by: Matthias Reichl <hias@horus.com>
Tested-by: Martin Sperl <kernel@martin.sperl.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
2016-04-27 17:35:53 +01:00
..
adi
amd ASoC: AMD: free memory on error 2016-01-13 12:32:04 +00:00
atmel ASoC: atmel_ssc_dai: distinguish the different SSC 2016-03-02 23:43:11 +09:00
au1x ASoC: Updates for v4.4 2015-10-26 11:15:54 +09:00
bcm ASoC: bcm2835: Add S16_LE support via packed DMA transfers 2016-04-27 17:35:53 +01:00
blackfin
cirrus
codecs sound updates for 4.6-rc1 2016-03-18 10:05:46 -07:00
davinci ASoC: davinci: Kconfig: Update the edma-pcm section's dependency and help 2016-03-12 09:45:59 +07:00
dwc ASoC: dwc: Ensure i2s_reg_comp{1,2} is always initialised 2016-02-02 19:20:18 +00:00
fsl sound updates for 4.6-rc1 2016-03-18 10:05:46 -07:00
generic ASoC: simple-card: don't fail if sysclk setting is not supported 2016-01-27 20:27:09 +00:00
img ASoC: img: Add driver for Pistachio internal DAC 2015-12-12 22:56:35 +00:00
intel Merge remote-tracking branch 'asoc/topic/intel' into asoc-next 2016-03-13 15:16:26 +07:00
jz4740
kirkwood
mediatek ASoC: mediatek: address dai link array entries by enum 2016-03-05 13:46:06 +09:00
mxs Merge remote-tracking branches 'asoc/topic/max98926', 'asoc/topic/mtk', 'asoc/topic/mxs-saif', 'asoc/topic/nau8825' and 'asoc/topic/omap' into asoc-next 2016-03-13 15:17:18 +07:00
nuc900 dma, mm/pat: Rename dma_*_writecombine() to dma_*_wc() 2016-03-09 14:57:51 +01:00
omap sound updates for 4.6-rc1 2016-03-18 10:05:46 -07:00
pxa Merge remote-tracking branches 'asoc/topic/pxa' and 'asoc/topic/qcom' into asoc-next 2016-03-13 15:17:28 +07:00
qcom ASoC: qcom: fix build error 2016-03-12 09:51:17 +07:00
rockchip ASoC: rockchip: add bindings for spdif controller 2016-03-05 12:59:06 +09:00
samsung Merge remote-tracking branches 'asoc/topic/rt5640', 'asoc/topic/rt5659', 'asoc/topic/samsung' and 'asoc/topic/ssm4567' into asoc-next 2016-03-13 15:17:47 +07:00
sh ASoC: rsnd: add simplified module explanation 2016-03-12 13:03:41 +07:00
sirf
spear
sti Merge remote-tracking branches 'asoc/topic/samsung', 'asoc/topic/sh', 'asoc/topic/ssm2518' and 'asoc/topic/sti' into asoc-next 2015-12-23 00:23:51 +00:00
sunxi ASoC: sunxi: Add support for the SPDIF block 2016-02-20 01:25:51 +09:00
tegra Merge remote-tracking branches 'asoc/topic/tegra', 'asoc/topic/topology', 'asoc/topic/wm8903' and 'asoc/topic/wm8904' into asoc-next 2015-12-23 00:23:52 +00:00
txx9
ux500
xtensa
zte
Kconfig ALSA: jack: Allow building the jack layer without input device 2016-02-23 09:03:07 +01:00
Makefile Merge remote-tracking branches 'asoc/topic/adsp' and 'asoc/topic/amd' into asoc-next 2016-01-11 13:54:32 +00:00
soc-ac97.c GPIO bulk updates for the v4.5 kernel cycle: 2016-01-17 12:32:01 -08:00
soc-cache.c
soc-compress.c ASoC: Last updates for v4.5 2016-01-11 17:50:15 +01:00
soc-core.c ASoC: fix memory leak 2016-02-22 19:40:06 +09:00
soc-dapm.c Merge remote-tracking branch 'asoc/topic/dapm' into asoc-next 2016-03-13 15:16:24 +07:00
soc-devres.c
soc-generic-dmaengine-pcm.c ASoC: dmaengine_pcm: Add support for packed transfers 2016-04-27 17:34:11 +01:00
soc-io.c
soc-jack.c
soc-ops.c Merge remote-tracking branches 'asoc/topic/kcontrol', 'asoc/topic/max98357a' and 'asoc/topic/mtk' into asoc-next 2015-12-23 00:23:44 +00:00
soc-pcm.c Merge remote-tracking branch 'asoc/topic/pcm' into asoc-next 2016-03-13 15:16:30 +07:00
soc-topology.c ASoC: topology: Fix setting of stream rates, rate_min and rate_max 2016-02-22 19:40:36 +09:00
soc-utils.c