[alsa-devel] Adjust volume may cause audio playback corruption
tiwai at suse.de
Thu May 17 12:40:10 CEST 2012
At Thu, 17 May 2012 17:15:24 +0800,
> Thanks for reply.
> 2012/5/15 Takashi Iwai <tiwai at suse.de>
> > At Tue, 15 May 2012 16:30:14 +0800,
> > cee1 wrote:
> > >
> > > Witch a patch of PA which dumps playback PCM data, I found the
> > > dumped data(with ./wavformat.py <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.
More information about the Alsa-devel