matroxfb on 2.4.0 / PCI: Failed to allocate...
Quoted 9 lines · Chad Miller
Quoted 1 line · Petr Vandrovec
What does 'lspci -v' say?
#00:01.0 PCI bridge: VIA Technologies, Inc. VT8371 [KX133 AGP] (prog-if 00 \
#[Normal decode])# Flags: bus master, 66Mhz, medium devsel, latency 0 # Bus: primary=00, secondary=01, subordinate=01, sec-latency=0 # Memory behind bridge: d4000000-d6ffffff # Prefetchable memory behind bridge: d7000000-d8ffffff
^^^^^^^^
Quoted 11 lines
# Capabilities: <available only to root>
#
#01:00.0 VGA compatible controller: Matrox Graphics, Inc. MGA G400 AGP \
#(rev 05) (prog-if 00 [VGA])# Subsystem: Matrox Graphics, Inc. Millennium G400 MAX/Dual Head 32Mb # Flags: bus master, VGA palette snoop, medium devsel, latency 64, IRQ 10 # Memory at d8000000 (32-bit, prefetchable) [size=16M] # Memory at d4000000 (32-bit, non-prefetchable) [size=16K] # Memory at d5000000 (32-bit, non-prefetchable) [size=8M] # Expansion ROM at <unassigned> [disabled] [size=64K] # Capabilities: <available only to root>
There is something wrong with your hardware. First region for G400 should be 32MB, not 16MB (even if you have 16MB G400, which I doubt).
Prefetchable memory behind bridge on 0:01.0 should end at 0xd9ffffff. This is probably what kernel wants to say - memory region is 32MB, but there is only 16MB behind bridge, so region does not fit...
Quoted 4 lines
Quoted 2 lines
in such case, as matroxfb assumes that if
request_mem_regionfailed, it was because of some other driver already controls this hardware.Is there a patch available, or should I go looking for it?
Search function initMatrox2() in drivers/video/matrox/matroxfb_base.c. In this function, you'll find two calls to request_mem_region followed by 'goto fail' (or 'goto failCtrlMR) without printk. You can try to add printk() here. Second request_mem_region fails, because of PCI subsystem reports only 16MB window, while matroxfb requests 32MB one.
You can workaround by changing first value in
'static struct video_board vbG400' from 0x2000000 to 0x1000000. But only 16MB are available then. I'd like to see what XFree does on your hardware...
Best regards,
Petr Vandrovec [email protected]
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/
G400 behavior different, 2.2.18->2.4.0 (was: matroxfb on 2.4.0 / PCI: Failed to allocate...)
(CC'd to lkml)
Quoted 2 lines · Petr Vandrovec
There is something wrong with your hardware. First region for G400 should be 32MB, not 16MB (even if you have 16MB G400, which I doubt).
Ooo! Here's an edited diff of 'lspci -v' under 2.2.18 versus 2.4.0:
36,41c37,42
< Flags: bus master, VGA palette snoop, medium devsel, latency 32, IRQ 10
< Memory at d6000000 (32-bit, prefetchable)
< Memory at d4000000 (32-bit, non-prefetchable)
< Memory at d5000000 (32-bit, non-prefetchable)
< Capabilities: [dc] Power Management version 2
< Capabilities: [f0] AGP version 2.0
---
Quoted 6 lines
Flags: bus master, VGA palette snoop, medium devsel, latency 64, IRQ 10 Memory at d8000000 (32-bit, prefetchable) [size=16M] Memory at d4000000 (32-bit, non-prefetchable) [size=16K] Memory at d5000000 (32-bit, non-prefetchable) [size=8M] Expansion ROM at <unassigned> [disabled] [size=64K] Capabilities: <available only to root>
Change in latency and base address. Interesting, eh?
Do you think any configuration parameters could affect this? (I haven't paid as much attention to the evolution from 2.2 to 2.4 as I should've.)
Here's the diff of X' output, from 2.2.18 to 2.4.0:
43c43
< (--) PCI:*(1:0:0) Matrox MGA G400 AGP rev 5, Mem @ 0xd6000000/25, 0xd4000000/14, 0xd5000000/23
---
Quoted 1 line
(--) PCI:*(1:0:0) Matrox MGA G400 AGP rev 5, Mem @ 0xd6000000/24, 0xd4000000/14, 0xd5000000/23
72,73d71
< (WW) ****INVALID MEM ALLOCATION**** b: 0xd6000000 e: 0xd7ffffff correcting < (EE) Cannot find a replacement memory range
Ideas?
- chad
--
Chad Miller <[email protected]> URL: http://web.chad.org/ (GPG)
"Any technology distinguishable from magic is insufficiently advanced". First corollary to Clarke's Third Law (Jargon File, v4.2.0, 'magic') -
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
Please read the FAQ at http://www.tux.org/lkml/