platform/upstream/libdrm.git
9 years agoamdgpu: hide the final internal functions from global namespace
Emil Velikov [Fri, 7 Aug 2015 16:09:35 +0000 (17:09 +0100)]
amdgpu: hide the final internal functions from global namespace

Thus the only symbols that we export are the ones officially provided by
the API.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agoamdgpu/amdgpu_vamgr: hide private symbols from global namespace
Emil Velikov [Fri, 7 Aug 2015 15:54:29 +0000 (16:54 +0100)]
amdgpu/amdgpu_vamgr: hide private symbols from global namespace

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agoamdgpu: squash trivial documentation typo
Emil Velikov [Fri, 7 Aug 2015 15:48:02 +0000 (16:48 +0100)]
amdgpu: squash trivial documentation typo

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agoamdgpu: cosmetic chances in license boilerplate
Emil Velikov [Fri, 7 Aug 2015 16:20:51 +0000 (17:20 +0100)]
amdgpu: cosmetic chances in license boilerplate

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agoamdgpu: add a bunch of missing config.h includes
Emil Velikov [Fri, 7 Aug 2015 16:17:43 +0000 (17:17 +0100)]
amdgpu: add a bunch of missing config.h includes

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agoamdgpu/util_hash_table: hide private symbols from global namespace
Emil Velikov [Fri, 7 Aug 2015 15:44:33 +0000 (16:44 +0100)]
amdgpu/util_hash_table: hide private symbols from global namespace

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agoamdgpu/util_hash: hide private symbols from global namespace
Emil Velikov [Fri, 7 Aug 2015 15:40:45 +0000 (16:40 +0100)]
amdgpu/util_hash: hide private symbols from global namespace

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agoForce enable amdgpu for the dist build/check.
Emil Velikov [Fri, 7 Aug 2015 15:19:49 +0000 (16:19 +0100)]
Force enable amdgpu for the dist build/check.

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agoradeon: add new OLAND pci id
Alex Deucher [Mon, 10 Aug 2015 19:37:19 +0000 (15:37 -0400)]
radeon: add new OLAND pci id

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agomodeprint: cleanup, remove compile warnings
Tapani Pälli [Fri, 7 Aug 2015 07:37:58 +0000 (10:37 +0300)]
modeprint: cleanup, remove compile warnings

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Thierry Reding <treding@nvidia.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agointel: wrap intel_bufmgr.h C code for C++ compilation/linking
Tapani Pälli [Fri, 7 Aug 2015 07:37:57 +0000 (10:37 +0300)]
intel: wrap intel_bufmgr.h C code for C++ compilation/linking

We need this include in porting changes for the OpenGL ES
conformance suite.

v2: remove c_plusplus usage

Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
9 years agoremove usage of 'c_plusplus' preprocessor macro
Tapani Pälli [Fri, 7 Aug 2015 07:37:56 +0000 (10:37 +0300)]
remove usage of 'c_plusplus' preprocessor macro

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>
9 years agoadd a note about which version of cunit is fixed for debian/ubuntu
Alex Deucher [Thu, 6 Aug 2015 17:44:16 +0000 (13:44 -0400)]
add a note about which version of cunit is fixed for debian/ubuntu

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agomove up cunit workaround for ubuntu/debian
Alex Deucher [Thu, 6 Aug 2015 17:38:31 +0000 (13:38 -0400)]
move up cunit workaround for ubuntu/debian

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agofix amdgpu cunit configure test harder
Alex Deucher [Thu, 6 Aug 2015 15:19:55 +0000 (11:19 -0400)]
fix amdgpu cunit configure test harder

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agofix configuration when amdgpu is disabled
Alex Deucher [Thu, 6 Aug 2015 15:13:48 +0000 (11:13 -0400)]
fix configuration when amdgpu is disabled

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agoamdgpu: Remove unused local variables bo_size/offset from amdgpu_cs_submit
Michel Dänzer [Tue, 4 Aug 2015 03:37:23 +0000 (12:37 +0900)]
amdgpu: Remove unused local variables bo_size/offset from amdgpu_cs_submit

Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agoamdgpu: expose the PCI revision ID
Jammy Zhou [Mon, 3 Aug 2015 07:46:42 +0000 (15:46 +0800)]
amdgpu: expose the PCI revision ID

