Re: trident noise
On Tue, Aug 13, 2002 at 04:01:36PM -0400, Russell Neches wrote:
> Hey there --
> I've recently been tinkering with VIA's EPIA motherboard and the
> various gizmos integrated into VIA's "super southbridge" chip.
> Basically everything is crammed into this chip:
> 00:00.0 Host bridge: VIA Technologies, Inc. VT8601 [Apollo ProMedia] (rev 05)
> 00:01.0 PCI bridge: VIA Technologies, Inc. VT8601 [Apollo ProMedia AGP]
> 00:11.0 ISA bridge: VIA Technologies, Inc. VT8231 [PCI-to-ISA Bridge] (rev 10)
> 00:11.1 IDE interface: VIA Technologies, Inc. Bus Master IDE (rev 06)
> 00:11.2 USB Controller: VIA Technologies, Inc. UHCI USB (rev 1e)
> 00:11.3 USB Controller: VIA Technologies, Inc. UHCI USB (rev 1e)
> 00:11.4 Bridge: VIA Technologies, Inc. VT8235 Power Management (rev 10)
> 00:11.5 Multimedia audio controller: VIA Technologies, Inc. AC97 Audio Controller (rev 40)
> 00:12.0 Ethernet controller: VIA Technologies, Inc. Ethernet Controller (rev 51)
> 00:13:0 Kitchen sink: VIA Technologies, Inc. Sink (rev 08) Faucet (rev 11b)
> 01:00.0 VGA compatible controller: Trident Microsystems CyberBlade/i1 (rev 6a)
> (all right, 00:13 is fictional)
> The problem I've been having is something I've not seen much since AGP
> came around - the sound card chirps and skips when you move a window
> around. I've tried everything I can think of to reproduce the problem
> in other ways, but I'm pretty confidant that I've isolated it to X.
> Playing with DMA mode on the disk, unloading the network driver,
> blasting the CPU to induce latency and all permutations of such abuse
> fail to cause the sound card to skip. In fact, it sounds pretty good
> for inexpensive hardware. However, as soon as X is loaded and a window
> is perturbed, the sound card goes insane.
> Now, if I remember my history, PCI video card manufacturers discovered
> at some point that they could lengthen the little bars produced by
> WinBench by a few percent if they wrote blindly to the instruction
> queue on the video card. This didn't cause trouble for most PCI
> devices, but it caused that obnoxious popping and squeaking from sound
> cards. The PCI bus would lock up for a few tens of audio cycles -
> insignificant for filesystem performance, but you will definitely hear
> (and hate) it. The only way to fix it was to put the code that checks
> the video instruction queue back into the video driver.
I am not sure, but what you describe could be the usage of the PCI
disconnect feature, in which the video card would disconnect from the
bus until there is space in the instruction queue, while the processor
keeps resending the data until there is space in the fifo, thus eating
all the bus bandwith.
I don't know the trident driver, but from the manpage, maybe you could
unset the following option :
Option "PciRetry" "boolean"
Enable or disable PCI retries. Default: off.
You see, it seems to default to off, but may get enabled in the config
file, please check.