lkml.org 
[lkml]   [2000]   [Nov]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: Cardbus bridge problems
On Thu, 23 Nov 2000, Linus Torvalds wrote:
> That bus setup is horribly wrong, and says that the CardBus bridge no bus
> numbers, which is obviously not correct. It somehow got through the bridge
> scanning without being fixed up..
>
> Now, the reason for why it seems to be so unhappy is apparently
>
> Scanning behind PCI bridge 00:08.0, config 000040, pass 1
> Scanning behind PCI bridge 00:08.1, config 000040, pass 1
>
> Note the "config 000040". It basically seems to imply that the cardbus
> bridge has been set up as bus 0x40, ie 64. With no secondary bus behind
> it. Which looks completely and utterly bogus.
>
> I bet the thing works for you if you change the magic constant 0xffffff in
> pci_scan_bridge() to the new magic constant 0xffff00. Basically, we don't
> much care what it reports for the primary bus number: but we _do_ care
> that a PCI bridge should have a secondary bus number.

Two down. I no longer need the Windows by-pass surgery. Thanks!

[I have attached the new dmesg and lspci output for your amusement.]

Oh, I almost forgot. When the bus numbers were wrong, and I inserted a
Cardbus card, I could no longer user lspci, since it tried to open a
non-existing file unser /proc/bus/pci/. It did not help to eject the card,
so I guess the kernel left something in a half-initialized state. Would
you like me to try to find out more details, or is it a non-issue, or
maybe obvious?

/Tobias

00:00.0 Host bridge: Intel Corporation 440BX/ZX - 82443BX/ZX Host bridge (rev 03)
Subsystem: Mitac: Unknown device 7233
Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
Latency: 64
Region 0: Memory at 20000000 (32-bit, prefetchable) [size=256M]
Capabilities: [a0] AGP version 1.0
Status: RQ=31 SBA+ 64bit- FW- Rate=x1,x2
Command: RQ=0 SBA- AGP- 64bit- FW- Rate=<none>

00:01.0 PCI bridge: Intel Corporation 440BX/ZX - 82443BX/ZX AGP bridge (rev 03) (prog-if 00 [Normal decode])
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0
Bus: primary=00, secondary=01, subordinate=01, sec-latency=128
I/O behind bridge: 0000d000-0000dfff
Memory behind bridge: e4000000-e7ffffff
Prefetchable memory behind bridge: e0000000-e3ffffff
BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B+

00:07.0 ISA bridge: Intel Corporation 82371AB PIIX4 ISA (rev 02)
Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0

00:07.1 IDE interface: Intel Corporation 82371AB PIIX4 IDE (rev 01) (prog-if 80 [Master])
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64
Region 4: I/O ports at 1100 [size=16]

00:07.2 USB Controller: Intel Corporation 82371AB PIIX4 USB (rev 01) (prog-if 00 [UHCI])
Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin D routed to IRQ 9
Region 4: I/O ports at 1040 [size=32]

00:07.3 Bridge: Intel Corporation 82371AB PIIX4 ACPI (rev 02)
Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-

00:08.0 CardBus bridge: Texas Instruments PCI1225 (rev 01)
Subsystem: Mitac: Unknown device 7233
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 168, cache line size 08
Interrupt: pin A routed to IRQ 10
Region 0: Memory at 10000000 (32-bit, non-prefetchable) [size=4K]
Bus: primary=00, secondary=02, subordinate=02, sec-latency=176
Memory window 0: 10400000-107ff000 (prefetchable)
Memory window 1: 10800000-10bff000
I/O window 0: 00001800-000018ff
I/O window 1: 00001c00-00001cff
BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt- PostWrite+
16-bit legacy interface ports at 0001

00:08.1 CardBus bridge: Texas Instruments PCI1225 (rev 01)
Subsystem: Mitac: Unknown device 7233
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 168, cache line size 08
Interrupt: pin A routed to IRQ 10
Region 0: Memory at 10001000 (32-bit, non-prefetchable) [size=4K]
Bus: primary=00, secondary=06, subordinate=06, sec-latency=176
Memory window 0: 10c00000-10fff000 (prefetchable)
Memory window 1: 11000000-113ff000
I/O window 0: 00002000-000020ff
I/O window 1: 00002400-000024ff
BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt+ PostWrite+
16-bit legacy interface ports at 0001