The PCI revision ID can be used to differentiate ASICs.

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agolibdrm/amdgpu: Use private fd for amdgpu_device and winsys hash table to fix ZaphodHe...
Mario Kleiner [Wed, 29 Jul 2015 19:09:04 +0000 (21:09 +0200)]
libdrm/amdgpu: Use private fd for amdgpu_device and winsys hash table to fix ZaphodHeads. (v2)

The amdgpu_device for a device node needs its own dup'ed fd, instead
of using the original fd passed in for a screen, to make multi-x-screen
ZaphodHeads configurations work on amdgpu.

The original fd's lifetime differs from that of the amdgpu_device, and from the
one stored in the hash. The hash key is the fd, and in order to compare hash
entries we fstat them, so the fd must be around for as long as the amdgpu_device
is.

This patch for libdrm/amdgpu is a translation of the radeon-winsys ZaphodHeads
fix for mesa's radeon-winsys, from mesa commit 28dda47ae4d974e3e032d60e8e0965c8c068c6d8

"winsys/radeon: Use dup fd as key in drm-winsys hash table to fix ZaphodHeads."

Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Acked-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
v2: Check for valid fd's being >= 0, because fd == 0 is in theory
    a valid, although unlikely, fd and fd == -1 would denote an
    invalid fd. Thanks to William Lewis for pointing this out.

Reported-by: William Lewis <minutemaidpark@hotmail.com>
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
9 years agolibdrm/amdgpu: Fixed drm.h include.
Alexandr Akulich [Thu, 16 Jul 2015 20:19:12 +0000 (01:19 +0500)]
libdrm/amdgpu: Fixed drm.h include.

The include type changed from system to own.

Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: Alexandr Akulich <akulichalexander@gmail.com>
9 years agoamdgpu/tests: Cast CPU map argument of amdgpu_bo_alloc_and_map to void**
Michel Dänzer [Tue, 21 Jul 2015 08:53:42 +0000 (17:53 +0900)]
amdgpu/tests: Cast CPU map argument of amdgpu_bo_alloc_and_map to void**

Silences incompatible pointer type compiler warnings.

Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agoamdgpu/tests: Use buf_handle in amdgpu_bo_alloc_and_map() error paths
Michel Dänzer [Tue, 21 Jul 2015 08:51:27 +0000 (17:51 +0900)]
amdgpu/tests: Use buf_handle in amdgpu_bo_alloc_and_map() error paths

The compiler pointed out that bo has the wrong type.

Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agoamdgpu: add VCE harvesting instance query
Leo Liu [Mon, 13 Jul 2015 16:51:34 +0000 (12:51 -0400)]
amdgpu: add VCE harvesting instance query

Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agotest/amdgpu : fix a bug in VCE/UVD test introduced by previous change
Ken Wang [Fri, 17 Jul 2015 11:39:56 +0000 (19:39 +0800)]
test/amdgpu : fix a bug in VCE/UVD test introduced by previous change

Signed-off-by: Ken Wang <Qingqing.Wang@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agoamdgpu: add amdgpu_bo_va_op for va map/unmap support v3
Jammy Zhou [Mon, 13 Jul 2015 12:57:44 +0000 (20:57 +0800)]
amdgpu: add amdgpu_bo_va_op for va map/unmap support v3

The following interfaces are changed accordingly:
- amdgpu_bo_alloc
- amdgpu_create_bo_from_user_mem

v2: update the interfaces
v3: remove virtual_mc_base_address from amdgpu_bo

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agoamdgpu: add flags parameter for amdgpu_va_range_alloc
Jammy Zhou [Thu, 16 Jul 2015 02:29:58 +0000 (10:29 +0800)]
amdgpu: add flags parameter for amdgpu_va_range_alloc

The flags is added for extensibility to cover some special requirements
in the future, i.e, request VA range in the first 4GB of address space

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agoamdgpu : move management of user fence from libdrm to UMD
Ken Wang [Fri, 10 Jul 2015 14:22:27 +0000 (22:22 +0800)]
amdgpu : move management of user fence from libdrm to UMD

