platform/upstream/libdrm.git
6 years agomeson: fix the install path of amdgpu.ids
Christoph Haag [Thu, 18 Jan 2018 18:01:55 +0000 (19:01 +0100)]
meson: fix the install path of amdgpu.ids

Signed-off-by: Dylan Baker <dylan.c.baker@intel.com>
6 years agoamdgpu: Symlink .editorconfig to tests/amdgpu
Michel Dänzer [Wed, 17 Jan 2018 16:05:31 +0000 (17:05 +0100)]
amdgpu: Symlink .editorconfig to tests/amdgpu

In order to use consistent editorconfig settings in both amdgpu
directories.

Reviewed-by: Christian König <christian.koenig@amd.com>
6 years agoamdgpu: Don't dereference device_handle after amdgpu_device_deinitialize
Michel Dänzer [Tue, 16 Jan 2018 15:55:53 +0000 (16:55 +0100)]
amdgpu: Don't dereference device_handle after amdgpu_device_deinitialize

Fixes use after free:

==2537== Invalid read of size 4
==2537==    at 0x1162C9: suite_deadlock_tests_enable (deadlock_tests.c:101)
==2537==    by 0x10B157: amdgpu_disable_suits (amdgpu_test.c:421)
==2537==    by 0x10B157: main (amdgpu_test.c:560)
==2537==  Address 0x5e44f24 is 452 bytes inside a block of size 1,016 free'd
==2537==    at 0x4C2BE1B: free (vg_replace_malloc.c:530)
==2537==    by 0x504CD8B: amdgpu_device_reference (amdgpu_device.c:164)
==2537==    by 0x504CD8B: amdgpu_device_deinitialize (amdgpu_device.c:307)
==2537==    by 0x1162BB: suite_deadlock_tests_enable (deadlock_tests.c:97)
==2537==    by 0x10B157: amdgpu_disable_suits (amdgpu_test.c:421)
==2537==    by 0x10B157: main (amdgpu_test.c:560)
==2537==  Block was alloc'd at
==2537==    at 0x4C2CC05: calloc (vg_replace_malloc.c:711)
==2537==    by 0x504CA5E: amdgpu_device_initialize (amdgpu_device.c:212)
==2537==    by 0x116298: suite_deadlock_tests_enable (deadlock_tests.c:93)
==2537==    by 0x10B157: amdgpu_disable_suits (amdgpu_test.c:421)
==2537==    by 0x10B157: main (amdgpu_test.c:560)

Reviewed-by: Christian König <christian.koenig@amd.com>
6 years agoamdgpu: Don't print error message if parse_one_line returned -EAGAIN
Michel Dänzer [Mon, 8 Jan 2018 10:20:25 +0000 (11:20 +0100)]
amdgpu: Don't print error message if parse_one_line returned -EAGAIN

It means it just didn't find an entry for the GPU in the amdgpu.ids file.

Fixes spurious

 amdgpu_parse_asic_ids: Cannot parse ASIC IDs: Resource temporarily unavailable

error messages in that case.

Reported-by: Marek Olšák <marek.olsak@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
6 years agoREADME: Add note about meson
Dylan Baker [Fri, 15 Dec 2017 22:40:29 +0000 (14:40 -0800)]
README: Add note about meson

Signed-off-by: Dylan Baker <dylan.c.baker@intel.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
6 years agoautotools: Include meson.build files in tarball
Dylan Baker [Fri, 15 Dec 2017 22:34:02 +0000 (14:34 -0800)]
autotools: Include meson.build files in tarball

Signed-off-by: Dylan Baker <dylan.c.baker@intel.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
6 years agoAdd meson build system
Dylan Baker [Wed, 13 Sep 2017 18:46:13 +0000 (11:46 -0700)]
Add meson build system

This patch adds a complete meson build system, including tests and
install. It has the necessary hooks to allow it be used as a subproject
for other meson based builds such as mesa.

Signed-off-by: Dylan Baker <dylan.c.baker@intel.com>
Reviewed-and-tested-by: Igor Gnatenko <i.gnatenko.brain@gmail.com>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
6 years agotests/amdgpu: execute copy linear on all the available rings
Hawking Zhang [Mon, 8 Jan 2018 03:20:30 +0000 (11:20 +0800)]
tests/amdgpu: execute copy linear on all the available rings

Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agotests/amdgpu: execute const fill on all the available rings
Hawking Zhang [Mon, 8 Jan 2018 03:20:29 +0000 (11:20 +0800)]
tests/amdgpu: execute const fill on all the available rings

Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agotests/amdgpu: execute write linear on all the available rings
Hawking Zhang [Mon, 8 Jan 2018 03:20:28 +0000 (11:20 +0800)]
tests/amdgpu: execute write linear on all the available rings

Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agointel: Add more Coffeelake PCI IDs
Anuj Phogat [Wed, 10 Jan 2018 23:51:02 +0000 (15:51 -0800)]
intel: Add more Coffeelake PCI IDs

Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Cc: Anusha Srivatsa <anusha.srivatsa@intel.com>
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
6 years agotest/amdgpu: fix compiler warnings
Christian König [Sun, 7 Jan 2018 09:10:15 +0000 (10:10 +0100)]
test/amdgpu: fix compiler warnings

