All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Eric G. Stern" <egstern1@netscape.net>
To: linux-kernel@vger.kernel.org
Cc: Martin Mares <mj@ucw.cz>
Subject: [PATCH] handle Toshiba deskstation PCI-PCI bridge
Date: Mon, 22 Mar 2004 13:06:48 -0600	[thread overview]
Message-ID: <405F3948.7040901@netscape.net> (raw)

[-- Attachment #1: Type: text/plain, Size: 9013 bytes --]

I have a Toshiba Tecra 750 CDM laptop mounted in a Toshiba docking 
station which has PCI slots.  In all recent kernels the PCI-PCI bridge 
is not handled correctly and the PCI cards in the docking station are 
inaccessable because of PCI conflicts.  The enclosed patch against 
kernel 2.6.4 fixes this in a manner similar to the fix for a PCMCIA 
issue in this device discussed here about a year ago.

These are the messages I get without this patch:

PCI: PCI BIOS revision 2.10 entry at 0xfd506, last bus=21
PCI: Using configuration type 1
PCI: Probing PCI hardware
PCI: Probing PCI hardware (bus 00)
PCI: Cannot allocate resource region 0 of device 01:01.0
PCI: Cannot allocate resource region 0 of device 01:0d.0
PCI: Cannot allocate resource region 1 of device 01:0d.0
PCI: Failed to allocate resource 0(0-7f) for 01:01.0
PCI: Failed to allocate resource 0(0-fff) for 01:04.0
PCI: Failed to allocate resource 0(0-fff) for 01:04.1
PCI: Failed to allocate resource 0(0-ff) for 01:0d.0
PCI: Failed to allocate resource 1(0-ff) for 01:0d.0

This is my lspci -v -v -v

>00:00.0 Host bridge: Toshiba America Info Systems 601 (rev 2c)
>   Subsystem: Toshiba America Info Systems: Unknown device 0001
>   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: 0x08 (32 bytes)
>
>00:02.0 CardBus bridge: Toshiba America Info Systems ToPIC97 (rev 03)
>   Subsystem: Toshiba America Info Systems: Unknown device 0001
>   Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
>   Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR-
>   Latency: 0
>   Interrupt: pin A routed to IRQ 0
>   Region 0: Memory at 10000000 (32-bit, non-prefetchable) [size=4K]
>   Bus: primary=00, secondary=14, subordinate=14, sec-latency=0
>   Memory window 0: 00000000-00000000
>   Memory window 1: 00000000-00000000
>   I/O window 0: 00000000-00000003
>   I/O window 1: 00000000-00000003
>   BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt- PostWrite-
>   16-bit legacy interface ports at 0001
>
>00:02.1 CardBus bridge: Toshiba America Info Systems ToPIC97 (rev 03)
>   Subsystem: Toshiba America Info Systems: Unknown device 0001
>   Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
>   Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR-
>   Latency: 0
>   Interrupt: pin B routed to IRQ 0
>   Region 0: Memory at 10001000 (32-bit, non-prefetchable) [size=4K]
>   Bus: primary=00, secondary=15, subordinate=15, sec-latency=0
>   Memory window 0: 00000000-00000000
>   Memory window 1: 00000000-00000000
>   I/O window 0: 00000000-00000003
>   I/O window 1: 00000000-00000003
>   BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt- PostWrite-
>   16-bit legacy interface ports at 0001
>
>00:03.0 ISA bridge: Toshiba America Info Systems: Unknown device 060e (rev 02)
>   Subsystem: Toshiba America Info Systems: Unknown device 0001
>   Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
>   Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR-
>
>00:04.0 VGA compatible controller: S3 Inc. ViRGE/MX (rev 06) (prog-if 00 [VGA])
>   Subsystem: Toshiba America Info Systems ViRGE/MX
>   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 (1000ns min, 63750ns max)
>   Region 0: Memory at f8000000 (32-bit, non-prefetchable) [size=64M]
>   Expansion ROM at 000c0000 [disabled] [size=64K]
>
>00:06.0 PCI bridge: Toshiba America Info Systems: Unknown device 0609 (rev 04) (prog-if 00 [Normal decode])
>   Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
>   Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR-
>   Latency: 0
>   Bus: primary=00, secondary=01, subordinate=13, sec-latency=0
>   I/O behind bridge: 00000000-00000fff
>   Memory behind bridge: 00000000-000fffff
>   Prefetchable memory behind bridge: 00000000-000fffff
>   BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
>
>00:0a.0 Communication controller: Toshiba America Info Systems FIR Port (rev 13)
>   Subsystem: Toshiba America Info Systems: Unknown device 0001
>   Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
>   Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR-
>   Latency: 64
>   Interrupt: pin A routed to IRQ 11
>   Region 0: I/O ports at dfe0 [size=32]
>
>00:0b.0 USB Controller: NEC Corporation USB (rev 02) (prog-if 10 [OHCI])
>   Subsystem: Toshiba America Info Systems USB
>   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 (250ns min, 5250ns max)
>   Interrupt: pin A routed to IRQ 11
>   Region 0: Memory at f7eff000 (32-bit, non-prefetchable) [size=4K]
>
>00:0c.0 Multimedia video controller: Toshiba America Info Systems Tecra Video Capture device (rev 04)
>   Subsystem: Toshiba America Info Systems: Unknown device 0001
>   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 11
>   Region 0: Memory at f7efef00 (32-bit, non-prefetchable) [size=256]
>
>00:0d.0 Multimedia controller: Toshiba America Info Systems DVD Decoder card (Version 2) (rev 02)
>   Subsystem: Toshiba America Info Systems: Unknown device 0001
>   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 (1000ns min, 32000ns max)
>   Interrupt: pin A routed to IRQ 11
>   Region 0: I/O ports at de00 [size=256]
>
>01:01.0 SCSI storage controller: Advanced Micro Devices [AMD] 53c974 [PCscsi] (rev 10)
>   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 (1000ns min, 10000ns max)
>   Interrupt: pin A routed to IRQ 11
>   Region 0: I/O ports at <ignored> [size=128]
>
>01:04.0 CardBus bridge: Toshiba America Info Systems ToPIC95 (rev 87)
>   Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
>   Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR-
>   Latency: 0
>   Interrupt: pin A routed to IRQ 0
>   Region 0: Memory at <unassigned> (32-bit, non-prefetchable) [size=4K]
>   Bus: primary=01, secondary=12, subordinate=12, sec-latency=0
>   Memory window 0: 00000000-00000000
>   Memory window 1: 00000000-00000000
>   I/O window 0: 00000000-00000003
>   I/O window 1: 00000000-00000003
>   BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt- PostWrite-
>
>01:04.1 CardBus bridge: Toshiba America Info Systems ToPIC95 (rev 87)
>   Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
>   Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort- >SERR- <PERR-
>   Latency: 0
>   Interrupt: pin B routed to IRQ 0
>   Region 0: Memory at <unassigned> (32-bit, non-prefetchable) [size=4K]
>   Bus: primary=01, secondary=13, subordinate=13, sec-latency=0
>   Memory window 0: 00000000-00000000
>   Memory window 1: 00000000-00000000
>   I/O window 0: 00000000-00000003
>   I/O window 1: 00000000-00000003
>   BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt- PostWrite-
>
>01:0d.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
>   Subsystem: Realtek Semiconductor Co., Ltd. RT8139
>   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 min, 16000ns max)
>   Interrupt: pin A routed to IRQ 11
>   Region 0: I/O ports at <ignored> [size=256]
>   Region 1: Memory at <ignored> (32-bit, non-prefetchable) [size=256]
>   Expansion ROM at f7fe0000 [disabled] [size=64K]
>   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-
>
>  
>
The unknown device 0609 is the one responsible for the problem.

             Eric Stern