Signed-off-by: Ken Wang <Qingqing.Wang@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agoamdgpu: fix bs buffer size for vce test
Christian König [Wed, 15 Jul 2015 08:56:20 +0000 (10:56 +0200)]
amdgpu: fix bs buffer size for vce test

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agotests/amdgpu: remove the duplicate IB allocation for VCE test
Jammy Zhou [Mon, 13 Jul 2015 14:43:29 +0000 (22:43 +0800)]
tests/amdgpu: remove the duplicate IB allocation for VCE test

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agodrm: fix the ALIGN macro to avoid value clamp
Jammy Zhou [Mon, 13 Jul 2015 08:49:42 +0000 (16:49 +0800)]
drm: fix the ALIGN macro to avoid value clamp

If the value is 64bit, but the alignment is 32bit type, the high 32bit
will be clamped with previous definition

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agoamdgpu: Use drmIoctl in amdgpu_ioctl_wait_cs
Michel Dänzer [Tue, 14 Jul 2015 03:42:19 +0000 (12:42 +0900)]
amdgpu: Use drmIoctl in amdgpu_ioctl_wait_cs

This is safe now because the ioctl uses an absolute timeout.

This prevents amdgpu_cs_query_fence_status from returning early e.g.
when a signal is delivered, which in turn caused Mesa winsys code to
assume a BO was idle when it actually wasn't yet.

Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agoamdgpu: use common fence structure for dependencies as well.
Christian König [Thu, 9 Jul 2015 09:48:32 +0000 (11:48 +0200)]
amdgpu: use common fence structure for dependencies as well.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agoamdgpu: improve the amdgpu_cs_query_fence_status interface
Jammy Zhou [Thu, 9 Jul 2015 05:51:13 +0000 (13:51 +0800)]
amdgpu: improve the amdgpu_cs_query_fence_status interface

make amdgpu_cs_query_fence reusable to support multi-fence query

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agoamdgpu: add va range query interface
Sabre Shao [Thu, 9 Jul 2015 05:53:24 +0000 (13:53 +0800)]
amdgpu: add va range query interface

amdgpu_va_range_query interface is added so that client can query va
range supported by specific device.

Signed-off-by: Sabre Shao <Sabre.Shao@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agoamdgpu: add va allocation intefaces
Sabre Shao [Thu, 9 Jul 2015 05:50:36 +0000 (13:50 +0800)]
amdgpu: add va allocation intefaces

Two new interfaces are added to support client request for
allocate virtual address without physical memory committed to.
The virtual address space can be managed by client itself.

Signed-off-by: Sabre Shao <Sabre.Shao@amd.com>
Signed-off-by: Ken Wang <Qingqing.Wang@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agoamdgpu: add base_preferred parameter to amdgpu_vamgr_find_va
Ken Wang [Thu, 9 Jul 2015 05:48:25 +0000 (13:48 +0800)]
amdgpu: add base_preferred parameter to amdgpu_vamgr_find_va

base_preferred parameter is added to amdgpu_vamgr_find_va
so UMD can specify preferred va address when allocating.

Signed-off-by: Ken Wang <Qingqing.Wang@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agoamdgpu: check the user fence only if the IP supports user fences
Marek Olšák [Wed, 8 Jul 2015 09:12:31 +0000 (11:12 +0200)]
amdgpu: check the user fence only if the IP supports user fences

Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agodrm/amdgpu: allow passing absolute timeouts to amdgpu_cs_query_fence_status
Marek Olšák [Fri, 26 Jun 2015 19:58:17 +0000 (21:58 +0200)]
drm/amdgpu: allow passing absolute timeouts to amdgpu_cs_query_fence_status

Useful when Mesa wants to wait for a lot of fences at the same time and
doesn't want to recalculate the relative timeout after every call.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
9 years agoamdgpu: remove reference to AMD specific error codes
Christian König [Tue, 30 Jun 2015 14:27:27 +0000 (16:27 +0200)]
amdgpu: remove reference to AMD specific error codes

We just have never defined any.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agoamdgpu: cleanup public interface style
Christian König [Tue, 30 Jun 2015 14:04:44 +0000 (16:04 +0200)]
amdgpu: cleanup public interface style