SWAP_32() should mask first and then shift.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
6 years agoamdgpu: use the high VA range if possible v2
Christian König [Tue, 7 Nov 2017 14:31:45 +0000 (15:31 +0100)]
amdgpu: use the high VA range if possible v2

Retire the low range on Vega10 this frees up everything below 0xffff800000000000 for HMM.

v2: keep the 32bit range working.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
6 years agoheaders: sync up amdgpu_drm.h with drm-next
Christian König [Tue, 7 Nov 2017 14:31:45 +0000 (15:31 +0100)]
headers: sync up amdgpu_drm.h with drm-next

Sync up amdgpu changes from drm-next.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
6 years agoamdgpu: fix 32bit VA manager max address
Christian König [Thu, 2 Nov 2017 17:54:59 +0000 (18:54 +0100)]
amdgpu: fix 32bit VA manager max address

The range is exclusive not inclusive.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
6 years agoamdgpu: fix not to add amdgpu.ids when building without amdgpu
Seung-Woo Kim [Thu, 4 Jan 2018 06:31:51 +0000 (15:31 +0900)]
amdgpu: fix not to add amdgpu.ids when building without amdgpu

The amdgpu.ids is only required when building with amdgpu support.
Fix not to add it without amdgpu.

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
6 years agoconfigure.ac: bump version for release libdrm-2.4.89
Dave Airlie [Mon, 18 Dec 2017 01:24:34 +0000 (11:24 +1000)]
configure.ac: bump version for release

6 years agodrm: Add CrtcGetSequence and CrtcQueueSequence IOCTLs [v2]
Keith Packard [Sat, 1 Jul 2017 07:43:15 +0000 (00:43 -0700)]
drm: Add CrtcGetSequence and CrtcQueueSequence IOCTLs [v2]

These provide a crtc-id based interface to get the current sequence
(frame) number and to queue an event to be delivered at a specific sequence.

v2: Remove FIRST_PIXEL_OUT flag. This has been removed from the
    proposed kernel API

Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
6 years agodrm: Add drm mode lease ioctl wrappers [v3]
Keith Packard [Fri, 17 Mar 2017 01:11:05 +0000 (18:11 -0700)]
drm: Add drm mode lease ioctl wrappers [v3]

drmModeCreateLease
drmModeListLessees
drmModeGetLease
drmModeRevokeLease

Changes for v2:

Remove lessee id from GetLease
Remove lessor_id from ListLeases
Add revoke
Renumber to track kernel rebase on drm-next

Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
6 years agoamdgpu: Add syncobj reset & signal wrappers.
Bas Nieuwenhuizen [Sat, 16 Dec 2017 23:27:10 +0000 (00:27 +0100)]
amdgpu: Add syncobj reset & signal wrappers.

Signed-off-by: Dave Airlie <airlied@redhat.com>
6 years agodrm: Add drmSyncobjReset & drmSyncobjSignal wrappers.
Bas Nieuwenhuizen [Sat, 16 Dec 2017 23:27:09 +0000 (00:27 +0100)]
drm: Add drmSyncobjReset & drmSyncobjSignal wrappers.

anv already uses the ioctls but does not use libdrm, so these were
not wrapped yet.

Signed-off-by: Dave Airlie <airlied@redhat.com>
6 years agoetnaviv: fix BO cache to properly work with different flags
Lucas Stach [Fri, 15 Dec 2017 10:30:26 +0000 (11:30 +0100)]
etnaviv: fix BO cache to properly work with different flags

Currently if the oldest BO in a bucket has different flags than what we
look for we'll miss the cache.Fix this by iterating over the cached BOs
until we find the oldest one with matching flags. This improves the hit
ratio for some of the buckets.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
6 years agotests/amdgpu: Add return CUE_SUCCESS to suite_vcn_tests_clean.
Andrey Grodzovsky [Fri, 15 Dec 2017 18:21:02 +0000 (13:21 -0500)]
tests/amdgpu: Add return CUE_SUCCESS to suite_vcn_tests_clean.

    fixes: 806d0803600000faecb4025d8e9c7490cb097c25 (amdgpu: Use new suite/test disabling functionality.)
    bug: https://bugs.freedesktop.org/show_bug.cgi?id=104280

Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
6 years agoetnaviv: support performance monitor requests
Christian Gmeiner [Fri, 15 Dec 2017 07:43:40 +0000 (08:43 +0100)]
etnaviv: support performance monitor requests

Add etna_cmd_stream_perf(..) to submit perform requests.
Userspace can submit pmrs via submit ioctl to sample perfmon
signals.

