pcmcia/cardbus and Cirrus PD6832

From: Mikael Pettersson (mikpe@csd.uu.se)
Date: Mon Mar 13 2000 - 10:06:18 EST


Has anyone managed to make the 2.3.x kernel-based pcmcia drivers work
with a Cirrus PD6832 cardbus controller?

One laptop I use is an old AST Ascentia with the abovementioned Cirrus controller.
It works with 2.2.14 and the user-level pcmcia-cs package. pcmcia-cs-3.1.12
also works in kernel 2.3.51 if I disable all kernel-level pcmcia support and
also disable APM. However, the kernel-based drivers don't work at all.

Here's a kernel log from 2.3.51 with kernel-based pcmcia drivers and pcmcia-cs-3.1.12:

...
Linux PCMCIA Card Services 3.1.11
  options: [pci] [cardbus]
Adding cardbus controller 0: Cirrus Logic PD 6832
PCI: No IRQ known for interrupt pin A of device 00:13.0. Please try using pci=biosirq.
Yenta IRQ list 1838, PCI irq0
Socket status: 30000007
Adding cardbus controller 1: Cirrus Logic PD 6832 (#2)
PCI: No IRQ known for interrupt pin B of device 00:13.1. Please try using pci=biosirq.
Yenta IRQ list 0838, PCI irq0
Socket status: 30000007
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 144k freed
Adding Swap: 133048k swap-space (priority -1)
cs: IO port probe 0x0c00-0x0cff: excluding 0xcf8-0xcff
cs: IO port probe 0x0800-0x08ff: excluding 0x800-0x807
cs: IO port probe 0x0100-0x04ff: excluding 0x220-0x22f 0x2f8-0x2ff 0x330-0x337 0x378-0x37f 0x388-0x38f 0x398-0x39f 0x4d0-0x4d7
cs: IO port probe 0x0a00-0x0aff: clean.

At this point I insert a 3c575 cardbus ethernet card:

cs: cb_alloc(bus 35): vendor 0x10b7, device 0x5057
PCI: Failed to allocate resource 0 for PCI device 10b7:5057
PCI: Enabling device 23:00.0 (0000 -> 0001)
PCI: No IRQ known for interrupt pin A of device 23:00.0. Please try using pci=biosirq.
3c59x.c:v0.99L 5/28/99 Donald Becker http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html
cs: cb_enable(bus 35)
vortex_reap()
vortex_attach(bus 35, function 0, device 5057)
eth0: 3Com 3c575 Boomerang CardBus at 0x1000, ff:ff:ff:ff:ff:ff, IRQ 3
  1024K word-wide RAM 3:5 Rx:Tx split, autoselect/<invalid transceiver> interface.
  Enabling bus-master transmits and early receives.
eth0: command 0x5800 did not complete!
eth0: command 0x2800 did not complete!
eth0: command 0x3002 did not complete!
eth0: command 0x3002 did not complete!
eth0: command 0x3002 did not complete!

>From now on, any attempt to use the card results in "command 0xXXXX did not complete!".
Rebooting with pci=biosirq makes no difference.

In contrast, here's what happens with pcmcia-cs-3.1.12 and no kernel pcmcia drivers:

Linux PCMCIA Card Services 3.1.12
  kernel build: 2.3.51 #1 Sun Mar 12 21:06:08 CET 2000
  options: [pci] [cardbus]
Intel PCIC probe: <4>PCI: No IRQ known for interrupt pin A of device 00:13.0. Please try using pci=biosirq.
PCI: No IRQ known for interrupt pin B of device 00:13.1. Please try using pci=biosirq.

  Cirrus PD6832 PCI-to-CardBus at slot 00:13, mem 0x10000000
    host opts [0]: [ring] [0/7/4] [3/17/4] [no pci irq] [lat 168/176] [bus 1/2]
    host opts [1]: [ring] [0/7/4] [3/17/4] [no pci irq] [lat 168/176] [bus 35/37]
    ISA irqs (scanned) = 3,4,5,11 polling interval = 1000 ms
cs: IO port probe 0x0c00-0x0cff: excluding 0xcf8-0xcff
cs: IO port probe 0x0800-0x08ff: excluding 0x800-0x807
cs: IO port probe 0x0100-0x04ff: excluding 0x220-0x22f 0x2f8-0x2ff 0x330-0x337 0x378-0x37f 0x388-0x38f 0x398-0x39f 0x3c0-0x3df 0x4d0-0x4d7
cs: IO port probe 0x0a00-0x0aff: clean.

Now I insert the 3c575:

cs: cb_alloc(bus 35): vendor 0x10b7, device 0x5057
3c59x.c:v0.99L 5/28/99 Donald Becker http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html
cs: cb_config(bus 35)
  fn 0 bar 1: io 0x100-0x13f
  fn 0 rom: mem 0x60000000-0x6000ffff
cs: cb_enable(bus 35)
  bridge io map 0 (flags 0x21): 0x100-0x13f
  bridge mem map 0 (flags 0x1): 0x60000000-0x6000ffff
vortex_reap()
vortex_attach(bus 35, function 0, device 5057)
eth0: 3Com 3c575 Boomerang CardBus at 0x100, 00:60:08:24:5c:28, IRQ 3
  8K word-wide RAM 3:5 Rx:Tx split, autoselect/MII interface.
  MII transceiver found at address 0, status 7809.
  Enabling bus-master transmits and whole-frame receives.

and from then on everything works ok.

Any ideas?

/Mikael

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Mar 15 2000 - 21:00:24 EST