Fix some style problems, adjust to a common indentation, reorder two
function definitions and remove stale comments.

No intended functional change.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agogitignore: add some generated amdgpu files
Christian König [Tue, 30 Jun 2015 13:46:29 +0000 (15:46 +0200)]
gitignore: add some generated amdgpu files

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agoamdgpu: add CS dependencies v2
Christian König [Wed, 24 Jun 2015 12:17:57 +0000 (14:17 +0200)]
amdgpu: add CS dependencies v2

This allows the driver to specify on which previous CS to wait.

v2: fix spelling in comment

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com> (v1)
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
9 years agoamdgpu: update to the latest kernel header
Alex Deucher [Mon, 29 Jun 2015 16:02:47 +0000 (12:02 -0400)]
amdgpu: update to the latest kernel header

Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
9 years agoamdgpu: remove pointer arithmetic from command submission
Christian König [Wed, 24 Jun 2015 12:13:00 +0000 (14:13 +0200)]
amdgpu: remove pointer arithmetic from command submission

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
9 years agoamdgpu: do NULL check for bo handle in amdgpu_bo_query_info
Jammy Zhou [Tue, 16 Jun 2015 14:42:43 +0000 (22:42 +0800)]
amdgpu: do NULL check for bo handle in amdgpu_bo_query_info

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agoamdgpu: cleanup VA IOCTL handling
Christian König [Mon, 8 Jun 2015 13:05:07 +0000 (15:05 +0200)]
amdgpu: cleanup VA IOCTL handling

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
9 years agoamdgpu: remove flink export workaround v2
Christian König [Sat, 6 Jun 2015 10:02:29 +0000 (12:02 +0200)]
amdgpu: remove flink export workaround v2

Alternative solution to Mareks patch to stop causing trouble with render nodes.

v2: rebased

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
9 years agoamdgpu: explicitly unmap GPU mapping on BO destruction
Christian König [Sat, 6 Jun 2015 10:00:17 +0000 (12:00 +0200)]
amdgpu: explicitly unmap GPU mapping on BO destruction

That exercises the IOCTL and stops relying us on implicit unmapping.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
9 years agoamdgpu: merge amdgpu_drm.h from kernel
Jammy Zhou [Fri, 5 Jun 2015 21:07:56 +0000 (05:07 +0800)]
amdgpu: merge amdgpu_drm.h from kernel

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
9 years agoamdgpu: cleanup gds specific alloc/free functions
Jammy Zhou [Fri, 5 Jun 2015 21:02:23 +0000 (05:02 +0800)]
amdgpu: cleanup gds specific alloc/free functions

amdgpu_bo_alloc/free can be used with GDS/OA/QWS domains specified

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
9 years agoamdgpu: add amdgpu_query_gds_info
Jammy Zhou [Fri, 5 Jun 2015 21:00:36 +0000 (05:00 +0800)]
amdgpu: add amdgpu_query_gds_info

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
9 years agoamdgpu: fix double mutex_unlock in amdgpu_bo_import
Marek Olšák [Thu, 4 Jun 2015 16:57:57 +0000 (18:57 +0200)]
amdgpu: fix double mutex_unlock in amdgpu_bo_import

The handles array is used below, which is followed by another unlock,
so remove the first one.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
9 years agoamdgpu: fix valgrind warnings
Marek Olšák [Thu, 4 Jun 2015 16:57:50 +0000 (18:57 +0200)]
amdgpu: fix valgrind warnings

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
9 years agoamdgpu: use alloca and malloc in critical codepaths (v2)
Marek Olšák [Tue, 2 Jun 2015 12:43:52 +0000 (14:43 +0200)]
amdgpu: use alloca and malloc in critical codepaths (v2)

And don't clear the memory when it's unnecessary.

v2: use malloc for arrays that can be big

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
9 years agoamdgpu: allow exporting KMS handles with render nodes
Marek Olšák [Thu, 4 Jun 2015 10:47:22 +0000 (12:47 +0200)]
amdgpu: allow exporting KMS handles with render nodes

Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agoamdgpu: add zero timeout check in amdgpu_cs_query_fence_status
Jack Xiao [Thu, 4 Jun 2015 02:41:24 +0000 (10:41 +0800)]
amdgpu: add zero timeout check in amdgpu_cs_query_fence_status

