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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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.
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Marek Olšák [Fri, 3 Nov 2017 16:28:58 +0000 (17:28 +0100)]
configure.ac: bump version for release
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>
Marek Olšák [Tue, 31 Oct 2017 14:49:12 +0000 (15:49 +0100)]
configure.ac: bump version for release
Marek Olšák [Tue, 31 Oct 2017 14:48:23 +0000 (15:48 +0100)]
amdgpu: fix 32-bit build
Marek Olšák [Tue, 31 Oct 2017 01:11:20 +0000 (02:11 +0100)]
configure.ac: bump version for release
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>
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>
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>
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.
Marek Olšák [Fri, 20 Oct 2017 22:26:24 +0000 (00:26 +0200)]
configure.ac: bump version to 2.4.85
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.
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>
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>
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>
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>
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>
Marek Olšák [Thu, 12 Oct 2017 18:48:54 +0000 (20:48 +0200)]
configure.ac: bump version to 2.4.84
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>
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>
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>
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>
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
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Daniel Stone [Thu, 24 Aug 2017 11:31:30 +0000 (12:31 +0100)]
configure.ac: Bump version to 2.4.83
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>
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>
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>
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>
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>
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>
Monk Liu [Tue, 8 Aug 2017 16:09:07 +0000 (12:09 -0400)]
amdgpu: merge and cleanup amdgpu_bo_free
since bo_reference and bo_internal_free are
all only used by bo_free, so we just merge them
together
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Monk Liu <monk.liu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Monk Liu [Tue, 8 Aug 2017 07:34:20 +0000 (15:34 +0800)]
amdgpu: fix race issue between two bo functions(v2)
there is race issue between two threads on amdgpu_bo_reference and
amdgpu_bo_import, this patch tends to fix it by moving the
pthread_mutex_lock out of bo_free_internal and move to bo_reference
to cover the update_reference part.
The mutex_unlock in bo_import should also cover bo refcount
increasement.
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Monk Liu <monk.liu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Monk Liu [Mon, 7 Aug 2017 14:35:11 +0000 (22:35 +0800)]
amdgpu: fix missing mutex unlock before return
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Monk Liu <monk.liu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Eric Engestrom [Sun, 30 Jul 2017 20:27:40 +0000 (21:27 +0100)]
freedreno: prevent deadlock in error path
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Rob Clark <robdclark@gmail.com>
Eric Engestrom [Sun, 30 Jul 2017 20:27:39 +0000 (21:27 +0100)]
freedreno/msm: remove dead error path
`ring` cannot be non-null, so the label reduces to a simple return.
Then, there is no point initialising `ring` just to overwrite it before
anyone reads it.
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Rob Clark <robdclark@gmail.com>
Eric Engestrom [Sun, 30 Jul 2017 20:27:38 +0000 (21:27 +0100)]
freedreno: remove dead error path
`pipe` cannot be non-null, so the label reduces to a simple return.
Then, there is no point initialising `pipe` just to overwrite it before
anyone reads it.
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Rob Clark <robdclark@gmail.com>
Flora Cui [Wed, 19 Jul 2017 02:52:33 +0000 (10:52 +0800)]
test/amdgpu: fix test failure for SI
Signed-off-by: Flora Cui <Flora.Cui@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Hawking Zhang [Sat, 27 May 2017 06:49:19 +0000 (14:49 +0800)]
tests/amdgpu: bypass VCE tests on raven
raven doesn't support VCE
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com>
Reviewed-by: Xiaojie Yuan <Xiaojie.Yuan@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Hawking Zhang [Sat, 27 May 2017 05:40:45 +0000 (13:40 +0800)]
tests/amdgpu: bypass UVD CS tests on raven
raven doesn't support UVD decode
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com>
Reviewed-by: Xiaojie Yuan <Xiaojie.Yuan@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Jan Vesely [Fri, 28 Jul 2017 05:46:45 +0000 (01:46 -0400)]
amdgpu: Add FX-9800P Bristol Ridge iGPU id
Signed-off-by: Jan Vesely <jan.vesely@rutgers.edu>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Eric Engestrom [Sun, 30 Jul 2017 20:34:16 +0000 (21:34 +0100)]
radeon: add fallthrough annotation
GCC 7 started warning when a switch case has neither a `break` nor
a "fallthrough" comment.
Let's be explicit that we meant to fall through here.
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Emil Velikov [Thu, 20 Jul 2017 11:25:27 +0000 (12:25 +0100)]
xf86drm: continue with next device if drmProcessUsbDevice fails
Analogous to previous commit (and the rest of the codebase), simply
discard the device if we cannot parse it.
Fixes:
f8484ccbd12 ("xf86drm: Add USB support")
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Gurchetan Singh [Wed, 19 Jul 2017 15:37:06 +0000 (08:37 -0700)]
xf86drm: continue after drmProcessPlatformDevice failure
On ChromeOS devices, readdir() processes the directory in
the following order:
-NAME- -TYPE-
. n/a
.. n/a
vgem n/a
card1 DRM_BUS_PLATFORM
renderD129 DRM_BUS_PLATFORM
card0 DRM_BUS_PCI
renderD128 DRM_BUS_PCI
controlD64 DRM_BUS_PCI
In drmGetDevices2, after drmProcessPlatformDevice fails for
/dev/dri/card1, we don't process the remaining directory entries.
As such, Vulkan fails to initialize since Mesa uses drmGetDevices2.
To fix this, continue if drmProcessPlatformDevice fails.
Fixes:
7b1f37f474d ("xf86drm: Add platform and host1x bus support")
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
[Emil: correct the host1x platforms as well]
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Lucas Stach [Wed, 19 Jul 2017 08:49:34 +0000 (10:49 +0200)]
configure.ac: bump version for release
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Dave Airlie [Tue, 18 Jul 2017 23:40:38 +0000 (00:40 +0100)]
amdgpu: add new symbols to tests.
Dave Airlie [Tue, 18 Jul 2017 00:31:27 +0000 (01:31 +0100)]
drm/amdgpu: add new low overhead command submission API. (v2)
This just sends chunks to the kernel API for a single command
stream.
This should provide a more future proof and extensible API
for command submission.
v2: use amdgpu_bo_list_handle, add two helper functions to
access bo and context internals.
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Dave Airlie [Sun, 16 Jul 2017 19:18:40 +0000 (20:18 +0100)]
drm/amdgpu: add syncobj create/destroy/import/export apis
These are just wrappers using the amdgpu device handle.
Acked-by: Chunming Zhou <david1.zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
coypu [Fri, 30 Jun 2017 03:56:55 +0000 (03:56 +0000)]
Remove redundant memclear
drmMalloc will zero out the memory for us
Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com>
Christian Gmeiner [Fri, 9 Jun 2017 10:27:34 +0000 (12:27 +0200)]
etnaviv: submit full struct drm_etnaviv_gem_submit
It is safe to submit the full struct even on older kernels as such
kernels do not process the full struct. Without this change it
becomes quite challenging to extned the submit struct.
Freedreno has no special treatment too. See git commits
- freedreno: sync uapi header
- freedreno: add fence fd support
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Tested-by: Philipp Zabel <p.zabel@pengutronix.de>