Yenta Socket work with 32-bit card but not 16-bit

David Clark dlclark at chtech.com
Thu Feb 15 13:18:20 EST 2007


I see the following lines in my dmesg output.

"cs: memory probe 0x80000000-0xfcffffff"
"	excluding 0x80000000-0xfcffffff"

I may be way off track here and pleasae tell me if so.  From looking at
the source code in "rsrc_nonstatic.c" I gather that the first time the
socket comes up, the kernel probes (do_mem_probe()) the PCI memory space
to find a suitable memory region which can be allocated to the PCMCIA
cards.  

In my case 0x80000000-0xfcffffff is the entire memory range available to
the host PCI bridge.  Not all of this memory range is allocated to the
various PCI devices, so why then does the memory probe not find any
available resources?

Is this potentially related to my problem?  Again I'm trying my best to
understand how this all works.

Thanks,

David



********   /proc/iomem   ********
~ # cat /proc/iomem
80000000-fcffffff : PCI host bridge
  80000000-803fffff : PCI CardBus #02
  bf8ff000-bfcfefff : PCI CardBus #02
  bfcff000-bfcfffff : 0000:00:14.0
    bfcff000-bfcfffff : yenta_socket
  bfd00000-bfdfffff : PCI Bus #01
  bfe00000-bfefffff : PCI Bus #01
  bfff7c00-bfff7fff : 0000:00:12.0
    bfff7c00-bfff7fff : tulip
  bfff8000-bfffffff : 0000:00:10.0
  fc004500-fc004507 : serial
~ #



********   lspci -vvv   ********
~ # lspci -vvv
00:00.0 Host bridge: Motorola MPC8245 [Unity] (rev 14)
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Step
ping- SERR- FastB2B-
	Status: Cap- 66Mhz+ UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- 
<MAbort+ >SERR- <PERR-
	Latency: 64, Cache Line Size 08
	Interrupt: pin A routed to IRQ 0
	Region 0: Memory at <unassigned> (32-bit, prefetchable)
	Region 2: Memory at <unassigned> (32-bit, prefetchable)

00:10.0 I2O: Anchor Chips Inc. AN3042Q CO-MEM Lite (rev 02) (prog-if 01)
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Step
ping- SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort
- <MAbort- >SERR- <PERR-
	Latency: 128, Cache Line Size 08
	Interrupt: pin ? routed to IRQ 20
	Region 0: Memory at 00000000bfff8000 (32-bit, non-prefetchable)
[size=32
K]
	Region 1: I/O ports at bffff8 [size=8]

00:12.0 Ethernet controller: Digital Equipment Corporation DECchip
21142/43 (rev
 41)
	Subsystem: Unknown device 0400:0001
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Step
ping- SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort
- <MAbort- >SERR- <PERR-
	Latency: 128 (5000ns min, 10000ns max), Cache Line Size 08
	Interrupt: pin A routed to IRQ 16
	Region 0: I/O ports at bfff00 [size=128]
	Region 1: Memory at 00000000bfff7c00 (32-bit, non-prefetchable)
[size=1K
]
	Expansion ROM at 00000000dfbc0000 [disabled] [size=256K]

00:13.0 PCI bridge: Texas Instruments PCI2250 PCI-to-PCI Bridge (rev 02)
(prog-i
f 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Step
ping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort
- <MAbort- >SERR- <PERR-
	Latency: 128, Cache Line Size 08
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=128
	I/O behind bridge: 00bfe000-00bfefff
	Memory behind bridge: bfe00000-bfefffff
	Prefetchable memory behind bridge: bfd00000-bfdfffff
	Secondary status: 66Mhz- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort
- <MAbort+ <SERR- <PERR-
	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-

00:14.0 CardBus bridge: Texas Instruments PCI1620 PC Card Controller
(rev 01)
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Step
ping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort
- <MAbort- >SERR- <PERR-
	Latency: 168, Cache Line Size 08
	Interrupt: pin A routed to IRQ 19
	Region 0: Memory at 00000000bfcff000 (32-bit, non-prefetchable)
[size=4K
]
	Bus: primary=00, secondary=02, subordinate=05, sec-latency=176
	Memory window 0: bf8ff000-bfcfe000 (prefetchable)
	Memory window 1: 80000000-803ff000
	I/O window 0: 00000000-000001ff
	I/O window 1: 00000400-000005ff
	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt+
PostWrite+
	16-bit legacy interface ports at 0001

00:14.2 System peripheral: Texas Instruments PCI1620 Firmware Loading
Function (
rev 01)
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Step
ping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort
- <MAbort- >SERR- <PERR-
	Latency: 128 (1750ns min, 1000ns max), Cache Line Size 08
	Interrupt: pin ? routed to IRQ 19
	Region 0: I/O ports at bf9fc0 [size=64]
	Capabilities: [44] 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-







More information about the linux-pcmcia mailing list