Dylan Baker [Wed, 19 Jan 2022 19:12:43 +0000 (11:12 -0800)]
meson: use cc.has_function_attribute instead of open coding
It's less code, and also allows meson to short circuit for compilers is
knows don't support this.
Signed-off-by: Dylan Baker <dylan@pnwbakers.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Dylan Baker [Wed, 19 Jan 2022 19:10:58 +0000 (11:10 -0800)]
meson: use cc.check_header instead of open coding
Signed-off-by: Dylan Baker <dylan@pnwbakers.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Dylan Baker [Wed, 19 Jan 2022 19:09:07 +0000 (11:09 -0800)]
meson: use more standard formatting for better readability
Signed-off-by: Dylan Baker <dylan@pnwbakers.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Dylan Baker [Wed, 19 Jan 2022 18:43:04 +0000 (10:43 -0800)]
meson: switch to cc.get_supported_arguments
This is generally faster, as meson is able to parallelize the checks for
us.
This also removes the workaround for checking gcc/clang -Wno-*
arguments, which meson now handles internally so we don't need to handle
it ourselves.
Signed-off-by: Dylan Baker <dylan@pnwbakers.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Dylan Baker [Wed, 19 Jan 2022 18:42:20 +0000 (10:42 -0800)]
meson: switch the meson builtin for symbol visiblity
This allows meson to check if the compiler supports gnu style symbol
visibility, and apply the appropriate flags as necessary, rather than us
adding them by hand
Signed-off-by: Dylan Baker <dylan@pnwbakers.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Samuel Pitoiset [Mon, 3 Jan 2022 09:21:00 +0000 (10:21 +0100)]
tests/amdgpu: add a test for new CTX OP to get/set stable pstates
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Samuel Pitoiset [Fri, 31 Dec 2021 08:10:03 +0000 (09:10 +0100)]
amdgpu: implement new CTX OP to set/get stable pstates
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Samuel Pitoiset [Fri, 31 Dec 2021 07:54:34 +0000 (08:54 +0100)]
amdgpu: update_drm.h for new CTX OP to set/get stable pstates
Based on agd5f/drm-next.
Signed-off-by: Samuel Pitoiset <samuel.pitoiset@gmail.com>
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Eric Engestrom [Tue, 17 Dec 2019 23:01:08 +0000 (23:01 +0000)]
use standard `__typeof__()` instead of GNU extension `typeof()`
And switch to c_std=c99. This simplifies using libdrm as a meson
subproject for mesa.
v2: (dylan)
- switch to c99 as the standard
- Fix amdgpu security tests as well
Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
Signed-off-by: Dylan Baker <dylan@pnwbakers.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Emma Anholt <emma@anholt.net>
Guchun Chen [Thu, 13 Jan 2022 06:47:52 +0000 (14:47 +0800)]
tests/amdgpu: Add VCN test support for Biege Goby
Added Beige Goby chip id in vcn test.
Signed-off-by: Guchun Chen <guchun.chen@amd.com>
Reviewed-By: Veerabadhran Gopalakrishnan <Veerabadhran.gopalakrishnan@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Tejas Upadhyay [Tue, 21 Dec 2021 09:54:59 +0000 (15:24 +0530)]
intel: Add support for ADL-N
Add ADL-N platform support and PCIIDs
Align with kernel commit:
7e28d0b26759 ("drm/i915/adl-n: Enable ADL-N platform")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: Tejas Upadhyay <tejaskumarx.surendrakumar.upadhyay@intel.com>
Simon Ser [Mon, 8 Nov 2021 16:39:23 +0000 (17:39 +0100)]
releasing: s/master/main/
This default branch name has been changed. Update RELEASING
accordingly.
Signed-off-by: Simon Ser <contact@emersion.fr>
ravitejax [Tue, 21 Dec 2021 05:07:25 +0000 (10:37 +0530)]
intel: Add support for RPLS platform
Fixes:
3d8e59ce019907 ("intel: sync i915_pciids.h with kernel")
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: Tejas Upadhyay <tejaskumarx.surendrakumar.upadhyay@intel.com>
Raviteja Goud Talla [Thu, 16 Dec 2021 10:56:24 +0000 (16:26 +0530)]
intel: sync i915_pciids.h with kernel
Align with kernel commit:
52407c220c44c ("drm/i915/rpl-s: Add PCI IDS for Raptor Lake S")
Cc: Anusha Srivatsa <anusha.srivatsa@intel.com>
Signed-off-by: Raviteja Goud Talla <ravitejax.goud.talla@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Dylan Baker [Wed, 17 Nov 2021 20:57:54 +0000 (12:57 -0800)]
meson: add override_dependency when possible
This allows consumers of libdrm as a subproject to use the simpler
`dependency('libdrm', fallback : 'libdrm')` syntax, as the libdrm build
files already tell meson that they override a dependency called
"libdrm".
Signed-off-by: Dylan Baker <dylan@pnwbakers.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Dylan Baker [Wed, 17 Nov 2021 20:50:01 +0000 (12:50 -0800)]
meson: use dictionary kwargs
So we don't have to duplicate the libdrm library call just to not set
the version keyword for android
Reviewed-by: Simon Ser <contact@emersion.fr>
Signed-off-by: Dylan Baker <dylan@pnwbakers.com>
Sathishkumar S [Wed, 8 Dec 2021 23:35:03 +0000 (05:05 +0530)]
tests/amdgpu: add jpeg tests support
v2:
- remove dec create/destroy msg as its not relevant to jpeg (Leo)
- enable the test for jpeg2/jpeg3 (Leo)
- validate checksum of result (Leo)
- add appropriate comments (Leo)
v3:
- linux style function definition indent (James)
- use multiline comment delimiter (Leo)
Signed-off-by: Sathishkumar S <sathishkumar.sundararaju@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Simon Ser [Thu, 25 Nov 2021 20:33:02 +0000 (21:33 +0100)]
build: bump version to 2.4.109
Eleni Maria Stea [Mon, 22 Nov 2021 10:14:36 +0000 (12:14 +0200)]
xf86drm: fix compiler warnings
Used casting to fix warnings about assigning different enum types to
variables. Used error checks in places where snprintf is called and
output might be truncated to fix gcc format-truncation warnings.
v2: Removed a change in drm.h (Simon Ser)
v3, v4: Removed unecessary braces in snprintf (Simon Ser)
Signed-off-by: Eleni Maria Stea <elene.mst@gmail.com>
Bas Nieuwenhuizen [Tue, 16 Nov 2021 00:41:49 +0000 (01:41 +0100)]
amdgpu: Add new function to get fd.
Dual purpose:
- The drm fd dedupe functionality confuses the radeonsi
amdgpu winsys if radeonsi isn't the first thing opening
the device. By exposing the fd we can detect this case.
- For a common mesa Vulkan sync objects implementation
with syncobj. (notable: no buffer allocation)
Both shouldn't interferece with libdrm_amdgpu functionality
though it does somewhat piece the abstraction of the library.
Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3424
Gitlab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5630
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Emmanuel Vadot [Wed, 10 Nov 2021 16:49:55 +0000 (17:49 +0100)]
ci: Add FreeBSD support
Use qemu to do CI on FreeBSD.
Not everything is compiled as all arm aren't supported on FreeBSD.
Same thing for Nouveau.
The tests aren't enable for now as they are all failing.
Signed-off-by: Emmanuel Vadot <manu@FreeBSD.org>
Emmanuel Vadot [Tue, 9 Nov 2021 20:26:24 +0000 (21:26 +0100)]
ci: Switch freedesktop/ci-templates
This switch to the latest ci-templates.
Most of the file is taken from the one in wayland.
Signed-off-by: Emmanuel Vadot <manu@FreeBSD.org>
Simon Ser [Mon, 1 Mar 2021 09:30:57 +0000 (10:30 +0100)]
xf86drm: add drmGetDeviceFromDevId
This adds a function to get a drmDevicePtr from a dev_t identifier
of a device. This is useful for Wayland that uses these to identify
devices over the protocol.
This is done by taking the implementation of drmGetDevice2, and removing
the call to fstat to find the dev_t.
Signed-off-by: Scott Anderson <scott.anderson@collabora.com>
Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Daniel Stone <daniels@collabora.com>
suijingfeng [Wed, 3 Nov 2021 02:52:03 +0000 (10:52 +0800)]
radeon: remove duplicate declaration of struct radeon_bo_manager in radeon_bo.h
Reviewed-by: Simon Ser <contact@emersion.fr>
Signed-off-by: suijingfeng <suijingfeng@loongson.cn>
Simon Ser [Mon, 8 Nov 2021 16:35:03 +0000 (17:35 +0100)]
build: bump version to 2.4.108
Signed-off-by: Simon Ser <contact@emersion.fr>
Luigi Santivetti [Thu, 25 Mar 2021 22:42:38 +0000 (22:42 +0000)]
xf86drm: add iterator API for DRM/KMS IN_FORMATS blobs
Add support for parsing IN_FORMATS property blobs. Providing libdrm
with this functionality helps to standardise how user-space reads
kernel blobs and decreases duplication on the client side.
drmModeFormatModifierBlobIterNext() allows the caller to view
formats and associated modifiers given a valid property blob.
An example is available inside the libdrm unit test, modetest.c.
Signed-off-by: Luigi Santivetti <luigi.santivetti@imgtec.com>
Reviewed-by: Simon Ser <contact@emersion.fr>
Joshua Ashton [Thu, 4 Nov 2021 06:03:49 +0000 (06:03 +0000)]
amdgpu: Make marketing names consistent
Fixes sporadic (TM), capitalization, missing AMD suffixes and spacing.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
Alex Richardson [Tue, 5 Oct 2021 11:10:08 +0000 (12:10 +0100)]
Fix -Werror=format build errors on FreeBSD
On 64-bit FreeBSD targets uint64_t is generally defined as `unsigned long`
and not `unsigned long long`. Use the PRI macros to fix -Wformat.
Signed-off-by: Alex Richardson <Alexander.Richardson@cl.cam.ac.uk>
Reviewed-by: Simon Ser <contact@emersion.fr>
Christian König [Wed, 29 Sep 2021 10:48:08 +0000 (12:48 +0200)]
amdgpu: add amdgpu_stress utility v2
Simple yet useful command line utility to simulate memory pressure.
Already found quite a number of problems in TTM with that.
v2: replace spaces with tabs
Signed-off-by: Christian König <christian.koenig@amd.com>
Acked-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Simon Ser [Sun, 3 Oct 2021 17:54:50 +0000 (19:54 +0200)]
man: refer to drmCloseBufferHandle instead of DRM_IOCTL_GEM_CLOSE
This function in libdrm core wraps DRM_IOCTL_GEM_CLOSE.
Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Simon Ser [Sun, 3 Oct 2021 17:53:07 +0000 (19:53 +0200)]
tegra: use drmCloseBufferHandle
Instead of manually calling drmIoctl, use the equivalent function
from libdrm core.
Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Simon Ser [Sun, 3 Oct 2021 17:51:57 +0000 (19:51 +0200)]
omap: use drmCloseBufferHandle
Instead of manually calling drmIoctl, use the equivalent function
from libdrm core.
Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Simon Ser [Sun, 3 Oct 2021 17:50:58 +0000 (19:50 +0200)]
nouveau: use drmCloseBufferHandle
Instead of manually calling drmIoctl, use the equivalent function
from libdrm core.
Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Simon Ser [Sun, 3 Oct 2021 17:49:40 +0000 (19:49 +0200)]
freedreno: use drmCloseBufferHandle
Instead of manually calling drmIoctl, use the equivalent function
from libdrm core.
Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Simon Ser [Sun, 3 Oct 2021 17:48:14 +0000 (19:48 +0200)]
exynos: use drmCloseBufferHandle
Instead of manually calling drmIoctl, use the equivalent function
from libdrm core.
Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Simon Ser [Sun, 3 Oct 2021 17:47:14 +0000 (19:47 +0200)]
etnaviv: use drmCloseBufferHandle
Instead of manually calling drmIoctl, use the equivalent function
from libdrm core.
Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Simon Ser [Sun, 3 Oct 2021 17:45:24 +0000 (19:45 +0200)]
radeon: use drmCloseBufferHandle
Instead of manually calling drmIoctl, use the equivalent function
from libdrm core.
Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Simon Ser [Sun, 3 Oct 2021 17:42:55 +0000 (19:42 +0200)]
intel: use drmCloseBufferHandle
Instead of manually calling drmIoctl, use the equivalent function
from libdrm core.
Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Simon Ser [Sun, 3 Oct 2021 17:38:48 +0000 (19:38 +0200)]
amdgpu: use drmCloseBufferHandle
Instead of using a hand-rolled amdgpu_close_kms_handle function,
use the function from libdrm core, which does exactly the same
thing.
Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Dennis Tsiang [Wed, 22 Sep 2021 13:53:50 +0000 (14:53 +0100)]
xf86drm: Update drmGetFormatModifierNameFromArm to handle AFRC
Update drmGetFormatModifierNameFromArm function to handle AFRC
modifiers.
Signed-off-by: Dennis Tsiang <dennis.tsiang@arm.com>
Dennis Tsiang [Mon, 20 Sep 2021 10:14:52 +0000 (11:14 +0100)]
drm_fourcc: sync drm_fourcc with latest drm-next kernel
Update drm_fourcc.h to include latest changes from drm-next branch.
This brings in AFRC (Arm Fixed-Rate Compression) modifiers.
Generated using make headers_install.
Generated from drm-next branch commit 6880fa6
Signed-off-by: Dennis Tsiang <dennis.tsiang@arm.com>
Simon Ser [Tue, 15 Jun 2021 12:48:28 +0000 (14:48 +0200)]
xf86drmMode: simplify drm_property_type_is
No need to have two branches depending on DRM_MODE_PROP_EXTENDED_TYPE.
We can just use drmModeGetPropertyType instead.
This does introduce a slight change: previously, drm_property_type_is()
could be called with non-type flags such as IMMUTABLE. However no user
seems to do this (checked KWin/Mutter/Sway/Weston/Xorg).
Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Simon Ser [Tue, 15 Jun 2021 12:47:04 +0000 (14:47 +0200)]
xf86drmMode: switch to standard inline qualifier
__inline is non-standard, inline is.
Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Simon Ser [Tue, 15 Jun 2021 12:46:05 +0000 (14:46 +0200)]
xf86drmMode: make drm_property_type_is arg const
This function only needs read-only access to the property. This is
not a breaking ABI change.
Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Jason Ekstrand [Wed, 10 Mar 2021 19:52:57 +0000 (13:52 -0600)]
intel: Drop legacy execbuffer support
Execbuffer2 support was introduced to libdrm in
b50964027be, 10 years
ago, and no driver has used the old execbuf path since. There's no need
to support 10-year-old kernels.
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Simon Ser [Wed, 1 Sep 2021 19:26:38 +0000 (21:26 +0200)]
xf86drm: add GEM_CLOSE ioctl wrapper
We have wrappers for PRIME_HANDLE_TO_FD and PRIME_FD_TO_HANDLE,
but not for GEM_CLOSE. Add it so that callers don't need to
manually call drmIoctl.
Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Acked-by: Daniel Stone <daniels@collabora.com>
Tvrtko Ursulin [Wed, 18 Nov 2020 16:31:26 +0000 (16:31 +0000)]
intel: Do not assert on unknown chips in drm_intel_decode_context_alloc
There is this long standing nit of igt/tools/intel_error_decode asserting
when you feed it an error state from a GPU the local libdrm does not know
of.
To fix this I need a tweak in drm_intel_decode_context_alloc to make it
not assert but just return NULL (which seems an already possible return
value).
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Zbigniew Kempczyński <zbigniew.kempczynski@intel.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
José Roberto de Souza [Tue, 14 Sep 2021 20:41:21 +0000 (13:41 -0700)]
intel: Sync pci ids
Sync libdrm with kernel, a new DG1 pci was added.
Commit
5f0d4214938d ("drm/i915/dg1: Add new PCI id")
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Alex Deucher [Fri, 17 Sep 2021 13:16:57 +0000 (09:16 -0400)]
amdgpu: add new marketing name
Acked-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Alex Deucher [Fri, 17 Sep 2021 13:14:13 +0000 (09:14 -0400)]
amdgpu: add marketing names from 21.30
Add new marketing names
Acked-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
ZhiJie.Zhang [Mon, 8 Mar 2021 12:35:30 +0000 (20:35 +0800)]
tests/modetest: get cursor width and height by drmGetCap
Should get cursor width and height by drmGetCap.
Signed-off-by: ZhiJie.Zhang <zhangzhijie@loongson.cn>
Tejas Upadhyay [Tue, 24 Aug 2021 07:19:19 +0000 (12:49 +0530)]
intel: sync ADL-S PCI IDs with kernel
Align with kernel commits:
c79b846f892d ("drm/i915/adl_s: Update ADL-S PCI IDs")
3f50033dd88a ("drm/i915/adl_s: ADL-S platform Update PCI ids for Mobile BGA")
Signed-off-by: Tejas Upadhyay <tejaskumarx.surendrakumar.upadhyay@intel.com>
Eric Engestrom [Fri, 13 Aug 2021 20:19:13 +0000 (21:19 +0100)]
xf86drm: fix mem leak in drm_usb_dev_path()
`sysfs_uevent_get()` returns a `strndup()`ed string, which must be `free()`d.
Fixes:
bf63f8acdc94164ad29d ("libdrm: Handle usb_interface devices for usb parsing")
Reviewed-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Karol Herbst [Sun, 30 May 2021 13:10:39 +0000 (15:10 +0200)]
nouveau: print bo address in the GPU/CPU vm and its size
v2: print bo->offset as 64 bit
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Jordan Justen [Mon, 2 Aug 2021 08:06:44 +0000 (01:06 -0700)]
libdrm: NOTE! Default branch is now main
To update your local repository to use the new default branch, these
commands may help:
$ git fetch origin
$ git checkout master
$ git branch -m main
$ git branch --set-upstream-to=origin/main
$ git remote set-head origin --auto
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Dave Airlie <airlied@redhat.com>
Mario Kleiner [Sat, 3 Jul 2021 19:54:27 +0000 (21:54 +0200)]
headers: drm: Sync with drm-next
Generated using make headers_install from the drm-next
tree - git://anongit.freedesktop.org/drm/drm
branch - drm-next
commit -
8a02ea42bc1d4c448caf1bab0e05899dad503f74
Some changes were omitted, e.g., to nouveau_drm.h, i915_drm.h, and
msm_drm.h, as the nouveau and i915 changes looked to me as if they
could break compatibility or require other compatibility fixes to
libdrm which i can not judge. msm_drm.h broke the build, as there
are definitely changes needed to libdrm's msm support code.
The shortlog below is edited to only list what corresponds to files
that are included here, because it looked safe to me.
The changes were as follows (shortlog from
b10733527bfd864605c33ab2e9a886eec317ec39..HEAD):
Aaron Liu (1):
drm/amdgpu: add uapi to define yellow carp series
Alex Deucher (1):
drm/amdgpu: add INFO ioctl support for querying video caps (v4)
Christian Gmeiner (1):
drm/etnaviv: provide more ID values via GET_PARAM ioctl.
Felix Kuehling (1):
drm/amdgpu: Add new placement for preemptible SG BOs
Jiawei Gu (1):
drm/amdgpu: Add vbios info ioctl interface
Lionel Landwerlin (1):
drm: fix drm_mode_create_blob comment
Mario Kleiner (1):
drm/fourcc: Add 16 bpc fixed point framebuffer formats.
Nirmoy Das (1):
drm/amdgpu: remove AMDGPU_GEM_CREATE_SHADOW flag
Noralf Trønnes (1):
drm/uapi: Add USB connector type
Radhakrishna Sripada (1):
drm/framebuffer: Format modifier for Intel Gen 12 render compression with Clear Color
Simon Ser (13):
drm: improve kernel-docs in drm_mode.h
drm: document drm_mode_get_connector
drm: document drm_mode_modeinfo
drm: document that user-space should force-probe connectors
drm/doc: atomic implicitly enables other caps
drm/doc: re-format drm.h file comment
drm/doc: demote old doc-comments in drm.h
drm/fourcc: fix Amlogic format modifier masks
drm/uapi: document kernel capabilities
drm/connector: demote connector force-probes for non-master clients
drm: reference mode flags in DRM_CLIENT_CAP_* docs
drm: clarify and linkify DRM_CLIENT_CAP_WRITEBACK_CONNECTORS docs
drm: document minimum kernel version for DRM_CLIENT_CAP_*
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Eric Anholt [Thu, 22 Apr 2021 23:25:07 +0000 (16:25 -0700)]
meson: Don't build libkms for Android.
Nobody wants that that I know of.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Eric Anholt [Thu, 22 Apr 2021 23:03:38 +0000 (16:03 -0700)]
meson: Build libdrm.so as an unversioned lib on Android.
Android vendor libraries don't have sonames, and libdrm.so shouldn't
either. This lets a Mesa built against a libdrm.so built for Android
be copied directly to a Chrome OS ARC installation.
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Aaron Liu [Thu, 22 Jul 2021 09:01:00 +0000 (17:01 +0800)]
test/amdgpu: Bob to Alice copy should be TMZ in secure bounce test
SDMA copy from Alice to Bob is in TMZ mode. Therefore
SDMA copy back from Bob to Alice should be in TMZ mode too.
Signed-off-by: Aaron Liu <aaron.liu@amd.com>
Reviewed-by: Luben Tuikov <luben.tuikov@amd.com>
Luben Tuikov [Fri, 16 Jul 2021 01:28:16 +0000 (21:28 -0400)]
tests/amdgpu: Fix TMZ secure bounce test
Fix the TMZ secure bounce test, in that Bob's
buffer has to be created encrypted (with the
encrypted flag set), so that when we copy from
Alice's buffer, which is also encrypted, to Bob's
buffer, the copy can be successful and the data
actually copied.
This fixes the test and it no longer fails. Tested
on Sienna Cichlid.
Cc: Alex Deucher <Alexander.Deucher@amd.com>
Cc: Christian König <christian.koenig@amd.com>
Cc: Aaron Liu <aaron.liu@amd.com>
Cc: Huang Rui <ray.huang@amd.com>
Signed-off-by: Luben Tuikov <luben.tuikov@amd.com>
Reviewed-by: Alex Deucher <Alexander.Deucher@amd.com>
Bas Nieuwenhuizen [Fri, 2 Jul 2021 01:12:14 +0000 (03:12 +0200)]
Bump version to 2.4.107
Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Alex Deucher [Mon, 28 Jun 2021 19:48:14 +0000 (15:48 -0400)]
amdgpu: update marketing names
From 21.20 release.
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Marius Vlad [Thu, 11 Feb 2021 11:08:05 +0000 (13:08 +0200)]
README.rst: Include some notes about syncing uapi headers
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Marius Vlad [Tue, 23 Feb 2021 22:51:45 +0000 (00:51 +0200)]
xf86drm: Add support for decoding AMLOGIC format modifiers
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Marius Vlad [Wed, 17 Feb 2021 13:59:30 +0000 (15:59 +0200)]
xf86drm: Add support for decoding AMD format modifiers
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Marius Vlad [Mon, 1 Feb 2021 11:45:58 +0000 (13:45 +0200)]
xf86drm: Add support for decoding Nvidia format modifiers
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Marius Vlad [Mon, 1 Feb 2021 11:39:43 +0000 (13:39 +0200)]
xf86drm: Add a vendor function to decode the format modifier
As format modifiers can be encoded in quite complex forms, the static
table previously added is not sufficient to retrieve, extract and decode
the token formats to a human-readable string. This patch introduces a
vendor specific callback which could be used to perform an additional
search to match up with vendor encoding scheme, which, will be used
first, before resorting to searching the static table.
With it, add support for decoding the ARM format modifiers.
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Marius Vlad [Mon, 1 Feb 2021 11:23:20 +0000 (13:23 +0200)]
xf86drm: Add a human readable representation for format modifiers
Introduces two new methods to retrieve a human readable representation of a
format modifier:
drmGetFormatModifierName() - returns a format modifier as a string,
from a token modifier
drmGetFormatModifierVendor() - returns the vendor as a string, from a
token modifier
and the fourcc_mod_get_vendor macro that returns the vendor.
New format modifiers added in drm_fourcc.h uapi kernel header should be
sync'ed up with libdrm and should include a human readable
representation for that format modifier, in order to display it
correctly as a string.
That happens with the help of a python script that reads up drm_fourcc
header file and outputs a static table comprised of token modifiers
alongside a vendor table (Suggested-by Simon Ser <contact@emersion.fr>).
The reason for doing it in libdrm is to have a unified place instead of each
user of libdrm having a way to keep track of the format modifiers.
With this patch, modetest has also been modified to make use of it.
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Eleni Maria Stea [Sun, 20 Jun 2021 06:33:58 +0000 (09:33 +0300)]
Conditionally include <linux/limits.h> and <sys/params.h> on Linux, BSD
<linux/limits.h> should be included conditionally for Linux only, also
SPECNAMELEN used conditionally when the OS is FreeBSD requires to
include <sys/params.h>.
Signed-off-by: Eleni Maria Stea <elene.mst@gmail.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Eleni Maria Stea [Mon, 7 Jun 2021 07:24:11 +0000 (10:24 +0300)]
_WANT_KERNEL_ERRNO must be defined in FreeBSD for ERESTART to be used
In FreeBSD's errno.h ERESTART is not defined by default, only when the
user requests the pseudo-errors returned inside the kernel to be
enabled. As a result the block where drmCommandWriteRead is
called returns compile error. Defined _WANT_KERNEL_ERRNO to fix it (see
FreeBSD's /usr/include/errno.h)
Signed-off-by: Eleni Maria Stea <elene.mst@gmail.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Eleni Maria Stea [Mon, 7 Jun 2021 07:19:18 +0000 (10:19 +0300)]
include <sys/types.h> in xf86drmMode when the OS is FreeBSD
<sys/types.h> need to be included in xf86drmMode.c for type u_int in
<sys/sysctl.h> (that is included when OS is FreeBSD) to be recognized.
Signed-off-by: Eleni Maria Stea <elene.mst@gmail.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Bas Nieuwenhuizen [Mon, 23 Nov 2020 01:18:05 +0000 (02:18 +0100)]
amdgpu: Add vamgr for capture/replay.
In Vulkan we have extensions to assist with capture in replay in a
world where addresses are returned to the application. This involves
creating buffers at the same VA during replay as they were during
capture.
By itself libdrm_amdgpu already has support for this, but there is
the obvious failure mode that if another buffer is already allocated
at that VA things fail spectacularly. This is an actual issue as
internal buffers, like winsys images or shader binaries also
participate in the same VA allocation.
To avoid this problem applications have to create buffers which
are going to be captured with a flag, and the implementation is to
separate VA allocation for those buffers to reduce the collision risk:
"Implementations are expected to separate such buffers in the GPU address
space so normal allocations will avoid using these addresses. Apps/tools
should avoid mixing app-provided and implementation-provided addresses for
buffers created with VK_BUFFER_CREATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT,
to avoid address space allocation conflicts."
This patch implements that by adding a flag for these buffers and allocating
address space from the top of the address range instead of the bottom.
Signed-off-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Reviewed-by: Christian König <christian.koenig@amd.com>
Andrey Grodzovsky [Fri, 4 Jun 2021 20:08:41 +0000 (16:08 -0400)]
tests/amdgpu/hotunplug: Add hotunplug with exported fence
Disconnect device while fence is exported.
Also disable this test for sytem with single GPU.
Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Reviewed-by: Alex Deucher alexander.deucher@amd.com
Andrey Grodzovsky [Tue, 1 Jun 2021 18:30:08 +0000 (14:30 -0400)]
tests/amdgpu/hotunplug: Add hotunplug with exported bo test
Disconnect device while BO is exported.
Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Reviewed-by: Alex Deucher alexander.deucher@amd.com
Andrey Grodzovsky [Mon, 31 May 2021 18:13:06 +0000 (14:13 -0400)]
tests/amdgpu/hotunplug: Add unplug with cs test.
Same as simple test but while doing cs
Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Reviewed-by: Alex Deucher alexander.deucher@amd.com
Andrey Grodzovsky [Wed, 26 May 2021 19:15:33 +0000 (15:15 -0400)]
test/amdgpu/hotunplug: Add test suite for GPU unplug
Add plug/unplug device and open/close device file
infrastructure.
Add basic test - unplug device while device file still
open. Close device file afterwards and replug the device.
Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Reviewed-by: Alex Deucher alexander.deucher@amd.com
Andrey Grodzovsky [Mon, 31 May 2021 15:11:58 +0000 (11:11 -0400)]
test/amdgpu: Add helper functions for hot unplug
Expose close device and add open device wich preserves
test index.
Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Reviewed-by: Alex Deucher alexander.deucher@amd.com
Andrey Grodzovsky [Tue, 1 Jun 2021 18:56:54 +0000 (14:56 -0400)]
tests/amdgpu: Fix valgrind warning
Struct access after free
Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
Reviewed-by: Alex Deucher alexander.deucher@amd.com
Rahul Kumar [Mon, 7 Jun 2021 14:59:19 +0000 (10:59 -0400)]
amdgpu: Added product name for E9390,E9560 and E9565 dgpu
Update marketing names.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Lang Yu [Sat, 8 May 2021 05:55:54 +0000 (13:55 +0800)]
Revert "tests/amdgpu: fix bo eviction test issue"
This reverts commit
a5a400c9581c3b91598623603067556b18084c5d.
Bo evict test was disabled by default per below commit.
So still keep it as disabled.
1f6a85cc test/amdgpu: disable bo eviction test by default
Signed-off-by: Lang Yu <Lang.Yu@amd.com>
Signed-off-by: Guchun Chen <guchun.chen@amd.com>
Reviewed-by: Lang Yu <Lang.Yu@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Tejas Upadhyay [Mon, 17 May 2021 05:35:29 +0000 (11:05 +0530)]
intel: Add support for ADLP
Add ADLP platform support and PCIIDs
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
Signed-off-by: Pankaj Bharadiya <pankaj.laxminarayan.bharadiya@intel.com>
Signed-off-by: Caz Yokoyama <caz.yokoyama@intel.com>
Signed-off-by: Anusha Srivatsa <anusha.srivatsa@intel.com>
Signed-off-by: Tejas Upadhyay <tejaskumarx.surendrakumar.upadhyay@intel.com>
Dave Airlie [Tue, 18 May 2021 03:37:56 +0000 (13:37 +1000)]
Bump version to 2.4.106
Signed-off-by: Dave Airlie <airlied@redhat.com>
Karol Herbst [Wed, 5 May 2021 12:14:30 +0000 (14:14 +0200)]
nouveau: add debug option to sync pushbuffer submissions
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Karol Herbst [Wed, 5 May 2021 12:05:52 +0000 (14:05 +0200)]
novueau: document debug flags
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Karol Herbst [Wed, 5 May 2021 12:01:57 +0000 (14:01 +0200)]
nouveau: rework debugging so we can also dump into a file
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Karol Herbst [Wed, 5 May 2021 12:01:29 +0000 (14:01 +0200)]
nouveau: make debug features accessible in normal builds
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Karol Herbst [Sun, 3 May 2020 14:21:09 +0000 (16:21 +0200)]
nouveau: mask push buffer length pushbuf_dump
nvc0 sets the NVC0_IB_ENTRY_1_NO_PREFETCH bit on some pushbuffers
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Karol Herbst [Sun, 3 May 2020 14:19:53 +0000 (16:19 +0200)]
nouveau: fix crash in pushbuf_dump with an unmapped bo
Signed-off-by: Karol Herbst <kherbst@redhat.com>
Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
Eric Engestrom [Thu, 29 Apr 2021 08:15:11 +0000 (10:15 +0200)]
ci: use `base-devel` tag of archlinux image instead of `base` and then installing `base-devel` after
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Simon Ser <contact@emersion.fr>
Eric Engestrom [Thu, 29 Apr 2021 08:13:43 +0000 (10:13 +0200)]
ci: use archlinux/archlinux docker image instead of deprecated and now removed archlinux/base
Signed-off-by: Eric Engestrom <eric@engestrom.ch>
Reviewed-by: Simon Ser <contact@emersion.fr>
Bas Nieuwenhuizen [Wed, 21 Apr 2021 19:31:06 +0000 (21:31 +0200)]
Revert "xf86drmMode: set FB_MODIFIERS flag when modifiers are supplied"
This reverts commit
b362850689d1b0048b7f4641cc236128b5a43773.
This breaks when the kernel driver does not support modifiers and the
application properly zeroes the modifiers.
Acked-by: Simon Ser <contact@emersion.fr>
Jinzhou Su [Mon, 19 Apr 2021 06:04:22 +0000 (14:04 +0800)]
test/amdgpu: Add emit mem sync flag for test IB
In syncobj test, 3 threads will be created. Sometimes
the first gfx IB and the third sdma IB will use same
physical page. There will be risk that sdma engine will
read gfx IB in the same physical page. So better to flush
the cache before commit the sdma IB.
Signed-off-by: Jinzhou Su <Jinzhou.Su@amd.com>
Reviewed-by: Huang Rui <ray.huang@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Huang Rui [Fri, 9 Apr 2021 10:07:16 +0000 (18:07 +0800)]
test/amdgpu: use tmz ids to check whether enable security tests
Using tmz ids that reported from kernel to decide whether enable
security tests.
Signed-off-by: Huang Rui <ray.huang@amd.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
James Zhu [Mon, 12 Apr 2021 12:44:59 +0000 (08:44 -0400)]
tests/amdgpu/vcn: update to support aldebaran
VCN is supported after AI family Arcturus.
Signed-off-by: James Zhu <James.Zhu@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Leo Liu <leo.liu@amd.com>
Feifei Xu [Wed, 25 Nov 2020 09:20:33 +0000 (17:20 +0800)]
tests/amdgpu:retire asic_id check on unsupported cases
Retire the asic_id check for AI family.
Signed-off-by: Feifei Xu <Feifei.Xu@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Feifei Xu [Thu, 1 Apr 2021 08:33:00 +0000 (16:33 +0800)]
tests/amdgpu: update gfx9 BufferCopy/BufferClear
buffer_load/store_format_xyzw require 64bit vgpr_a[2].
The original parameter is one u32. Modify the shader binary to
fit the 64bit parameter.
Signed-off-by: Feifei Xu <Feifei.Xu@amd.com>
Reviewed-by: Hawking Zhang <Hawking.Zhang@amd.com>
Tested-by: Gang Long <Gang.Long@amd.com>
Leo Liu [Wed, 7 Apr 2021 13:54:11 +0000 (09:54 -0400)]
Bump version to 2.4.105
Signed-off-by: Leo Liu <leo.liu@amd.com>
Leo Liu [Tue, 19 Jan 2021 21:51:02 +0000 (16:51 -0500)]
amdgpu: add function of INFO ioctl for querying video caps
via the newly added uapi/amdgpu_drm interface
Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Leo Liu [Tue, 23 Feb 2021 16:22:42 +0000 (11:22 -0500)]
amdgpu: sync up amdgpu_drm.h with latest from kernel
From drm-next:
commit
2cbcb78c9ee5520c8d836c7ff57d1b60ebe8e9b7
Merge:
06debd6e1b28 8c44390d8872
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date: Fri Mar 26 15:52:01 2021 +0100
Merge tag 'amd-drm-next-5.13-2021-03-23' of https://gitlab.freedesktop.org/agd5f/linux into drm-next
amd-drm-next-5.13-2021-03-23:
amdgpu:
...
UAPI:
- amdgpu: Add a new INFO ioctl interface to query video capabilities
rather than hardcoding them in userspace. This allows us to provide
fine grained asic capabilities (e.g., if a particular part is
bandwidth limited, we can limit the capabilities). Proposed userspace:
https://gitlab.freedesktop.org/leoliu/drm/-/commits/info_video_caps
https://gitlab.freedesktop.org/leoliu/mesa/-/commits/info_video_caps
...
Danvet: A bunch of conflicts all over, but it seems to compile ... I
did put the call to dc_allow_idle_optimizations() on a single line
since it looked a bit too jarring to be left alone.
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
From: Alex Deucher <alexander.deucher@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210324040147.1990338-1-alexander.deucher@amd.com
Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Simon Ser [Fri, 5 Mar 2021 15:07:58 +0000 (16:07 +0100)]
xf86drmMode: set FB_MODIFIERS flag when modifiers are supplied
The kernel will always return EINVAL if modifiers are supplied but
the flag DRM_MODE_FB_MODIFIERS isn't set. That's a pretty nice
footgun.
Be a little more helpful and set the flag if the user has supplied
a modifier array.
Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>