Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 24 Mar 2003 14:04:35 +0900
From:      Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
To:        freebsd-sparc <freebsd-sparc@FreeBSD.ORG>
Subject:   PCI-PCI bridge
Message-ID:  <ybsel4xqrrw.wl@ett.sat.t.u-tokyo.ac.jp>

next in thread | raw e-mail | index | archive | help
Hi,

I have a problem with PCI-PCI bridge on sparc64(sun ultra5) while
tesing firewire driver.

I have a Adaptec card which has a firewire and a USB2 chips behind
PCI-PCI bridge. With this card the DMA trasfer speed is poor and
it sometimes causes timeout which leads to panic(*1).

I finally found that this is because the PCI-PCI bridge 
is not configured correctly and setting the cache line size in the
bridge by pciconf fixes the problem.
(pciconf -w -b  pci1:1:0 0x0c 16)

Sun's APB PCI-PCI bridges seem to be configured correctly but the one on
the card doesn't.
Who should configure such bridges?
Does upgrading firmware fix the problem?

(*1) device reports timeouts while DMA transfer is active and
unloading dmamap causes accesss faults.

/\ Hidetoshi Shimokawa
\/  simokawa@sat.t.u-tokyo.ac.jp
PGP public key: http://www.sat.t.u-tokyo.ac.jp/~simokawa/pgp.html

output of dmesg and pciconf -lv follows:

Copyright (c) 1992-2003 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD 5.0-CURRENT #4: Wed Mar 19 16:50:44 JST 2003
    simokawa@ett.sat.t.u-tokyo.ac.jp:/export/dpt/FreeBSD/obj/sparc64/export/dpt/FreeBSD/FreeBSD-current/src/sys/TAURUS
