[linux-audio-user] still have bad sound

Mark Knecht markknecht at comcast.net
Fri Feb 13 10:49:04 EST 2004


On Fri, 2004-02-13 at 06:01, Dave Phillips wrote:
> Greetings:

and to you too...

>   Following advice found in an article by Daniel Robbins 
> (http://www-106.ibm.com/developerworks/library/l-hw2.html) I adjusted 
> the PCI latency timer (with setpci) for my sound card. At last I 
> eliminated *most* of the trouble with ImproSculpt. The mouse still zips 
> but the overall distortion is gone. I thought that perhaps FLTK had been 
> compiled with GL dependencies, but 'ldd lbfltk.so' showed none.

Since you're getting into this, have you checked the MIN_GNT and MAX_LAT
values in the PCI config space of your sound card? Setting the PCI
Latency timer to a higher value only keeps your card on the bus longer
when it finally gets the bus. It doesn't do anything to help it gain
access to the bus sooner. It's probably that some *other* PCI device is
holding the bus and starving you out. Since it appears to be related to
your mouse and hard drives, it would seem to be your South Bridge since
that's what likely controls both of them.

Anyway you can look at a few options:

1) Get a good IRQ. I have an older Dell P3 500 that has this same 'mouse
causes noise on AP2496 under Windows ME' sort of problem when the sound
card is on IRQ 3,4,5,6 or 7. (Assuming traditional IRQs and not
APIC/IO-APIC IRQs.) By moving the card to IRQ9 the problem goes away. (I
know Clemens said the other day that this doesn't matter, but on my
systems it has and continues to matter. I acknowledge the physics in my
universe are somewhat cartoonish at times...) ;-)

2) If it's not an IRQ issue, then maybe you need to get the *other*
devices *off* the PCI bus faster. To do this you would *lower* their
latency timer values. However, you should really look at the MIN_GNT and
MAX_LAT values in all of their PCI config spaces. Lower their latency
timers (or try it) but don't lower them further than their MAX_LAT
values. (IMPORTANT FYI - MIN_GNT and MAX_LAT are specified in terms of
1/4 microsecond units, not clock cycles while Latency Timer is specified
in terms of PCI clocks. You need to do the conversions! Ask questions if
you need to.)

IMPORTANT FYI #2: Messing with any of these values on your disk drives
may lead to corruption.

Just some idea.

Good luck,
Mark




More information about the Linux-audio-user mailing list