[Nouveau] [Bug 11918] drmMap of framebuffer failed

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Aug 9 12:53:41 PDT 2007


http://bugs.freedesktop.org/show_bug.cgi?id=11918





------- Comment #2 from pq at iki.fi  2007-08-09 12:53 PST -------
I hit this too, all DRM, DDX and DRI from today.

There seems to be a collision of mappings (as noticed by cmn) in the DRM:

[ 3024.352588] [drm:drm_addmap_core] offset = 0xf0000000, size = 0x04000000,
type = 0
...
[ 3024.368286] [drm:nouveau_dma_channel_init] 
[ 3024.368291] [drm:drm_addmap_core] offset = 0xf0000000, size = 0x00008000,
type = 0
[ 3024.368295] [drm:drm_addmap_core] Matching maps of type 0 with mismatched
sizes, (32768 vs 67108864)
[ 3024.368299] [drm] allocated 0x0
[ 3024.368303] [drm] Allocating FIFO number 0
[ 3024.368306] [drm:nouveau_notifier_init_channel] Allocating notifier block in
262
[ 3024.368310] [drm:drm_addmap_core] offset = 0x00000000, size = 0x00001000,
type = 3
[ 3024.368314] [drm:drm_addmap_core] AGP offset = 0xe8000000, size = 0x00001000
[ 3024.368317] [drm] allocated 0x0

Notice how at the address 0xf0000000, which is the start of my VRAM, first is
allocated the FB block of 64MB, and then a block of 32kB, which overwrites the
previous 64MB mapping. I.e., creating the FIFO for the DRM messes things up,
but perhaps just triggers a bug elsewhere, in DRI parameter communication.

Later in the log:
[ 3024.370650] [drm:drm_addmap_core] offset = 0xf0008000, size = 0x04000000,
type = 0

Now, the DDX seems to be ok with this, because /proc/<Xserver>/maps contains
the line:
2b95ab8ed000-2b95af8ed000 rw-s f0008000 00:0b 41226                     
/dev/dri/card0

But however, glxinfo tries to do the following syscall:
mmap(NULL, 67108864, PROT_READ|PROT_WRITE, MAP_SHARED, 4, 0xf0000000) = -1
EINVAL (Invalid argument)
which leads to the "drmMap of framebuffer failed" error message.

cmn therefore inferred that libGL does not get the correct information for
mapping the framebuffer, but tries it with a wrong address. A quote:
< cmn> glxext knows the offset at which it should request the FB memory from
XF86DRIGetDeviceInfo(), but I haven't been able to see where we tell it the
address


-- 
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.


More information about the Nouveau mailing list