From: Jon S. <jon...@gm...> - 2005-06-29 15:11:02
|
On 6/29/05, Paul Mackerras <pa...@sa...> wrote: > Do either of you (or does anyone) have a good mental grasp of how > map handles and offsets are used and manipulated in the X server and > in DRI clients? In particular, I'm interested to know under what > circumstances map handles are generated by arithmetic on other map > handles, or obtained from a source other than a DRM_IOCTL_ADD_MAP > ioctl. Similarly for the offset in a mmap on /dev/dri/cardN; do we do > arithmetic to get those values? >=20 > The underlying question is to what extent the handle returned by > DRM_IOCTL_ADD_MAP needs to be predictable (or have a predictable > relationship to other handles) rather than just being an arbitrary > token invented by the kernel DRM code. I don't think that map handles are being computed in any uniform way. Sometimes they are zero, sometimes the physical address, sometime the kernel virtual address. I'm not clear on what user space is supposed to do with handles. I'm doing drmGet(), getting the offset and then passing the offset back into drmMap(). I just ran into a problem where the handle for the framebuffer was zero and that won't work with drmMap(). After changing to the offset field I am just ignoring the handles. --=20 Jon Smirl jon...@gm... |