v3:
 - mark perfmon bos as RW

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
6 years agoetnaviv: add permon support
Christian Gmeiner [Fri, 15 Dec 2017 07:43:39 +0000 (08:43 +0100)]
etnaviv: add permon support

Query all domains and their signals and provide it this information
via struct etna_perfmon and the corresponding api functions.

v2:
 - code style changes
 - etna_perfmon_create(..): add missing clean up in error case

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
6 years agoetnaviv: sync uapi header
Christian Gmeiner [Fri, 15 Dec 2017 07:43:38 +0000 (08:43 +0100)]
etnaviv: sync uapi header

Import the etnaviv header changes from kernel commit 05916bed1 (drm-next)

The drm_etnaviv_gem_submit structure was extended to include performance
monitor requests. Also two new ioctls got added to be able to readout
performance monitor domains and their signals.

Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Acked-by: Lucas Stach <l.stach@pengutronix.de>
6 years agoamdgpu: Remove dummy CU_ASSERT_EQUAL.
Andrey Grodzovsky [Tue, 12 Dec 2017 13:33:09 +0000 (08:33 -0500)]
amdgpu: Remove dummy CU_ASSERT_EQUAL.

Fixes test failure on rhel.

Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Reviewed-by: Qiang Yu <Qiang.Yu@amd.com>
6 years agoamdgpu.ids: Refresh from AMD 17.40 release
Michel Dänzer [Tue, 5 Dec 2017 11:59:35 +0000 (12:59 +0100)]
amdgpu.ids: Refresh from AMD 17.40 release

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
6 years agoamdgpu: Only remember the device's marketing name
Michel Dänzer [Thu, 30 Nov 2017 17:52:06 +0000 (18:52 +0100)]
amdgpu: Only remember the device's marketing name

There's no point in keeping around the full table of marketing names,
when amdgpu_get_marketing_name only ever returns the device's marketing
name.

Acked-by: Slava Abramov <slava.abramov@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6 years agoamdgpu: Simplify error handling in parse_one_line
Michel Dänzer [Fri, 1 Dec 2017 15:59:38 +0000 (16:59 +0100)]
amdgpu: Simplify error handling in parse_one_line

* Move empty/commented line check before the strdup and return -EAGAIN
  directly
* Initialize r = -EAGAIN and remove redundant assignments
* Set r = -ENOMEM if last strdup fails, and remove redundant goto

Acked-by: Slava Abramov <slava.abramov@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6 years agoamdgpu: Clean up amdgpu_parse_asic_ids error handling
Michel Dänzer [Thu, 30 Nov 2017 17:28:01 +0000 (18:28 +0100)]
amdgpu: Clean up amdgpu_parse_asic_ids error handling

* Move error message printing into amdgpu_parse_asic_ids and make it
  return void
* Print only "Invalid format" error message if parse_one_line returns
  -EINVAL
* Use strerror instead of printing the (negative) error code in hex

Acked-by: Slava Abramov <slava.abramov@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
6 years agoamdgpu: Add explicit dependency test.
Andrey Grodzovsky [Fri, 24 Nov 2017 20:19:09 +0000 (15:19 -0500)]
amdgpu: Add explicit dependency test.

The test is as following:

1) Create context A & B
2) Send a command submission using context A which fires up a compute shader.
3) The shader wait a bit and then write a value to a memory location.
4) Send a command submission using context B which writes another value to the same memory location, but having an explicit dependency on the first command submission.
5) Wait with the CPU for both submissions to finish and inspect the written value.

Test passes if the value seen in the memory location after both submissions is from command B.

Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
6 years agoamdgpu: Add amdgpu_cs_create_syncobj2 to amdgpu-symbol-check
Michel Dänzer [Thu, 30 Nov 2017 14:52:50 +0000 (15:52 +0100)]
amdgpu: Add amdgpu_cs_create_syncobj2 to amdgpu-symbol-check

Fixes make check. Trivial.

6 years agoamdgpu: Adding amdgpu_cs_create_syncobj2 to create syncobj as signaled initially
David Mao [Tue, 28 Nov 2017 03:22:26 +0000 (11:22 +0800)]
amdgpu: Adding amdgpu_cs_create_syncobj2 to create syncobj as signaled initially

Signed-off-by: David Mao <david.mao@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
6 years agoamdgpu: Dynamicly disable BO suite "Metadata" test.
Andrey Grodzovsky [Mon, 27 Nov 2017 12:26:13 +0000 (07:26 -0500)]
amdgpu: Dynamicly disable BO suite "Metadata" test.

Disable the test instead of doing  #ifdef 0

Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
6 years agoamdgpu: Switch amdgpu CS tests enabling to the new way.
Andrey Grodzovsky [Fri, 24 Nov 2017 20:50:51 +0000 (15:50 -0500)]
amdgpu: Switch amdgpu CS tests enabling to the new way.

Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
6 years agoAndroid: disable warnings causing errors
Rob Herring [Mon, 27 Nov 2017 19:38:29 +0000 (13:38 -0600)]
Android: disable warnings causing errors

