Messages in this thread | | | Date | Tue, 02 Nov 2004 11:24:38 -0500 | From | Jim Nelson <> | Subject | Re: PCI & IRQ problems on TI Extensa 600CD |
| |
>> It looks that you have same problem and kernel doesn't find IRQ >> router. So try attached patch (for 2.6.9 and added your bridge) if it >> helps. >> I think that it may help (look at dump_pirq results). >> You can try turn on DEBUG (in file arch/i386/pci/pci.h) and see debug >> messages on screen. >> >> Dave >> >> > > That patch comes too late in the PCI init sequence for my machine. > pirq_find_router() (where your patch goes) depends on pirq_table being > set up by pirq_find_routing_table(). When I put in the debug statement > in the attached patch, I got the "PCI: No Interrupt Routing Table found" > message. Since pirq_table wasn't set up, pirq_find_router() is never > called. Let me look at this some more (got vacation this week, so I can > finally devote some time to this.) > > Jim >
When I used pci=biosirq, this is what I got:
Linux version 2.6.9-Thinkpad (jim@david) (gcc version 3.3.3 20040412 (Red Hat Linux 3.3.3-7)) #9 Tue Nov 2 10:29:03 EST 2004
<snip>
PCI: BIOS32 Service Directory structure at 0xc00fd8e0 PCI: BIOS32 Service Directory entry at 0xfd8f0 PCI: BIOS probe returned s=00 hw=11 ver=02.10 l=06 PCI: PCI BIOS revision 2.10 entry at 0xfd930, last bus=6 PCI: Using configuration type 1 Linux Plug and Play Support v0.97 (c) Adam Belay PnPBIOS: Scanning system for PnP BIOS support... PnPBIOS: Found PnP BIOS installation structure at 0xc00fe700 PnPBIOS: PnP BIOS version 1.0, entry 0xf0000:0xe724, dseg 0xf0000 PnPBIOS: 17 nodes reported by PnP BIOS; 17 recorded by driver PCI: Probing PCI hardware PCI: Probing PCI hardware (bus 00) PCI: Scanning for ghost devices on bus 0 PCI: Peer bridge fixup PCI: IRQ init PCI: Fetching IRQ routing table... OK ret=14, size=48, map=800 PCI: Using BIOS Interrupt Routing Table 00:03 slot=00 0:01/def8 1:00/0000 2:00/0000 3:00/0000 00:05 slot=00 0:01/def8 1:00/0000 2:00/0000 3:00/0000 00:04 slot=00 0:01/def8 1:02/def8 2:03/def8 3:04/def8 PCI: Using BIOS for IRQ routing PCI: IRQ fixup 0000:00:02.0: ignoring bogus IRQ 255 0000:00:02.1: ignoring bogus IRQ 255 IRQ for 0000:00:02.0:0 -> not found in routing table IRQ for 0000:00:02.1:1 -> not found in routing table PCI: Allocating resources PCI: Resource 10812000-10812fff (f=200, d=0, p=0) PCI: Resource 10811000-10811fff (f=200, d=0, p=0) PCI: Resource 08000000-083fffff (f=200, d=0, p=0) PCI: Resource 08400000-0840ffff (f=200, d=0, p=0) PCI: Resource 08800000-08bfffff (f=200, d=0, p=0) PCI: Resource 10810000-108100ff (f=200, d=0, p=0) PCI: Sorting device list... pnp: the driver 'system' has been registered pnp: match found with the PnP device '00:10' and the driver 'system' pnp: 00:10: ioport range 0x100-0x107 has been reserved pnp: 00:10: ioport range 0x26e-0x26f has been reserved pnp: 00:10: ioport range 0xd00-0xd01 has been reserved pnp: 00:10: ioport range 0x15e8-0x15ef has been reserved apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16ac) Initializing Cryptographic API isapnp: Scanning for PnP cards... isapnp: No Plug & Play device found
<snip>
Linux Kernel Card Services options: [pci] [cardbus] [pm] IRQ for 0000:00:02.0:0 -> not found in routing table PCI: No IRQ known for interrupt pin A of device 0000:00:02.0. Yenta: CardBus bridge found at 0000:00:02.0 [0000:0000] Yenta: ISA IRQ mask 0x06b8, PCI irq 0 Socket status: 30000006 IRQ for 0000:00:02.1:1 -> not found in routing table PCI: No IRQ known for interrupt pin B of device 0000:00:02.1. Yenta: CardBus bridge found at 0000:00:02.1 [0000:0000] Yenta: ISA IRQ mask 0x06b8, PCI irq 0 Socket status: 30000006 cs: IO port probe 0x0c00-0x0cff: clean. cs: IO port probe 0x0820-0x08ff: clean. cs: IO port probe 0x0800-0x080f: clean. cs: IO port probe 0x03e0-0x04ff: excluding 0x4d0-0x4d7 cs: IO port probe 0x0100-0x03af: excluding 0x200-0x207 cs: IO port probe 0x0a00-0x0aff: excluding 0xa68-0xa6f spurious 8259A interrupt: IRQ7.
It's a BIOS problem. Linux is capable of retreiving the pirq table using BIOS calls, but the table the BIOS returns does not have entries for the Cardbus bridge. I think I might be out of luck. Lemme go do some research, and see what I can dig up.
Jim - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |