summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-03-10amdgpu: add interface for kernel semaphoresamdgpu-semaphoresDave Airlie3-9/+208
2017-02-28intel: avoid null pointer dereferenceThomas Hindoe Paaboel Andersen1-1/+2
Move the dereference after the null check. Fixes: 028715ee707469189505 ("intel: Avoid the need for most overflow checks by using a scratch page.") Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
2017-02-28autogen.sh: run git commands in the (potentially) git dirEric Engestrom1-3/+3
If the build dir is outside of the git dir, the order matters :) Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Chad Versace <chadversary@chromium.org> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2017-02-28autogen.sh: don't print old git-config valuesEric Engestrom1-2/+2
Old values are of no interest to the user, so let's reduce the spam a bit by hiding those. Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com> Reviewed-by: Chad Versace <chadversary@chromium.org> Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
2017-02-14headers: add explicit note against local changes in the READMEEmil Velikov1-0/+2
Even with the step by step guide people sometimes get confused. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2017-02-11intel: Move 48b support to bo_gem->kflagsChris Wilson1-16/+5
Another boolean that can be set and used along side the other execobject flags. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-02-11intel: Move is_softpin to obj->kflagsChris Wilson1-18/+11
Use obj->kflags to set EXEC_OBJECT_PINNED when the object is softpinned, and so remember to clear the softpin status when the object is freed (and reused). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-02-02amdgpu: vamgr can be a struct instead of a pointerAlex Xie3-13/+7
vamgr is an integral part of amdgpu_device. We don't need to calloc and free it. This can save CPU time, reduce heap fragmentation. Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Alex Xie <AlexBin.Xie@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> [Grazvydas Ignotas: rebase, correct a typo in commit message] Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2017-02-02amdgpu: vamgr_32 can be a struct instead of a pointerAlex Xie3-9/+5
vamgr_32 is an integral part of amdgpu_device. We don't need to calloc and free it. This can save CPU time, reduce heap fragmentation. Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Alex Xie <AlexBin.Xie@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> [Grazvydas Ignotas: rebase, correct a typo in commit message] Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2017-02-02amdgpu: Free/uninit vamgr_32 in theoretically correct orderAlex Xie1-2/+2
vamgr_32 is a region inside general VAM range. It is better to free and deinitialize it before general VAM range. Reviewed-by: Edward O'Callaghan <funfunctor@folklore1984.net> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Alex Xie <AlexBin.Xie@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2017-02-01Remove unused tests/drmstat.cEmil Velikov1-419/+0
Earlier commit removed all the legacy 'tests' but a file was left danglig. Fixes: 0c80fddd1d0 "tests: remove useless legacy tests" Signed-off-by: Emil Velikov <emil.velikov@collabora.com> Reported-by: Andreas Boll <andreas.boll.dev@gmail.com> Reviewed-by: Andreas Boll <andreas.boll.dev@gmail.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
2017-01-28Bump version for 2.4.75 releaseChad Versace1-1/+1
For Intel explicit fencing. Signed-off-by: Chad Versace <chadversary@chromium.org>
2017-01-28intel: fix make distcheckDave Airlie1-0/+4
Signed-off-by: Dave Airlie <airlied@redhat.com>
2017-01-28Revert "Bump version for 2.4.75 release"Dave Airlie1-1/+1
This reverts commit 736970c49beb9de7ab549f076069d52f4e7bc6f2.
2017-01-27Bump version for 2.4.75 releaseChad Versace1-1/+1
For Intel explicit fencing. Signed-off-by: Chad Versace <chadversary@chromium.org>
2017-01-27intel: Export a function to re-enable implicit synchronisationChris Wilson2-0/+20
Implicit synchronisation is the default behaviour of the kernel when rendering with an execobject. It may be disabled with drm_intel_gem_bo_disable_implicit_sync(), and then to restore it use drm_intel_gem_bo_enable_implicit_sync(). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-01-27intel: Clear execobject flags before preserving object in reuse cacheChris Wilson1-0/+2
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-01-27intel: Support passing of explicit fencing from execbufChris Wilson2-4/+33
Allow the caller to pass in an fd to an array of fences to control serialisation of the execbuf in the kernel and on the GPU, and in return allow creation of a fence fd for signaling the completion (and flushing) of the batch. When the returned fence is signaled, all writes to the buffers inside the batch will be complete and coherent from the cpu, or other consumers. The return fence is a sync_file object and can be passed to other users (such as atomic modesetting, or other drivers). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-01-27intel: Allow the client to control implicit synchronisationChris Wilson2-4/+49
The kernel allows implicit synchronisation to be disabled on individual buffers. Use at your own risk. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-01-27Import uapi/i915_drm.h from v4.10-rc5-950-g152d5750dda9Chris Wilson1-10/+266
To sync with "drm/i915: Support explicit fencing for execbuf"
2017-01-27amdgpu: A new option to run tests on render nodeAlex Xie3-3/+18
Tested: 1. As root, tests passed on primary. 2. As root, tests passed on render node. BO export/import test was skipped 3. As non-privileged user, tests failed on primary as expected. 4. As non-privileged user, tests passed on render node. BO export/import test was skipped Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Alex Xie <AlexBin.Xie@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2017-01-27amdgpu: A new option to choose which device to run most testsAlex Xie1-17/+116
This can be used to test multiple GPUs v2: Use PCI bus ID and optional PCI device ID to choose device Add an option to display information of AMDGPU devices Tested: ./amdgpu_test -p ./amdgpu_test ./amdgpu_test -b 1 #fail as expected ./amdgpu_test -b 6 #pass ./amdgpu_test -b -d 1 #fail as expected ./amdgpu_test -b -d 0 #pass Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Alex Xie <AlexBin.Xie@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2017-01-27amdgpu: verify the tested deviceAlex Xie1-30/+115
Verify the vender ID and driver name. Open all AMDGPU devices. Provide an option to open render node. Tested as root: PASS Tested as non-privileged user: All tests failed as expected v2: Return value in the ene of function amdgpu_open_devices. Check the return value of amdgpu_open_devices. amdgpu_test is not for USB device for the time being. Get the name of node from function drmGetDevices2. Drop the legacy drmAvailable() from the test. Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Alex Xie <AlexBin.Xie@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2017-01-27tests: Use -pthread in CFLAGS instead of -lpthreadTomasz Figa3-5/+6
-lpthread is not always a valid flag to pull pthread support, especially on Android it will fail to link due to a missing libpthread.so. The more generic way to build-in pthread support is to use the -pthread CFLAG, so let's use it instead. Signed-off-by: Tomasz Figa <tfiga@chromium.org> [Emil Velikov: rebase on top of previous commit] Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2017-01-27tests/nouveau: automake: fold C and CPP flagsEmil Velikov1-3/+2
Since we don't have any C++ souces this should be a no-op. Folding the two seems to be the common practise throughout the repo. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2017-01-27android: silence ~550 warningsEmil Velikov1-0/+4
Analogous to the autoconf build add the following to the build -Wno-unused-parameter -Wno-missing-field-initializers 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: add note about command line defines and config.hEmil Velikov1-0/+1
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: add HAVE_VISIBILITY to Android.common.mkEmil Velikov2-6/+1
Currently only libdrm.so properly annotates its internal/private symbols. By setting the macro every binary produced will be in the same boat. This should give is smaller and more secure files 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: introduce Android.common.mk to reduce boilerplateEmil Velikov12-46/+36
... 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 Velikov9-10/+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>
2017-01-20xf86drm: Reuse sysfs_uevent_get()Thierry Reding1-48/+18
Recent patches for USB, platform and host1x bus support introduced the sysfs_uevent_get() function that provides a generic way of parsing the sysfs uevent file that is associated with each device in Linux. Open-coded variants of this still exist in other places, so make those reuse the new function to remove some code duplication. Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
2017-01-20tests/drmdevice: Add USB, platform and host1x supportThierry Reding1-0/+37
Extend the drmdevice test with support for the newly added USB, platform and host1x busses. Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
2017-01-20xf86drm: Add platform and host1x bus supportThierry Reding2-2/+328
ARM SoCs usually have their DRM/KMS devices on the platform bus, so add support for that to enable these devices to be used with the drmDevice infrastructure. NVIDIA Tegra SoCs have an additional level in the hierarchy and DRM/KMS devices can also be on the host1x bus. This is mostly equivalent to the platform bus. v4: - continue on error to process platform or host1x device v3: - guard Linux-specific sysfs parsing code with #ifdef __linux__ v2: - be careful not to overflow the full name - read compatible strings into device info Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
2017-01-20xf86drm: Add USB supportThierry Reding2-0/+188
Allow DRM/KMS devices hosted on USB to be detected by the drmDevice infrastructure. v4: - continue on error to process USB devices v3: - guard Linux-specific sysfs parsing code with #ifdef __linux__ v2: - make sysfs_uevent_get() more flexible using a format string Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
2017-01-20xf86drm: Factor out drmDeviceAlloc()Thierry Reding1-27/+51
Subsequent patches will add support for other bus types to drmDevice and they will duplicate a lot of the code to allocate a drmDevice. Factor out the common code so it can be reused. Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
2017-01-19tests/util: Add support for meson moduleNeil Armstrong1-0/+1
Add support for Amlogic Meson DRM driver merged for Linux 4.10. Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
2017-01-18xf86drm: Fix type-punned pointer build warningThierry Reding1-1/+1
CC libdrm_la-xf86drmMode.lo ../xf86drmMode.c: In function 'drmHandleEvent': ../xf86drmMode.c:854:15: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing] e = (struct drm_event *)(&buffer[i]); ^ Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99350 Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
2017-01-18xf86drmMode.h: Add DisplayPort MST and DPI encoders/connectorsThierry Reding1-0/+3
This brings xf86drmMode.h in sync with include/drm/drm_mode.h. Eventually we really should only have a single set of definitions rather than duplicating this in two files. v2: add DPI encoder and connector types introduced in Linux v4.7 Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
2017-01-18xf86drmMode.h: Use consistent paddingThierry Reding1-8/+8
Reviewed-by: Emil Velikov <emil.velikov@collabora.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
2017-01-16README: Fix grammarFabio Estevam1-3/+3
Fix two grammar issues: - "standard autotools packages ---> "standard autotools package" - "If you are install" ---> "If you are installing" Signed-off-by: Fabio Estevam <festevam@gmail.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2017-01-16xf86drm: fix null termination of string bufferTaro Yamada2-3/+3
The string written to the buffer by read() is not null-terminated, but currently drmParsePciBusInfo() places null character only at the end of the buffer, not at the end of the string. As a result, the string passed to sscanf() contains an uninitialized value. This patch changes to places null character at the end of the string. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=99045 Signed-off-by: Taro Yamada <archer_ame@yahoo.co.jp> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2017-01-15intel: update global_name before HASH_ADDDongwon Kim1-2/+3
bo->global_name should be updated first before a hash value for the entry is calculated with it by HASH_ADD macro. Signed-off-by: Dongwon Kim <dongwon.kim@intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2017-01-13amdgpu: Provide more specific error message if non-privileged user runs ↵Alex Xie4-4/+27
amdgpu_test Before this change, the error message is: "WARNING - Suite initialization failed..." People might think this is a driver problem. Tested with non-privileged user. Now the error message is like: ... Error:Permission denied. Hint:Try to run this test program as root. WARNING - Suite initialization failed for 'Basic Tests'. ... Tested as root with no regression. amdgpu_test uses CUnit. CUnit outputs warning message to stdout. To be consistent, this commit outputs error message to stdout. v2: Use strerror instead of %m. %m is a GNU C Library extension. v3: Limit code and commit message within 80 characters per line. Update commit message. Remove a space before starting parenthesis in function call. Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Xie <AlexBin.Xie@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2017-01-12Add .editorconfigThierry Reding1-0/+19
This encodes the indentation style for libdrm and can be used with various editors. See http://editorconfig.org for instructions. Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
2017-01-12xf86drm: Fix indentationThierry Reding1-2/+2
libdrm uses spaces for indentation. Fix the two inconsistent lines in this file. Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
2016-12-24xf86drm: don't fatal on per device error in drmGetDevice[s]2Jonathan Gray1-2/+2
When iterating over all the device nodes if drmProcessPciDevice() returned an error for any node the function would return an error, ignoring any valid nodes. The result of this on OpenBSD where drmProcessPciDevice() results in device nodes being opened to issue ioctls to get pci data was that data obtained from /dev/drm0 would be ignored if /dev/drm1 could not be opened. Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
2016-12-24xf86drm: add a non-sysfs version of drmGetDeviceNameFromFd2Jonathan Gray1-2/+42
Implement a generic drmGetDeviceNameFromFd2() to use on non-linux systems without sysfs. v2: remove min < base test as requested by Emil Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
2016-12-24xf86drm: adjust device node path for minor baseJonathan Gray1-4/+12
When constructing a path to a device node the minor number retrieved from fstat needs to have the offset of the node type subtracted from it. Control and render node types have the same major as the primary node but each has their own block of minor types at fixed offsets. v2: remove min < base test as requested by Emil Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com> Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
2016-12-19modetest: Allow the user to specify the plane IDVille Syrjälä1-6/+22
Devices can have multiple planes, so allow the user to choose between them. Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
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>