[ardour-dev] Ancient history? - Problem identified

Mark Knecht markknecht at gmail.com
Thu Nov 11 13:26:45 PST 2004

On Thu, 11 Nov 2004 14:40:12 -0600, Jan Depner <eviltwin69 at cableone.net> wrote:
> On Thu, 2004-11-11 at 11:56, Mark Knecht wrote:
> >    So, my first, somewhat obvious thought, is that drawing pink boxes
> > is a process of moving a number of pixels to the screen. I presume you
> > are using a more modern AGP based archtecture? If you are running an
> > older PCI graphics adapter then you're moving those pixels across the
> > same bus that your audio is moving across to go to and from the disk
> > which would probably cause some problems.
> > 
>         Even using AGP you're running over the PCI bus.  Do an lspci -vvv and
> check it out.  

No, not true. The AGP port comes out of the North Bridge of the
chipset separate from PCI. Think of it in this greatly simplified


(I'm sure this will get messed up with font formatting, but the North
Bridge (NB)  acts as a star connectorbetween 4 elements - CPU, AGP,
PCI and memory.

AGP *devices* have PCI config spaces, and oyu talk to them like they
are on the PCI bus, but slpci will show you they are on a different
physical bus:

flash mark $ /sbin/lspci
0000:00:00.0 Host bridge: ATI Technologies Inc: Unknown device 5833 (rev 02)
0000:00:01.0 PCI bridge: ATI Technologies Inc: Unknown device 5838

<The two above make up the North Bridge in my chipset. Bus 0, devices 0 & 1>

0000:00:13.0 USB Controller: ATI Technologies Inc: Unknown device 4347 (rev 01)
0000:00:13.1 USB Controller: ATI Technologies Inc: Unknown device 4348 (rev 01)
0000:00:14.0 SMBus: ATI Technologies Inc ATI SMBus (rev 16)
0000:00:14.1 IDE interface: ATI Technologies Inc: Unknown device 4349
0000:00:14.3 ISA bridge: ATI Technologies Inc: Unknown device 434c
0000:00:14.4 PCI bridge: ATI Technologies Inc: Unknown device 4342
0000:00:14.5 Multimedia audio controller: ATI Technologies Inc IXP150
AC'97 Audio Controller
0000:00:14.6 Modem: ATI Technologies Inc: Unknown device 434d (rev 01)

<Everything above is on the main PCI bus. Device 13 is a multifuntion
PCI device with two functions. Device 14 is a multifunction device
with 6 functions.>

0000:01:05.0 VGA compatible controller: ATI Technologies Inc RV250
5c61 [Radeon Mobility 9200 M9+] (rev 01)

<The VGA controller is on a separate bus. AGP devices are PCI devices
but appear on their own bus. This is bus #1 in my system.>

0000:02:00.0 FireWire (IEEE 1394): Texas Instruments TSB43AB21
IEEE-1394a-2000 Controller (PHY/Link)
0000:02:02.0 Network controller: Broadcom Corporation BCM94306 802.11g (rev 03)

<My firewire and NIC are on a 3rd bus, bus #2 which is again a PCI
bus. The actually appear to be behind PCI Device #14, function #4
which is a PCI-PCI bridge I believe.>

flash mark $ /sbin/lspci -v

0000:00:14.4 PCI bridge: ATI Technologies Inc: Unknown device 4342
(prog-if 01 [Subtractive decode])
        Flags: bus master, 66Mhz, medium devsel, latency 64
        Bus: primary=00, secondary=02, subordinate=04, sec-latency=69
        I/O behind bridge: 0000a000-0000afff
        Memory behind bridge: e8200000-e82fffff

Note that the primary bus on this bridge is bus #0 and the secondary
bus is bus #2.

<FYI - This does NOT mean that the bus traffic from bus #2 actually
crosses bus #2. This may be done in the chipset to improve
performance. In ym chipset I beleive that ATI does this and my firwire
traffic is completely separated from my audio traffic, whether I use
the internal sound chip or the Cardbus slot, however I have not
checked this in depth.>

> The reason I asked about the NVIDIA card earlier is that
> the accelerated driver for the NVIDIA cards kicks the latency timer to
> 248 for the graphics card.  One of the tricks that I use is to set it
> down to 32 prior to running jack.  Like this:
> /sbin/setpci -s 01:00.0 latency_timer=20

This is a good point and couple be checked.

> Check with lspci to see what all of your PCI latencies are set to.  You
> can also try kicking your sound card latency timer to 248 thusly:
> /sbin/setpci -s 00:0a.0 latency_timer=f8
> Your addresses will vary.
> Jan

More information about the Ardour-Dev mailing list