lkml.org 
[lkml]   [2007]   [Feb]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: 2.6.20 PCI Cannot allocate resource region 2
    On 2/6/07, Manu Abraham <abraham.manu@gmail.com> wrote:
    > On 2/6/07, Grant Grundler <grundler@parisc-linux.org> wrote:
    > > On Mon, Feb 05, 2007 at 09:33:39PM -0800, Andrew Morton wrote:
    > > > On Mon, 5 Feb 2007 22:03:31 -0700 Grant Grundler <grundler@parisc-linux.org> wrote:
    > > >
    > > > > On Mon, Feb 05, 2007 at 09:55:28PM -0700, Grant Grundler wrote:
    > > > > ...
    > > > > > > 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: 0, Cache Line Size 0c
    > > > > > > BIST is running
    > > > > >
    > > > > > BIST is required to complete in 2 seconds. Either with success or failure.
    > > > > > I expect BIOS to have complained before launching grub/lilo.
    > > > >
    > > > > Gregkh,
    > > > > I just realized linux-pci bus scan should ignore devices (print a warning)
    > > > > which have BIST set. Want a patch for this?
    > > > >
    > > > > Slight risk some previously "working" device which violates the
    > > > > spec might get ignored...but I hope there aren't too many of those.
    > > >
    > > > Should we wait two seconds before declaring the device dead?
    > > > To see whether it will come back?
    > >
    > > Hrm...my thought was BIOS should already be doing that...but I just
    > > realised 2 seconds have elapsed if Manu can collect "lspci" output showing
    > > "BIST is running". I think the fact that BIST is not "running" in the
    > > 2.6.20-rc7 lspci output is just coincidental. The config space for that
    > > device is full of similar garbage in both cases regardless how long
    > > it took.
    > >
    >
    > waited for more than 30 mins as well, well almost the entire night,
    > BIST didn't stop
    >
    >
    > > Maybe BIOS is clobbering BIST when writing latency timer or cacheline size
    > > register and BIOS is not being careful to clear or disable the other
    > > bytes in that same 32-bit word?
    > >
    >
    >
    > If the BIOS is clobbering the BIST, then the same should happen in the
    > other OS as well ?
    > Just plugging in the card, without any drivers, got me the PCI vendor info.
    >
    >
    > > PCI is by nature a 32-bit wide config space and "byte enables"
    > > are used to mask off bytes we want to ignore. If the chipset
    > > or BIOS config access routines aren't careful, they could accidentally
    > > modify other values in the same 32-bit word when only one byte was
    > > intended to be changed.
    > >
    > > The code in pci_set_cacheline_size() uses byte enables but is only
    > > called by pci_set_mwi(). 82 different .c files (124 instances) access
    > > PCI_LATENCY_TIMER. Of those, 68 are pci_write_config_byte() calls.
    > > But I really only care about the calls what would apply get invoked
    > > for 1822:4e35. My guess is this one always gets invoked:
    > > ./arch/i386/pci/i386.c: pci_write_config_byte(dev, PCI_LATENCY_TIMER, lat);
    > >
    > > since the offending device is "Mantis DTV PCI Bridge Controller [Ver 1.0]".
    > > (http://pci-ids.ucw.cz/iii/?i=1822)
    > > pci_enable_bridges() -> pci_set_master() -> pcibios_set_master().
    > >
    > > Manu, can you add code to pci_enable_bridges() to dump information about
    > > which bridges are getting enabled _before_ pci_set_master() is called?
    > > I'm interested in a hex dump of the first 8 32-bit words of
    > > PCI config space for each device.
    > >
    >
    > let me give it a shot.



    dang !

    rebooted it into 2.6.17.7

    no errors, during a bootup, BIST isn't running anymore
    running M$ did change the status from dead to alive ??? shocked !!

    attached lspci output in the very same setup as earlier, no difference
    in anything, except that it was rebooted into windows.

    the PCI config dump would help ?


    regards,
    manu
    00:00.0 0600: 8086:2578 (rev 02)
    Subsystem: 1043:80f6
    Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
    Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
    Latency: 0
    Region 0: Memory at f4000000 (32-bit, prefetchable) [size=64M]
    Capabilities: [e4] Vendor Specific Information
    Capabilities: [a0] AGP version 3.0
    Status: RQ=32 Iso- ArqSz=2 Cal=2 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3+ Rate=x4,x8
    Command: RQ=1 ArqSz=0 Cal=2 SBA+ AGP- GART64- 64bit- FW- Rate=<none>

    00:01.0 0604: 8086:2579 (rev 02)
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
    Status: Cap- 66MHz+ UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
    Latency: 64
    Bus: primary=00, secondary=01, subordinate=01, sec-latency=64
    Memory behind bridge: fc900000-fe9fffff
    Prefetchable memory behind bridge: dfe00000-efdfffff
    Secondary status: 66MHz+ FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort+ <SERR- <PERR-
    BridgeCtl: Parity- SERR- NoISA- VGA+ MAbort- >Reset- FastB2B-

    00:1d.0 0c03: 8086:24d2 (rev 02)
    Subsystem: 1043:80a6
    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: 0
    Interrupt: pin A routed to IRQ 16
    Region 4: I/O ports at ef00 [size=32]

    00:1d.1 0c03: 8086:24d4 (rev 02)
    Subsystem: 1043:80a6
    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: 0
    Interrupt: pin B routed to IRQ 19
    Region 4: I/O ports at ef20 [size=32]

    00:1d.2 0c03: 8086:24d7 (rev 02)
    Subsystem: 1043:80a6
    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: 0
    Interrupt: pin C routed to IRQ 17
    Region 4: I/O ports at ef40 [size=32]

    00:1d.3 0c03: 8086:24de (rev 02)
    Subsystem: 1043:80a6
    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: 0
    Interrupt: pin A routed to IRQ 16
    Region 4: I/O ports at ef80 [size=32]

    00:1d.7 0c03: 8086:24dd (rev 02) (prog-if 20)
    Subsystem: 1043:80a6
    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: 0
    Interrupt: pin D routed to IRQ 18
    Region 0: Memory at febffc00 (32-bit, non-prefetchable) [size=1K]
    Capabilities: [50] Power Management version 2
    Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
    Status: D0 PME-Enable- DSel=0 DScale=0 PME-
    Capabilities: [58] Debug port

    00:1e.0 0604: 8086:244e (rev c2)
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B-
    Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
    Latency: 0
    Bus: primary=00, secondary=02, subordinate=02, sec-latency=64
    I/O behind bridge: 0000d000-0000dfff
    Memory behind bridge: fea00000-feafffff
    Prefetchable memory behind bridge: efe00000-efefffff
    Secondary status: 66MHz- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- <SERR- <PERR-
    BridgeCtl: Parity- SERR+ NoISA- VGA- MAbort- >Reset- FastB2B-

    00:1f.0 0601: 8086:24d0 (rev 02)
    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: 0

    00:1f.1 0101: 8086:24db (rev 02) (prog-if 8a)
    Subsystem: 1043:80a6
    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: 0
    Interrupt: pin A routed to IRQ 17
    Region 0: I/O ports at 01f0 [size=8]
    Region 1: I/O ports at 03f4 [size=1]
    Region 2: I/O ports at 0170 [size=8]
    Region 3: I/O ports at 0374 [size=1]
    Region 4: I/O ports at fc00 [size=16]
    Region 5: Memory at 30000000 (32-bit, non-prefetchable) [size=1K]

    00:1f.2 0101: 8086:24d1 (rev 02) (prog-if 8f)
    Subsystem: 1043:80a6
    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: 0
    Interrupt: pin A routed to IRQ 17
    Region 0: I/O ports at efe0 [size=8]
    Region 1: I/O ports at efac [size=4]
    Region 2: I/O ports at efa0 [size=8]
    Region 3: I/O ports at efa8 [size=4]
    Region 4: I/O ports at ef60 [size=16]

    00:1f.3 0c05: 8086:24d3 (rev 02)
    Subsystem: 1043:80a6
    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-
    Interrupt: pin B routed to IRQ 20
    Region 4: I/O ports at 0400 [size=32]

    00:1f.5 0401: 8086:24d5 (rev 02)
    Subsystem: 1043:80f3
    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: 0
    Interrupt: pin B routed to IRQ 10
    Region 0: I/O ports at e800 [size=256]
    Region 1: I/O ports at ee80 [size=64]
    Region 2: Memory at febff800 (32-bit, non-prefetchable) [size=512]
    Region 3: Memory at febff400 (32-bit, non-prefetchable) [size=256]
    Capabilities: [50] Power Management version 2
    Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
    Status: D0 PME-Enable- DSel=0 DScale=0 PME-

    01:00.0 0300: 10de:0181 (rev c1)
    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: 64 (1250ns min, 250ns max)
    Interrupt: pin A routed to IRQ 16
    Region 0: Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
    Region 1: Memory at e0000000 (32-bit, prefetchable) [size=128M]
    Expansion ROM at fe9e0000 [disabled] [size=128K]
    Capabilities: [60] Power Management version 2
    Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
    Status: D0 PME-Enable- DSel=0 DScale=0 PME-
    Capabilities: [44] AGP version 3.0
    Status: RQ=32 Iso- ArqSz=0 Cal=3 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3+ Rate=x4,x8
    Command: RQ=1 ArqSz=0 Cal=0 SBA- AGP- GART64- 64bit- FW- Rate=<none>

    02:03.0 0c00: 1106:3044 (rev 80) (prog-if 10)
    Subsystem: 1043:808a
    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: 64 (8000ns max), Cache Line Size 04
    Interrupt: pin A routed to IRQ 10
    Region 0: Memory at feaff800 (32-bit, non-prefetchable) [size=2K]
    Region 1: I/O ports at dc00 [size=128]
    Capabilities: [50] Power Management version 2
    Flags: PMEClk- DSI- D1- D2+ AuxCurrent=0mA PME(D0-,D1-,D2+,D3hot+,D3cold+)
    Status: D0 PME-Enable- DSel=0 DScale=0 PME-

    02:05.0 0200: 10b7:1700 (rev 12)
    Subsystem: 1043:80eb
    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: 64 (5750ns min, 7750ns max), Cache Line Size 04
    Interrupt: pin A routed to IRQ 21
    Region 0: Memory at feaf8000 (32-bit, non-prefetchable) [size=16K]
    Region 1: I/O ports at d800 [size=256]
    Capabilities: [48] Power Management version 2
    Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
    Status: D0 PME-Enable- DSel=0 DScale=1 PME-
    Capabilities: [50] Vital Product Data

    02:0a.0 0480: 1822:4e35 (rev 01)
    Subsystem: 1822:0031
    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: 64 (2000ns min, 63750ns max)
    Interrupt: pin A routed to IRQ 10
    Region 0: Memory at efeff000 (32-bit, prefetchable) [size=4K]

    02:0c.0 0480: 1822:4e35 (rev 01)
    Subsystem: 1822:0014
    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: 64 (2000ns min, 63750ns max)
    Interrupt: pin A routed to IRQ 10
    Region 0: Memory at efefe000 (32-bit, prefetchable) [size=4K]

    02:0d.0 0480: 1822:4e35 (rev 01)
    Subsystem: 1822:0024
    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: 64 (2000ns min, 63750ns max)
    Interrupt: pin A routed to IRQ 5
    Region 0: Memory at efefd000 (32-bit, prefetchable) [size=4K]

    \
     
     \ /
      Last update: 2007-02-06 10:31    [W:2.722 / U:0.256 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site