OSDN Git Service

android-x86/external-libdrm.git
8 years agonouveau: add asserts to make sure krefs are there
Ilia Mirkin [Sun, 21 Jun 2015 23:26:42 +0000 (19:26 -0400)]
nouveau: add asserts to make sure krefs are there

This should help catch odd bugs at the callsites rather than much later
on with completely bogus bo indices.

Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
8 years agotests/kmstest: support atmel-hlcdc
Boris BREZILLON [Thu, 28 May 2015 08:07:43 +0000 (10:07 +0200)]
tests/kmstest: support atmel-hlcdc

Signed-off-by: Boris BREZILLON <boris.brezillon@free-electrons.com>
8 years agomodetest: add atmel-hlcdc driver support
Boris BREZILLON [Thu, 28 May 2015 08:07:42 +0000 (10:07 +0200)]
modetest: add atmel-hlcdc driver support

Signed-off-by: Boris BREZILLON <boris.brezillon@free-electrons.com>
8 years agomodetest: only select plane with matching format
Tobias Jakobi [Wed, 6 May 2015 12:29:33 +0000 (14:29 +0200)]
modetest: only select plane with matching format

Don't assume that a plane supports any kind of pixelformat
but do a check first.

v2: Simplify the format check.
Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
8 years agomodetest: make middle SMPTE colors transparent
Tobias Jakobi [Wed, 6 May 2015 12:22:03 +0000 (14:22 +0200)]
modetest: make middle SMPTE colors transparent

This enables us to check for overlay planes which are located
'below' the primary plane.

Since the alpha value only has an effect when creating surfaces
with an alpha-pixelformat this doesn't affect the regular
XRGB8888 primary surface.

Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
Acked-by: Emil Velikov <emil.l.velikov@gmail.com>
8 years agodrmPrime*: initialize output args to 0
Guillaume Desmottes [Wed, 29 Apr 2015 08:16:22 +0000 (10:16 +0200)]
drmPrime*: initialize output args to 0

Fix Valgrind errors because those memory was uninitialized.

https://bugs.freedesktop.org/show_bug.cgi?id=90194
Signed-off-by: Guillaume Desmottes <guillaume.desmottes@collabora.co.uk>
v2: Explicitly zero the whole struct using memclear.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
8 years agoFix one warning (v2)
Jammy Zhou [Mon, 27 Apr 2015 02:29:55 +0000 (10:29 +0800)]
Fix one warning (v2)

xf86drm.c:356:2: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
  group = (serv_group >= 0) ? serv_group : DRM_DEV_GID;
  ^

v2: do 'int' cast to fix the warning

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
8 years agoxf86drm: simplify drmMalloc/drmFree
Emil Velikov [Tue, 28 Apr 2015 12:33:46 +0000 (13:33 +0100)]
xf86drm: simplify drmMalloc/drmFree

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
8 years agomodetest: replace malloc + memset with calloc
Emil Velikov [Tue, 28 Apr 2015 12:25:24 +0000 (13:25 +0100)]
modetest: replace malloc + memset with calloc

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
8 years agomodetest: explicitly zero the newly allocated memory
Emil Velikov [Tue, 28 Apr 2015 13:20:30 +0000 (14:20 +0100)]
modetest: explicitly zero the newly allocated memory

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
8 years agoAdd device enumeration interface (v4)
frank [Tue, 19 May 2015 15:31:05 +0000 (23:31 +0800)]
Add device enumeration interface (v4)

Add an interface for enumerating PCI devices on
a system.

v3: switch to udev/sysfs for the enumeration
v4: fix warnings

Signed-off-by: Frank Min <frank.min@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
8 years agoradeon: add new bonaire pci id
Alex Deucher [Tue, 12 May 2015 17:18:37 +0000 (13:18 -0400)]
radeon: add new bonaire pci id

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
8 years agonouveau: add coherent BO attribute
Alexandre Courbot [Thu, 21 May 2015 06:08:28 +0000 (15:08 +0900)]
nouveau: add coherent BO attribute

Add a flag allowing Nouveau to specify that an object should be coherent
at allocation time. This is required for some class of objects like
fences which are randomly-accessed by both the CPU and GPU. This flag
instructs the kernel driver to make sure the object remains coherent
even on architectures for which coherency is not guaranteed by the bus.