AOSP master has changed the build default to -Werror making all the
warnings errors. Override that with -Wno-error.

Signed-off-by: Rob Herring <robh@kernel.org>
6 years agoamdgpu: Disable deadlock test suite for Vega 10
Andrey Grodzovsky [Tue, 14 Nov 2017 14:02:48 +0000 (09:02 -0500)]
amdgpu: Disable deadlock test suite for Vega 10

The test stalls the CP, until RCA is done the test is
disabled to not disrupt regression testing.

Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
7 years agoamdgpu: Add memory over allocation test.
Andrey Grodzovsky [Mon, 13 Nov 2017 17:01:42 +0000 (12:01 -0500)]
amdgpu: Add memory over allocation test.

Allocates 1 TB of memory. Test is disabled by default
since it's triggers OOM killer.

v2:
FIx the test to only alloc the BO and assert if return value
not equal to -ENOMEM and remove test disable on start.

Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
7 years agoamdgpu: Move memory alloc tests in bo suite.
Andrey Grodzovsky [Fri, 10 Nov 2017 04:30:02 +0000 (23:30 -0500)]
amdgpu: Move memory alloc tests in bo suite.

Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
7 years agoamdgpu: Use new suite/test disabling functionality.
Andrey Grodzovsky [Fri, 10 Nov 2017 04:30:01 +0000 (23:30 -0500)]
amdgpu: Use new suite/test disabling functionality.

Switch from disabling tests during run to using the new disable
API.

Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
7 years agoamdgpu: Add functions to disable suites and tests.
Andrey Grodzovsky [Fri, 10 Nov 2017 04:30:00 +0000 (23:30 -0500)]
amdgpu: Add functions to disable suites and tests.

Suits are diasbled based on hooks they provide (e.g incompatible
ASIC or missing blocks). Single tests are diasbled explicitly.
Suit or test can be forced to execute even if disabled by adding -f
flag after specifying suit [test] ids.

Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
7 years agoheaders: Drop outdated node about a delta in drm_mode.h.
Eric Anholt [Wed, 8 Nov 2017 19:31:20 +0000 (11:31 -0800)]
headers: Drop outdated node about a delta in drm_mode.h.

Fixed in 9433b702fc16 ("headers: Sync drm{,_mode}.h with the kernel")

Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
7 years agoheaders: Sync up kernel changes to use kernel types instead of stdint.h.
Eric Anholt [Wed, 8 Nov 2017 19:22:55 +0000 (11:22 -0800)]
headers: Sync up kernel changes to use kernel types instead of stdint.h.

