summaryrefslogtreecommitdiff
path: root/libkms
AgeCommit message (Collapse)AuthorFilesLines
2022-04-15libkms: Remove libkms completelyDaniel Stone15-1958/+0
libkms was a very early attempt at a KMS management library, that only got as far as handling requests to create buffers. It has since been superseded by GBM in doing this, which everyone uses, unlike libkms which no-one uses. Remove it from the tree to avoid any confusion. Signed-off-by: Daniel Stone <daniels@collabora.com>
2022-01-20meson: use the modern interface for pkg.generateDylan Baker1-2/+1
This produces no differences in the generated output. I've had to manually add `requires : 'libdrm'` to libdrm_intel, otherwise libdrm ends up in `Requires.private` instead of `Requires`. Signed-off-by: Dylan Baker <dylan@pnwbakers.com> Reviewed-by: Simon Ser <contact@emersion.fr>
2021-12-14meson: add override_dependency when possibleDylan Baker1-0/+4
This allows consumers of libdrm as a subproject to use the simpler `dependency('libdrm', fallback : 'libdrm')` syntax, as the libdrm build files already tell meson that they override a dependency called "libdrm". Signed-off-by: Dylan Baker <dylan@pnwbakers.com> Reviewed-by: Simon Ser <contact@emersion.fr>
2021-06-20_WANT_KERNEL_ERRNO must be defined in FreeBSD for ERESTART to be usedEleni Maria Stea1-0/+3
In FreeBSD's errno.h ERESTART is not defined by default, only when the user requests the pseudo-errors returned inside the kernel to be enabled. As a result the block where drmCommandWriteRead is called returns compile error. Defined _WANT_KERNEL_ERRNO to fix it (see FreeBSD's /usr/include/errno.h) Signed-off-by: Eleni Maria Stea <elene.mst@gmail.com> Reviewed-by: Eric Engestrom <eric@engestrom.ch>
2021-03-09meson: use library() instead of shared_library().Fang Tan1-1/+1
This allows users to select the library type (static or shared) using the Meson -Ddefault_library built-in option. Issue: https://gitlab.freedesktop.org/mesa/drm/-/issues/45 Reviewed-by: Simon Ser <contact@emersion.fr> Signed-off-by: Fang Tan <tanfang@uniontech.com>
2019-11-11libkms: convert to new symbols checkEric Engestrom3-31/+15
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
2019-10-18Revert "Revert "libdrm: remove autotools support""Eric Engestrom1-45/+0
The external tooling issue has been fixed, so we can delete autotools again :)
2019-10-16Revert "libdrm: remove autotools support"Marek Olšák1-0/+45
This reverts commit f057dc91e93ae21e11ab48a26127d569972f3eae.
2019-10-14libdrm: remove autotools supportEric Engestrom1-45/+0
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
2019-10-04*-symbols-check: let meson figure out how to execute the scriptsEric Engestrom1-2/+2
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
2019-10-04*-symbols-check: use normal shell over bashEmil Velikov1-1/+1
None of the tests are bash specific. Tested with bash, zsh, dash, mksh and ksh. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Tested-by: Niclas Zeising <zeising@daemonic.se> Reviewed-by: Niclas Zeising <zeising@daemonic.se> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
2019-04-17fix various typosEric Engestrom1-1/+1
Saw a couple of typos fixes in the patch DragonFlyBSD carries [1], so I ran codespell (a spell checker for code) on the whole repo. [1] https://github.com/DragonFlyBSD/DPorts/blob/master/graphics/libdrm/files/patch-xf86drm.c Signed-off-by: Eric Engestrom <eric.engestrom@intel.com> Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2019-03-11libkms: update list of intel_drivers for Android buildTapani Pälli1-1/+1
Add new iris driver, remove deprecated ilo driver. Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
2018-10-04*-symbols-check: error out when using unset variablesEmil Velikov1-0/+2
It will make bugs like the one fixed with previous patch dead obvious. Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
2018-10-04automake: set NM before running the testsEmil Velikov1-0/+1
Set/export the NM variable since it may not be set already. Fixes: 4f08bfe96da ("*-symbol-check: Don't hard-code nm executable") Cc: Heiko Becker <heirecka@exherbo.org> Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
2018-09-19autotools: make symbols hidden by defaultLucas De Marchi1-0/+1
Now that symbols that should be exported are annotated accordingly, make all the rest hidden by default. Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> Acked-by: Eric Engestrom <eric.engestrom@intel.com>
2018-09-19meson: make symbols hidden by defaultLucas De Marchi1-1/+1
Now that symbols that should be exported are annotated accordingly, make all the rest hidden by default. Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com> Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
2018-09-19libkms: annotate public functionsLucas De Marchi1-8/+8
This was done with: nm --dynamic --defined-only build/libkms/libkms.so | \ grep kms_ | \ cut -d' ' -f3 > /tmp/a.txt while read sym; do read f func line _ <<<$(cscope -d -L -1 $sym) if [ ! -z "$f" ]; then sed -i "${line}s/^/drm_public /" $f fi done < /tmp/a.txt The idea here will be to switch the default visibility to hidden so we don't export symbols we shouldn't. Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> Acked-by: Eric Engestrom <eric.engestrom@intel.com>
2018-03-20meson,configure: include config.h automaticallyEric Engestrom9-36/+0
This will prevent any more missing `#include "config.h"` bug, at the cost of having to recompile some files that didn't need to be when changing build options. Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2018-02-23*-symbol-check: Don't hard-code nm executableHeiko Becker2-1/+2
Helpful if your nm executable has a prefix based on the architecture, for example. Signed-off-by: Heiko Becker <heirecka@exherbo.org> Cc: Timo Gurr <timo.gurr@gmail.com> [Eric: v2: rebase and add Meson support] Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2018-01-29meson,configure: always define HAVE_{INTEL,VMWGFX,NOUVEAU,EXYNOS,VC4,RADEON}Eric Engestrom1-5/+5
Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
2018-01-12Add meson build systemDylan Baker1-0/+74
This patch adds a complete meson build system, including tests and install. It has the necessary hooks to allow it be used as a subproject for other meson based builds such as mesa. Signed-off-by: Dylan Baker <dylan.c.baker@intel.com> Reviewed-and-tested-by: Igor Gnatenko <i.gnatenko.brain@gmail.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2017-11-07exynos: change the license to X11/MITInki Dae1-4/+18
Change GPL license of Exynos related code to X11/MIT. I'd like to keep a consistent license across all Exynos code because License checker notices two more licenses exist in libdrm. For the license change I need to get your agree - all committers. So please give me Acked-by if you agree with me. Signed-off-by: Inki Dae <inki.dae@samsung.com> Acked-by: Hyungwon Hwang <human.hwang@samsung.com> Acked-by: SooChan Lim <sc1.lim@samsung.com> Acked-by: Sangjin LEE <lsj119@samsung.com> Acked-by: Boram Park <boram1288.park@samsung.com> Acked-by: Seung-Woo Kim <sw0312.kim@samsung.com> Acked-by: Joonyoung Shim <jy0922.shim@samsung.com> Acked-by: Emil Velikov <emil.l.velikov@gmail.com> Acked-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de> Acked-by: Jan Vesely <jan.vesely@rutgers.edu>
2017-01-27android: introduce Android.common.mk to reduce boilerplateEmil Velikov1-3/+2
... across the makefiles. Currently this isn't much but that will change shortly. As an added bonus this fixes all present and future cases where we've forgotten to strip out the headers from LOCAL_SRC_FILES. In a couple of cases (the tests) we start setting LOCAL_EXPORT_C_INCLUDE_DIRS, which shouldn't be an issue. Cc: Chih-Wei Huang <cwhuang@android-x86.org> Cc: Rob Herring <robh@kernel.org> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Rob Herring <robh@kernel.org>
2017-01-27android: remove LOCAL_MODULE_TAGS := optional tagEmil Velikov1-1/+0
Seems to be the default option since ~2009 with commit 2f31293ba78 "auto import from //branches/cupcake/...@137197". Fleshed out from a larger commit in the AOSP repo/fork. Cc: Dan Willemsen <dwillemsen@google.com> Cc: Chih-Wei Huang <cwhuang@android-x86.org> Cc: Rob Herring <robh@kernel.org> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Rob Herring <robh@kernel.org>
2016-12-14libkms/exynos: fix memory leak in error pathSeung-Woo Kim1-1/+2
This patch fixes memory leak in error path of exynos_bo_create(). Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2016-12-05kms: remove commented out libudev codeEmil Velikov2-98/+0
Cc: Jakob Bornecrantz <wallbraker@gmail.com> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2016-07-23automake: Don't include Android Makefiles in the release tarballAndreas Boll1-1/+1
Currently only some Android Makefiles are included in the release tarball. To be more consistent one could either add the remaining files or don't ship Android Makefiles altogether. According to Emil the Android folk doesn't use our release tarballs. Thus it makes sense to remove those files from distribution which also means less work for maintenance in the future. Suggested-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Andreas Boll <andreas.boll.dev@gmail.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2016-07-06pull in sys/sysmacros.h when availableMike Frysinger1-1/+4
This header provides major/minor/makedev funcs under most Linux C libs. Pull it in to fix building with newer versions that drop the implicit include via sys/types.h. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94231 Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2016-07-06Android: strip out header files from sources listRob Herring1-1/+1
AOSP master now errors if LOCAL_SRC_FILES contains headers, so filter out header files from the source lists. Signed-off-by: Rob Herring <robh@kernel.org>
2016-02-25android: add virgl to be a valid driverChih-Wei Huang1-0/+2
To avoid the warning: external/libdrm/libkms/Android.mk:17: invalid GPU drivers: virgl Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2016-02-04libkms: add libdrm to Requires.privateEmil Velikov1-0/+1
Analogous to last two changes (amdgpu and radeon). Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Jakob Bornecrantz <wallbraker@gmail.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
2015-09-04libkms: use static const for good measureEmil Velikov1-1/+1
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-08-10remove usage of 'c_plusplus' preprocessor macroTapani Pälli1-2/+2
Use only __cplusplus which is supported by the C++ standard. Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-07-13include <sys/types.h> & <sys/mkdev.h> directly for major() and minor()Alan Coopersmith1-0/+4
Linux seems to pick these up via another header, but Solaris needs them explicitly included, or we get undefined symbol errors for major & minor. v2: use headers documented in makedev(3C) man page instead of sysmacros.h Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com> v3 [Emil Velikov]: include sys/mkdev.h only when available. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-04-28drm: rename libdrm{,_macros}.hEmil Velikov9-9/+9
Provide a more meaningful name, considering what it does. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-04-28libkms: add symbols testEmil Velikov2-1/+27
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-04-28libkms: annotate private symbolsEmil Velikov9-15/+23
Cc: Jakob Bornecrantz <jakob@vmware.com> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-03-20android: add the missing tag "optional" to libkmsEmil Velikov1-0/+1
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-03-20android: remove LOCAL_COPY_HEADERS* variablesEmil Velikov1-3/+0
With earlier changes we've implicitly add the relevant directories to the includes list, via LOCAL_EXPORT_C_INCLUDES_DIRS. v2: Update the top Android.mk as well. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-03-20android: simplify LOCAL_C_INCLUDESEmil Velikov1-2/+0
Each of the libdrm_${hw} modules pull libdrm for linking as such: libdrm's LOCAL_EXPORT_C_INCLUDE_DIRS are added to the includes list. The former of which is already set to ${top} and ${top}/include/drm. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-03-20android: correcly set LOCAL_EXPORT_C_INCLUDE_DIRSEmil Velikov1-0/+2
- Don't add ${hw}/${hw}, but ${hw} to the includes path. The former does not exist. - Set the variable for libkms. Inspired by the work of from Chih-Wei from the Android-x86 project. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-02-02exynos: Don't use DRM_EXYNOS_GEM_{MAP_OFFSET/MMAP} ioctlsHyungwon Hwang1-3/+4
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>
2014-09-28libkms: use drm_mmap/drm_munmap wrappersEmil Velikov5-18/+16
... for all by exynos. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
2014-09-28automake: pick up all files for distribution.Emil Velikov1-1/+1
Autotools is already smart enough to pick the *.pc.in files but it needs some help with the Android.mk ones. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
2014-09-28libkms: add Android buildEmil Velikov1-0/+53
Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
2014-09-28libkms: move sources lists to makefile.sourcesEmil Velikov2-11/+32
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
2014-09-28libkms: build the intel backend only when neededEmil Velikov2-6/+15
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
2014-09-01libkms: remove explicit define _FILE_OFFSET_BITS 64Emil Velikov6-6/+0
configure.ac has AC_SYS_LARGEFILE which provides the define and/or approapriate magic when required. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2014-09-01all: include config.h only when available and use its definesEmil Velikov8-6/+22
... rather than explicitly redefining HAVE_STDINT_H and _GNU_SOURCE. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>