2004-04-04 19:51:00

by Marcel Holtmann

[permalink] [raw]
Subject: No interrupts for PCMCIA cards

Hi guys,

while trying to fix a problem with a Bluetooth PCMCIA card I faced the
problem that my Cardbus controller don't give out any interrupts. I
tried it with 2.6.5 and this is my PCMCIA bridge:

0000:02:0e.0 CardBus bridge: Texas Instruments PCI1410 PC card Cardbus Controller (rev 01)
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: 0x20 (128 bytes)
Interrupt: pin A routed to IRQ 18
Region 0: Memory at 20000000 (32-bit, non-prefetchable)
Bus: primary=02, secondary=04, subordinate=07, sec-latency=176
Memory window 0: 20400000-207ff000 (prefetchable)
Memory window 1: 20800000-20bff000
I/O window 0: 00004000-000040ff
I/O window 1: 00004400-000044ff
BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt+ PostWrite+
16-bit legacy interface ports at 0001

And this is how /proc/interrupts look like:

CPU0
0: 7241752 IO-APIC-edge timer
1: 10923 IO-APIC-edge i8042
2: 0 XT-PIC cascade
8: 4 IO-APIC-edge rtc
12: 94 IO-APIC-edge i8042
14: 134100 IO-APIC-edge ide0
15: 1 IO-APIC-edge ide1
18: 0 IO-APIC-level yenta
19: 120010 IO-APIC-level uhci_hcd
20: 0 IO-APIC-level ohci_hcd
21: 231886 IO-APIC-level ohci1394, ohci_hcd, eth0
22: 297 IO-APIC-level acpi, ehci_hcd
23: 57 IO-APIC-level aic7xxx, uhci_hcd
NMI: 0
LOC: 7241898
ERR: 0
MIS: 0

The count for interrupt 18 is still zero every time, but on my Sony C1VE
laptop the PCMCIA cards get their interrupts.

Regards

Marcel



2004-04-04 21:39:41

by Daniel Ritz

[permalink] [raw]
Subject: Re: No interrupts for PCMCIA cards

you can try my TI interrupt routing patch:
http://ritz.dnsalias.org/linux/pcmcia-ti-routing-9.patch
also included in 2.6.5-rc3-mm1 and higher:
http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.5-rc3/2.6.5-rc3-mm4/broken-out/yenta-TI-irq-routing-fix.patch

also the dmesg output with my patch applied would be nice to see...

rgds
-daniel

2004-04-04 23:06:58

by Marcel Holtmann

[permalink] [raw]
Subject: Re: No interrupts for PCMCIA cards

Hi Daniel,

> you can try my TI interrupt routing patch:
> http://ritz.dnsalias.org/linux/pcmcia-ti-routing-9.patch
> also included in 2.6.5-rc3-mm1 and higher:
> http://www.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.5-rc3/2.6.5-rc3-mm4/broken-out/yenta-TI-irq-routing-fix.patch
>
> also the dmesg output with my patch applied would be nice to see...

thanks for the fast reply. This patch brings everything back in shape
and here is the Yenta part from dmesg:

Linux Kernel Card Services
options: [pci] [cardbus] [pm]
PCI: Enabling device 0000:02:0e.0 (0000 -> 0002)
Yenta: CardBus bridge found at 0000:02:0e.0 [0000:0000]
Yenta: Enabling burst memory read transactions
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:02:0e.0, mfunc 0x00000000, devctl 0x66
Yenta TI: socket 0000:02:0e.0 probing PCI interrupt failed, trying to fix
Yenta TI: socket 0000:02:0e.0 falling back to parallel PCI interrupts
Yenta TI: socket 0000:02:0e.0 parallel PCI interrupts ok
Yenta: ISA IRQ mask 0x0000, PCI irq 18
Socket status: 30000047
NET: Registered protocol family 23
cs: IO port probe 0x0c00-0x0cff: clean.
cs: IO port probe 0x0800-0x08ff: clean.
cs: IO port probe 0x0100-0x04ff: excluding 0x378-0x37f 0x3c0-0x3df 0x4d0-0x4d7
cs: IO port probe 0x0a00-0x0aff: clean.

Regards

Marcel