Signed-off-by: Jack Xiao <Jack.Xiao@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agoamdgpu: remove bo_handle from amdgpu_cs_ib_info, IBs should be in buffer list
Marek Olšák [Tue, 2 Jun 2015 11:05:41 +0000 (13:05 +0200)]
amdgpu: remove bo_handle from amdgpu_cs_ib_info, IBs should be in buffer list

Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agoamdgpu: remove amdgpu_ib helpers
Marek Olšák [Mon, 1 Jun 2015 12:12:10 +0000 (14:12 +0200)]
amdgpu: remove amdgpu_ib helpers

Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agoamdgpu: remove amdgpu_ib
Marek Olšák [Fri, 29 May 2015 17:13:41 +0000 (19:13 +0200)]
amdgpu: remove amdgpu_ib

Not useful if we're gonna use BO handles directly.

Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agoamdgpu: don't use amdgpu_cs_create_ib for allocation of the fence BO
Marek Olšák [Fri, 29 May 2015 15:13:12 +0000 (17:13 +0200)]
amdgpu: don't use amdgpu_cs_create_ib for allocation of the fence BO

amdgpu_cs_create_ib will go away.

Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agotests/amdgpu: manage IB in client side
Jammy Zhou [Mon, 25 May 2015 12:38:03 +0000 (20:38 +0800)]
tests/amdgpu: manage IB in client side

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agoamdgpu: get rid of IB pool management v3
Jammy Zhou [Fri, 29 May 2015 10:59:59 +0000 (12:59 +0200)]
amdgpu: get rid of IB pool management v3

v1: by Jammy Zhou
v2: remove bo wait when destroy IB by Jammy Zhou
v3: more cleanups by Marek

Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agoamdgpu: add ib_start_alignment and ib_size_alignment for interface query
Ken Wang [Wed, 3 Jun 2015 09:23:37 +0000 (17:23 +0800)]
amdgpu: add ib_start_alignment and ib_size_alignment for interface query

Signed-off-by: Ken Wang <Qingqing.Wang@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agoamdgpu: add ce_ram_size for interface query
Ken Wang [Wed, 3 Jun 2015 09:21:27 +0000 (17:21 +0800)]
amdgpu: add ce_ram_size for interface query

Signed-off-by: Ken Wang <Qingqing.Wang@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agoamdgpu: add vram_type and vram_bit_width for interface query
Ken Wang [Wed, 3 Jun 2015 09:15:29 +0000 (17:15 +0800)]
amdgpu: add vram_type and vram_bit_width for interface query

Signed-off-by: Ken Wang <Qingqing.Wang@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agoamdgpu: add max_memory_clock for interface query
Ken Wang [Wed, 3 Jun 2015 09:07:44 +0000 (17:07 +0800)]
amdgpu: add max_memory_clock for interface query

Signed-off-by: Ken Wang <Qingqing.Wang@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agoamdgpu: rename GEM_OP_SET_INITIAL_DOMAIN -> GEM_OP_SET_PLACEMENT
Marek Olšák [Wed, 27 May 2015 12:31:12 +0000 (14:31 +0200)]
amdgpu: rename GEM_OP_SET_INITIAL_DOMAIN -> GEM_OP_SET_PLACEMENT

No users.

Signed-off-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
9 years agoamdgpu: stop checking flag masks
Christian König [Tue, 19 May 2015 14:06:50 +0000 (16:06 +0200)]
amdgpu: stop checking flag masks

The kernel is responsible for parameter checking, not libdrm.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Monk Liu <monk.liu@amd.com>
9 years agotests/amdgpu: implement VCE unit tests
Leo Liu [Tue, 19 May 2015 16:51:15 +0000 (12:51 -0400)]
tests/amdgpu: implement VCE unit tests

Signed-off-by: Leo Liu <leo.liu@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agoamdgpu: make vamgr global
Ken Wang [Thu, 21 May 2015 09:21:21 +0000 (17:21 +0800)]
amdgpu: make vamgr global