This pulls in pieces of drm-next d65d31388a23 ("Merge tag
'drm-misc-next-fixes-2017-11-07' of
git://anongit.freedesktop.org/drm/drm-misc into drm-next")

Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
7 years agoheaders: Sync up mga_drm.h from drm-next.
Eric Anholt [Wed, 8 Nov 2017 19:18:47 +0000 (11:18 -0800)]
headers: Sync up mga_drm.h from drm-next.

The kernel started using the struct from drm.h instead of the typedef.

Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
7 years agoheaders: Sync up some comment spelling and whitespace fixes from drm-next.
Eric Anholt [Wed, 8 Nov 2017 19:09:54 +0000 (11:09 -0800)]
headers: Sync up some comment spelling and whitespace fixes from drm-next.

This pulls in pieces of drm-next d65d31388a23
("Merge tag 'drm-misc-next-fixes-2017-11-07' of
git://anongit.freedesktop.org/drm/drm-misc into drm-next")

Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
7 years agoheaders: Sync up some header guard changes from drm-next.
Eric Anholt [Wed, 8 Nov 2017 19:06:55 +0000 (11:06 -0800)]
headers: Sync up some header guard changes from drm-next.

This pulls in pieces of drm-next d65d31388a23
("Merge tag 'drm-misc-next-fixes-2017-11-07' of
git://anongit.freedesktop.org/drm/drm-misc into drm-next")

Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
7 years agoheaders: Sync vc4 header from drm-next.
Eric Anholt [Wed, 8 Nov 2017 19:04:31 +0000 (11:04 -0800)]
headers: Sync vc4 header from drm-next.

This updates the header with the contents from drm-next d65d31388a23
("Merge tag 'drm-misc-next-fixes-2017-11-07' of
git://anongit.freedesktop.org/drm/drm-misc into drm-next")

Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
7 years agoRevert "amdgpu: fix 32bit VA manager max address"
Christian König [Thu, 9 Nov 2017 09:36:05 +0000 (10:36 +0100)]
Revert "amdgpu: fix 32bit VA manager max address"

This reverts commit 944f6665de36b6a6c36263f23b7b9d1730e544fa.

Accidentially pushed an imcomplete patch.

Signed-off-by: Christian König <christian.koenig@amd.com>
7 years agoRevert "amdgpu: use the high VA range if possible"
Christian König [Thu, 9 Nov 2017 09:35:24 +0000 (10:35 +0100)]
Revert "amdgpu: use the high VA range if possible"

This reverts commit 6c0ea4b0c5452bfc1e67b74ce723696ef3c80b25.

Accidentially pushed an incomplete patch.

Signed-off-by: Christian König <christian.koenig@amd.com>
7 years agoamdgpu: use the high VA range if possible
Christian König [Tue, 7 Nov 2017 14:31:45 +0000 (15:31 +0100)]
amdgpu: use the high VA range if possible

This frees up the low range for HMM.

Signed-off-by: Christian König <christian.koenig@amd.com>
7 years agoamdgpu: fix 32bit VA manager max address
Christian König [Thu, 2 Nov 2017 17:54:59 +0000 (18:54 +0100)]
amdgpu: fix 32bit VA manager max address

The range is exclusive not inclusive.

Signed-off-by: Christian König <christian.koenig@amd.com>
7 years agoamdgpu: sanitize 64bit VA manager
Christian König [Thu, 2 Nov 2017 17:54:59 +0000 (18:54 +0100)]
amdgpu: sanitize 64bit VA manager

Adding the extra reservation of the 32bit space to the 64bit manager is
complete nonsense and just a waste of memory and CPU cycles.

Signed-off-by: Christian König <christian.koenig@amd.com>
7 years agoamdpgu: fix coding style in amdgpu_vamgr.c
Christian König [Thu, 2 Nov 2017 17:47:34 +0000 (18:47 +0100)]
amdpgu: fix coding style in amdgpu_vamgr.c

No functional change.

Signed-off-by: Christian König <christian.koenig@amd.com>
7 years agofreedreno: add the API fd_pipe_new2 to the symbol test
Emil Velikov [Tue, 7 Nov 2017 11:21:32 +0000 (11:21 +0000)]
freedreno: add the API fd_pipe_new2 to the symbol test

As kindly spotted by `make check'

Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
7 years agoexynos: change the license to X11/MIT
Inki Dae [Thu, 10 Aug 2017 04:52:38 +0000 (13:52 +0900)]
exynos: change the license to X11/MIT

Change GPL license of Exynos related code to X11/MIT.

I'd like to keep a consistent license across all Exynos code
because License checker notices two more licenses exist
in libdrm.

For the license change I need to get your agree - all committers.
So please give me Acked-by if you agree with me.

Signed-off-by: Inki Dae <inki.dae@samsung.com>
Acked-by: Hyungwon Hwang <human.hwang@samsung.com>
Acked-by: SooChan Lim <sc1.lim@samsung.com>
Acked-by: Sangjin LEE <lsj119@samsung.com>
Acked-by: Boram Park <boram1288.park@samsung.com>
Acked-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Acked-by: Joonyoung Shim <jy0922.shim@samsung.com>
Acked-by: Emil Velikov <emil.l.velikov@gmail.com>
Acked-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
Acked-by: Jan Vesely <jan.vesely@rutgers.edu>
7 years agofreedreno: submit-queue context priority
Rob Clark [Wed, 23 Aug 2017 21:08:39 +0000 (17:08 -0400)]
freedreno: submit-queue context priority

With a new-enough kernel to support prioritized submit-queues, we can
expose priority level support to mesa.  Open a submit queue associated
with the fd_pipe and pass it's id back to SUBMIT ioctl.

Signed-off-by: Rob Clark <robclark@freedesktop.org>
7 years agofreedreno: sync uapi header (driver version 1.3.0)
Rob Clark [Wed, 23 Aug 2017 19:00:12 +0000 (15:00 -0400)]
freedreno: sync uapi header (driver version 1.3.0)

Signed-off-by: Rob Clark <robclark@freedesktop.org>
7 years agoconfigure.ac: bump version for release libdrm-2.4.88
Marek Olšák [Fri, 3 Nov 2017 16:28:58 +0000 (17:28 +0100)]
configure.ac: bump version for release

7 years agoamdgpu: Fix wrappers for AMDGPU_VM IOCTL.
Andrey Grodzovsky [Thu, 2 Nov 2017 14:29:55 +0000 (10:29 -0400)]
amdgpu: Fix wrappers for AMDGPU_VM IOCTL.

Rmove amdgpu_context_handle from the interface and use
amdgpu_device_handle instead. Uupdate VMID reservation test
accordingly.

Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
7 years agoconfigure.ac: bump version for release libdrm-2.4.87
Marek Olšák [Tue, 31 Oct 2017 14:49:12 +0000 (15:49 +0100)]
configure.ac: bump version for release

7 years agoamdgpu: fix 32-bit build
Marek Olšák [Tue, 31 Oct 2017 14:48:23 +0000 (15:48 +0100)]
amdgpu: fix 32-bit build

7 years agoconfigure.ac: bump version for release libdrm-2.4.86
Marek Olšák [Tue, 31 Oct 2017 01:11:20 +0000 (02:11 +0100)]
configure.ac: bump version for release

7 years agoamdgpu: Add VMID reservation per GPU context test.
Andrey Grodzovsky [Fri, 27 Oct 2017 15:09:11 +0000 (11:09 -0400)]
amdgpu: Add VMID reservation per GPU context test.

The test will Reserve a VMID, submit a command and
unreserve the VMID.

v2:
Wrappers names were changed.

Signed-off-by: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
7 years agoamdgpu: Add wrappers for AMDGPU_VM IOCTL.
Andrey Grodzovsky [Fri, 27 Oct 2017 15:09:10 +0000 (11:09 -0400)]
amdgpu: Add wrappers for AMDGPU_VM IOCTL.

v2:
Rename wrappers to match the IOCTL naming, fix
identation and fix make check error.

Signed-off-by: Andrey Grodzovsky <Andrey.Grodzovsky@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
7 years agodrm/syncobj: fix some whitespace issues
Dave Airlie [Wed, 25 Oct 2017 06:43:56 +0000 (07:43 +0100)]
drm/syncobj: fix some whitespace issues

These had tabs, just remove them.

Signed-off-by: Dave Airlie <airlied@redhat.com>
7 years agodrm: sync drm headers from drm-next.
Dave Airlie [Wed, 25 Oct 2017 06:37:44 +0000 (16:37 +1000)]
drm: sync drm headers from drm-next.

This updates the headers with the contents in drm-next
at 62884cd386b876638720ef88374b31a84ca7ee5f

This adds leasing and aspect ratio.

7 years agoconfigure.ac: bump version to 2.4.85 libdrm-2.4.85
Marek Olšák [Fri, 20 Oct 2017 22:26:24 +0000 (00:26 +0200)]
configure.ac: bump version to 2.4.85

7 years agoamdgpu: add padding to the fence to handle ioctl
Marek Olšák [Fri, 20 Oct 2017 22:19:52 +0000 (00:19 +0200)]
amdgpu: add padding to the fence to handle ioctl

copied from Dave's kernel patch.

7 years agoAdd const qualifier to arguments of drmModeAddFB2()
Tobias Jakobi [Tue, 10 Oct 2017 10:12:52 +0000 (12:12 +0200)]
Add const qualifier to arguments of drmModeAddFB2()

Both drmModeAddFB2() and drmModeAddFB2WithModifiers() have some
arguments that are just pointers to uint32_t in disguise. These
are not modified (just copied) in the function, so we can add a
const qualifier here.

Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
7 years agoamdgpu: implement context priority for amdgpu_cs_ctx_create2 v3
Andres Rodriguez [Fri, 20 Oct 2017 14:57:59 +0000 (10:57 -0400)]
amdgpu: implement context priority for amdgpu_cs_ctx_create2 v3

Add a new context creation function that allows specifying the context
priority.

A high priority context has the potential of starving lower priority
contexts. The current kernel driver implementation allows only apps
that hold CAP_SYS_NICE or DRM_MASTER to acquire a priority above
AMDGPU_CTX_PRIORITY_NORMAL.

v2: corresponding changes for kernel patch v2
v3: Fixed 'make check' symbol error

Signed-off-by: Andres Rodriguez <andresx7@gmail.com>
Acked-by: Dave Airlie <airlied@redhat.com>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
7 years agoheaders: Sync amdgpu_drm.h with drm-next
Andres Rodriguez [Fri, 20 Oct 2017 14:57:58 +0000 (10:57 -0400)]
headers: Sync amdgpu_drm.h with drm-next

Generated using make headers_install from:
airlied/drm-next 282dc83 Merge tag 'drm-intel-next-2017-10-12' ...

Signed-off-by: Andres Rodriguez <andresx7@gmail.com>
Acked-by: Dave Airlie <airlied@redhat.com>
Acked-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
7 years agomodetest: Allow full testing of primary planes
Ville Syrjälä [Wed, 11 Oct 2017 14:58:11 +0000 (17:58 +0300)]
modetest: Allow full testing of primary planes

Allow the user to override the default configuration set by setcrtc
for the primary plane. On some hardware primary planes can be freely
positioned/sized, and it'd be nice if we can actually test that feature.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
7 years agomodetest: Decode IN_FORMATS plane blob property
Kristian H. Kristensen [Thu, 28 Sep 2017 23:02:09 +0000 (16:02 -0700)]
modetest: Decode IN_FORMATS plane blob property

This teaches modetest about the new IN_FORMATS blob and decodes the
blob to show supported formats and modifiers.

Signed-off-by: Kristian H. Kristensen <hoegsberg@chromium.org>
7 years agoconfigure.ac: bump version to 2.4.84 libdrm-2.4.84
Marek Olšák [Thu, 12 Oct 2017 18:48:54 +0000 (20:48 +0200)]
configure.ac: bump version to 2.4.84

7 years agoamdgpu: add amdgpu_cs_fence_to_handle
Marek Olšák [Fri, 8 Sep 2017 14:05:54 +0000 (16:05 +0200)]
amdgpu: add amdgpu_cs_fence_to_handle

v2: update amdgpu-symbol-check

Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
7 years agoamdgpu: add amdgpu_cs_syncobj_wait
Marek Olšák [Mon, 11 Sep 2017 19:58:03 +0000 (21:58 +0200)]
amdgpu: add amdgpu_cs_syncobj_wait

v2: update amdgpu-symbol-check

Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
7 years agodrm: add drmSyncobjWait wrapper
Marek Olšák [Mon, 11 Sep 2017 19:57:32 +0000 (21:57 +0200)]
drm: add drmSyncobjWait wrapper

Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
7 years agoamdgpu: add sync_file import and export functions
Marek Olšák [Mon, 11 Sep 2017 19:12:12 +0000 (21:12 +0200)]
amdgpu: add sync_file import and export functions

v2: update amdgpu-symbol-check

Reviewed-by: Chunming Zhou <david1.zhou@amd.com>
7 years agoinclude: sync drm.h and amdgpu_drm.h with airlied/drm-next
Marek Olšák [Thu, 12 Oct 2017 18:31:44 +0000 (20:31 +0200)]
include: sync drm.h and amdgpu_drm.h with airlied/drm-next

7 years agoheaders: sync syncobj ioctl defines.
Dave Airlie [Wed, 11 Oct 2017 00:41:25 +0000 (10:41 +1000)]
headers: sync syncobj ioctl defines.

This syncs the drm.h header with my drm-next branch as of
bb7a9c8d712f37385a706a594d6edf6e6d2669d0

Signed-off-by: Dave Airlie <airlied@redhat.com>
7 years agoheaders: sync DRM_MODE_ROTATE/REFLECT defines from kernel v4.14-rc1
Rob Herring [Fri, 6 Oct 2017 21:18:57 +0000 (16:18 -0500)]
headers: sync DRM_MODE_ROTATE/REFLECT defines from kernel v4.14-rc1

Add the new DRM_MODE_ROTATE_* and DRM_MODE_REFLECT_* defines from v4.14-rc1
kernel.

Reviewed-by: Thierry Reding <treding@nvidia.com>
Reviewed-by: Robert Foss <robert.foss@collabora.com>
Signed-off-by: Rob Herring <robh@kernel.org>
7 years agoAndroid: move libraries to /vendor
Rob Herring [Fri, 15 Sep 2017 13:45:59 +0000 (08:45 -0500)]
Android: move libraries to /vendor

As part of Treble project in Android O, all the device specific files have
to be located in a separate vendor partition. This is done by setting
LOCAL_PROPRIETARY_MODULE (the name is misleading). This change will not
break existing platforms without a vendor partition as it will just move
files to /system/vendor.

Signed-off-by: Rob Herring <robh@kernel.org>
7 years agotests/amdgpu: fix uvd enc data corruption issue
James Zhu [Thu, 5 Oct 2017 14:57:42 +0000 (10:57 -0400)]
tests/amdgpu: fix uvd enc data corruption issue

In uvd encode parameter package, parameters input_pic_luma_pitch and
input_pic_chroma_pitch should be picture width align with hardware alignment.
The hardware alignment is 16 for amdgpu family earlier than AMDGPU_FAMILY_AI,
and 256 for later than and including AMDGPU_FAMILY_AI.

Signed-off-by: James Zhu <James.Zhu@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
7 years agotests/amdgpu: add new uvd enc support check
James Zhu [Thu, 5 Oct 2017 14:56:51 +0000 (10:56 -0400)]
tests/amdgpu: add new uvd enc support check

Query hardware IP information to find out if there are uvd encode rings
ready for use in kernel driver.

Signed-off-by: James Zhu <James.Zhu@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
7 years agoamdgpu: Add deadlock detection test suit.
Andrey Grodzovsky [Mon, 2 Oct 2017 18:07:48 +0000 (14:07 -0400)]
amdgpu: Add deadlock detection test suit.

Adding initial tests for locks detection when SW
scheduler FIFO is full.

The test works by submitting a batch of identical commands which make the CP
stall waiting for condition to become true. The condition is later satisfied
form a helper thread. Other events that happen during this time
might create deadlock situations. One such example is GPU reset
triggered by this stall when  amdgpu_lockup_timeout != 0.

v2:
Increase the delay from 2 to 100 ms.
Comment out the compute test until it's working.
Typos fix.

Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
7 years agoamdgpu: make userptr unit test more interesting
Christian König [Thu, 7 Sep 2017 08:16:01 +0000 (10:16 +0200)]
amdgpu: make userptr unit test more interesting

Do a fork() to force some MMU callbacks.

Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
7 years agoamdgpu: print error messages when amdgpu_device_initialize is failing
Marek Olšák [Mon, 4 Sep 2017 19:05:26 +0000 (21:05 +0200)]
amdgpu: print error messages when amdgpu_device_initialize is failing

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
7 years agointel: Change a KBL pci id to GT2 from GT1.5
Anuj Phogat [Wed, 20 Sep 2017 19:11:03 +0000 (12:11 -0700)]
intel: Change a KBL pci id to GT2 from GT1.5

See Mesa commit 9c588ff

Cc: Matt Turner <mattst88@gmail.com>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
7 years agofreedreno/kgsl: fix pointer-to-int cast
Eric Engestrom [Thu, 14 Sep 2017 09:56:01 +0000 (10:56 +0100)]
freedreno/kgsl: fix pointer-to-int cast

Fixes this warning:

freedreno/kgsl/kgsl_ringbuffer.c: In function ‘kgsl_ringbuffer_flush’:
freedreno/kgsl/kgsl_ringbuffer.c:149:19: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
   req.timestamp = (uint32_t)kgsl_ring->bo->hostptr;
                   ^

Signed-off-by: Eric Engestrom <eric.engestrom@imgtec.com>
Reviewed-by: Rob Clark <robdclark@gmail.com>
7 years agoetnaviv: prevent deadlock in error path
Philipp Zabel [Wed, 13 Sep 2017 14:08:19 +0000 (16:08 +0200)]
etnaviv: prevent deadlock in error path

If drmPrimeFDToHandle fails in etna_bo_from_dmabuf, the function must
not return with the table_lock mutex held. Unlock the mutex in the error
path.

Based on ceb70a6b1015 ("freedreno: prevent deadlock in error path").

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
7 years agoamdgpu: Do not write beyond allocated memory when parsing ids
Jan Vesely [Fri, 1 Sep 2017 18:49:19 +0000 (14:49 -0400)]
amdgpu: Do not write beyond allocated memory when parsing ids

Fixes crash when/usr/share/libdrm/amdgpu.ids contains ASIC_ID_TABLE_NUM_ENTRIES + 1 entries.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=102432
Fixes: 7e6bf88cac315a9fa41818cf72a7b5d18a2cb1fc (amdgpu: move asic id table to a separate file)
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
7 years agotests/amdgpu: add missing header to SOURCES
Alex Deucher [Wed, 30 Aug 2017 18:00:18 +0000 (14:00 -0400)]
tests/amdgpu: add missing header to SOURCES

Fixes the tarball generation.

fixes: 9d133dd08720d80dfc8ce098bf0972 (tests/amdgpu: add uvd encode unit tests)
bug: https://bugs.freedesktop.org/show_bug.cgi?id=102391
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
7 years agoconfigure.ac: Bump version to 2.4.83 libdrm-2.4.83
Daniel Stone [Thu, 24 Aug 2017 11:31:30 +0000 (12:31 +0100)]
configure.ac: Bump version to 2.4.83

7 years agoetnaviv: fix etna_bo_from_name
Philipp Zabel [Mon, 21 Aug 2017 12:41:11 +0000 (14:41 +0200)]
etnaviv: fix etna_bo_from_name

Look up BOs from the name table using the name parameter instead of
req.handle (which at this point is always zero).

Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Wladimir J. van der Laan <laanwj@gmail.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
7 years agoandroid: amdgpu: fix build break
Chih-Wei Huang [Thu, 27 Jul 2017 08:20:52 +0000 (16:20 +0800)]
android: amdgpu: fix build break

Define two macros to avoid building errors.

Fixes: 7e6bf88cac (amdgpu: move asic id table to a separate file)

Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
7 years agoandroid: add rules to build amdgpu.ids
Chih-Wei Huang [Thu, 27 Jul 2017 08:20:51 +0000 (16:20 +0800)]
android: add rules to build amdgpu.ids

Signed-off-by: Chih-Wei Huang <cwhuang@linux.org.tw>
7 years agodrmsltest: Check expected neighbours
Jan Vesely [Fri, 28 Jul 2017 14:23:22 +0000 (10:23 -0400)]
drmsltest: Check expected neighbours

Fixes: 7d8c9464081634f053e16e5eac9655a12fae1dc4
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
7 years agotests/amdgpu: add uvd encode unit tests
Boyuan Zhang [Tue, 15 Aug 2017 15:33:43 +0000 (11:33 -0400)]
tests/amdgpu: add uvd encode unit tests

Signed-off-by: Boyuan Zhang <boyuan.zhang@amd.com>
Acked-by: Alex Deucher <alexander.deucher at amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
7 years agodrm: Pull new modifier uapi into drm_fourcc and drm_mode
Jason Ekstrand [Mon, 14 Aug 2017 23:12:19 +0000 (16:12 -0700)]
drm: Pull new modifier uapi into drm_fourcc and drm_mode

Reviewed-by: Daniel Stone <daniels@collabora.com>