2012/1/9, Manuel Jander manuel.jander@gmail.com:
Hi,
I can't remember why "pause fifo" is being called instead of "stop fifo". If using the latter fixes channel swap, then I would guess that the "stop" operation ensures that the DMA starts at an appropriate aligned address, thus avoiding shifted data when the interleaved channel get multiplexed to the AC97 codec. But that is just a wild guess.
Best Regards, and thanks a lot, all of you. Manuel
Once, channel swap does not occur for the four channels playback.
Another patch for au88x0
- add PCM Playback Volume for subdevices using internal hardware mixer of au88x0
- Reduce the number of subdevices from 32 to 16 since number of audio streams also depend of the number of sample rate converters NR_SRC and the number of DMA channels NR_ADB
You can test it with alsa-tools/hwmixvolume