Reviewed-by: Ben Skeggs <bskeggs@redhat.com>
Signed-off-by: Alexandre Courbot <acourbot@nvidia.com>
8 years agointel: Add the Broxton PCI IDs
Damien Lespiau [Fri, 15 May 2015 18:34:12 +0000 (19:34 +0100)]
intel: Add the Broxton PCI IDs

Cc: Imre Deak <imre.deak@intel.com>
Reviewed-by: Imre Deak <imre.deak@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
9 years agoconfigure.ac: bump version to 2.4.61 for release
Ben Skeggs [Wed, 6 May 2015 23:06:31 +0000 (09:06 +1000)]
configure.ac: bump version to 2.4.61 for release

Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
9 years agonouveau: restore check that avoids multiple user bos per kernel bo
Ben Skeggs [Wed, 6 May 2015 04:34:22 +0000 (14:34 +1000)]
nouveau: restore check that avoids multiple user bos per kernel bo

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>
9 years agomodetest: fix allocation for yuv420/yvu420
Rob Clark [Tue, 5 May 2015 15:16:23 +0000 (11:16 -0400)]
modetest: fix allocation for yuv420/yvu420

Signed-off-by: Rob Clark <robclark@freedesktop.org>
9 years agofreedreno: link against CLOCK_LIB
Emil Velikov [Wed, 1 Apr 2015 15:53:42 +0000 (16:53 +0100)]
freedreno: link against CLOCK_LIB

Required by clock_gettime()

Cc: Rob Clark <robdclark@gmail.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agoandroid: set the HAVE_VISIBILITY define
Emil Velikov [Wed, 1 Apr 2015 15:54:26 +0000 (16:54 +0100)]
android: set the HAVE_VISIBILITY define

... 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>
9 years agomodetest: fix the arguments of the MAKE_RGB_INFO define
Joonyoung Shim [Fri, 17 Apr 2015 04:13:59 +0000 (13:13 +0900)]
modetest: fix the arguments of the MAKE_RGB_INFO define

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>
9 years agointel: Leak the userptr test bo
Tvrtko Ursulin [Fri, 17 Apr 2015 10:57:28 +0000 (11:57 +0100)]
intel: Leak the userptr test bo

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>
9 years agomodetest: destroy the cursor bo
Joonyoung Shim [Mon, 13 Apr 2015 08:32:18 +0000 (17:32 +0900)]
modetest: destroy the cursor bo

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>
9 years agomodetest: clear buffer and framebuffer for planes
Joonyoung Shim [Tue, 28 Apr 2015 10:41:39 +0000 (11:41 +0100)]
modetest: clear buffer and framebuffer for planes

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>
9 years agomodetest: fix the error path handling
Joonyoung Shim [Mon, 13 Apr 2015 08:32:16 +0000 (17:32 +0900)]
modetest: fix the error path handling

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>
9 years agomodetest: make use of drmModeRmFB
Joonyoung Shim [Mon, 13 Apr 2015 08:32:15 +0000 (17:32 +0900)]
modetest: make use of drmModeRmFB

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>
9 years agomodetest: fix Segmentation fault
Joonyoung Shim [Mon, 13 Apr 2015 08:32:14 +0000 (17:32 +0900)]
modetest: fix Segmentation fault

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>
9 years agomodetest: initialize handles/pitches in set_plane()
Tobias Jakobi [Mon, 20 Apr 2015 19:50:45 +0000 (21:50 +0200)]
modetest: initialize handles/pitches in set_plane()

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>
9 years agoAdd missing <strings.h> includes
Greg Hackmann [Thu, 16 Apr 2015 17:55:40 +0000 (10:55 -0700)]
Add missing <strings.h> includes

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>
9 years agoman: rework the Makefile.am
Emil Velikov [Mon, 6 Apr 2015 18:02:38 +0000 (19:02 +0100)]
man: rework the Makefile.am

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>
9 years agodrm: use c99 __func__ over __FUNCTION__
Emil Velikov [Sun, 5 Apr 2015 15:50:33 +0000 (16:50 +0100)]
drm: use c99 __func__ over __FUNCTION__

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agoconfigure: request/set the compiler in C99 mode
Emil Velikov [Sun, 5 Apr 2015 15:40:11 +0000 (16:40 +0100)]
configure: request/set the compiler in C99 mode

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>
9 years agodrm: remove drm_public macro
Emil Velikov [Tue, 31 Mar 2015 21:32:11 +0000 (22:32 +0100)]
drm: remove drm_public macro

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>
9 years agodrm: remove no longer needed VISIBILITY_CFLAGS
Emil Velikov [Tue, 31 Mar 2015 21:07:13 +0000 (22:07 +0100)]
drm: remove no longer needed VISIBILITY_CFLAGS

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>
9 years agodrm: rename libdrm{,_macros}.h
Emil Velikov [Sun, 5 Apr 2015 14:51:59 +0000 (15:51 +0100)]
drm: rename libdrm{,_macros}.h

