summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2015-05-12amdgpu: reuse the kernel IB flags v2drm/amdgpuJammy Zhou4-10/+5
v2: remove 'CE' from the preamble flag Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com>
2015-05-12amdgpu: add ctx_id for wait_csJammy Zhou2-3/+5
Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Reviewed-by: David Zhou <david1.zhou@amd.com>
2015-05-07amdgpu: fix round down/up page size errorJack Xiao1-2/+3
Signed-off-by: Jack Xiao <Jack.Xiao@amd.com> Reviewed-by: Monk Liu monk.liu@amd.com Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
2015-05-07amdgpu: fix 32-on-64 support (v2)Jammy Zhou1-1/+1
0xffffffff was appended to the higher 32bit with (intptr_t) when use 32bit libdrm_amdgpu.so with 64bit kernel, and it caused segmentation fault for 32bit application. v2: switch to uintptr_t Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
2015-05-07amdgpu: remove AMDGPU_GEM_CREATE_CPU_GTT_UCJammy Zhou2-16/+10
Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2015-05-07amdgpu: remove active_rb_pipes from amdgpu_gpu_infoJammy Zhou2-3/+0
The active RB pipes can be retrieved from enabled_rb_pipes_mask, for which each bit indicates one active pipe if it is '1'. Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com>
2015-05-07amdgpu: fix segfault when resources are NULLmonk.liu1-1/+2
Signed-off-by: monk.liu <monk.liu@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
2015-05-07amdgpu: compare the primary device names insteadChristian König1-18/+27
Instead of taking a look at the device major/minor we just compare the primary device name to figure out if two fds are pointing to the same device. Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Christian König <christian.koenig@amd.com>
2015-05-07amdgpu: add public bo list interface v3Christian König6-98/+123
v2: cleanup comments and function parameter v3: rebased on internal branch Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2015-05-07amdgpu: cleanup public interface v2Christian König5-110/+78
Remove the mostly unused device parameter, for the few cases where we really need it keep a copy in the context structure. v2: rebased on internal branch Signed-off-by: Christian König <christian.koenig@amd.com> Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com> Reviewed-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2015-05-07amdgpu: do not call BO_LIST ioctl when no resource referredmonk.liu1-0/+9
Signed-off-by: monk.liu <monk.liu@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2015-05-07amdgpu: fix an error of bo_list handlermonk.liu1-2/+4
original method is just totally wrong, it loses the bo_list handler at all after command stream accomplished Signed-off-by: Monk.Liu <monk.liu@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2015-05-07amdgpu: add missing mutex lock/unlock pairmonk.liu1-0/+2
Signed-off-by: monk.liu <monk.liu@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2015-05-07amdgpu: support non-page-aligned userptrmonk.liu2-1/+14
Signed-off-by: monk.liu <monk.liu@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2015-05-07drm: add tests/amdgpu (v3)Alex Deucher10-0/+2347
This adds some basic unit tests for the new amdgpu driver. v2: use common util_math.h v3: implement suggestions from Emil replace malloc/memset with calloc make header guards all caps use posix_memalign rather than mem_align replace malloc with calloc for pm4 allocations make CU_SuiteInfo static fix Makefile.am fix fd numbering use drmGetVersion/drmFreeVersion rather than open coding it close fd, clean up CU registry on error Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2015-05-07drm: add libdrm_amdgpu (v7)Alex Deucher17-0/+5258
This is the new ioctl wrapper used by the new admgpu driver. It's primarily used by xf86-video-amdgpu and mesa. v2: fix amdgpu_drm.h install v3: Integrate some of the sugestions from Emil: clean up Makefile.am, configure.ac capitalize header guards fix _FILE_OFFSET_BITS with config.h use drm_mmap/drm_munmap Remove unused ARRAY_SIZE macro use shared list implementation use shared math implementation use drmGetNodeTypeFromFd helper v4: remove unused tiling defines v5: include amdgpu.h in Makefile.am v6: update amdgpu_drm.h v7: libdrm.h -> libdrm_macros.h Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2015-05-07drm: add util_math.hAlex Deucher2-1/+34
Used by amdgpu, could be used by other components. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2015-05-07drm: consolidate common list implementationsAlex Deucher6-142/+5
This is used by radeon and freedreno and will be used by amdgpu. I looked at switching to libdrm_lists.h, but it's pretty horrible. E.g., DRMLISTFOREACHENTRYSAFE. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2015-05-07configure.ac: bump version to 2.4.61 for releaselibdrm-2.4.612.4.61Ben Skeggs1-1/+1
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2015-05-06nouveau: restore check that avoids multiple user bos per kernel boBen Skeggs1-0/+10
Lost in 5ea6f1c32628887c9df0c53bc8c199eb12633fec, triggering fdo#89842. Unlike the PRIME fd->handle interfaces, the GEM_OPEN interface doesn't do anything at the kernel level to prevent this situation occuring, and we end up with multiple GEM handles for a single kernel buffer. Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
2015-05-05modetest: fix allocation for yuv420/yvu420Rob Clark1-0/+2
Signed-off-by: Rob Clark <robclark@freedesktop.org>
2015-04-29freedreno: link against CLOCK_LIBEmil Velikov1-1/+4
Required by clock_gettime() Cc: Rob Clark <robdclark@gmail.com> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-04-29android: set the HAVE_VISIBILITY defineEmil Velikov1-0/+1
... in order to limit the exported symbols only to the required ones. Both compilers used with Android (GCC and LLVM) support this, so set it unconditionally. Cc: Chih-Wei Huang <cwhuang@linux.org.tw> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-04-29modetest: fix the arguments of the MAKE_RGB_INFO defineJoonyoung Shim1-2/+2
The current order (rbg) seems wrong. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> [Emil Velikov: Tweak the commit message.] Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-04-29intel: Leak the userptr test boTvrtko Ursulin1-11/+28
In order to use userptr, the kernel tracks the owner's mm with a mmu_notifier. Setting that is very expensive - it involves taking all mm_locks and a stop_machine(). This tracking lives only for as long as the client is using userptr objects - so if the client allocates then frees a userptr in a loop, we will be executing that heavyweight setup everytime. To ammoritize this cost, just leak the test bo and the single backing page we use for detecting userptr. v2: Free the object and memory when bufmgr is destroyed. Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Cc: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
2015-04-28modetest: destroy the cursor boJoonyoung Shim1-0/+6
Currently we are missing the bo_destroy() when modetest terminates. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> [Emil Velikov: Tweak the commit message.] Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-04-28modetest: clear buffer and framebuffer for planesJoonyoung Shim1-0/+20
Currently we don't destroy buffer and remove framebuffer for planes when closing modetest. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> [Emil Velikov: Tweak the commit message. fb_id = 0 is unused] Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-04-28modetest: fix the error path handlingJoonyoung Shim1-5/+8
Remove the framebuffer and destroy the bo when error occurs on set_mode and test_page_flip. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> [Emil Velikov: Tweak the commit message.] Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-04-28modetest: make use of drmModeRmFBJoonyoung Shim1-0/+4
We should remove the framebuffer before destroying the buffer. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> [Emil Velikov: Tweak the commit message. fb_id = 0 is unused] Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-04-28modetest: fix Segmentation faultJoonyoung Shim1-1/+8
If use -P option without -s option, the program segfaults due to dev.mode.bo being NULL. Signed-off-by: Joonyoung Shim <jy0922.shim@samsung.com> [Emil Velikov: Tweak the commit message.] Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-04-28modetest: initialize handles/pitches in set_plane()Tobias Jakobi1-4/+4
Only the 'offsets' array was initialized to zero. Since bo_create only sets the handles which are necessary, were we passing garbage data to the kernel when calling drmModeAddFB2 later. The issue only seems to appear when passing e.g. NV12 data to the kernel, a case where not only handles[0] is used. I therefore also removed the corresponding comment. v2: Do the same for set_mode(), set_cursors() and test_page_flip(). Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-04-28Add missing <strings.h> includesGreg Hackmann2-0/+2
A couple of files use ffs() without explicitly including strings.h. Some systems will pull in ffs()'s declaration through another header anyway, but not when compiling against bionic in AOSP master. Signed-off-by: Greg Hackmann <ghackmann@google.com> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-04-28man: rework the Makefile.amEmil Velikov3-41/+57
Remove GNU make specific constructs and take into consideration that Solaris man 7 is not the same as Linux man 7. This commit introduces a dependency of xorg-macros 1.12 (released 4+ years ago) which is used to handle the above man section discrepancies. Cc: Niveditha Rau <niveditha.rau@oracle.com> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-04-28drm: use c99 __func__ over __FUNCTION__Emil Velikov2-18/+8
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-04-28configure: request/set the compiler in C99 modeEmil Velikov2-2/+5
Required by intel and drmstat at least. Considering that every compiler used to build libdrm is C99 compatible, just enable it for the whole build. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-04-28drm: remove drm_public macroEmil Velikov24-241/+225
Some compilers (like the Oracle Studio), require that the function declaration must be annotated with the same visibility attribute as the definition. As annotating functions with drm_public is no longer required just remove the macro. Cc: Ben Skeggs <bskeggs@redhat.com> Cc: Damien Lespiau <damien.lespiau@intel.com> Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com> Cc: Michel Dänzer <michel.daenzer@amd.com> Cc: Rob Clark <robdclark@gmail.com> Cc: Thierry Reding <treding@nvidia.com> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-04-28drm: remove no longer needed VISIBILITY_CFLAGSEmil Velikov8-22/+0
With earlier commits we've annotated the private symbols, thus we no longer require the -fvisibility=hidden CFLAGS. Cc: Ben Skeggs <bskeggs@redhat.com> Cc: Damien Lespiau <damien.lespiau@intel.com> Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com> Cc: Michel Dänzer <michel.daenzer@amd.com> Cc: Rob Clark <robdclark@gmail.com> Cc: Thierry Reding <treding@nvidia.com> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-04-28drm: rename libdrm{,_macros}.hEmil Velikov33-34/+34
Provide a more meaningful name, considering what it does. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-04-28tegra: add symbols testEmil Velikov2-0/+33
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-04-28omap: add symbols testEmil Velikov2-0/+38
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-04-28exynos: add symbols testEmil Velikov2-0/+40
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-04-28nouveau: add symbols testEmil Velikov2-1/+54
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-04-28nouveau: annotate the private symbolsEmil Velikov3-17/+17
They are less and easier to track than the public ones. The macro drm_public will be going away by the end of the series. Cc: Maarten Lankhorst <maarten.lankhorst@canonical.com> Cc: Ben Skeggs <bskeggs@redhat.com> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-04-28intel: add symbols testEmil Velikov2-2/+92
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-04-28intel: annotate the private symbolsEmil Velikov2-12/+24
They are less and easier to track than the public ones. The macro drm_public will be going away by the end of the series. Cc: Damien Lespiau <damien.lespiau@intel.com> Cc: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-04-28intel: remove unused mmFindBlockEmil Velikov2-19/+0
The function was never part of the public API and a release or so back was hidden from the global name-space (list of exported symbols). According to git log this function was never used internally. Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-04-28intel: remove the drm_mm* symbol workaroundsEmil Velikov1-10/+0
Added with commit 57b4c4c32d3(Move the renaming of mm.c symbols to symbol duplication/collision with ones that are available elsewhere. As the public/private symbols of libdrm are properly annotated neither one of the symbols will end up in the global name-space, thus should no longer be required. Reviewed-by: Eric Anholt <eric@anholt.net> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2015-04-28freedreno: add symbols testEmil Velikov2-1/+54
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>