This is the first sub-patch of va interface task, the va task is
about adding more va management interfaces for UMD, by design, the
vamgr should be per-process rather than per-device.

Signed-off-by: Ken Wang <Qingqing.Wang@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agotests/amdgpu: add shared IB submission test v2
Jammy Zhou [Wed, 20 May 2015 20:20:26 +0000 (04:20 +0800)]
tests/amdgpu: add shared IB submission test v2

v2: some function renaming

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
9 years agoamdgpu: add IB sharing support v2
Jammy Zhou [Wed, 20 May 2015 20:17:48 +0000 (04:17 +0800)]
amdgpu: add IB sharing support v2

A new 'offset' flag is added to the amdgpu_cs_ib_info structure,
which can be used to specify location of PM4 packets to execute
in the IB buffer object

v2: remove the shared IB flag, etc

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
9 years agoamdgpu: add new AMDGPU_TILING flags
Marek Olšák [Thu, 14 May 2015 22:16:41 +0000 (00:16 +0200)]
amdgpu: add new AMDGPU_TILING flags

Copied from the kernel.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
9 years agoamdgpu: add helper for VM mapping v2
Christian König [Mon, 18 May 2015 14:10:10 +0000 (16:10 +0200)]
amdgpu: add helper for VM mapping v2

Less code and also provides the map_size parameter.

v2: Also set offset_in_bo, use *_handle defines.

Signed-off-by: Christian König <christian.koenig@amd.com>
9 years agoamdgpu: remove bo_vas hash table v2
Christian König [Mon, 18 May 2015 13:28:30 +0000 (15:28 +0200)]
amdgpu: remove bo_vas hash table v2

Not used any more.

v2: Keep accidental removed lines.

Signed-off-by: Christian König <christian.koenig@amd.com>
9 years agoamdgpu: add amdgpu_bo_list_update interface v2
Jammy Zhou [Mon, 18 May 2015 12:27:24 +0000 (20:27 +0800)]
amdgpu: add amdgpu_bo_list_update interface v2

v2: some minor improvement

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agoamdgpu: replace alloca with calloc v2
Jammy Zhou [Mon, 18 May 2015 12:57:41 +0000 (20:57 +0800)]
amdgpu: replace alloca with calloc v2

use heap memory instead of stack memory to avoid potential stack overflow
when a large number of resources are used for the bo_list.

v2: some minor improvement

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agoamdgpu: remove unused AMDGPU_IB_RESOURCE_PRIORITY
Jammy Zhou [Mon, 18 May 2015 12:50:17 +0000 (20:50 +0800)]
amdgpu: remove unused AMDGPU_IB_RESOURCE_PRIORITY

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agoamdgpu: fix the number of IB size enums
Jammy Zhou [Mon, 18 May 2015 11:14:56 +0000 (19:14 +0800)]
amdgpu: fix the number of IB size enums

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
9 years agoamdgpu: fix a valgrind warning
Marek Olšák [Wed, 6 May 2015 16:59:02 +0000 (18:59 +0200)]
amdgpu: fix a valgrind warning

==10307== Conditional jump or move depends on uninitialised value(s)
==10307==    at 0xB9F4CFA: amdgpu_device_initialize (amdgpu_device.c:193)

Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
9 years agoamdgpu: implement amdgpu_cs_query_reset_state
Marek Olšák [Tue, 5 May 2015 19:23:02 +0000 (21:23 +0200)]
amdgpu: implement amdgpu_cs_query_reset_state

v2: also return the number of hangs

Reviewed-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agoamdgpu: fix vamgr_free_va logic
monk.liu [Wed, 13 May 2015 06:01:53 +0000 (14:01 +0800)]
amdgpu: fix vamgr_free_va logic

va+size will overflow if va equals to AMDGPU_INVALID_VA_ADDRESS, just
return when hit that condition

Signed-off-by: monk.liu <monk.liu@amd.com>
Reviewed-by: Jammy Zhou <jammy.zhou@amd.com>
9 years agoamdgpu: fix code alignment
monk.liu [Wed, 13 May 2015 05:58:43 +0000 (13:58 +0800)]
amdgpu: fix code alignment

