linux/Documentation/gpu
Danilo Krummrich b88baab828 drm/nouveau: implement new VM_BIND uAPI
This commit provides the implementation for the new uapi motivated by the
Vulkan API. It allows user mode drivers (UMDs) to:

1) Initialize a GPU virtual address (VA) space via the new
   DRM_IOCTL_NOUVEAU_VM_INIT ioctl for UMDs to specify the portion of VA
   space managed by the kernel and userspace, respectively.

2) Allocate and free a VA space region as well as bind and unbind memory
   to the GPUs VA space via the new DRM_IOCTL_NOUVEAU_VM_BIND ioctl.
   UMDs can request the named operations to be processed either
   synchronously or asynchronously. It supports DRM syncobjs
   (incl. timelines) as synchronization mechanism. The management of the
   GPU VA mappings is implemented with the DRM GPU VA manager.

3) Execute push buffers with the new DRM_IOCTL_NOUVEAU_EXEC ioctl. The
   execution happens asynchronously. It supports DRM syncobj (incl.
   timelines) as synchronization mechanism. DRM GEM object locking is
   handled with drm_exec.

Both, DRM_IOCTL_NOUVEAU_VM_BIND and DRM_IOCTL_NOUVEAU_EXEC, use the DRM
GPU scheduler for the asynchronous paths.

Reviewed-by: Dave Airlie <airlied@redhat.com>
Signed-off-by: Danilo Krummrich <dakr@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230804182406.5222-12-dakr@redhat.com
2023-08-04 20:34:41 +02:00
..
amdgpu drm/amd: Update driver-misc.html for Rembrandt-R 2023-06-09 10:40:22 -04:00
bridge
dp-mst drm/dp_mst: Introduce new refcounting scheme for mstbs and ports 2019-01-10 20:12:19 -05:00
rfc drm/doc/rfc: Introduce the merge plan for the Xe driver. 2023-04-26 23:59:00 -04:00
afbc.rst drm/afbc: Add AFBC modifier usage documentation 2019-01-11 17:52:06 +00:00
backlight.rst doc-rst: Wire-up Backlight kernel-doc documentation 2020-07-20 10:26:22 +01:00
driver-uapi.rst drm/nouveau: implement new VM_BIND uAPI 2023-08-04 20:34:41 +02:00
drivers.rst Documentation/gpu: Reorganize DC documentation 2021-12-13 16:33:16 -05:00
drm-client.rst drm/fb-helper: Remove drm_fb_helper_crtc 2019-06-04 12:13:47 +02:00
drm-internals.rst drm/doc: Add KUnit documentation 2022-06-27 13:46:03 +02:00
drm-kms-helpers.rst drm/bridge: Document the expected behaviour of DSI host controllers 2022-12-08 09:56:57 +01:00
drm-kms.rst drm/doc: Fix title underline length 2022-12-01 11:12:44 +01:00
drm-mm.rst drm/doc: fix underline for section "DRM Sync Objects" 2023-08-03 17:16:12 +02:00
drm-uapi.rst drm/doc: make drm-uapi igt-tests more readable 2022-11-23 20:34:46 +01:00
drm-usage-stats.rst drm/doc: Relax fdinfo string constraints 2023-05-24 18:03:33 +02:00
i915.rst drm/i915/mtl: Handle wopcm per-GT and limit calculations. 2022-11-14 10:11:47 -08:00
index.rst Docs/subsystem-apis: Remove '[The ]Linux' prefixes from titles of listed documents 2023-01-24 15:27:08 -07:00
introduction.rst drm/doc: Add sections about tiny drivers and external refs to intro page 2022-04-22 13:56:31 +02:00
kms-properties.csv drm/doc: Drop "content type" from the legacy kms property table 2019-03-26 14:18:51 +01:00
komeda-kms.rst Documentation: gpu/komeda-kms: eliminate duplicated word 2020-07-13 09:44:06 -06:00
mcde.rst drm/mcde: Fix reference to DOC comment 2019-10-05 20:35:14 +02:00
meson.rst Documentation/gpu/meson: Remove link to meson_canvas.c 2019-04-05 08:35:05 -04:00
msm-crash-dump.rst docs: mark orphan documents as such 2019-06-08 13:42:11 -06:00
pl111.rst drm: pl111: Update documentation 2020-07-23 10:06:22 +02:00
tegra.rst
todo.rst drm/panel: Fix todo indentation for panel prepared/enabled cleanup 2023-08-03 10:21:27 +02:00
tve200.rst
v3d.rst drm/v3d: Add missing v3d documentation structure. 2018-07-05 11:42:50 -07:00
vc4.rst drm/vc4: Improve the KUnit documentation 2022-12-15 08:54:08 +01:00
vga-switcheroo.rst
vgaarbiter.rst PCI/VGA: Move vgaarb to drivers/pci 2022-03-09 18:30:46 -06:00
vkms.rst drm/vkms: drop "Rotation" TODO 2023-05-08 09:57:24 -03:00
xen-front.rst drm/xen-front: Remove CMA support 2018-04-18 10:18:27 +03:00