Provide a more meaningful name, considering what it does.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agotegra: add symbols test
Emil Velikov [Tue, 31 Mar 2015 19:14:58 +0000 (20:14 +0100)]
tegra: add symbols test

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agoomap: add symbols test
Emil Velikov [Tue, 31 Mar 2015 19:12:06 +0000 (20:12 +0100)]
omap: add symbols test

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agoexynos: add symbols test
Emil Velikov [Tue, 31 Mar 2015 19:04:54 +0000 (20:04 +0100)]
exynos: add symbols test

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agolibkms: add symbols test
Emil Velikov [Tue, 31 Mar 2015 18:51:45 +0000 (19:51 +0100)]
libkms: add symbols test

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agolibkms: annotate private symbols
Emil Velikov [Mon, 23 Mar 2015 23:24:48 +0000 (23:24 +0000)]
libkms: annotate private symbols

Cc: Jakob Bornecrantz <jakob@vmware.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agonouveau: add symbols test
Emil Velikov [Tue, 31 Mar 2015 18:47:24 +0000 (19:47 +0100)]
nouveau: add symbols test

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agonouveau: annotate the private symbols
Emil Velikov [Mon, 23 Mar 2015 21:52:00 +0000 (21:52 +0000)]
nouveau: annotate the private symbols

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>
9 years agointel: add symbols test
Emil Velikov [Tue, 31 Mar 2015 18:43:30 +0000 (19:43 +0100)]
intel: add symbols test

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agointel: annotate the private symbols
Emil Velikov [Tue, 31 Mar 2015 20:12:14 +0000 (21:12 +0100)]
intel: annotate the private symbols

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>
9 years agointel: remove unused mmFindBlock
Emil Velikov [Tue, 31 Mar 2015 20:11:03 +0000 (21:11 +0100)]
intel: remove unused mmFindBlock

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>
9 years agointel: remove the drm_mm* symbol workarounds
Emil Velikov [Tue, 31 Mar 2015 19:22:50 +0000 (20:22 +0100)]
intel: remove the drm_mm* symbol workarounds

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>
9 years agofreedreno: add symbols test
Emil Velikov [Tue, 31 Mar 2015 18:24:23 +0000 (19:24 +0100)]
freedreno: add symbols test

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agofreedreno: annotate the private symbols
Emil Velikov [Mon, 23 Mar 2015 21:35:38 +0000 (21:35 +0000)]
freedreno: annotate the private symbols

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: Rob Clark <robdclark@gmail.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agoradeon: add symbols test
Emil Velikov [Sun, 5 Apr 2015 14:51:28 +0000 (15:51 +0100)]
radeon: add symbols test

Will allow us to catch when the library exports more symbols than
the ones in the public headers.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agoradeon: move bof.[ch] out of libdrm_radeon
Emil Velikov [Mon, 23 Mar 2015 22:28:00 +0000 (22:28 +0000)]
radeon: move bof.[ch] out of libdrm_radeon

The functions(files) are used if one explicitly modifies radeon_cs_gem.c
by setting CS_BOF_DUMP to 1. As bof.[ch] is used (copied) to other
out-of-tree projects, keep them around in the distribution tarball.

