At Thu, 17 May 2012 17:15:24 +0800, cee1 wrote:
Hi,
Thanks for reply. 2012/5/15 Takashi Iwai tiwai@suse.de
At Tue, 15 May 2012 16:30:14 +0800, cee1 wrote:
Witch a patch[1] of PA which dumps playback PCM data, I found the dumped data(with ./wavformat.py[2] <dumpped_data> to convert to wav file) is not corrupted. Since PA uses mmap to transfer PCM data, the driver's DMA buffer should also be "good".
It seems related to HDA controller of SB710, I tried HDMI output, and can reproduce the problem too(http://dev.lemote.com/files/upload/software/PA-apc/HDMI-corrupted_sound.ogg).
If you are using the recent kernel, try snoop=off option of snd-hda-intel driver. The recent AMD and VIA controllers are known to work with the non-snooping mode.
I'm trying snd-hda-intel.snoop=0 under ubuntu10.10(32bit) with kernel from ubuntu 12.04(32bit), I still can reproduce it.
BTW, what is difference between snoop and no snoop? Enable no snoop mode will render no sound on our platform(which is mips compatible).
Ah, *this* is the biggest missing information. The non-snoop mode is implemented currently only for x86-64.
The non-snoop mode requires the non-cached pages and its mmap. This implementation is pretty arch-dependency, and currently no properl way is provided for MIPS. On such platforms, mmap doesn't work reliably, unfortunately.
Takashi