lkml.org 
[lkml]   [2004]   [Nov]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: 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/

    \
     
     \ /
      Last update: 2005-03-22 14:07    [W:0.030 / U:3.700 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site