Cc: Jerome Glisse <jglisse@redhat.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agoconfigure.ac: split -fvisibility and __attribute__((visibility)) checks
Emil Velikov [Mon, 9 Mar 2015 12:18:32 +0000 (12:18 +0000)]
configure.ac: split -fvisibility and __attribute__((visibility)) checks

The former does not imply the latter and vice-versa. One such example is
the Sun compiler.

v2: Add missing closing brakets. (Alan)

Cc: Alan Coopersmith <alan.coopersmith@oracle.com>
Cc: Thierry Reding <treding@nvidia.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agomodeprint: add missing encoder/connector type names
Rob Clark [Wed, 15 Apr 2015 13:35:00 +0000 (09:35 -0400)]
modeprint: add missing encoder/connector type names

Signed-off-by: Rob Clark <robclark@freedesktop.org>
9 years agointel: Delay testing for userptr until first use
Chris Wilson [Tue, 4 Nov 2014 14:26:49 +0000 (14:26 +0000)]
intel: Delay testing for userptr until first use

Running __mmu_notifier_register() is surprisingly expensive, so let's
not do that unless we have to.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
9 years agomode: Retrieve only the current information for a Connector
Chris Wilson [Wed, 4 Mar 2015 10:07:19 +0000 (10:07 +0000)]
mode: Retrieve only the current information for a Connector

Add a new API that allows the caller to skip any forced probing, which
may require slow i2c to a remote display, and only report the currently
active mode and encoder for a Connector. This is often the information
of interest and is much, much faster than re-retrieving the link status
and EDIDs, e.g. if the caller only wishes to count the number of active
outputs.

v2: Fix error path to avoid double free after a failed GETCONNECTOR
ioctl.

v3: Daniel strongly disapproved of my disjoint in behaviour between
GetConnector and GetConnectorCurrent, and considering how best to make a
drop in replacement for drmmode_output_init() convinced me keeping the
API as consistent as possible was the right approach.

v4: Avoid probing on the second calls to GETCONNECTOR for unconnected
outputs.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Daniel Vetter <daniel.vetter@ffwll.com>
Cc: Damien Lespiau <damien.lespiau@intel.com>
Cc: David Herrmann <dh.herrmann@googlemail.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
9 years agoandroid: remove unnecessary TARGET_OUT_HEADERS variable
Chih-Wei Huang [Tue, 31 Mar 2015 07:32:13 +0000 (15:32 +0800)]
android: remove unnecessary TARGET_OUT_HEADERS variable

Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agoxf86drmMode.h: inline -> __inline for use with gcc -std=c89 -pedantic
Daniel Kurtz [Wed, 25 Mar 2015 01:01:02 +0000 (18:01 -0700)]
xf86drmMode.h: inline -> __inline for use with gcc -std=c89 -pedantic

Unfortunately, there are some users of libdrm installed headers that like
to be built with -std=c89 -pedantic, which does not like "inline".

However, __inline works.

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agoxf86drm: Fix ioctl struct clearing in drmAgpEnable
Connor Behan [Tue, 24 Mar 2015 17:53:51 +0000 (13:53 -0400)]
xf86drm: Fix ioctl struct clearing in drmAgpEnable

This one is a bit harder to notice.

Signed-off-by: Connor Behan <connor.behan@gmail.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agodrm: use correct printf modifiers
Emil Velikov [Sun, 22 Mar 2015 21:52:16 +0000 (21:52 +0000)]
drm: use correct printf modifiers

The valies are unsigned long, thus we should use %lu.

v2: Drop old printf statement. (Jan)

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Jan Vesely <jan.vesely@rutgers.edu>
9 years agodrm: replace HASH_DEBUG with DEBUG
Emil Velikov [Thu, 26 Mar 2015 21:19:26 +0000 (21:19 +0000)]
drm: replace HASH_DEBUG with DEBUG

... and remove the useless SL_DEBUG and RANDOM_DEBUG

v2: Rebase on earlier changes.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Jan Vesely <jan.vesely@rutgers.edu>
9 years agotests/random: return non-zero on test failure
Emil Velikov [Sun, 5 Apr 2015 14:12:48 +0000 (15:12 +0100)]
tests/random: return non-zero on test failure

... and wire it up to make check

