Messages in this thread | | | Date | Fri, 28 Aug 2009 15:13:13 +0800 | Subject | Re: (Re)assignment of PCI BARs | From | Beng Tan <> |
| |
Hi,
I've found a satisfactory fix for myself ... not quite sure if I've got the full picture correct, but for those who are interested in reading ...
Using the boot parameter pci=resource_alignment=26@00:1c.3; I was able to get the kernel to reassign the intervening bridge. My iomem was then (excerpt only) ...
88000000-9fffffff : PCI Bus 0000:0d 88000000-8801ffff : 0000:0d:00.0 90000000-9fffffff : 0000:0d:00.0 a0000000-a00fffff : PCI Bus 0000:0d a0000000-a000ffff : 0000:0d:00.0 a0010000-a0013fff : 0000:0d:00.1 a0100000-a0100fff : Intel Flush Page d0000000-dfffffff : 0000:00:02.0
Forcing a resource_alignment reallocated the bridge's windows and freed up space for the graphics card, which is now like so:
0d:00.0 VGA compatible controller: ATI Technologies Inc Unknown device 9540 (prog-if 00 [VGA controller]) Subsystem: Giga-byte Technology Unknown device 21ae 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, Cache Line Size: 64 bytes Interrupt: pin A routed to IRQ 19 Region 0: Memory at 90000000 (64-bit, prefetchable) [size=256M] Region 2: Memory at a0000000 (64-bit, non-prefetchable) [size=64K] Region 4: I/O ports at de00 [size=256] Expansion ROM at 88000000 [disabled] [size=128K]
(I'm not sure if an align order of 26 is too much. A lesser number may work just as well, but I haven't tested this)
From here on, the card and everything else just worked, including X (albeit with some xorg.conf tweaking).
So, all I have to do is go buy two monitors :( and I can have 3 external monitors on my old crappy laptop :)
For those who are also interested in hooking external PCIe cards to their laptop's Expresscard port, the PE2L hardware does work. However, you may encounter BIOS-induced PCI resource allocation issues, and whether your distribution is recent enough to fix this is an open question.
Thanks all for reading.
Beng
| |