NV10 hdac issue

Konstantin Belousov kostikbel at gmail.com
Thu May 24 16:53:49 UTC 2012


On Thu, May 24, 2012 at 03:34:10AM +0300, Alexander Motin wrote:
> 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.
The minimum value of hw.snd.latency where I do not hear the distortion
is 9.

> 
> 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?

I cannot say anything about SMI, but suppose that there is no other issues
on this box. There is no noticeable lag under any other activity, like
doing some maintanence work in shell, using the text editor (vi),
as well as ping response times are reasonable  and without much
deviations.

vmstat -i:
interrupt                          total       rate
irq4: uart0                         1111          0
irq19: uhci1                        5343          2
irq20: hpet0                      261172        108
irq23: ehci0 uhci0                  2430          1
irq256: ahci0                       1467          0
irq257: hdac0                       6444          2
irq258: em0:rx 0                    3133          1
irq259: em0:tx 0                     652          0
irq260: em0:link                       1          0
Total                             281753        117

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-multimedia/attachments/20120524/2f8c85f9/attachment.pgp


More information about the freebsd-multimedia mailing list