00:09.0 Multimedia audio controller: ESS Technology ES1978 Maestro 2E (rev 10)
Subsystem: Mitac: Unknown device 7233
Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64 (500ns min, 6000ns max)
Interrupt: pin A routed to IRQ 5
Region 0: I/O ports at fc00 [size=256]
Capabilities: [c0] Power Management version 2
Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:0a.0 Communication controller: PCTel Inc HSP MicroModem 56 (rev 01)
Subsystem: Mitac: Unknown device 7233
Control: I/O+ Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Interrupt: pin A routed to IRQ 10
Region 0: I/O ports at 1440 [size=64]
Capabilities: [40] Power Management version 2
Flags: PMEClk- DSI+ D1- D2+ AuxCurrent=55mA PME(D0+,D1-,D2+,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME+

01:00.0 VGA compatible controller: ATI Technologies Inc 3D Rage LT Pro AGP-133 (rev dc) (prog-if 00 [VGA])
Subsystem: Mitac: Unknown device 7233
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 0 (2000ns min), cache line size 04
Interrupt: pin A routed to IRQ 0
Region 0: Memory at e4000000 (32-bit, non-prefetchable) [size=16M]
Region 1: I/O ports at d000 [size=256]
Region 2: Memory at e6000000 (32-bit, non-prefetchable) [size=4K]
Expansion ROM at fffe0000 [disabled] [size=128K]
Capabilities: [50] AGP version 1.0
Status: RQ=255 SBA+ 64bit- FW- Rate=x1,x2
Command: RQ=0 SBA- AGP- 64bit- FW- Rate=<none>
Capabilities: [5c] Power Management version 1
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-

02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RT8139 (B/C) Cardbus Fast Ethernet Adapter (rev 10)
Subsystem: Argosy research Inc: Unknown device 0235
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
Latency: 64 (8000ns min, 16000ns max)
Interrupt: pin A routed to IRQ 10
Region 0: I/O ports at 1800 [size=256]
Region 1: Memory at 10800000 (32-bit, non-prefetchable) [size=512]
Capabilities: [50] Power Management version 2
Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot+,D3cold-)
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities: [60] Vital Product Data