Signed-off-by: monk.liu <monk.liu@amd.com>
9 years agoamdgpu: validate the upper limit of virtual address v2
Jammy Zhou [Tue, 12 May 2015 17:14:11 +0000 (01:14 +0800)]
amdgpu: validate the upper limit of virtual address v2

Only 8GB virtual address space is used by default now

v2: use -ENOSPC for the error case

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
9 years agoamdgpu: reuse the kernel IB flags v2
Jammy Zhou [Mon, 11 May 2015 15:02:09 +0000 (23:02 +0800)]
amdgpu: reuse the kernel IB flags v2

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>
9 years agoamdgpu: add ctx_id for wait_cs
Jammy Zhou [Fri, 8 May 2015 10:34:20 +0000 (18:34 +0800)]
amdgpu: add ctx_id for wait_cs

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>
9 years agoamdgpu: fix round down/up page size error
Jack Xiao [Thu, 7 May 2015 08:07:03 +0000 (16:07 +0800)]
amdgpu: fix round down/up page size error

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>
9 years agoamdgpu: fix 32-on-64 support (v2)
Jammy Zhou [Thu, 7 May 2015 03:38:28 +0000 (11:38 +0800)]
amdgpu: fix 32-on-64 support (v2)

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>
9 years agoamdgpu: remove AMDGPU_GEM_CREATE_CPU_GTT_UC
Jammy Zhou [Wed, 6 May 2015 10:45:57 +0000 (18:45 +0800)]
amdgpu: remove AMDGPU_GEM_CREATE_CPU_GTT_UC

Signed-off-by: Jammy Zhou <Jammy.Zhou@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
9 years agoamdgpu: remove active_rb_pipes from amdgpu_gpu_info
Jammy Zhou [Tue, 5 May 2015 07:43:19 +0000 (15:43 +0800)]
amdgpu: remove active_rb_pipes from amdgpu_gpu_info

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>
9 years agoamdgpu: fix segfault when resources are NULL
monk.liu [Tue, 5 May 2015 07:15:15 +0000 (15:15 +0800)]
amdgpu: fix segfault when resources are NULL

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>
9 years agoamdgpu: compare the primary device names instead
Christian König [Thu, 30 Apr 2015 12:13:28 +0000 (14:13 +0200)]
amdgpu: compare the primary device names instead

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>
9 years agoamdgpu: add public bo list interface v3
Christian König [Wed, 22 Apr 2015 12:52:34 +0000 (14:52 +0200)]
amdgpu: add public bo list interface v3

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>
9 years agoamdgpu: cleanup public interface v2
Christian König [Wed, 22 Apr 2015 10:21:13 +0000 (12:21 +0200)]
amdgpu: cleanup public interface v2

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>
9 years agoamdgpu: do not call BO_LIST ioctl when no resource referred
monk.liu [Mon, 27 Apr 2015 07:23:54 +0000 (15:23 +0800)]
amdgpu: do not call BO_LIST ioctl when no resource referred

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>
9 years agoamdgpu: fix an error of bo_list handler
monk.liu [Mon, 27 Apr 2015 02:25:54 +0000 (10:25 +0800)]
amdgpu: fix an error of bo_list handler

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>
9 years agoamdgpu: add missing mutex lock/unlock pair
monk.liu [Thu, 23 Apr 2015 05:19:57 +0000 (13:19 +0800)]
amdgpu: add missing mutex lock/unlock pair

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>
9 years agoamdgpu: support non-page-aligned userptr
monk.liu [Thu, 23 Apr 2015 05:18:59 +0000 (13:18 +0800)]
amdgpu: support non-page-aligned userptr

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>
9 years agodrm: add tests/amdgpu (v3)
Alex Deucher [Mon, 20 Apr 2015 16:15:23 +0000 (12:15 -0400)]
drm: add tests/amdgpu (v3)

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>
9 years agodrm: add libdrm_amdgpu (v7)
Alex Deucher [Mon, 20 Apr 2015 16:04:22 +0000 (12:04 -0400)]
drm: add libdrm_amdgpu (v7)

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>