Dec bridges seen, but not configured

2004-01-14
2004-01-17
  • Julia Elbert

    Julia Elbert - 2004-01-14

    RH 9, kernel Linux version 2.4.20-6
    I have a chain of 2 dec bridges and then a ethernet pci card behind the cardbus. lspci sees everything, but the dec bridges and ethernet are not quite configured. So, I configured them, but the ethernet driver still can't find the device.
    Does the configuration look correct? What is involved in getting the cardbus -> bridge -> bridge -> pci card scenario to work? Thanks in advance for the time. 
    jelbert
    lspci results
    00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 03)
    00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03)
    00:07.0 ISA bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 02)
    00:07.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01)
    00:07.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB (rev 01)
    00:07.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 02)
    00:0a.0 CardBus bridge: Texas Instruments PCI1225 (rev 01)
    00:0a.1 CardBus bridge: Texas Instruments PCI1225 (rev 01)
    00:0d.0 Multimedia audio controller: ESS Technology ES1983S Maestro-3i PCI Audio Accelerator
    00:0d.1 Communication controller: ESS Technology ES1983S Maestro-3i PCI Modem Accelerator
    01:00.0 VGA compatible controller: Silicon Motion, Inc. SM710 LynxEM (rev a3)
    06:00.0 PCI bridge: Digital Equipment Corporation DECchip 21152 (rev 03)
    07:04.0 PCI bridge: Digital Equipment Corporation DECchip 21150 (rev 06)
    08:07.0 Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100] (rev 08)
    lspci -vvv results
    00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 03)
        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
        Region 0: Memory at <unassigned> (32-bit, prefetchable) [size=64M]
        Capabilities: [a0] AGP version 1.0
            Status: RQ=31 SBA+ 64bit- FW- Rate=x1,x2
            Command: RQ=0 SBA- AGP- 64bit- FW- Rate=<none>

    00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03) (prog-if 00 [Normal decode])
        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: 128
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=64
        I/O behind bridge: 0000f000-00000fff
        Memory behind bridge: fd000000-fdffffff
        Prefetchable memory behind bridge: fff00000-000fffff
        BridgeCtl: Parity- SERR- NoISA+ VGA+ MAbort- >Reset- FastB2B+

    00:07.0 ISA bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (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:07.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01) (prog-if 80 [Master])
        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
        Region 4: I/O ports at fcd0 [size=16]

    00:07.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB (rev 01) (prog-if 00 [UHCI])
        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
        Interrupt: pin D routed to IRQ 10
        Region 4: I/O ports at fce0 [size=32]

    00:07.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (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-
        Interrupt: pin ? routed to IRQ 9

    00:0a.0 CardBus bridge: Texas Instruments PCI1225 (rev 01)
        Subsystem: Hewlett-Packard Company: Unknown device 000e
        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 10
        Interrupt: pin A routed to IRQ 10
        Region 0: Memory at 10000000 (32-bit, non-prefetchable) [size=4K]
        Bus: primary=00, secondary=02, subordinate=05, sec-latency=248
        Memory window 0: 10400000-107ff000
        Memory window 1: 10800000-10bff000 (prefetchable)
        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

    00:0a.1 CardBus bridge: Texas Instruments PCI1225 (rev 01)
        Subsystem: Hewlett-Packard Company: Unknown device 000e
        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 10
        Interrupt: pin B routed to IRQ 10
        Region 0: Memory at 10001000 (32-bit, non-prefetchable) [size=4K]
        Bus: primary=00, secondary=06, subordinate=09, sec-latency=248
        Memory window 0: 10c00000-10fff000
        Memory window 1: 11000000-113ff000 (prefetchable)
        I/O window 0: 00004800-000048ff
        I/O window 1: 00004c00-00004cff
        BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt- PostWrite+
        16-bit legacy interface ports at 0001

    00:0d.0 Multimedia audio controller: ESS Technology ES1983S Maestro-3i PCI Audio Accelerator
        Subsystem: Hewlett-Packard Company: Unknown device 000e
        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 (500ns min, 6000ns max)
        Interrupt: pin A routed to IRQ 5
        Region 0: I/O ports at f800 [size=256]
        Region 1: Memory at fedfe000 (32-bit, non-prefetchable) [size=8K]
        Capabilities: [c0] 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-

    00:0d.1 Communication controller: ESS Technology ES1983S Maestro-3i PCI Modem Accelerator
        Subsystem: Hewlett-Packard Company: Unknown device 000e
        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 A routed to IRQ 5
        Region 0: I/O ports at f400 [size=256]
        Capabilities: [c0] Power Management version 2
            Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=100mA PME(D0-,D1+,D2+,D3hot+,D3cold+)
            Status: D0 PME-Enable- DSel=0 DScale=0 PME-

    01:00.0 VGA compatible controller: Silicon Motion, Inc. SM710 LynxEM (rev a3) (prog-if 00 [VGA])
        Subsystem: Hewlett-Packard Company: Unknown device 000e
        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
        Interrupt: pin A routed to IRQ 10
        Region 0: Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
        Capabilities: [40] Power Management version 1
            Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
            Status: D0 PME-Enable- DSel=0 DScale=0 PME-

    06:00.0 PCI bridge: Digital Equipment Corporation DECchip 21152 (rev 03) (prog-if 00 [Normal decode])
        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-
        Bus: primary=06, secondary=07, subordinate=08, sec-latency=248
        I/O behind bridge: 00004000-00004fff
        Memory behind bridge: 10c00000-10ffffff
        Prefetchable memory behind bridge: 0000000011000000-0000000011300000
        BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
        Capabilities: [dc] Power Management version 1
            Flags: PMEClk- DSI- D1- D2- AuxCurrent=220mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
            Status: D0 PME-Enable- DSel=0 DScale=0 PME-
            Bridge: PM- B3+

    07:04.0 PCI bridge: Digital Equipment Corporation DECchip 21150 (rev 06) (prog-if 00 [Normal decode])
        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-
        Bus: primary=07, secondary=08, subordinate=08, sec-latency=248
        I/O behind bridge: 00004000-00004fff
        Memory behind bridge: 10c00000-10ffffff
        Prefetchable memory behind bridge: 0000000011000000-0000000011300000
        BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
        Capabilities: [dc] Power Management version 1
            Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
            Status: D0 PME-Enable- DSel=0 DScale=0 PME-
            Bridge: PM- B3+

    08:07.0 Ethernet controller: Intel Corp. 82557/8/9 [Ethernet Pro 100] (rev 08)
        Subsystem: Intel Corp. EtherExpress PRO/100+ Management Adapter
        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: 248 (2000ns min, 14000ns max), cache line size 10
        Interrupt: pin A routed to IRQ 10
        Region 0: Memory at <ignored> (32-bit, non-prefetchable) [size=4K]
        Region 1: I/O ports at <ignored> [size=64]
        Region 2: Memory at <ignored> (32-bit, non-prefetchable) [size=1M]
        Expansion ROM at <unassigned> [disabled] [size=1M]
        Capabilities: [dc] Power Management version 2
            Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
            Status: D0 PME-Enable- DSel=0 DScale=2 PME-

     
    • David Hinds

      David Hinds - 2004-01-15

      What kind of hardware is this that you're trying to use?  I haven't seen anything like this before.  And how, exactly, did you configure the PCI bridges?

      I think you need to be running a 2.6 kernel for this sort of thing to have any chance of working.

      -- Dave

       
      • Julia Elbert

        Julia Elbert - 2004-01-15

        I have a hp laptop with a standard ti cb controller. I have a pcmcia shapped card, but it is really a dec 21150 bridge with a scsi connector that I insert in the cardbus slot. The scsi connector attaches to another dec 21150 bridge which has a pci slot(or 2 or 4 or 13) on it. In Windows we hacked the pci.sys (2000, NT, and Xp) with  a filter driver that enumerates beyond cardbus bridges by allocating resources to and beyond dec bridges so, basically it is then transparrent to the os, the os just sees pci devices that have resources and starts their drivers. This allows our customers to take their configurations on the road. www.magma.com.
        We have twiddled many bits in the motherboards for performance caused by latency and in general just issues with TI and IOHub bridges and are very experienced in this area. We support all different configurations with video, audio , etc. and have a large customer base. Apple supports this feature as always.
        I would like to see Linux support this feature as our customers are very high end and technically savvy and are requesting Linux.
        I could send you a unit if you are curious or are possibly interested in consulting. But, please feel free to make suggestions otherwise. Any information is very appreciated.
        I will get the 2.6 kernel and wait for any comments. Thanks for responding.
        --jelbert

         
        • Julia Elbert

          Julia Elbert - 2004-01-15

          Sorry,
          I used setpci  (initially )to set the memory/io/prefetch command, bridge control, etc. The bridges and pci cards are a subset of the cardbus window.
          We basically, do this in Windows as well when we have issues, we can kinda manually configure cards and get the drivers loaded to poke at problems and then modify our c code to do it at startup, etc.
          --jelbert

           
          • David Hinds

            David Hinds - 2004-01-17

            Poking the device registers may not have the desired effect because the kernel keeps track of the contents of some of those registers and the kernel copies will not be updated properly.  Do try with a 2.6 kernel.

            - Dave

             

Log in to post a comment.