Subject: Re: CardBus PCI
To: Masanori Kanaoka <kanaoka@ann.hi-ho.ne.jp>
From: Michael Richardson <mcr@solidum.com>
List: tech-kern
Date: 04/23/2001 19:13:36
  hit send too quickly...

after pci_bus_fixup(0):

  (I was actually calling it multiple times. I kept calling it until
the bus numbers stoppped incrementing, but it seems that it will call
itself recursively instead. pci_addr_fixup() seems necessary afterwards,
which seems reasonable to me).

  Now, I need to figure out how the interrupts are mapped.
  I expect that they are all mapped to the single cardbus IRQ, but 
knowing that and figuring out the right intrswiz are two different problems. 

cardbus_attach_card: cb1 start
cardbus_attach_card: Vendor 0x1011, Product 0x24, CIS 0x0
cardbus1: reading CIS data from configuration space
WRONG TUPLE: 0x11
WRONG TUPLE: 0x11
ppb1 at cardbus1 dev 0 function 0: Digital Equipment DECchip 21152 PCI-PCI
Bridge (rev. 0x03)
ppb1: not configured by system firmware calling pci_bus_fixup(3)
PCI fixup examining 8086:7190
PCI fixup examining 8086:7191
PCI fixup examining 1002:4c4d
PCI bridge 3: primary 0, secondary 1, subordinate 1
PCI fixup examining 104c:ac1b
PCI bridge 4: primary 0, secondary 2, subordinate 2
PCI fixup examining 104c:ac1b
PCI fixup examining 1011:24
PCI fixup examining 1011:22
PCI fixup examining 10ec:8139
PCI bridge 7: primary 4, secondary 5, subordinate 5
PCI bridge 6: primary 3, secondary 4, subordinate 5
PCI bridge 5: primary 0, secondary 3, subordinate 5
PCI fixup examining 8086:7110
PCI fixup examining 8086:7111
PCI fixup examining 8086:7112
PCI fixup examining 8086:7113
PCI fixup examining 125d:1978
PCI fixup examining 8086:1229
PCI fixup examining 11c1:445
called pci_bus_fixup 3 -> 5
PCI fixup examining 10ec:8139
called2 pci_bus_fixup 5 -> 5
[System BIOS Setting]-----------------------
  device vendor product
  register space address    size
--------------------------------------------
000:00:0 0x8086 0x7190 
        10h mem  0x50000000 0x04000000
                [OK]
000:01:0 0x8086 0x7191 
                [OK]
000:04:0 0x104c 0xac1b 
        10h mem  0x41100000 0x00001000
                [OK]
000:04:1 0x104c 0xac1b 
        10h mem  0x41180000 0x00001000
                [OK]
000:07:0 0x8086 0x7110 
                [OK]
000:07:1 0x8086 0x7111 
        20h port 0x00003420 0x00000010
                [OK]
000:07:2 0x8086 0x7112 
        20h port 0x00003400 0x00000020
                [OK]
000:07:3 0x8086 0x7113 
                [OK]
000:08:0 0x125d 0x1978 
        10h port 0x00003000 0x00000100
                [OK]
000:09:0 0x8086 0x1229 
        10h mem  0x41280000 0x00001000
        14h port 0x00003440 0x00000040
        18h mem  0x41200000 0x00020000
                [OK]
000:09:1 0x11c1 0x0445 
        10h port 0x00003430 0x00000008
        14h mem  0x41300000 0x00001000
                [OK]
001:00:0 0x1002 0x4c4d 
        10h mem  0x40000000 0x01000000
        14h port 0x00002000 0x00000100
        18h mem  0x41000000 0x00001000
                [OK]
003:00:0 0x1011 0x0024 
                [OK]
004:04:0 0x1011 0x0022 
                [OK]
005:04:0 0x10ec 0x8139 
        10h port 0x00000000 0x00000100
        14h mem  0x00000000 0x00000100
                [NG]
--------------------------[  1 devices bogus]
 Physical memory end: 0x07fed000
 PCI memory mapped I/O space start: 0x08000000
[PCIBIOS fixup stage]-----------------------
  device vendor product
  register space address    size
--------------------------------------------
000:00:0 0x8086 0x7190 
        10h mem  0x50000000 0x04000000
                [OK]
000:01:0 0x8086 0x7191 
                [OK]
000:04:0 0x104c 0xac1b 
        10h mem  0x41100000 0x00001000
                [OK]
000:04:1 0x104c 0xac1b 
        10h mem  0x41180000 0x00001000
                [OK]
000:07:0 0x8086 0x7110 
                [OK]
000:07:1 0x8086 0x7111 
        20h port 0x00003420 0x00000010
                [OK]
000:07:2 0x8086 0x7112 
        20h port 0x00003400 0x00000020
                [OK]
000:07:3 0x8086 0x7113 
                [OK]
000:08:0 0x125d 0x1978 
        10h port 0x00003000 0x00000100
                [OK]
000:09:0 0x8086 0x1229 
        10h mem  0x41280000 0x00001000
        14h port 0x00003440 0x00000040
        18h mem  0x41200000 0x00020000
                [OK]
000:09:1 0x11c1 0x0445 
        10h port 0x00003430 0x00000008
        14h mem  0x41300000 0x00001000
                [OK]
001:00:0 0x1002 0x4c4d 
        10h mem  0x40000000 0x01000000
        14h port 0x00002000 0x00000100
        18h mem  0x41000000 0x00001000
                [OK]
003:00:0 0x1011 0x0024 
                [OK]
004:04:0 0x1011 0x0022 
                [OK]
005:04:0 0x10ec 0x8139 
        10h port 0x00005800 0x00000100
        14h mem  0x08000000 0x00000100
                [OK]
--------------------------[  0 devices bogus]
pci2 at ppb1 bus 4 (rbus)
pci2: i/o space, memory space enabled
ppb2 at pci2 dev 4 function 0: Digital Equipment DECchip 21150 PCI-PCI Bridge 
(rev. 0x06)
pci3 at ppb2 bus 5
pci3: i/o space, memory space enabled
rtk0 at pci3 dev 4 function 0: RealTek 8139 10/100BaseTX
pci_intr_map: no mapping for pin A
rtk0: couldn't map interrupt
boot device: wd0
root on wd0a dumps on wd0b