OSDN Git Service
Devarsh Thakkar [Fri, 15 Nov 2019 14:31:00 +0000 (06:31 -0800)]
modetest: Add support for setting mode having floating vertical refresh rate
For the scenario where user may require to modeset with a mode
supporting a fractional value for vertical refresh-rate,
appropriate mode can be selected by searching for mode
having matching fractional vertical refresh rate using
below equation.
vrefresh = (1000 * pixel clock) / (htotal * vtotal) Hz.
We do this way since driver doesn't return float value of vrefresh
as it use int for vrefresh in struct drm_mode_info, but we can derive
the actual value using pixel clock, horizontal total size and
vertical total size values.
So for e.g. if user want to select mode having 59.94 Hz as refresh rate
then with this patch it be can done as shown in below command,
given there is an appropriate mode is available :
modetest -M xlnx -s 39:1920x1080-59.94@BG24 -v
NOTE: Above command was tested on xilinx DRM driver with DP
monitor which was supporting mode having 59.94 Hz refresh rate.
V2: Update commit message
V3: Update with below changes as per review comments :
1) Use epsilon for vrefresh comparison
2) Use implicit type-casting wherever possible
V4: Keep patch version history on main commit message
Signed-off-by: Devarsh Thakkar <devarsh.thakkar@xilinx.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Eric Engestrom [Sat, 16 Nov 2019 11:13:36 +0000 (11:13 +0000)]
gitlab-ci: add PowerPC build
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Eric Engestrom [Wed, 24 Oct 2018 10:19:15 +0000 (11:19 +0100)]
gitlab-ci: add aarch64 & armhf builds
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Eric Engestrom [Wed, 5 Sep 2018 11:23:26 +0000 (12:23 +0100)]
gitlab-ci: add x86 (32 bits) build
Suggested-by: Daniel Vetter <daniel@ffwll.ch>
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Eric Engestrom [Sun, 20 Oct 2019 22:06:56 +0000 (23:06 +0100)]
gitlab-ci: set up cross build infra
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Eric Engestrom [Tue, 12 Nov 2019 12:13:11 +0000 (12:13 +0000)]
gitlab-ci: drop arch build down to daily builds
Suggested-by: Michel Dänzer <michel@daenzer.net>
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Simon Ser [Sat, 26 Oct 2019 17:36:37 +0000 (19:36 +0200)]
Fix missing stdlib includes in xf86drmMode.h
Including xf86drmMode.h results in undefined references to uint32_t
and ssize_t. Include the stdlib headers that define them to allow the
file to be included without xf86drm.h.
Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Eric Engestrom [Wed, 23 Oct 2019 22:34:43 +0000 (23:34 +0100)]
meson: drop old symbols check environment
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Eric Engestrom [Wed, 23 Oct 2019 22:32:55 +0000 (23:32 +0100)]
tegra: convert to new symbols check
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Eric Engestrom [Wed, 23 Oct 2019 22:32:54 +0000 (23:32 +0100)]
radeon: convert to new symbols check
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Eric Engestrom [Wed, 23 Oct 2019 22:32:54 +0000 (23:32 +0100)]
omap: convert to new symbols check
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Eric Engestrom [Wed, 23 Oct 2019 22:32:54 +0000 (23:32 +0100)]
nouveau: convert to new symbols check
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Eric Engestrom [Wed, 23 Oct 2019 22:32:54 +0000 (23:32 +0100)]
libkms: convert to new symbols check
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Eric Engestrom [Wed, 23 Oct 2019 22:32:54 +0000 (23:32 +0100)]
intel: convert to new symbols check
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Eric Engestrom [Wed, 23 Oct 2019 22:32:54 +0000 (23:32 +0100)]
freedreno: convert to new symbols check
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Eric Engestrom [Wed, 23 Oct 2019 22:32:54 +0000 (23:32 +0100)]
exynos: convert to new symbols check
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Eric Engestrom [Wed, 23 Oct 2019 22:32:54 +0000 (23:32 +0100)]
etnaviv: convert to new symbols check
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Eric Engestrom [Wed, 23 Oct 2019 22:32:54 +0000 (23:32 +0100)]
amdgpu: convert to new symbols check
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Eric Engestrom [Wed, 23 Oct 2019 21:57:51 +0000 (22:57 +0100)]
meson: import Mesa's symbols check script
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Eric Engestrom [Wed, 23 Oct 2019 22:29:27 +0000 (23:29 +0100)]
freedreno: drop leftover symbol from the export list
Fixes:
09cbccff558988c57e52 ("freedreno: remove deprecated ringmarker API")
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Chunming Zhou [Wed, 24 Jul 2019 07:55:20 +0000 (15:55 +0800)]
libdrm: wrap new flexible syncobj query interface v2
v2: nit-picks fix
Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
Cc: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Cc: Christian König <Christian.Koenig@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
For the xf86drm.[ch] part : Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Chunming Zhou [Thu, 24 Oct 2019 06:42:13 +0000 (14:42 +0800)]
sync up drm.h
a) delta: drm: use pad as flags in drm_syncobj_timeline_array.
b) Generated using make headers_install.
c) Generated from origin/drm-misc-next commit
949561eb85bcee10248e7da51d44a0325d5e0d1b"
Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
Eric Engestrom [Wed, 25 Sep 2019 21:54:59 +0000 (22:54 +0100)]
gitlab-ci: pre-build containers to improve CI run time and reliability
Shaves about 50% off the build time on both debian and arch builds.
(yeah, I know, it's very small anyway compared to mesa, but we might
want to add more things in the future)
This also makes the build no longer dependent on external websites:
once the image is build, only fdo-internal services are used.
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Eric Engestrom [Fri, 18 Oct 2019 17:05:45 +0000 (18:05 +0100)]
Revert "Revert "libdrm: remove autotools support""
The external tooling issue has been fixed, so we can delete autotools
again :)
Marek Olšák [Wed, 16 Oct 2019 21:35:55 +0000 (17:35 -0400)]
Bump the version to 2.4.100 for autotools
Marek Olšák [Wed, 16 Oct 2019 21:33:28 +0000 (17:33 -0400)]
Revert "libdrm: remove autotools support"
This reverts commit
f057dc91e93ae21e11ab48a26127d569972f3eae.
Marek Olšák [Wed, 16 Oct 2019 19:27:05 +0000 (15:27 -0400)]
Bump the version to 2.4.100
Marek Olšák [Wed, 9 Oct 2019 23:18:08 +0000 (19:18 -0400)]
amdgpu: add amdgpu_cs_query_reset_state2 for AMDGPU_CTX_OP_QUERY_STATE2
This is a better GPU reset query.
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Marek Olšák [Tue, 24 Sep 2019 21:43:15 +0000 (17:43 -0400)]
include: update amdgpu_drm.h
Generated from kernel commit:
815fb4c9d7da862 "drm/amdgpu: return tcc_disabled_mask to userspace"
Reviewed-by: Michel Dänzer <mdaenzer@redhat.com>
Nirmoy Das [Mon, 14 Oct 2019 14:53:36 +0000 (16:53 +0200)]
test/amdgpu: don't free unused bo handle
Signed-off-by: Nirmoy Das <nirmoy.das@amd.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Eric Engestrom [Wed, 7 Nov 2018 15:30:55 +0000 (15:30 +0000)]
libdrm: remove autotools support
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Eric Engestrom [Wed, 19 Dec 2018 12:16:25 +0000 (12:16 +0000)]
RELEASING: update instructions to use meson instead of autotools
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Acked-by: Dylan Baker <dylan@pnwbakers.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Eric Engestrom [Fri, 4 Oct 2019 08:37:31 +0000 (09:37 +0100)]
*-symbols-check: let meson figure out how to execute the scripts
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Emil Velikov [Sun, 16 Jun 2019 13:23:41 +0000 (14:23 +0100)]
*-symbols-check: use normal shell over bash
None of the tests are bash specific. Tested with bash, zsh, dash, mksh
and ksh.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Tested-by: Niclas Zeising <zeising@daemonic.se>
Reviewed-by: Niclas Zeising <zeising@daemonic.se>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Niclas Zeising [Sun, 16 Jun 2019 13:23:43 +0000 (14:23 +0100)]
meson.build: Fix header detection on FreeBSD
FreeBSD requires sys/types.h for sys/sysctl.h, add it as part of the
includes when checking for headers.
Instead of splitting out the check for sys/sysctl.h from the other
header checks, just add sys/types.h to all header checks.
v2 [Emil]
- add inline comment
- drop bash/sh hunk
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
Signed-off-by: Niclas Zeising <zeising@daemonic.se>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Niclas Zeising [Sun, 16 Jun 2019 13:23:40 +0000 (14:23 +0100)]
meson.build: Fix typo
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Le Ma [Mon, 5 Aug 2019 02:08:44 +0000 (10:08 +0800)]
tests/amdgpu: add the missing deactivation case for dispatch test
Signed-off-by: Le Ma <le.ma@amd.com>
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Guchun Chen [Wed, 28 Aug 2019 10:25:43 +0000 (18:25 +0800)]
amdgpu: add ras feature capability check in inject test
When running ras inject test, it's needed to be aligned
with kernel's ras enablement.
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tao Zhou <tao.zhou1@amd.com>
Signed-off-by: Guchun Chen <guchun.chen@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Guchun Chen [Tue, 27 Aug 2019 09:42:14 +0000 (17:42 +0800)]
amdgpu: add ras inject unit test
Both UMC and GFX ras single_correctable
inject tests are added.
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tao Zhou <tao.zhou1@amd.com>
Signed-off-by: Guchun Chen <guchun.chen@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Guchun Chen [Tue, 27 Aug 2019 02:44:18 +0000 (10:44 +0800)]
amdgpu: delete test configuration file
Json package dependence is removed from amdgpu_test,
so this json configuration file is not needed any more.
Suggested-by: Christian König <christian.koenig@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tao Zhou <tao.zhou1@amd.com>
Signed-off-by: Guchun Chen <guchun.chen@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Guchun Chen [Tue, 27 Aug 2019 02:27:18 +0000 (10:27 +0800)]
amdgpu: remove json package dependence
Except CUnit library, no additional external
library should be needed when compiling amdgpu_test.
This will keep this binary self containing.
Suggested-by: Christian König <christian.koenig@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Tao Zhou <tao.zhou1@amd.com>
Signed-off-by: Guchun Chen <guchun.chen@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Eric Engestrom [Sat, 14 Sep 2019 21:22:03 +0000 (22:22 +0100)]
meson: fix sys/mkdev.h detection on Solaris
On Solaris, sys/sysmacros.h has long-deprecated copies of major() & minor()
but not makedev().
sys/mkdev.h has all three and is the preferred choice.
Let's make sure we check for all 3 major(), minor() and makedev().
Fixes build failure with error:
../xf86drm.c: In function ‘drmOpenMinor’:
../xf86drm.c:454:30: error: implicit declaration of function ‘makedev’ [-Werror=implicit-function-declaration]
454 | return drmOpenDevice(makedev(DRM_MAJOR, minor), minor, type);
| ^~~~~~~
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Tested-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Anusha Srivatsa [Fri, 30 Aug 2019 20:32:51 +0000 (13:32 -0700)]
intel: sync i915_pciids.h with kernel
Add the new CML PCI IDS.
Align with kernel commit:
bfc4c359b2822 ("drm/i915/cml: Add Missing PCI IDs")
This is in sync with kernel header as of:
0747590267e7 ("drm-tip: 2019y-08m-30d-18h-03m-18s UTC integration manifest")
Cc: José Roberto de Souza <jose.souza@intel.com>
Signed-off-by: Anusha Srivatsa <anusha.srivatsa@intel.com>
Guchun Chen [Tue, 6 Aug 2019 07:14:29 +0000 (15:14 +0800)]
amdgpu: add umc ras inject test configuration
Both umc single_correctable and multi_uncorrectable
inject types are added.
Signed-off-by: Dennis Li <dennis.li@amd.com>
Signed-off-by: Guchun Chen <guchun.chen@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Reviewed-by: Tao Zhou <tao.zhou1@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Guchun Chen [Wed, 31 Jul 2019 09:06:06 +0000 (17:06 +0800)]
tests/amdgpu/ras: refine ras inject test
Ras inject test framework is invalid with original codes,
so refine it to make it work on top of kernel ras inject
feature enablement.
Signed-off-by: Dennis Li <dennis.li@amd.com>
Signed-off-by: Guchun Chen <guchun.chen@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Reviewed-by: Tao Zhou <tao.zhou1@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Guchun Chen [Wed, 31 Jul 2019 08:56:49 +0000 (16:56 +0800)]
amdgpu: add gfx ras inject configuration file
This configuration file will be picked up when
running gfx ras inject tests by amdgpu_test tool.
For the time being, only add those tests that are
successfully trafficked. In addition, this file
can also be modified by user to add or delete ras
inject unit tests for different IP blocks/subblocks.
Signed-off-by: Dennis Li <dennis.li@amd.com>
Signed-off-by: Guchun Chen <guchun.chen@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Reviewed-by: Tao Zhou <tao.zhou1@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Le Ma [Mon, 22 Jul 2019 07:52:50 +0000 (15:52 +0800)]
tests/amdgpu: divide dispatch test into compute and gfx
for better clarification
v2: accordingly change dispatch_test caller in gpu_reset test
Signed-off-by: Le Ma <le.ma@amd.com>
Reviewed-by: Flora Cui <flora.cui@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Flora Cui [Tue, 23 Jul 2019 02:00:22 +0000 (10:00 +0800)]
tests/amdgpu: disable reset test for now
ASIC hang randomly.
Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Feifei Xu <Feifei.Xu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Rodrigo Vivi [Thu, 6 Sep 2018 04:29:49 +0000 (21:29 -0700)]
intel: Add support for EHL
Add the PCI ID import for EHL.
Cc: James Ausmus <james.ausmus@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Rodrigo Vivi [Thu, 6 Sep 2018 04:17:47 +0000 (21:17 -0700)]
intel: add the TGL 12 PCI IDs and macros
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Lucas De Marchi [Mon, 15 Jul 2019 17:58:12 +0000 (10:58 -0700)]
intel: sync i915_pciids.h with kernel
Straight copy from the kernel file, aligned with drm-intel-next-queued
commit
cb823ed9915b ("drm/i915/gt: Use intel_gt as the primary object
for handling resets")
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Flora Cui [Mon, 22 Apr 2019 07:57:23 +0000 (15:57 +0800)]
tests/amdgpu: add gpu reset test
1. perform gpu reset
2. perform dispatch test to verify gpu reset to a good state
Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Flora Cui [Tue, 23 Apr 2019 09:04:04 +0000 (17:04 +0800)]
tests/amdgpu: fix for dispatch/draw test
1. skip test if there's no desired ring
2. clear shader buffer
3. update command buffer for gfx9
Signed-off-by: Flora Cui <flora.cui@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Eric Engestrom [Wed, 19 Dec 2018 13:53:41 +0000 (13:53 +0000)]
xf86drm: dedupe drmGetDeviceName() logic
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Eric Engestrom [Wed, 19 Dec 2018 13:42:08 +0000 (13:42 +0000)]
xf86drm: use max size of drm node name instead of arbitrary size
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Eric Engestrom [Wed, 19 Dec 2018 13:02:13 +0000 (13:02 +0000)]
xf86drm: dedupe `#define`s
Adapted from a local patch carried by DragonFlyBSD:
https://github.com/DragonFlyBSD/DPorts/blob/
bc056f88f7e4d468d8c9751f831a47b5ae1326e3/graphics/libdrm/files/patch-xf86drm.h
Patch is sadly uncredited (a bot authored the commit), so I can't credit
the author here either.
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Jonathan Gray [Sun, 12 May 2019 16:52:04 +0000 (02:52 +1000)]
xf86drm: open correct render node on non-linux
drm render nodes have the same major as drm primary devices but offset
the minor by a base of 128.
I expected the name of the device to have numbering starting at 0 when
these non-linux codepaths were added (before OpenBSD had render nodes).
Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
Acked-by: Eric Engestrom <eric.engestrom@intel.com>
Jonathan Gray [Sun, 12 May 2019 16:50:49 +0000 (02:50 +1000)]
xf86drm: test for render nodes before primary nodes
Unlike Linux the OpenBSD primary "drm" device name is substring of the
"drmR" render node device name and strncmp() tests resulted in render
nodes being flagged as primary nodes.
Signed-off-by: Jonathan Gray <jsg@jsg.id.au>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Acked-by: Eric Engestrom <eric.engestrom@intel.com>
Ilia Mirkin [Wed, 3 Jul 2019 03:18:56 +0000 (23:18 -0400)]
tests/util: fix incorrect memset argument order
Make it actually clear the LUT.
Reported-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Marek Olšák [Tue, 2 Jul 2019 18:36:25 +0000 (14:36 -0400)]
Bump version to 2.4.99
Michel Dänzer [Thu, 20 Jun 2019 08:49:01 +0000 (10:49 +0200)]
amdgpu: Rename fd_mutex/list to dev_mutex/list
Seems to better reflect what they're for.
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Michel Dänzer [Fri, 14 Jun 2019 16:43:30 +0000 (18:43 +0200)]
amdgpu: Add BO handle to table in amdgpu_bo_create
Simplifies its callers.
dev->bo_table_mutex is now always held when amdgpu_bo_create is called
(this was already the case in amdgpu_bo_import).
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Michel Dänzer [Thu, 13 Jun 2019 15:06:42 +0000 (17:06 +0200)]
amdgpu: Pass file descriptor directly to amdgpu_close_kms_handle
And propagate drmIoctl's return value.
This allows replacing all remaining open-coded DRM_IOCTL_GEM_CLOSE
ioctl calls with amdgpu_close_kms_handle calls.
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Marek Vasut [Sat, 1 Jun 2019 23:36:27 +0000 (01:36 +0200)]
etnaviv: Fix double-free in etna_bo_cache_free()
The following situation can happen in a multithreaded OpenGL application.
A BO is submitted from etna_cmd_stream #1 with flags set for read.
A BO is submitted from etna_cmd_stream #2 with flags set for write.
This triggers a flush on stream #1 and clears the BO's current_stream
pointer. If at this point, stream #2 attempts to queue BO again, which
does happen, the BO will be added to the submit list twice. The Linux
kernel driver correctly detects this and warns about it with "BO at
index %u already on submit list" kernel message.
However, when cleaning the BO cache in etna_bo_cache_free(), the BO
which was submitted twice will also be free()d twice, this triggering
a glibc double free detector.
The fix is easy, even if the BO does not have current_stream set,
iterate over current streams' list of BOs before adding the BO to it
and verify that the BO is not yet there.
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Christian Gmeiner <christian.gmeiner@gmail.com>
Cc: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Reviewed-by: Wladimir J. van der Laan <laanwj@gmail.com>
Michel Dänzer [Tue, 18 Jun 2019 09:24:42 +0000 (11:24 +0200)]
amdgpu: Update amdgpu_bo_handle_type_kms_noimport documentation
To reflect current reality.
Reviewed-by: Christian König <christian.koenig@amd.com>
Michel Dänzer [Thu, 20 Jun 2019 08:42:10 +0000 (10:42 +0200)]
amdgpu: Move union declaration to top of amdgpu_cs_ctx_override_priority
Avoids compiler warning:
../../amdgpu/amdgpu_cs.c: In function 'amdgpu_cs_ctx_override_priority':
../../amdgpu/amdgpu_cs.c:155:2: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
union drm_amdgpu_sched args;
^~~~~
Reviewed-by: Christian König <christian.koenig@amd.com>
Lucas Stach [Wed, 29 May 2019 10:05:54 +0000 (12:05 +0200)]
etnaviv: drop etna_bo_from_handle symbol
There is no implementation and also no users, so there is no point
in keeping it in the API.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Ilia Mirkin [Sat, 22 Jun 2019 18:49:19 +0000 (14:49 -0400)]
util: fix include path for drm_mode.h
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
Ilia Mirkin [Sun, 2 Jun 2019 21:54:38 +0000 (17:54 -0400)]
modetest: add FP16 format support
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Ilia Mirkin [Sat, 5 Jan 2019 19:02:19 +0000 (14:02 -0500)]
modetest: add the ability to specify fill patterns on the commandline
Instead of hacking the binary every time, we can now specify directly.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Ilia Mirkin [Sat, 18 Nov 2017 04:52:46 +0000 (23:52 -0500)]
modetest: add C8 support to generate SMPTE pattern
This includes logic to configure the LUT accordingly.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Ilia Mirkin [Sun, 2 Jun 2019 18:33:26 +0000 (14:33 -0400)]
modetest: add an add_property_optional variant that does not print errors
As new features are added and others are declared to be legacy, it's
nice to be able to implement fallbacks. As such, create a
property-setting variant that does not generate errors which can very
well be entirely expected.
Will be used for gamma control in a future change.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Ilia Mirkin [Mon, 3 Jun 2019 00:20:39 +0000 (20:20 -0400)]
modetest: don't pretend that atomic mode includes a format
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Ilia Mirkin [Sun, 2 Jun 2019 21:38:53 +0000 (17:38 -0400)]
util: add cairo drawing for 30bpp formats when available
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Ilia Mirkin [Mon, 27 May 2019 22:27:24 +0000 (18:27 -0400)]
util: add fp16 format support
This change adds support for all current patterns.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Ilia Mirkin [Sun, 4 Feb 2018 23:39:15 +0000 (18:39 -0500)]
util: add gradient pattern
The idea is to have a horizontal pattern split into two with the top and
bottom halves having different precision. This allows one to see whether
10bpc support is working properly or not, as there are many pieces to
the puzzle beyond the basic format support (gamma ramps, bpc encodings,
etc).
This is really only useful on 10bpc formats, but we also add support for
8bpc formats to ease testing. In the future, this could be applied to
16bpc formats as well.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Ilia Mirkin [Thu, 23 Nov 2017 18:51:45 +0000 (13:51 -0500)]
util: fix MAKE_RGBA macro for 10bpp modes
We need to shift the values up, otherwise we'd end up with a negative
shift. This works for up-to 16-bit components, which is fine for now.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Ilia Mirkin [Sun, 2 Jun 2019 21:51:08 +0000 (17:51 -0400)]
util: add C8 format, support it with SMPTE pattern
This also adds a helper to generate a color LUT, which has to be used in
conjunction with the C8 indexed format.
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
Leo Liu [Wed, 12 Dec 2018 15:35:45 +0000 (10:35 -0500)]
tests/amdgpu/vcn: add VCN2.0 decode support
With different register offsets from VCN1.0
Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: James Zhu <James.Zhu@amd.com>
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
Tao Zhou [Thu, 15 Nov 2018 03:48:58 +0000 (11:48 +0800)]
libdrm/amdgpu: add new vram type (GDDR6) for navi10
AMDGPU_VRAM_TYPE_GDDR6 is a new vram type for navi10
Reviewed-by: Tim Writer <Tim.Writer@amd.com>
Signed-off-by: Tao Zhou <tao.zhou1@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
Hawking Zhang [Tue, 12 Jun 2018 10:08:39 +0000 (18:08 +0800)]
libdrm/amdgpu: add new member in drm_amdgpu_device_info for navi10
pa_sc_tile_steering_override is a new member introduced for gfx10
Signed-off-by: Hawking Zhang <Hawking.Zhang@amd.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
Huang Rui [Thu, 28 Sep 2017 06:23:30 +0000 (14:23 +0800)]
amdgpu: add navi family id
Reviewed-by: Tim Writer <Tim.Writer@amd.com>
Signed-off-by: Huang Rui <ray.huang@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Signed-off-by: Marek Olšák <marek.olsak@amd.com>
Chunming Zhou [Tue, 11 Jun 2019 13:55:33 +0000 (15:55 +0200)]
enable syncobj test depending on capability
Feature is controlled by DRM_CAP_SYNCOBJ_TIMELINE drm capability.
Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Chunming Zhou [Wed, 22 May 2019 09:01:24 +0000 (17:01 +0800)]
update drm.h
a) delta: only DRM_CAP_SYNCOBJ_TIMELINE
b) Generated using make headers_install.
c) Generated from origin/drm-misc-next commit
982c0500fd1a8012c31d3c9dd8de285129904656"
Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
Suggested-by: Michel Dänzer <michel@daenzer.net>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Michel Dänzer [Thu, 16 May 2019 12:43:22 +0000 (14:43 +0200)]
amdgpu: Add amdgpu_cs_syncobj_transfer to amdgpu-symbol-check
Fixes make check. Trivial.
Chunming Zhou [Thu, 16 May 2019 08:07:14 +0000 (16:07 +0800)]
add syncobj timeline tests v3
v2: drop DRM_SYNCOBJ_CREATE_TYPE_TIMELINE, fix timeout calculation,
fix some warnings
v3: add export/import and cpu signal testing cases
Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Chunming Zhou [Thu, 16 May 2019 08:07:13 +0000 (16:07 +0800)]
wrap transfer interfaces
Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Chunming Zhou [Thu, 16 May 2019 08:07:12 +0000 (16:07 +0800)]
expose timeline signal/export/import interfaces v2
v2: adapt to new one transfer ioctl
Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Chunming Zhou [Thu, 16 May 2019 08:07:11 +0000 (16:07 +0800)]
add timeline signal/transfer ioctls v2
v2: use one transfer ioctl
Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Chunming Zhou [Thu, 16 May 2019 08:07:10 +0000 (16:07 +0800)]
wrap syncobj timeline query/wait APIs for amdgpu v3
v2: symbos are stored in lexical order.
v3: drop export/import and extra query indirection
Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
Acked-by: Christian König <christian.koenig@amd.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Chunming Zhou [Thu, 16 May 2019 08:07:09 +0000 (16:07 +0800)]
add timeline wait/query ioctl v2
v2: drop export/import
Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Chunming Zhou [Thu, 16 May 2019 08:07:08 +0000 (16:07 +0800)]
add cs chunk for syncobj timeline
Signed-off-by: Chunming Zhou <david1.zhou@amd.com>
Acked-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Seung-Woo Kim [Mon, 29 Apr 2019 09:10:52 +0000 (18:10 +0900)]
xf86drm: Fix possible memory leak with drmModeGetPropertyPtr()
In drmModeGetPropertyPtr(), from upper error path, it calls free
but with just next error path, it does not call. Fix the possible
memory leak.
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
Seung-Woo Kim [Thu, 25 Apr 2019 09:50:00 +0000 (18:50 +0900)]
tests/libkms-test-plane: fix possbile memory leak
The pointer p aquired with drmModeGetPlane() is not free in error
path. Fix possible memory leak by calling drmModeFreePlane() in
the error path.
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Hemant Hariyani [Wed, 24 Apr 2019 17:08:41 +0000 (10:08 -0700)]
libdrm: omap: Add DRM_RDWR flag to dmabuf export
Allows mmap on dmabuf fd with MAP_SHARED and PROT_WRITE.
This fixes boot failures with Android (likely w/ closed source
user-space drivers) that were caused due to mmap() returning
error.
Cc: Sean Paul <seanpaul@chromium.org>
Cc: Alistair Strachan <astrachan@google.com>
Cc: Marissa Wall <marissaw@google.com>
Acked-by: Emil Velikov <emil.velikov@collabora.com>
Signed-off-by: Hemant Hariyani <hemanthariyani@ti.com>
[picked and updated commitmsg from http://git.ti.com/cgit/cgit.cgi/android/external-libdrm.git/]
Signed-off-by: Praneeth Bajjuri <praneeth@ti.com>
Signed-off-by: Alistair Strachan <astrachan@google.com>
[jstultz: Tweaked commit message]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Adrian Salido [Wed, 24 Apr 2019 17:08:40 +0000 (10:08 -0700)]
libdrm: reduce number of reallocations in drmModeAtomicAddProperty
When calling drmModeAtomicAddProperty allocation of memory
happens as needed in increments of 16 elements. This can be very
slow if there are multiple properties to be updated in an Atomic
Commit call.
Increase this to as many as can fit in a memory PAGE to avoid
having to reallocate memory too often.
Also this patch has a small one line perf tweak in
drmModeAtomicDuplicate() to only memcpy items to the cursor
position in order avoid copying the entire item array if its
mostly empty.
Cc: Sean Paul <seanpaul@chromium.org>
Cc: Alistair Strachan <astrachan@google.com>
Cc: Marissa Wall <marissaw@google.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
[jstultz: Expanded commit message]
Signed-off-by: John Stultz <john.stultz@linaro.org>
Prabhanjan Kandula [Wed, 24 Apr 2019 17:08:39 +0000 (10:08 -0700)]
libdrm: Avoid additional drm open close
Avoid additional drm device open and close.
Cc: Sean Paul <seanpaul@chromium.org>
Cc: Alistair Strachan <astrachan@google.com>
Cc: Marissa Wall <marissaw@google.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
John Stultz [Wed, 24 Apr 2019 17:08:38 +0000 (10:08 -0700)]
libdrm: amdgpu: Initialize unions with memset rather than "= {0}"
Clang complains when initializing unions using "= {0}"
so instead use memset.
Cc: Sean Paul <seanpaul@chromium.org>
Cc: Alistair Strachan <astrachan@google.com>
Cc: Marissa Wall <marissaw@google.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Sean Paul [Wed, 24 Apr 2019 17:08:36 +0000 (10:08 -0700)]
libdrm: Use mmap64 instead of __mmap2
__mmap2 isn't supported on all platforms, mmap64 is the right way
to do this in android.
Also folds in a fix from Stéphane Marchesin <marcheu@chromium.org>
Cc: Sean Paul <seanpaul@chromium.org>
Cc: Alistair Strachan <astrachan@google.com>
Cc: Marissa Wall <marissaw@google.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Signed-off-by: Sean Paul <seanpaul@chromium.org>
[jstultz: Folded in Stéphane's fix]
Signed-off-by: John Stultz <john.stultz@linaro.org>
John Stultz [Wed, 24 Apr 2019 17:08:37 +0000 (10:08 -0700)]
libdrm: Android.mk: Add minimal Android platform check
Add a check to error out on Android version K(4.4) or
lower.
This is due to dependency added in a previous commit on mmap64,
which was introduced with Android L.
Cc: Sean Paul <seanpaul@chromium.org>
Cc: Alistair Strachan <astrachan@google.com>
Cc: Marissa Wall <marissaw@google.com>
Suggested-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>