linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
* Linux 2.6.x  :  useless IO mappings behing PCI bridge
@ 2006-09-15 14:26 Laurent Lagrange
  0 siblings, 0 replies; only message in thread
From: Laurent Lagrange @ 2006-09-15 14:26 UTC (permalink / raw)
  To: linuxppc-embedded


Hello,

I use a custom 82xx PMC board as a PCI monarch board
on a carrier and another PCI agent board with a bridge.

The PCI agent board requests prefetchable and non
prefetchable memories behind its bridge but no IO region.
The IO flag is not set in the header space.

When probing PCI, Linux warns :
PCI: Probing PCI hardware
PCI: Cannot allocate resource region 0 of PCI bridge 1
--> the default address is not a valid pci address !!!
PCI: bridge 1 resource 0 moved to f8fff000..f8ffffff
--> This size is the default io region size.

So the kernel allocates and ioremaps 4096B for no requested IO.
The problem is not that it consumes address space but
that the kernel warns as if it is a mistake :-(

It can be checked by lspci command.
# lspci -vvx
00:13.0 Class 0604: 3388:0026 (rev 04)
        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, cache line size 08
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
-->     I/O behind bridge: f8fff000-f8ffffff
        Memory behind bridge: a0100000-a01fffff
        Prefetchable memory behind bridge: 0000000080000000-0000000081f00000
        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-
        Capabilities: [e4] #06 [0094]
        Capabilities: [e8] Vital Product Data
00: 88 33 26 00 06 00 b0 02 04 00 04 06 08 f8 01 00
10: 00 00 00 00 00 00 00 00 00 01 01 00 f1 f1 a0 02
20: 10 a0 10 a0 01 80 f1 81 00 00 00 00 00 00 00 00
30: ff f8 ff f8 dc 00 00 00 00 00 00 00 00 00 00 00

I think it would be right to check if IO is requested before
allocating some region.

Any opinion ?
Thanks all
Laurent

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2006-09-15 14:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-09-15 14:26 Linux 2.6.x : useless IO mappings behing PCI bridge Laurent Lagrange

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).