[-- Attachment #2: patch.toshiba --]
[-- Type: text/plain, Size: 836 bytes --]

diff -rup linux-2.6.4.orig/drivers/pci/quirks.c linux/drivers/pci/quirks.c
--- linux-2.6.4.orig/drivers/pci/quirks.c   2004-03-18 12:14:29.000000000 -0600
+++ linux/drivers/pci/quirks.c  2004-03-18 12:16:58.000000000 -0600
@@ -957,6 +957,11 @@ static struct pci_fixup pci_fixups[] __d
     */
    { PCI_FIXUP_HEADER, PCI_VENDOR_ID_INTEL,    PCI_DEVICE_ID_INTEL_82380FB,    quirk_transparent_bridge },
    { PCI_FIXUP_HEADER, PCI_VENDOR_ID_TOSHIBA,  0x605,  quirk_transparent_bridge },
+   /* The PCI-PCI bridge in the toshiba deskstation needs to
+    * be marked transparent for PCI cards to be usable.  The
+    * bridge ID is 0x609.
+    */
+   { PCI_FIXUP_HEADER, PCI_VENDOR_ID_TOSHIBA,  0x609,  quirk_transparent_bridge },
 
    { PCI_FIXUP_FINAL,  PCI_VENDOR_ID_CYRIX,    PCI_DEVICE_ID_CYRIX_PCI_MASTER, quirk_mediagx_master },
 

                 reply	other threads:[~2004-03-22 19:07 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=405F3948.7040901@netscape.net \
    --to=egstern1@netscape.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mj@ucw.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.