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

Dong Aisheng dong.aisheng at linaro.org
Thu Nov 1 15:20:50 CET 2012

On 1 November 2012 20:11, Mark Brown
<broonie at opensource.wolfsonmicro.com> wrote:
> On Wed, Oct 31, 2012 at 04:50:50PM +0800, Dong Aisheng wrote:
>> On 31 October 2012 07:07, Fabio Estevam <festevam at gmail.com> wrote:
>> > +                        * write data to saif data register to trigger
>> > +                        * the transfer.
>> > +                        * For 24-bit format the 32-bit FIFO register stores
>> > +                        * only one channel, so we need to write twice.
>> >                          */
>> >                         __raw_writel(0, saif->base + SAIF_DATA);
>> > +                       __raw_writel(0, saif->base + SAIF_DATA);
>> This probably could a workaround for the customer, but i'm not sure
>> Mark could accept it
>> since the code is a bit confusing. (Mark, what's your suggestion on this?)
> I'm not really concerned about the code, the comment is fairly clear
> except that it'd be good to mention that this is safe for data sizes
> other than 24 bit.  It's certainly really much more confusing than the
> existing code and if it works better that's obviously good!

If you're fine with it, i'm also ok.
This probably is a suitable solution for now since finding out the
strange IC behavior of this issue
may need much longer time without IC people's help and it's still not
on the plan.

You can update the patch with Mark's suggestion and resend it.

Dong Aisheng

More information about the Alsa-devel mailing list