2.2.16 SMP: mtrr errors
Quoted 2 lines · Paul C. Nendick
-Matrox g450 32MB RAM dual-heal AGP video card w/ hand compiled X driver
from matrox
Make sure you do not use either matroxfb or XFree's driver... Same chip ID, but different ramdac :-(
Quoted 4 lines
and immediately after starting X:
kernel: mtrr: base(0xd4000000) is not aligned on a size(0x1800000) boundary last message repeated 2 times
For some strange reason X thinks that you have 24MB of memory on the G450. You can either create 32MB write-combining region at 0xd4000000, or teach X that your device occupies 32MB and not 24 (you should do it anyway, region size can be only power of two)...
Quoted 6 lines
and finally:
%cat
/proc/mtrr
reg00: base=0x00000000 ( 0MB), size= 256MB: write-back, count=1
reg01: base=0xd0000000 (3328MB), size= 64MB: write-combining, count=1
reg02: base=0xd5800000 (3416MB), size= 8MB: write-combining, count=1
+ reg03: base=0xd4000000 (????MB), size= 32MB: write-combining, count=1
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/
Quoted 7 lines · Petr Vandrovec
Quoted 2 lines
kernel: mtrr: base(0xd4000000) is not aligned on a size(0x1800000) boundary last message repeated 2 times
For some strange reason X thinks that you have 24MB of memory on the G450. You can either create 32MB write-combining region at
0xd4000000, or teach X that your device occupies 32MB and not 24 (you should do it anyway, region size can be only power of two)...
Petr, the Matrox card splits the memory between the two video screens when running in a multi-head configuration and "pretends" that it is two distinct cards. Thus, a 32 mb card will register an mtrr for 24mb and for 8mb seperately when in this mode.
At line 1190 in arch/i386/kernel/mtrr.c the switch on Intel falls through hitting the error message for Centaur. I know the comment says to fall through, but is this correct? I've inserted a break at the end of the Intel switch before and have not had problems, but I left it out in the latest couple of kernels because of all the mtrr work being done, waiting to see if there was resolution.
John
-
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/
Quoted 4 lines
Petr, the Matrox card splits the memory between the two video screens when running in a multi-head configuration and "pretends" that it is two distinct cards. Thus, a 32 mb card will register an mtrr for 24mb and for 8mb seperately when in this mode.
That is a driver bug. The intel processors only support MTRR's on certain power boundaries/sizes. The fall through is intended.
Quoted 2 lines
to fall through, but is this correct? I've inserted a break at the end of the Intel switch before and have not had problems, but I left it out
Lucky
Quoted 2 lines
in the latest couple of kernels because of all the mtrr work being done, waiting to see if there was resolution.
The Matrox driver needs to register a single 32Mb MTRR
-
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/
Quoted 4 lines · Alan Cox
Quoted 2 lines
to fall through, but is this correct? I've inserted a break at the end of the Intel switch before and have not had problems, but I left it out
Lucky
Wouldn't be the first time...
-
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/
Shall I submit this to Matrox as a bug then?
/paul
Quoted 18 lines · Alan Cox
Quoted 4 lines
Petr, the Matrox card splits the memory between the two video screens when running in a multi-head configuration and "pretends" that it is two distinct cards. Thus, a 32 mb card will register an mtrr for 24mb and for 8mb seperately when in this mode.
That is a driver bug. The intel processors only support MTRR's on certain power boundaries/sizes. The fall through is intended.
Quoted 2 lines
to fall through, but is this correct? I've inserted a break at the end of the Intel switch before and have not had problems, but I left it out
Lucky
Quoted 2 lines
in the latest couple of kernels because of all the mtrr work being done, waiting to see if there was resolution.
The Matrox driver needs to register a single 32Mb MTRR
Signature · 5 lines
Paul C. Nendick - 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/
Quoted 1 line · Paul C. Nendick
Shall I submit this to Matrox as a bug then?
The "bug" is in the XFree86 core, so telling Matrox might not do a lot of good.
The driver code just says "I want to map a framebuffer of this size at this physical address" (or actually "with these PCI details"), and the core code arranges the mapping, doing the MTRR stuff while it's at it.
David Wragg
-
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/
Quoted 5 lines · Alan Cox
Quoted 4 lines
Petr, the Matrox card splits the memory between the two video screens when running in a multi-head configuration and "pretends" that it is two distinct cards. Thus, a 32 mb card will register an mtrr for 24mb and for 8mb seperately when in this mode.
Quoted 7 lines
That is a driver bug. The intel processors only support MTRR's on certain power boundaries/sizes. The fall through is intended.
Quoted 2 lines
in the latest couple of kernels because of all the mtrr work being done, waiting to see if there was resolution.
The Matrox driver needs to register a single 32Mb MTRR
The kernel VESA framebuffer has exactly the same problem. Sometimes VESA reports 2.5Mb video memory, and vesafb's attempt to register an MTRR fails.
But should vesafb know about Intel-specific MTRR limitations, given that those limitations may change?
-- Jamie
-
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/