mmap fails for DRM_IOCTL_MODE_MAP_DUMB for Radeon, Nouveau, and VMWGFX

Rian Quinn rianquinn at gmail.com
Mon Nov 10 12:33:48 PST 2014


I did another test using the following that David put up on github:

https://github.com/dvdhrm/docs/blob/master/drm-howto/modeset.c

This test also fails on everything except Intel. What's really strange is
this test actually does a test to verify that dumb buffers are supported,
and the test passes in all cases. David's code is returning with the same
error of "Invalid Argument" on the mmap call. Why would the other driver's
claim to support dumb buffers, but have no means to map the memory?

- Rian

On Mon, Nov 10, 2014 at 2:48 PM, Rian Quinn <rianquinn at gmail.com> wrote:

> When working with dumb buffers, DRM_IOCTL_MODE_MAP_DUMB and mmap works
> fine on Intel, but the mmap call fails on Radeon, Nouveau, and VMWGFX. I
> you look at the source for the xorg moderating driver, it only uses the
> dumb buffer IOCTL (i.e. it’s not using LibKMS), and if you look at the
> kernel source code for the dumb buffer IOCTLs for each of the Radeon,
> Nouveau, and VMWGFX drivers, they all implement the functions. Furthermore
> all of the IOCTLs succeed without error. Its only when you attempt to map
> the memory, that you get an error of “Invalid Argument”. Here is my map
> call:
>
> mmap(0, size, PROT_READ | PROT_WRITE, MAP_SHARED, fd, map_arg.offset)
>
> Is this a bug, or is there a different way to map the dumb buffers for
> these drivers other than LibKMS.
>
> Thanks,
> - Rian
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20141110/84d960d3/attachment.html>


More information about the dri-devel mailing list