Preloaded elf kernel "/boot/kernel/kernel" at 0xc0518000.
Timecounter "tick"  frequency 360000000 Hz
cpu0: Sun Microsystems UltraSparc-IIi Processor (360.00 MHz CPU)
Model: SUNW,Ultra-5_10
Allocating major#253 to "net"
Allocating major#252 to "pci"
nexus0: <OpenFirmware Nexus device>
pcib0: <U2P UPA-PCI bridge> on nexus0
pcib0: Sabre, impl 0, version 0, ign 0x7c0
DVMA map: 0xc0000000 to 0xc7ffffff
PCI-PCI bridge at 0/1/1: setting bus #s to 0/1/1
pcib0: ofw_pci_init: descending to subordinate PCI bus
device 1/1/0: latency timer 0 -> 82
pcib0: ofw_pci_init: no interrupt mapping found for 1/1/0 (preset 0)
device 1/1/1: latency timer 0 -> 82
pcib0: ofw_pci_init: mapping intr for 1/1/1 to 33 (preset was 0)
device 1/2/0: latency timer 0 -> 66
pcib0: ofw_pci_init: mapping intr for 1/2/0 to 15 (preset was 15)
device 1/3/0: latency timer 0 -> 16
pcib0: ofw_pci_init: mapping intr for 1/3/0 to 32 (preset was 14)
PCI-PCI bridge at 0/1/0: setting bus #s to 0/2/2
pcib0: ofw_pci_init: descending to subordinate PCI bus
PCI-PCI bridge at 0/1/0: setting bus #s to 0/2/3
PCI-PCI bridge at 2/1/0: setting bus #s to 2/3/3
pcib0: ofw_pci_init: descending to subordinate PCI bus
device 3/8/0: latency timer 8 -> 8
pcib0: ofw_pci_init: mapping intr for 3/8/0 to 16 (preset was 0)
device 3/8/1: latency timer 8 -> 8
pcib0: ofw_pci_init: mapping intr for 3/8/1 to 17 (preset was 0)
device 3/8/2: latency timer 68 -> 132
pcib0: ofw_pci_init: mapping intr for 3/8/2 to 18 (preset was 0)
device 3/11/0: latency timer 0 -> 24
pcib0: ofw_pci_init: mapping intr for 3/11/0 to 19 (preset was 0)
pci0: <PCI bus> on pcib0
pcib1: <APB PCI-PCI bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pcib2: <PCI-PCI bridge> at device 1.0 on pci1
pci3: <PCI bus> on pcib2
pci3: <serial bus, USB> at device 8.0 (no driver attached)
pci3: <serial bus, USB> at device 8.1 (no driver attached)
pci3: <serial bus, USB> at device 8.2 (no driver attached)
pci3: <serial bus, FireWire> at device 11.0 (no driver attached)
pcib3: <APB PCI-PCI bridge> at device 1.1 on pci0
pci2: <PCI bus> on pcib3
ebus0: revision 0x01
ebus0: <PCI-EBus2 bridge> mem 0xf1000000-0xf17fffff,0xf0000000-0xf0ffffff at device 1.0 on pci2
ebus0: <auxio> addr 0x140072f000-0x140072f003,0x140072c000-0x140072c003,0x140072a000-0x140072a003,0x1400728000-0x1400728003,0x1400726000-0x1400726003 (no driver attached)
ebus0: <power> addr 0x1400724000-0x1400724003 irq 37 (no driver attached)
ebus0: <SUNW,pll> addr 0x1400504000-0x1400504002 (no driver attached)
sab0: <Siemens SAB 82532 v3.2> addr 0x1400400000-0x140040007f irq 43 on ebus0
sabtty0: <ttya> on sab0
Allocating major#251 to "sabtty"
sabtty0: console 9600,8,n,1,-
sabtty1: <ttyb> on sab0
ebus0: <su> addr 0x14003083f8-0x14003083ff irq 41 (no driver attached)
ebus0: <su> addr 0x14003062f8-0x14003062ff irq 42 (no driver attached)
ebus0: <ecpp> addr 0x1400700000-0x140070000f,0x140030015c-0x140030015d,0x14003043bc-0x14003043cb irq 34 (no driver attached)
ebus0: <fdthree> addr 0x1400720000-0x1400720003,0x1400706000-0x140070600f,0x14003023f0-0x14003023f7 irq 39 (no driver attached)
eeprom0: <EBus EEPROM/clock> addr 0x1400000000-0x1400001fff on ebus0
eeprom0: model mk48t59
eeprom0: hostid 80b94520
ebus0: <flashprom> addr 0x1000000000-0x10000fffff (no driver attached)
ebus0: <SUNW,CS4231> addr 0x1400722000-0x1400722003,0x1400704000-0x140070400f,0x1400702000-0x140070200f,0x1400200000-0x14002000ff irq 36,35 (no driver attached)
hme0: <Sun HME 10/100 Ethernet> mem 0xe0000000-0xe0007fff irq 33 at device 1.1 on pci2
hme0: Ethernet address: 08:00:20:b9:45:20
miibus0: <MII bus> on hme0
nsphy0: <DP83840 10/100 media interface> on miibus0
nsphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
pci2: <display, VGA> at device 2.0 (no driver attached)
atapci0: <CMD 646 WDMA2 controller> port 0xc00020-0xc0002f,0xc00018-0xc0001b,0xc00010-0xc00017,0xc00008-0xc0000b,0xc00000-0xc00007 irq 32 at device 3.0 on pci2
ata2: at 0xc00000 on atapci0
ata3: at 0xc00010 on atapci0
dcons: virtual 0xca354000 physical 0xc060c000 quad 0x30183000
Allocating major#250 to "dcons"
Timecounters tick every 10.000 msec
Allocating major#249 to "devstat"
ad0: 8223MB <ST38420A> [16708/16/63] at ata2-master WDMA2
acd0: CDROM <CRD-8322B> at ata3-master PIO4
Mounting root from nfs:133.11.135.3:/export/dpt/diskless/root/naiad
setrootbyname failed
NFS ROOT: 133.11.135.3:/export/dpt/diskless/root/taurus
ohci0: <NEC uPD 9210 USB controller> mem 0x100000-0x100fff irq 16 at device 8.0 on pci3
usb0: OHCI version 1.0
usb0: <NEC uPD 9210 USB controller> on ohci0
usb0: USB revision 1.0
uhub0: NEC OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 3 ports with 3 removable, self powered
ohci1: <NEC uPD 9210 USB controller> mem 0x102000-0x102fff irq 17 at device 8.1 on pci3
usb1: OHCI version 1.0
usb1: <NEC uPD 9210 USB controller> on ohci1
usb1: USB revision 1.0
uhub1: NEC OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
fwohci0: <Texas Instruments TSB12LV26> mem 0x108000-0x10bfff,0x106000-0x1067ff irq 19 at device 11.0 on pci3
fwohci0: driver version 2
fwohci0: OHCI version 1.0 (ROM=1)
fwohci0: No. of Isochronous channel is 4.

