Re: PCMCIA IRQ broken by new IRQ router in 2.3.99-pre5

From: Andrew Pam (xanni@glasswings.com.au)
Date: Sat Apr 15 2000 - 04:45:39 EST


On Sat, Apr 15, 2000 at 12:59:13AM +0200, Martin Mares wrote:
> It's probably because we're currently honoring the PCI IRQ mask provided
> by the BIOS. Please try whether "irqmask=0xfff8" (manual override of the mask)
> helps. If it does, I'll probably return back to ignoring the BIOS mask.

Yes, compiling the PCMCIA as modules rather than in the kernel (I couldn't
find how to specify options with it compiled into the kernel) and
putting "PCIC_OPTS=irq_mask=0xfff8" into /etc/sysconfig/pcmcia does work:

kernel: Linux PCMCIA Card Services 3.1.11
kernel: kernel build: 2.3.99-pre5 #4 Sat Apr 15 11:56:40 EST 2000
kernel: options: [pci] [cardbus] [pm]
kernel: Intel PCIC probe:
kernel: Intel i82365sl B step ISA-to-PCMCIA at port 0x3e0 ofs 0x00, 1 socket
kernel: host opts [0]: none
kernel: ISA irqs (scanned) = 3,4,7,11,15 polling interval = 1000 ms

Please note that the kernel is now using the ISA PCMCIA controller and not
even detecting the Cardbus controller that works just fine under kernel 2.2:

kernel: Linux PCMCIA Card Services 3.1.13
kernel: kernel build: 2.2.14i3 #1 Sat Jan 8 11:45:59 EST 2000
kernel: options: [pci] [cardbus] [apm] [pnp]
kernel: PCI routing table version 1.0 at 0xfdf80
kernel: PnP: PNP BIOS installation structure at 0xc00f6d90
kernel: PnP: PNP BIOS version 1.0, entry at f0000:ba79, dseg at 400
kernel: Intel PCIC probe:
kernel: Ricoh RL5C475 PCI-to-CardBus at slot 00:0a, mem 0x68000000
kernel: host opts [0]: [isa irq] [io 3/6/1] [mem 3/6/1] [pci irq 9] [lat 168/176] [bus 32/34]
kernel: PCI irq 9 test failed
kernel: ISA irqs (default) = 11,15 polling interval = 1000 ms

Also, please note that this problem also affects USB:

kernel: uhci.c: found UHCI device with no IRQ assigned. check BIOS settings!

kernel: usb-uhci.c: $Revision: 1.228 $ time 12:10:13 Apr 15 2000
kernel: usb-uhci.c: High bandwidth mode enabled
kernel: PCI: Enabling device 00:07.2 (0000 -> 0001)
kernel: PCI: No IRQ known for interrupt pin D of device 00:07.2.
kernel: usb-uhci.c: Found UHCI device with no IRQ assigned. Check BIOS settings!

Here's what the PCMCIA dump_pirq utility reports:

Interrupt routing table found at address 0xfdf80:
  Version 1.0, size 0x0060
  Interrupt router is device 00:07.0
  PCI exclusive interrupt mask: 0x0000
  Compatible router: vendor 0x8086 device 0x122e

Device 00:07.0 (slot 0):
  INTD: link 0x63, irq mask 0x0200

Device 00:08.0 (slot 0):
  INTA: link 0x60, irq mask 0x0200

Device 00:09.0 (slot 0):
  INTA: link 0x62, irq mask 0x0200

Device 00:0a.0 (slot 0):
  INTA: link 0x61, irq mask 0x0200

Interrupt router: Intel 82371AB PIIX4/PIIX4E PCI-to-ISA bridge
  PIRQ1 (link 0x60): irq 9
  PIRQ2 (link 0x61): irq 9
  PIRQ3 (link 0x62): unrouted
  PIRQ4 (link 0x63): unrouted
  Serial IRQ: [enabled] [quiet] [frame=21] [pulse=4]

Hope that helps,
                *** Xanni ***

-- 
mailto:xanni@xanadu.net                         Andrew Pam
http://www.xanadu.com.au/                       Chief Scientist, Xanadu
http://www.glasswings.com.au/                   Technology Manager, Glass Wings
http://www.sericyb.com.au/sc/                   Manager, Serious Cybernetics
P.O. Box 26, East Melbourne VIC 8002 Australia  Phone +61 0401 258 915

- 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 : Sat Apr 15 2000 - 21:00:26 EST