OpenCloudOS-Kernel/sound/soc/mxs
Fabio Estevam f55f14752e ASoC: mxs-saif: Fix channel swap for 24-bit format
Playing 24-bit format file leads to channel swap on mx28 and the reason is that
the current driver performs one write/read to/from the SAIF_DATA register to
trigger the transfer.

This approach works fine for S16_LE case because SAIF_DATA is a 32-bit register
and thus is capable of storing the 16-bit left and right channels, but for the
S24_LE case it can only store one channel, so in order to not lose the FIFO sync
an extra read/write is needed.

Reported-by: Dan Winner <DWinner@tc-helicon.com>
Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
Tested-by: Dan Winner <DWinner@tc-helicon.com>
Acked-by: Dong Aisheng <dong.aisheng@linaro.org>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2012-11-02 15:03:06 +00:00
..
Kconfig ASoC: mxs: Fix the name of the SoC family 2012-08-08 12:15:10 +01:00
Makefile ASoC: mxs: add asoc configuration files 2011-07-28 11:47:41 +01:00
mxs-pcm.c ASoC: dmaengine-pcm: Rename and deprecate snd_dmaengine_pcm_pointer 2012-06-20 15:38:32 +01:00
mxs-pcm.h ASoC: mxs: mxs-pcm does not need to be a plaform_driver 2012-05-12 11:04:58 +01:00
mxs-saif.c ASoC: mxs-saif: Fix channel swap for 24-bit format 2012-11-02 15:03:06 +00:00
mxs-saif.h ASoC: mxs: mxs-pcm does not need to be a plaform_driver 2012-05-12 11:04:58 +01:00
mxs-sgtl5000.c ASoC: make snd_soc_dai_link more symmetrical 2012-06-03 13:06:41 +01:00