pcib1@pci0:1:0:	class=0x060400 card=0x00000000 chip=0x5000108e rev=0x13 hdr=0x01
    vendor   = 'Sun Microsystems'
    device   = 'SME2411 UltraSPARC-IIi Advanced PCI Bridge'
    class    = bridge
    subclass = PCI-PCI
pcib3@pci0:1:1:	class=0x060400 card=0x00000000 chip=0x5000108e rev=0x13 hdr=0x01
    vendor   = 'Sun Microsystems'
    device   = 'SME2411 UltraSPARC-IIi Advanced PCI Bridge'
    class    = bridge
    subclass = PCI-PCI
pcib2@pci2:1:0:	class=0x060400 card=0x00000080 chip=0x00213388 rev=0x13 hdr=0x01
    vendor   = 'Hint Corp.'
    device   = 'HB1-SE33 PCI-to-PCI Bridge'
    class    = bridge
    subclass = PCI-PCI
ohci0@pci3:8:0:	class=0x0c0310 card=0x02359004 chip=0x00351033 rev=0x41 hdr=0x00
    vendor   = 'NEC Electronics Hong Kong'
    device   = 'uPD9210FGC-7EA USB Host Controller'
    class    = serial bus
    subclass = USB
ohci1@pci3:8:1:	class=0x0c0310 card=0x02359004 chip=0x00351033 rev=0x41 hdr=0x00
    vendor   = 'NEC Electronics Hong Kong'
    device   = 'uPD9210FGC-7EA USB Host Controller'
    class    = serial bus
    subclass = USB
none0@pci3:8:2:	class=0x0c0320 card=0x02e09004 chip=0x00e01033 rev=0x02 hdr=0x00
    vendor   = 'NEC Electronics Hong Kong'
    device   = 'uPD720100A USB 2.0 Enhanced Host Controller'
    class    = serial bus
    subclass = USB
fwohci0@pci3:11:0:	class=0x0c0010 card=0x8010104c chip=0x8020104c rev=0x00 hdr=0x00
    vendor   = 'Texas Instruments (TI)'
    device   = 'TSB12LV26 OHCI-Lynx PCI IEEE 1394 Host Controller'
    class    = serial bus
    subclass = FireWire
ebus0@pci1:1:0:	class=0x068000 card=0x00000000 chip=0x1000108e rev=0x01 hdr=0x00
    vendor   = 'Sun Microsystems'
    device   = 'SPARC EBUS PCIO PCI I/O Controller'
    class    = bridge
    subclass = PCI-unknown
hme0@pci1:1:1:	class=0x020000 card=0x00000000 chip=0x1001108e rev=0x01 hdr=0x00
    vendor   = 'Sun Microsystems'
    device   = 'PCIO Happy Meal Ethernet'
    class    = network
    subclass = ethernet
none1@pci1:2:0:	class=0x030000 card=0x00000000 chip=0x47501002 rev=0x5c hdr=0x00
    vendor   = 'ATI Technologies'
    device   = 'Rage 3D Pro PCI Graphics Accelerator'
    class    = display
    subclass = VGA
atapci0@pci1:3:0:	class=0x01018f card=0x06461095 chip=0x06461095 rev=0x03 hdr=0x00
    vendor   = 'Silicon Image Inc (Was: CMD Technology Inc)'
    device   = 'PCI-0646 EIDE Adapter (Single FIFO)'
    class    = mass storage
    subclass = ATA

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-sparc" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?ybsel4xqrrw.wl>