MTRR problem, maybe FB related
Greetings,
i'm getting the following problem since 2.6.8-rc1. maybe with 2.6.7 too, i don't remember.
vesafb: framebuffer at 0xb0000000, mapped to 0xdf80d000, size 6144k
vesafb: mode is 1024x768x32, linelength=4096, pages=4
vesafb: protected mode interface info at 00ff:44f0
vesafb: scrolling: redraw
vesafb: directcolor: size=8:8:8:8, shift=24:16:8:0
.
.
.
agpgart: AGP aperture is 128M @ 0xb0000000
mtrr: 0xb0000000,0x8000000 overlaps existing 0xb0000000,0x400000
[drm] Initialized i830 1.3.2 20021108 on minor 0: Intel Corp. 82852/855GM Integrated Graphics Device
mtrr: 0xb0000000,0x8000000 overlaps existing 0xb0000000,0x400000
[drm] Initialized i830 1.3.2 20021108 on minor 1: Intel Corp. 82852/855GM Integrated Graphics Device (#2)
when starting X i'm getting the following in dmesg:
mtrr: base(0xb0020000) is not aligned on a size(0x180000) boundary
mtrr: 0xb0000000,0x8000000 overlaps existing 0xb0000000,0x400000
is there any way to get both working together? (fb + mtrr)
Thanks, sebastian
Quoted 2 lines · On Fri, Aug 06, 2004 at 07:47:22PM +0200, [email protected] wrote:
vesafb: framebuffer at
0xb0000000, mapped to0xdf80d000, size 6144k
vesafb: mode is 1024x768x32, linelength=4096, pages=4
vesafb's mtrr usage is borken. Instead of creating an MTRR the size of video RAM, it creates one the size of the display.
Quoted 4 lines
mtrr: 0xb0000000,0x8000000 overlaps existing 0xb0000000,0x400000
[drm] Initialized i830 1.3.2 20021108 on minor 0: Intel Corp. 82852/855GM Integrated Graphics Device
mtrr: 0xb0000000,0x8000000 overlaps existing 0xb0000000,0x400000
[drm] Initialized i830 1.3.2 20021108 on minor 1: Intel Corp. 82852/855GM Integrated Graphics Device (#2)
Then X comes along, sizes the video ram, and tries to create an MTRR of the correct size, but the framebuffer got there first and bodged it.
I used to see this happening also on my Matrox g550, but it seems to have 'gone away' in recent times. I haven't checked out why, but I'm suspecting X now detects this case, and deletes the crap entry, and puts the proper values in its place.
Quoted 3 lines
when starting X i'm getting the following in dmesg:
mtrr: base(0xb0020000) is not aligned on a size(0x180000) boundary
This one I can't explain however.
Quoted 3 lines
mtrr: 0xb0000000,0x8000000 overlaps existing 0xb0000000,0x400000
is there any way to get both working together? (fb + mtrr)
Disable MTRR for vesafb. iirc, there's a boot command line option to do it.
Dave
Quoted 27 lines · On Fri, 6 Aug 2004 21:34:36 +0100 Dave Jones <[email protected]> wrote:
Quoted 2 lines · On Fri, Aug 06, 2004 at 07:47:22PM +0200, [email protected] wrote:
vesafb: framebuffer at
0xb0000000, mapped to0xdf80d000, size 6144k
vesafb: mode is 1024x768x32, linelength=4096, pages=4vesafb's mtrr usage is borken. Instead of creating an MTRR the size of video RAM, it creates one the size of the display.
Quoted 4 lines
mtrr: 0xb0000000,0x8000000 overlaps existing 0xb0000000,0x400000
[drm] Initialized i830 1.3.2 20021108 on minor 0: Intel Corp. 82852/855GM Integrated Graphics Device
mtrr: 0xb0000000,0x8000000 overlaps existing 0xb0000000,0x400000
[drm] Initialized i830 1.3.2 20021108 on minor 1: Intel Corp. 82852/855GM Integrated Graphics Device (#2)Then X comes along, sizes the video ram, and tries to create an MTRR of the correct size, but the framebuffer got there first and bodged it.
I used to see this happening also on my Matrox g550, but it seems to have 'gone away' in recent times. I haven't checked out why, but I'm suspecting X now detects this case, and deletes the crap entry, and puts the proper values in its place.
Quoted 3 lines
when starting X i'm getting the following in dmesg:
mtrr: base(0xb0020000) is not aligned on a size(0x180000) boundary
This one I can't explain however.
Quoted 8 lines
Quoted 3 lines
mtrr: 0xb0000000,0x8000000 overlaps existing 0xb0000000,0x400000
is there any way to get both working together? (fb + mtrr)
Disable MTRR for vesafb. iirc, there's a boot command line option to do it.
Dave
Ah, I see. It's not documented in Documentation/fb/vesafb.txt, but after looking at drivers/video/vesafb.c i got it (video=vesafb:nomtrr). Now it seems to work, but X still gives me upon starting:
mtrr: base(0xb0020000) is not aligned on a size(0x180000) boundary
thanks
sebastian