Subject: Re: ppb at cardbus?
To: None <thorpej@zembu.com>
From: Andrew Gillham <gillhaa@ghost.whirlpool.com>
List: current-users
Date: 04/05/2000 09:49:16
Jason R Thorpe writes:
> 
> Nothing, you just have to enable some of the PCIBIOS options :-)

Cool! 

> options         PCIBIOS                 # PCI BIOS support
> options         PCIBIOSVERBOSE          # PCI BIOS verbose info
> options         PCIBIOS_INTR_FIXUP      # fixup PCI interrupt routing

I've been using these options on my Dell Latitude CP.  

> options         PCIBIOS_BUS_FIXUP       # fixup PCI bus numbering

This finds my cardbus adapter when I am "undocked", but still completely
hangs my machine when it is plugged into the "C/Dock" at work.
The full dmesg is below, but this is where it hangs when docked:
...
PCI bridge 0: primary 0, secondary 1, subordinate 1
PCI bridge 1: primary 0, secondary 2, subordinate 2
[nothing, no ddb, I have to hold the power button for 4 seconds]

I haven't done much more than insert a couple of printf's, but I didn't
learn anything. :(

-Andrew
-- 
-----------------------------------------------------------------
Andrew Gillham                            | NetBSD ist Affengeil.
gillham@whirlpool.com                     | Nachts ist es kaelter
I speak for myself, not for my employer.  | als draussen.

[The following diff was applied also, so pnpbios doesn't panic]
--- wss_pnpbios.c.orig	Mon Feb 21 07:26:33 2000
+++ wss_pnpbios.c	Mon Mar 27 01:44:23 2000
@@ -141,7 +141,7 @@
 		return;
 	}
 	if (pnpbios_getdmachan(aa->pbt, aa->resc, 1, &sc->wss_recdrq))
-		sc->wss_recdrq = -1;
+		sc->wss_recdrq = 0;
 
 	sc->sc_ad1848.sc_ad1848.sc_iot = sc->sc_iot;
 	bus_space_subregion(sc->sc_iot, sc->sc_ioh, wph->offset_ad1848, 4,

NetBSD 1.4X (DRAGON) #26: Wed Apr  5 09:00:03 EDT 2000
    root@dragon:/usr/src/sys/arch/i386/compile/DRAGON
cpu0: family 5 model 8 step 1
cpu0: Intel Pentium/MMX (Tillamook) (586-class)
total memory = 97856 KB
avail memory = 67936 KB
using 4870 buffers containing 24400 KB of memory
BIOS32 rev. 0 found at 0xffe90
PCI BIOS rev. 2.1 found at 0xfbc8e
pcibios: config mechanism [1][x], special cycles [x][x], last bus 0
PCI IRQ Routing Table rev. 1.0 found at 0xfb950, size 112 bytes (5 entries)
PCI Interrupt Router at 000:01:0 (Intel 82371MX Mobile PCI I/O IDE Xcelerator (MPIIX))
PIR Entry 0:
	Bus: 0  Device: 1
		INTA: link 0x00 bitmap 0x0000
		INTB: link 0x00 bitmap 0x0000
		INTC: link 0x00 bitmap 0x0000
		INTD: link 0x63 bitmap 0xdef8
PIR Entry 1:
	Bus: 0  Device: 2
		INTA: link 0x60 bitmap 0xdef8
		INTB: link 0x00 bitmap 0x0000
		INTC: link 0x00 bitmap 0x0000
		INTD: link 0x00 bitmap 0x0000
PIR Entry 2:
	Bus: 0  Device: 3
		INTA: link 0x63 bitmap 0xdef8
		INTB: link 0x63 bitmap 0xdef8
		INTC: link 0x00 bitmap 0x0000
		INTD: link 0x00 bitmap 0x0000
PIR Entry 3:
	Bus: 0  Device: 13
		INTA: link 0x62 bitmap 0xdef8
		INTB: link 0x00 bitmap 0x0000
		INTC: link 0x00 bitmap 0x0000
		INTD: link 0x00 bitmap 0x0000
PIR Entry 4:
	Bus: 0  Device: 17
		INTA: link 0x62 bitmap 0xdef8
		INTB: link 0x62 bitmap 0xdef8
		INTC: link 0x62 bitmap 0xdef8
		INTD: link 0x62 bitmap 0xdef8
pciintr_link_fixup: PIRQ 0 already connected to IRQ 11
pciintr_link_fixup: PIRQ 3 already connected to IRQ 11
pciintr_link_fixup: PIRQ 2 not connected
pciintr_link_fixup: assigning IRQ 11 to PIRQ 2
--------------------------------------------
  device vendor product pin PIRQ   IRQ stage
--------------------------------------------
000:01:2 0x8086 0x7112  D   0x03   11  0
000:02:0 0x10c8 0x0004  A   0x00   11  0
000:03:0 0x104c 0xac15  A   0x03   11  0
000:03:1 0x104c 0xac15  B   0x03   11  0
--------------------------------------------
PCI bridge 0: primary 0, secondary 1, subordinate 1
PCI bridge 1: primary 0, secondary 2, subordinate 2
PCI bus #2 is the last bus
mainbus0 (root)
pnpbios0 at mainbus0: code f0000, data 40, entry e2f4, control 1 eventp 4b4
pnpbios0: nodes 17, max len 392
PNP0A03 (io cf8-cff) at pnpbios0 index 0 ignored
PNP0C01 (mem 0-9ffff 100000-5ffffff f0000-fffff fffe0000-ffffffff, io 800-83f 840-84f 3f0-3f1 e0-e1) at pnpbios0 index 1 ignored
PNP0C01 (mem ed000000-edffffff, io f400-f4fe) at pnpbios0 index 2 ignored
PNP0000 (io 20-3f a0-bf 4d0-4d1, irq 2) at pnpbios0 index 3 ignored
PNP0100 (io 40-5f, irq 0) at pnpbios0 index 4 ignored
PNP0200 (io 80-9f 0-1f c0-df, dma 4) at pnpbios0 index 5 ignored
PNP0303 (io 60 64, irq 1) at pnpbios0 index 6 ignored
PNP0F13 (irq 12) at pnpbios0 index 7 ignored
PNP0800 (io 61) at pnpbios0 index 8 ignored
PNP0B00 (io 70-7f, irq 8) at pnpbios0 index 9 ignored
PNP0C04 (io f0-ff, irq 13) at pnpbios0 index 10 ignored
PNP0E03, PNP0E00 (io 3e0-3e1, irq 9) at pnpbios0 index 11 ignored
com0 at pnpbios0 index 12 (PNP0501)
com0: io 3f8-3ff, irq 4
com0: ns16550a, working fifo
lpt1 at pnpbios0 index 14 (PNP0401)
lpt1: io 378-37f 778-77b, irq 7
wss0 at pnpbios0 index 15 (CSC0000)
wss0: io 530-537 388-38b 220-22f, irq 5, dma 0
wss0: CS4237B
audio0 at wss0: half duplex, mmap
opl0 at wss0: model OPL3
midi0 at opl0: WSS Yamaha OPL3
CSC0010 (io 210-217) at pnpbios0 index 16 ignored
PNP0700 (io 3f2-3f5 3f7, irq 6, dma 2) at pnpbios0 index 17 ignored
pnpbios0: not docked
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled
pchb0 at pci0 dev 0 function 0
pchb0: Intel 82439TX System Controller (MTXC) (rev. 0x01)
pcib0 at pci0 dev 1 function 0
pcib0: Intel 82371AB PCI-to-ISA Bridge (PIIX4) (rev. 0x01)
pciide0 at pci0 dev 1 function 1: Intel 82371AB IDE controller (PIIX4)
pciide0: bus-master DMA support present
pciide0: primary channel wired to compatibility mode
wd0 at pciide0 channel 0 drive 0: <IBM-DTCA-24090>
wd0: drive supports 16-sector pio transfers, lba addressing
wd0: 3909 MB, 7944 cyl, 16 head, 63 sec, 512 bytes/sect x 8007552 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2
pciide0: primary channel interrupting at irq 14
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2 (using DMA data transfers)
pciide0: secondary channel wired to compatibility mode
pciide0: secondary channel ignored (disabled)
uhci0 at pci0 dev 1 function 2: Intel 82371AB USB Host Controller (PIIX4) (rev. 0x01)
uhci0: interrupting at irq 11
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
Intel 82371AB Power Management Controller (PIIX4) (miscellaneous bridge, revision 0x01) at pci0 dev 1 function 3 not configured
vga0 at pci0 dev 2 function 0: Neomagic MagicGraph 128XD (rev. 0x00)
wsdisplay0 at vga0: console (80x25, vt100 emulation)
cbb0 at pci0 dev 3 function 0: Texas Instruments PCI1131 PCI-CardBus Bridge (rev. 0x01)
cbb1 at pci0 dev 3 function 1: Texas Instruments PCI1131 PCI-CardBus Bridge (rev. 0x01)
isa0 at pcib0
pckbc0 at isa0 port 0x60-0x64
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
pcppi0 at isa0 port 0x61
midi1 at pcppi0: PC speaker
spkr0 at pcppi0
sysbeep0 at pcppi0
isapnp0 at isa0 port 0x279: ISA Plug 'n Play device support
npx0 at isa0 port 0xf0-0xff: using exception 16
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
fd0 at fdc0 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
isapnp0: no ISA Plug 'n Play devices found
cbb0: interrupting at irq 11
cbb0: cacheline 0x8 lattimer 0x20
cbb0: bhlc 0x822008 lscp 0x20010100
cardslot0 at cbb0 slot 0 flags 0
cardslot0 attaching CardBus bus...
cardbus0 at cardslot0: bus 1 device 0 cacheline 0x8, lattimer 0x20
cardslotattach: found cardbus on cardslot0
cardbusmatch: busname differs pcmcia <=> cardbus
pcmcia0 at cardslot0
cardslotattach: found 16-bit pcmcia bus
cardbusattach: 16-bit card found
cardslot_event_throw: an event 16-bit Card inserted comes
cbb1: interrupting at irq 11
cbb1: cacheline 0x8 lattimer 0x20
cbb1: bhlc 0x822008 lscp 0x20020200
cardslot1 at cbb1 slot 1 flags 0
cardslot1 attaching CardBus bus...
cardbus1 at cardslot1: bus 2 device 0 cacheline 0x8, lattimer 0x20
cardslotattach: found cardbus on cardslot1
cardbusmatch: busname differs pcmcia <=> cardbus
pcmcia1 at cardslot1
cardslotattach: found 16-bit pcmcia bus
cardslotattach: CardBus card found
cardslot_event_throw: an event CardBus Card inserted comes
apm0 at mainbus0: Power Management spec V1.2
biomask ef4d netmask ef4d ttymask ffcf
pcmcia0: CIS version PC Card Standard 5.0
pcmcia0: CIS info: Lucent Technologies, WaveLAN/IEEE, Version 01.01, 
pcmcia0: Manufacturer code 0x156, product 0x2
pcmcia0: function 0: network adapter, ccr addr 3e0 mask 1
pcmcia0: function 0, config table entry 1: I/O card; irq mask ffff; iomask 6, iospace 0-3f; io16 irqpulse irqlevel
wi0 at pcmcia0 function 0
wi0: address 00:60:1d:f0:4e:13
cardbus_attach_card: cb1 start
cardbus_attach_card: Vendor 0x1011, Product 0x19, CIS 0x7
cardbus1: reading CIS data from ROM
cardbus_read_exrom: bad header signature in ROM image 0: 0xfe01
cardbus_attach_card: failed to read CIS
tlp0 at cardbus1 dev 0 function 0: DECchip 21143 Ethernet, pass 3.0
tlp0: Ethernet address 00:e0:29:0c:71:85
tlp0: 21143 reset block
tlp0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX
entering cardbus_function_disable...  boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
entering cardbus_function_enable...  1
- cardbus_intr_establish: irq 11
tlp0: interrupting at 11
tlp0: transmit timeout
tlp0: transmit timeout