mirror of
https://gitlab.freedesktop.org/mesa/drm.git
synced 2025-12-31 20:40:22 +01:00
read-only mirror of https://gitlab.freedesktop.org/mesa/drm
The ioctl DRM_EXYNOS_GEM_MAP_OFFSET and DRM_EXYNOS_GEM_MMAP are removed from
the linux kernel. This patch modifies libdrm and libkms to use drm generic
ioctls instead of the removed ioctls.
v2: The original patch was erroneous. In case the MODE_MAP_DUMB ioctl failed
it would return the retvalue as a void-pointer. Users of libdrm would then
happily use that ptr, eventually leading to a segfault. Change this to
return NULL in that case and also restore the previous behaviour of logging
to stderr.
The other error was that 'bo->vaddr' was never filled with the mapped
buffer address. Hence exynos_bo_map still returned NULL even if the
buffer mapping succeeded.
Signed-off-by: Hyungwon Hwang <human.hwang@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
Signed-off-by: Rob Clark <robclark@freedesktop.org>
|
||
|---|---|---|
| exynos | ||
| freedreno | ||
| include/drm | ||
| intel | ||
| libkms | ||
| m4 | ||
| man | ||
| nouveau | ||
| omap | ||
| radeon | ||
| tegra | ||
| tests | ||
| .gitignore | ||
| Android.mk | ||
| autogen.sh | ||
| CleanSpec.mk | ||
| configure.ac | ||
| libdrm.h | ||
| libdrm.pc.in | ||
| libdrm_lists.h | ||
| Makefile.am | ||
| Makefile.sources | ||
| README | ||
| RELEASING | ||
| xf86atomic.h | ||
| xf86drm.c | ||
| xf86drm.h | ||
| xf86drmHash.c | ||
| xf86drmMode.c | ||
| xf86drmMode.h | ||
| xf86drmRandom.c | ||
| xf86drmSL.c | ||
libdrm - userspace library for drm This is libdrm, a userspace library for accessing the DRM, direct rendering manager, on Linux, BSD and other operating systes that support the ioctl interface. The library provides wrapper functions for the ioctls to avoid exposing the kernel interface directly, and for chipsets with drm memory manager, support for tracking relocations and buffers. libdrm is a low-level library, typically used by graphics drivers such as the Mesa DRI drivers, the X drivers, libva and similar projects. New functionality in the kernel DRM drivers typically requires a new libdrm, but a new libdrm will always work with an older kernel. Compiling --------- libdrm is a standard autotools packages and follows the normal configure, build and install steps. The first step is to configure the package, which is done by running the configure shell script: ./configure By default, libdrm will install into the /usr/local/ prefix. If you want to install this DRM to replace your system copy, pass --prefix=/usr and --exec-prefix=/ to configure. If you are building libdrm from a git checkout, you first need to run the autogen.sh script. You can pass any options to autogen.sh that you would other wise pass to configure, or you can just re-run configure with the options you need once autogen.sh finishes. Next step is to build libdrm: make and once make finishes successfully, install the package using make install If you are install into a system location, you will need to be root to perform the install step.