NV10 hdac issue

Alexander Motin mav at FreeBSD.org
Thu May 24 00:34:18 UTC 2012

On 05/23/12 22:37, Konstantin Belousov wrote:
> On Wed, May 23, 2012 at 09:32:48PM +0300, Alexander Motin wrote:
>> On 05/23/12 01:06, Konstantin Belousov wrote:
>>> I have (another) Atom motherboard from Intel, DN2800MT. Now, the problem
>>> is with distorted sound. Anything is played as if some pause is inserted
>>> after the next sample is finished. So I hear the proper pitch, but with
>>> guggle between fragments. I am not sure how to describe it better, except
>>> to say that it sounds as if buffering was not enough, for regular short
>>> intervals of approx. 0.5 sec.
>>> I do not believe that 1.8Hhz Atoms are too slow to decode mp3 or to play
>>> wav.
>>> The hda controller is
>>> hdac0 at pci0:0:27:0:      class=0x040300 card=0x20128086 chip=0x27d88086
>>> rev=0x02 hdr=0x00
>>> codec is Realtek ALC888. The verbose dmesg from hda_snd load is at
>>> http://people.freebsd.org/~kib/tom.dmesg.txt , assuming this is useful.
>>> I would want to get normal sound from this board, thanks in advance.
>> I haven't seen alike reports neither for this controller, nor for this
>> CODEC. I would try to experiment with:
>> 1) disabling MSI interrupts with hint.hdac.0.msi=0
>> 2) switching to polling mode without using any interrupts with
>> dev.hdac.0.polling=1
>> 3) changing buffer size with hw.snd.latency
>> 4) changing playback format (or vchans format it it is used)
>> 5) setting sysctl hw.snd.verbose=2 and checking for application level
>> underruns with `cat /dev/sndstat`.
> Thank you, setting hw.snd.latency to 10 fixed the issue. Still, I do not
> understand why default settings for the driver are not enough for the
> machine.

latency=10 means buffering for about 0.3s, that is quite a lot. I've 
tested some systems with smallest possible buffer of just 0.6ms and they 
were working about fine even in that case.

If it works for large buffer I would suppose that controller operates 
well, because using only two interrupts per period even single loss 
should be heard. Can't it be some insane SMI handler or something alike? 
Aren't there any other lags noticed?

Alexander Motin

More information about the freebsd-multimedia mailing list