Linux version 2.4.0-test11 (root@localhost.localdomain) (gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)) #26 Fri Nov 24 13:25:49 CET 2000
BIOS-provided physical RAM map:
BIOS-e820: 000000000009fc00 @ 0000000000000000 (usable)
BIOS-e820: 0000000000000400 @ 000000000009fc00 (reserved)
BIOS-e820: 0000000000010000 @ 00000000000f0000 (reserved)
BIOS-e820: 0000000009ef0000 @ 0000000000100000 (usable)
BIOS-e820: 000000000000ffc0 @ 0000000009ff0000 (ACPI data)
BIOS-e820: 0000000000000040 @ 0000000009ffffc0 (ACPI NVS)
BIOS-e820: 0000000000040000 @ 00000000fffc0000 (reserved)
On node 0 totalpages: 40944
zone(0): 4096 pages.
zone(1): 36848 pages.
zone(2): 0 pages.
Kernel command line: auto BOOT_IMAGE=Linux ro root=303 BOOT_FILE=/boot/vmlinuz
Initializing CPU#0
Detected 497.846 MHz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 992.87 BogoMIPS
Memory: 158400k/163776k available (1754k kernel code, 4988k reserved, 106k data, 180k init, 0k highmem)
Dentry-cache hash table entries: 32768 (order: 6, 262144 bytes)
Buffer-cache hash table entries: 8192 (order: 3, 32768 bytes)
Page-cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 16384 (order: 5, 131072 bytes)
CPU: Before vendor init, caps: 0383f9ff 00000000 00000000, vendor = 0
CPU: L2 cache: 256K
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
CPU: After vendor init, caps: 0383f9ff 00000000 00000000 00000000
CPU: After generic, caps: 0383f9ff 00000000 00000000 00000000
CPU: Common caps: 0383f9ff 00000000 00000000 00000000
CPU: Intel Pentium III (Coppermine) stepping 03
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
mtrr: v1.37 (20001109) Richard Gooch (rgooch@atnf.csiro.au)
mtrr: detected mtrr type: Intel
PCI: BIOS32 Service Directory structure at 0xc00e8050
PCI: BIOS32 Service Directory entry at 0xeb350
PCI: BIOS probe returned s=00 hw=11 ver=02.10 l=01
PCI: PCI BIOS revision 2.10 entry at 0xeb390, last bus=1
PCI: Using configuration type 1
PCI: Probing PCI hardware
Scanning bus 00
Found 00:00 [8086/7190] 000600 00
PCI: Calling quirk c02d80f0 for 00:00.0
Found 00:08 [8086/7191] 000604 01
PCI: Calling quirk c02d80f0 for 00:01.0
Found 00:38 [8086/7110] 000601 00
PCI: Calling quirk c02d80f0 for 00:07.0
Found 00:39 [8086/7111] 000101 00
PCI: Calling quirk c02d80f0 for 00:07.1
PCI: IDE base address fixup for 00:07.1
Found 00:3a [8086/7112] 000c03 00
PCI: Calling quirk c02d80f0 for 00:07.2
PCI: Calling quirk c02e18ec for 00:07.2
Found 00:3b [8086/7113] 000680 00
PCI: Calling quirk c02d80f0 for 00:07.3
PCI: Calling quirk c02e17f0 for 00:07.3
Found 00:40 [104c/ac1c] 000607 02
PCI: Calling quirk c02d80f0 for 00:08.0
Found 00:41 [104c/ac1c] 000607 02
PCI: Calling quirk c02d80f0 for 00:08.1
Found 00:48 [125d/1978] 000401 00
PCI: Calling quirk c02d80f0 for 00:09.0
Found 00:50 [134d/7890] 000780 00
PCI: Calling quirk c02d80f0 for 00:0a.0
Fixups for bus 00
PCI: Scanning for ghost devices on bus 0
Scanning behind PCI bridge 00:01.0, config 010100, pass 0
Scanning bus 01
Found 01:00 [1002/4c42] 000300 00
PCI: Calling quirk c02d80f0 for 01:00.0
Fixups for bus 01
PCI: Scanning for ghost devices on bus 1
Bus scan for 01 returning with max=01
Scanning behind PCI bridge 00:08.0, config 000000, pass 0
Scanning behind PCI bridge 00:08.1, config 000000, pass 0
Scanning behind PCI bridge 00:01.0, config 010100, pass 1
Scanning behind PCI bridge 00:08.0, config 000000, pass 1
Scanning behind PCI bridge 00:08.1, config 000000, pass 1
Bus scan for 00 returning with max=09
PCI: IRQ init
PCI: Interrupt Routing Table found at 0xc00fe840
00:07 slot=00 0:00/0e00 1:00/0e00 2:00/0e00 3:63/1620
00:08 slot=01 0:60/0600 1:60/0600 2:00/0400 3:00/0400
00:0a slot=03 0:61/1498 1:00/0e20 2:00/0e20 3:00/0e20
00:09 slot=06 0:62/0e20 1:00/0e20 2:00/0e20 3:00/0e20
01:00 slot=09 0:60/0ca0 1:00/0ca0 2:00/0ca0 3:00/0ca0
PCI: Bus 01 already known
PCI: Using IRQ router PIIX [8086/7110] at 00:07.0
PCI: IRQ fixup
00:07.2: ignoring bogus IRQ 128
01:00.0: ignoring bogus IRQ 255
IRQ for 00:07.2(3) via 00:07.2 -> PIRQ 63, mask 1620, excl 0000 ... failed
IRQ for 01:00.0(0) via 00:01.0 -> not found in routing table
PCI: Allocating resources
PCI: Resource 20000000-2fffffff (f=1208, d=0, p=0)
PCI: Resource 00001100-0000110f (f=101, d=0, p=0)
PCI: Resource 00001040-0000105f (f=101, d=0, p=0)
PCI: Resource 10000000-10000fff (f=200, d=0, p=0)
PCI: Resource 10001000-10001fff (f=200, d=0, p=0)
PCI: Resource 0000fc00-0000fcff (f=101, d=0, p=0)
PCI: Resource 00001440-0000147f (f=101, d=0, p=0)
PCI: Resource e4000000-e4ffffff (f=200, d=0, p=0)
PCI: Resource 0000d000-0000d0ff (f=101, d=0, p=0)
PCI: Resource e6000000-e6000fff (f=200, d=0, p=0)
PCI: Sorting device list...
PCI: Calling quirk c02e1704 for 00:00.0
Limiting direct PCI/PCI transfers.
PCI: Calling quirk c02e1704 for 00:01.0
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
apm: BIOS version 1.2 Flags 0x03 (Driver version 1.13)
Starting kswapd v1.8
pty: 256 Unix98 ptys configured
loop: enabling 8 loop devices
Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
PIIX4: IDE controller on PCI bus 00 dev 39
PIIX4: chipset revision 1
PIIX4: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0x1100-0x1107, BIOS settings: hda:DMA, hdb:pio
ide1: BM-DMA at 0x1108-0x110f, BIOS settings: hdc:DMA, hdd:pio
hda: FUJITSU MHM2100AT, ATA DISK drive
hdc: CD-224E, ATAPI CDROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: 19640880 sectors (10056 MB) w/2048KiB Cache, CHS=1222/255/63, UDMA(33)
hdc: ATAPI 24X CD-ROM drive, 128kB Cache, DMA
Uniform CD-ROM driver Revision: 3.11
Partition check:
hda: hda1 hda2 hda3 hda4
Floppy drive(s): fd0 is 1.44M
FDC 0 is a National Semiconductor PC87306
NTFS version 000607
udf: registering filesystem
Serial driver version 5.02 (2000-08-09) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
Real Time Clock Driver v1.10d
Linux agpgart interface v0.99 (c) Jeff Hartmann
agpgart: Maximum main memory to use for agp memory: 122M
agpgart: unsupported bridge
agpgart: no supported devices found.
[drm] The mga drm module requires the agpgart module to function correctly
Please load the agpgart module before you load the mga module
Linux PCMCIA Card Services 3.1.22
options: [pci] [cardbus] [pm]
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
IRQ for 00:07.2(3) via 00:07.2 -> PIRQ 63, mask 1620, excl 0000 -> newirq=9 -> assigning IRQ 9 ... OK
PCI: Assigned IRQ 9 for device 00:07.2
uhci.c: USB UHCI at I/O 0x1040, IRQ 9
uhci.c: detected 2 ports
Yenta IRQ list 0898, PCI irq10
Socket status: 30000006
Yenta IRQ list 0898, PCI irq10
Socket status: 30000006
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found
hub.c: 2 ports detected
usb.c: registered new driver hid
mice: PS/2 mouse device common for all mice
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 1024 buckets, 8Kbytes
TCP: Hash tables configured (established 16384 bind 16384)
IPv4 over IPv4 tunneling driver
GRE over IPv4 tunneling driver
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
kmem_create: Forcing size word alignment - nfs_fh
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 180k freed
Adding Swap: 136544k swap-space (priority -1)
maestro: version 0.14 time 15:51:42 Nov 20 2000
maestro: Configuring ESS Maestro 2E found at IO 0xFC00 IRQ 5
maestro: subvendor id: 0x72331071
maestro: not attempting power management.
maestro: AC97 Codec detected: v: 0x83847609 caps: 0x6940 pwr: 0xf
maestro: 1 channels configured.
cs: cb_alloc(bus 2): vendor 0x10ec, device 0x8138
Found 02:00 [10ec/8138] 000200 00
got res[1800:18ff] for resource 0
got res[10800000:108001ff] for resource 1
PCI: Enabling device 02:00.0 (0000 -> 0003)
IRQ for 02:00.0(0) via 00:08.0 -> PIRQ 60, mask 0600, excl 0000 -> newirq=9 -> got IRQ 10
PCI: Found IRQ 10 for device 02:00.0
PCI: The same IRQ used for device 00:08.0
PCI: The same IRQ used for device 00:08.1
8139too Fast Ethernet driver 0.9.11 loaded
PCI: Enabling bus mastering for device 02:00.0
PCI: Setting latency timer of device 02:00.0 to 64
eth0: RealTek RTL8139B PCI/CardBus at 0xca824000, 00:10:d7:09:27:9a, IRQ 10
eth0: Identified 8139 chip type 'RTL-8139B'
\
 
 \ /
  Last update: 2005-03-22 12:47    [W:0.053 / U:2.092 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site