[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
picture:

        CPU-cache
           |
AGP--NB--Memory
           |
        PCI

(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
<SNIP>

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