mirror of
https://gitlab.freedesktop.org/mesa/drm.git
synced 2026-01-01 23:30:16 +01:00
read-only mirror of https://gitlab.freedesktop.org/mesa/drm
DMA's atomic behavir is unlike GFX,If the comparing data is not equal to destination data, For GFX, loop again till gfx timeout(system hang). For DMA, loop again till timer expired and then send interrupt. So testcase can't use interrupt mechanism. We take another way to verify. When the comparing data is not equal to destination data, overwrite the source data to the destination buffer. Otherwise, original destination data unchanged. So if the bo_cpu data is overwritten, the result is passed. Steps: 1. use linear write packet to write 0xdeadbeaf to secure buffer, 2. use atmoic packet and ATOMIC_CMPSWAP_RTN_32 opcode to compare the cmp_data(0xdeadbeaf) to the written data which has been encrypted. v2: add the case of (dest_data != cmp_data). Acked-by: Huang Rui <ray.huang@amd.com> Acked-by: Leo Liu <leo.liu@amd.com> Signed-off-by: Aaron Liu <aaron.liu@amd.com> Acked-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> |
||
|---|---|---|
| .gitlab-ci | ||
| amdgpu | ||
| android | ||
| data | ||
| etnaviv | ||
| exynos | ||
| freedreno | ||
| include/drm | ||
| intel | ||
| libkms | ||
| man | ||
| nouveau | ||
| omap | ||
| radeon | ||
| tegra | ||
| tests | ||
| vc4 | ||
| .editorconfig | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| Android.common.mk | ||
| Android.mk | ||
| CleanSpec.mk | ||
| CONTRIBUTING.rst | ||
| core-symbols.txt | ||
| libdrm.pc.in | ||
| libdrm_lists.h | ||
| libdrm_macros.h | ||
| libsync.h | ||
| Makefile.sources | ||
| meson.build | ||
| meson_options.txt | ||
| README.rst | ||
| RELEASING | ||
| symbols-check.py | ||
| util_double_list.h | ||
| util_math.h | ||
| xf86atomic.h | ||
| xf86drm.c | ||
| xf86drm.h | ||
| xf86drmHash.c | ||
| xf86drmHash.h | ||
| xf86drmMode.c | ||
| xf86drmMode.h | ||
| xf86drmRandom.c | ||
| xf86drmRandom.h | ||
| xf86drmSL.c | ||
libdrm - userspace library for drm
----------------------------------
This is libdrm, a userspace library for accessing the DRM, direct rendering
manager, on Linux, BSD and other operating systems that support the ioctl
interface.
The library provides wrapper functions for the ioctls to avoid exposing the
kernel interface directly, and for chipsets with drm memory manager, support
for tracking relocations and buffers.
New functionality in the kernel DRM drivers typically requires a new libdrm,
but a new libdrm will always work with an older kernel.
libdrm is a low-level library, typically used by graphics drivers such as
the Mesa drivers, the X drivers, libva and similar projects.
Compiling
---------
To set up meson:
meson builddir/
By default this will install into /usr/local, you can change your prefix
with --prefix=/usr (or `meson configure builddir/ -Dprefix=/usr` after
the initial meson setup).
Then use ninja to build and install:
ninja -C builddir/ install
If you are installing into a system location you will need to run install
separately, and as root.