v2: s/rand - state->check/rand != state->check/. (Jan)

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Jan Vesely <jan.vesely@rutgers.edu>
9 years agotests/random: extract test out of xf86drmRandom.c
Emil Velikov [Sun, 22 Mar 2015 21:38:08 +0000 (21:38 +0000)]
tests/random: extract test out of xf86drmRandom.c

With follow up commits we can clear it up and wire to
make check

v2:
 - Use xf86drmRandom.h for common struct.(Jan)
 - Add test to .gitignore.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Jan Vesely <jan.vesely@rutgers.edu>
9 years agotests/hash: return non-zero on failure
Emil Velikov [Sun, 5 Apr 2015 14:12:16 +0000 (15:12 +0100)]
tests/hash: return non-zero on failure

... and wire up to `make check' now that it's useful.

v2: Really return non-zero on failure.
v3: Initialise ret.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Jan Vesely <jan.vesely@rutgers.edu> (v2)
9 years agotests/hash: style fixes
Emil Velikov [Thu, 26 Mar 2015 23:09:31 +0000 (23:09 +0000)]
tests/hash: style fixes

v2: Rebase on earlier changes. Keep count initialisation as is.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Jan Vesely <jan.vesely@rutgers.edu>
9 years agotests/hash: misc compilation fixes
Emil Velikov [Sun, 22 Mar 2015 19:58:17 +0000 (19:58 +0000)]
tests/hash: misc compilation fixes

Get the test from completely broken to working like a charm.

 - Use the same variable type for both HashInsert and HashLookup.
 - Use correct storage type for the HashLookup return value.
 - Remove useless backward iteration of HashLookup(i).

v2:
 - Use void * instead of unsigned long.
 - Change value to key << 16 | key.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Jan Vesely <jan.vesely@rutgers.edu>
9 years agotests/hash: extract test out of xf86drmHash.c
Emil Velikov [Sun, 22 Mar 2015 19:41:12 +0000 (19:41 +0000)]
tests/hash: extract test out of xf86drmHash.c

This way with follow up commits we can fix it and wire it up to
make check

v2:
 - Use xf86drmHash.h for common structs.(Jan)
 - Add test to .gitignore.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Jan Vesely <jan.vesely@rutgers.edu>
9 years agotests/drmsl: Extract tests out of xf86drmSL.c
Jan Vesely [Fri, 20 Mar 2015 20:58:29 +0000 (16:58 -0400)]
tests/drmsl: Extract tests out of xf86drmSL.c

v2: merge tests creation and xf86drmSL cleanup
    rename tests/drmsltest -> tests/drmsl
    move the test out of libudev test block
v3: run test even on noudev builds

Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Acked-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agodrmSL: Fix neighbor lookup
Jan Vesely [Fri, 27 Feb 2015 17:20:32 +0000 (12:20 -0500)]
drmSL: Fix neighbor lookup

Commit e4a519635f75bde38aeb5b09f2ff4efbf73453e9:
    Tidy up compile warnings by cleaning up types.

removed call to SLLocate which gutted the function of all functionality.
This patch restores the original behavior, with an additional fix
that zeros the update array in case SLLocate bails early.

v2: zero the update array instead of checking the return value.
    SLLocate returns NULL both on failure and if the element is greater
    than everything in the list
v3: Improve commit message

Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Acked-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agoandroid: remove explicit include to libpciaccess
Emil Velikov [Fri, 20 Mar 2015 18:38:35 +0000 (18:38 +0000)]
android: remove explicit include to libpciaccess

Both android-x86 and android-ia versions of libpciacccess correctly
"export" the include. If anyone else is wrapping up their own version
they should do so as well.

Remove this fixed location hack from the build.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Chih-Wei Huang <cwhuang@linux.org.tw>
9 years agotests/exynos: Fix missing static keyword
Jan Vesely [Wed, 18 Mar 2015 18:23:47 +0000 (14:23 -0400)]
tests/exynos: Fix missing static keyword

Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewed-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
9 years agoRemove drmSetDebugMsgFunction and related infrastructure
Jan Vesely [Wed, 18 Mar 2015 18:17:26 +0000 (14:17 -0400)]
Remove drmSetDebugMsgFunction and related infrastructure

Not used anywhere

Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agoFix unused function warnings
Jan Vesely [Fri, 27 Feb 2015 17:54:34 +0000 (12:54 -0500)]
Fix unused function warnings

v2: Remove the handler function instead of commenting out
    split debugmsg function removal to a separate patch

Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agotests: add rockchip to modetest, kmstest, vbltest and proptest
Daniel Kurtz [Fri, 20 Mar 2015 17:16:45 +0000 (17:16 +0000)]
tests: add rockchip to modetest, kmstest, vbltest and proptest

There is a rockchip drm kms driver.
Add "rockchip" to the static lists of driver names in the the standard
set of tests.

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
[Emil Velikov: Resolve trivial conflicts.]
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agoproptest: install it with --enable-install-test-programs
Daniel Kurtz [Fri, 6 Mar 2015 08:54:40 +0000 (16:54 +0800)]
proptest: install it with --enable-install-test-programs

--enable-install-test-programs allows tests to be installed in $bindir.
This is disabled by default, but very useful when cross compiling.

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agoautotools: remove ${srcdir} from the includes
Emil Velikov [Tue, 17 Mar 2015 23:17:40 +0000 (23:17 +0000)]
autotools: remove ${srcdir} from the includes

Already handled by the build system.

v2: s/compiler/build system/

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agoandroid: get rid of LIBDRM_TOP
Chih-Wei Huang [Wed, 18 Mar 2015 16:26:59 +0000 (00:26 +0800)]
android: get rid of LIBDRM_TOP

Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
9 years agoandroid: simplify the including rule of subdirs
Chih-Wei Huang [Fri, 20 Mar 2015 17:05:46 +0000 (17:05 +0000)]
android: simplify the including rule of subdirs

Use android build system functions to include Android.mk
of subdirs.

Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
[Emil Velikov: Resolve trivial conflicts.]
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agoandroid: add the missing tag "optional" to libkms
Emil Velikov [Tue, 17 Mar 2015 23:30:12 +0000 (23:30 +0000)]
android: add the missing tag "optional" to libkms

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agoandroid: remove LOCAL_COPY_HEADERS* variables
Emil Velikov [Tue, 17 Mar 2015 23:30:11 +0000 (23:30 +0000)]
android: remove LOCAL_COPY_HEADERS* variables

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>
9 years agoandroid: remove ${srcdir} from the includes
Emil Velikov [Tue, 17 Mar 2015 23:30:10 +0000 (23:30 +0000)]
android: remove ${srcdir} from the includes

Already handled by the build system.

v2: s/compiler/build system/. Spotted by Chih-Wei.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agoandroid: simplify LOCAL_C_INCLUDES
Emil Velikov [Tue, 17 Mar 2015 23:30:09 +0000 (23:30 +0000)]
android: simplify LOCAL_C_INCLUDES

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>
9 years agoandroid: correcly set LOCAL_EXPORT_C_INCLUDE_DIRS
Emil Velikov [Tue, 17 Mar 2015 23:30:08 +0000 (23:30 +0000)]
android: correcly set LOCAL_EXPORT_C_INCLUDE_DIRS

 - 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>
9 years agoRELEASING: Fix annouce typo
Damien Lespiau [Thu, 19 Mar 2015 16:29:52 +0000 (16:29 +0000)]
RELEASING: Fix annouce typo

That's the only typo :set spell found.

v2: Fix typo in commit message (Ilia Mirkin)

Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
9 years agoRELEASING: Fix the step numbering
Damien Lespiau [Thu, 19 Mar 2015 16:27:31 +0000 (16:27 +0000)]
RELEASING: Fix the step numbering

v2: Really fix the numbering (Emil Velikov)

Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
9 years agoRELEASING: Fix releasing instructions to match the latest release.sh
Damien Lespiau [Thu, 19 Mar 2015 16:24:49 +0000 (16:24 +0000)]
RELEASING: Fix releasing instructions to match the latest release.sh

It seems that the tests don't need DRM master anymore? at least make
distcheck passes when X is running.

release.sh is also invoked with just the path to the libdrm git checkout
and we don't want to pass additional arguments that will be treated as
additional modules we want to release.

Also, make a note that release.sh will run make distcheck for you, so we
don't strickly need to run it beforehand.

Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
9 years agointel: Merge latest i915_drm.h
Neil Roberts [Thu, 19 Mar 2015 17:11:08 +0000 (17:11 +0000)]
intel: Merge latest i915_drm.h

The main incentive to do this is to get I915_PARAM_REVISION.

v2: Rebase on top of some changes that were made to the header without
    copying the whole file from the kernel source.

Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Neil Roberts <neil@linux.intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
9 years agobuild: Bump version number to 2.4.60 before release
Damien Lespiau [Thu, 19 Mar 2015 14:36:56 +0000 (14:36 +0000)]
build: Bump version number to 2.4.60 before release

Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
9 years agointel: Export total subslice and EU counts
Jeff McGee [Mon, 9 Mar 2015 23:13:03 +0000 (16:13 -0700)]
intel: Export total subslice and EU counts

Update kernel interface with new I915_GETPARAM ioctl entries for
subslice total and EU total. Add a wrapping function for each
parameter. Userspace drivers need these values when constructing
GPGPU commands. This kernel query method is intended to replace
the PCI ID-based tables that userspace drivers currently maintain.
The kernel driver can employ fuse register reads as needed to
ensure the most accurate determination of GT config attributes.
This first became important with Cherryview in which the config
could differ between devices with the same PCI ID.

The kernel detection of these values is device-specific. Userspace
drivers should continue to maintain ID-based tables for older
devices which return ENODEV when using this query.

v2: remove unnecessary include of <stdbool.h> and increment the
    I915_GETPARAM indices to match updated kernel patch.

For: VIZ-4636
Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
Signed-off-by: Jeff McGee <jeff.mcgee@intel.com>
Signed-off-by: Damien Lespiau <damien.lespiau@intel.com>
9 years agoconfigure.ac: error out if building freedreno_kgsl without freedreno
Emil Velikov [Tue, 17 Mar 2015 00:19:27 +0000 (00:19 +0000)]
configure.ac: error out if building freedreno_kgsl without freedreno

The former is a subset of the latter. Error out early so the user is
aware that they are doing something very wrong.

Cc: Rob Clark <robdclark@gmail.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Rob Clark <robdclark@gmail.com>
9 years agoconfigure.ac: fix help string copy/pasta
Emil Velikov [Tue, 17 Mar 2015 00:19:26 +0000 (00:19 +0000)]
configure.ac: fix help string copy/pasta

The message "enabled on x86" was meant for the intel libdrm.
Take the opportunity to mention how libkms is autodetected.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agoconfigure.ac: fix host_cpu/atomics detection
Emil Velikov [Tue, 17 Mar 2015 00:19:25 +0000 (00:19 +0000)]
configure.ac: fix host_cpu/atomics detection

Previous code was busted, as it wasn't checking directly for what it was
meant to, and at the end changing the user's selection if host_cpu
heuristics were involved.

Simplify things by adding a macro that does the long message printing
for us, and check for only what we need.

This fixes commit 36cff14bb03(configure: omap, freedreno and tegra
require atomics) which incorrectly assumed that the code was working
fine, and effectively made impossible to enable freedreno due to it's
host_cpu detection.

Cc: Rob Clark <robdclark@gmail.com>
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agoautogen.sh: handle out-of-tree invokation
Emil Velikov [Mon, 9 Mar 2015 12:08:17 +0000 (12:08 +0000)]
autogen.sh: handle out-of-tree invokation

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agoconfigure: Stop using AM_MAINTAINER_MODE
Emil Velikov [Mon, 9 Mar 2015 12:08:16 +0000 (12:08 +0000)]
configure: Stop using AM_MAINTAINER_MODE

AM_MAINTAINER_MODE can be used to disable generation of rebuild rules.
This is not something we want to condone/support, considering it can
cause greater problems than the perceived benefits. Additionally the
Automake manual leans towards avoiding the use of AM_MAINTAINER_MODE.

http://www.gnu.org/software/automake/manual/html_node/maintainer_002dmode.html

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agoexynos: fimg2d: follow-up fix for G2D_COEFF_MODE_GB_COLOR
Tobias Jakobi [Wed, 11 Mar 2015 19:38:46 +0000 (20:38 +0100)]
exynos: fimg2d: follow-up fix for G2D_COEFF_MODE_GB_COLOR

Also add the register field formatting info provided by
Inki Dae <inki.dae@samsung.com>.

Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
Suggested-by: Inki Dae <inki.dae@samsung.com>
9 years agoexynos: add fimg2d header to common includes
Tobias Jakobi [Wed, 11 Mar 2015 19:38:45 +0000 (20:38 +0100)]
exynos: add fimg2d header to common includes

The reason for this change is to let userspace use the header.
Currently 'make install' does not install it.

Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
Reviewed-by: Inki Dae <inki.dae@samsung.com>
Tested-by: Joonyoung Shim <jy0922.shim@samsung.com>
9 years agoexynos: add exynos prefix to fimg2d header
Tobias Jakobi [Wed, 11 Mar 2015 19:38:44 +0000 (20:38 +0100)]
exynos: add exynos prefix to fimg2d header

Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
Reviewed-by: Inki Dae <inki.dae@samsung.com>
Tested-by: Joonyoung Shim <jy0922.shim@samsung.com>
9 years agoexynos: use structure initialization instead of memset
Tobias Jakobi [Mon, 16 Mar 2015 22:19:28 +0000 (22:19 +0000)]
exynos: use structure initialization instead of memset

Keeps the code cleaner, since the structs have to be initialized
once anyway.

Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
Reviewed-by: Inki Dae <inki.dae@samsung.com>
Tested-by: Joonyoung Shim <jy0922.shim@samsung.com>
[evelikov: squash trivial conflict]
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Conflicts:
tests/exynos/exynos_fimg2d_test.c

9 years agoexynos: honor the repeat mode in g2d_copy_with_scale
Tobias Jakobi [Wed, 11 Mar 2015 19:38:42 +0000 (20:38 +0100)]
exynos: honor the repeat mode in g2d_copy_with_scale

This is useful when the default repeat mode, which is 'repeat'
produces artifacts at the borders of the copied image.
Choose the 'pad' mode to make use of the color of the destination
image.

In my usage case the destination is the framebuffer, which is
solid filled with a background color. Scaling with 'pad' mode
would then just do the right thing and also produces nice
borders on the output.

Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
Reviewed-by: Inki Dae <inki.dae@samsung.com>
Tested-by: Joonyoung Shim <jy0922.shim@samsung.com>
9 years agoexynos: add g2d_scale_and_blend
Tobias Jakobi [Wed, 11 Mar 2015 19:38:41 +0000 (20:38 +0100)]
exynos: add g2d_scale_and_blend

This is a combination of g2d_copy_with_scale and g2d_scale.
It is a pretty common operation to scale one buffer and then
blend it on top of another, so provide a direct way to that
operation.

Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
Reviewed-by: Inki Dae <inki.dae@samsung.com>
Tested-by: Joonyoung Shim <jy0922.shim@samsung.com>
9 years agotests/exynos: fimg2d: add a checkerboard test
Tobias Jakobi [Wed, 11 Mar 2015 19:38:40 +0000 (20:38 +0100)]
tests/exynos: fimg2d: add a checkerboard test

This makes it easier to spot memory corruptions which don't become
visible when using a plain buffer filled with a solid color (so
corruptions that are just a permutation of the bytes in the buffer).

Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
Reviewed-by: Inki Dae <inki.dae@samsung.com>
Tested-by: Joonyoung Shim <jy0922.shim@samsung.com>
9 years agomodetest: include into the build when libkms is not selected.
Emil Velikov [Tue, 10 Mar 2015 18:12:28 +0000 (18:12 +0000)]
modetest: include into the build when libkms is not selected.

With commit d7c0a08bc57(modetest: Allocate dumb buffers with the correct
bpp) we moved away from the libkms dependency. As such we are safe with
including the Makefile/subdir, even as we opt out of building the
library.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
9 years agoAdd static qualifier to local functions
Jan Vesely [Fri, 27 Feb 2015 16:43:44 +0000 (11:43 -0500)]
Add static qualifier to local functions

v2: Don't bother marking dead functions static
    (handler, xf86VDrvMsgVerb, drmSetDebugMsgFunction)

Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>