[alsa-devel] [PATCH v2 1/2] ASoC: mxs-saif: Fix channel swap for 24-bit format

Dong Aisheng dong.aisheng at linaro.org
Thu Nov 1 22:59:05 CET 2012


On 2 November 2012 01:57, Fabio Estevam <fabio.estevam at freescale.com> wrote:
> 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 at tc-helicon.com>
> Signed-off-by: Fabio Estevam <fabio.estevam at freescale.com>
> Tested-by: Dan Winner <DWinner at tc-helicon.com>

Acked-by: Dong Aisheng <dong.aisheng at linaro.org>

Regards
Dong Aisheng


More information about the Alsa-devel mailing list