linux_dsm_epyc7002/include/uapi/drm
Chris Wilson ee1136908e drm/i915/execlists: Virtual engine bonding
Some users require that when a master batch is executed on one particular
engine, a companion batch is run simultaneously on a specific slave
engine. For this purpose, we introduce virtual engine bonding, allowing
maps of master:slaves to be constructed to constrain which physical
engines a virtual engine may select given a fence on a master engine.

For the moment, we continue to ignore the issue of preemption deferring
the master request for later. Ideally, we would like to then also remove
the slave and run something else rather than have it stall the pipeline.
With load balancing, we should be able to move workload around it, but
there is a similar stall on the master pipeline while it may wait for
the slave to be executed. At the cost of more latency for the bonded
request, it may be interesting to launch both on their engines in
lockstep. (Bubbles abound.)

Opens: Also what about bonding an engine as its own master? It doesn't
break anything internally, so allow the silliness.

v2: Emancipate the bonds
v3: Couple in delayed scheduling for the selftests
v4: Handle invalid mutually exclusive bonding
v5: Mention what the uapi does
v6: s/nbond/num_bonds/

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190521211134.16117-9-chris@chris-wilson.co.uk
2019-05-22 08:40:46 +01:00
..
amdgpu_drm.h drm/amdgpu: add timeline support in amdgpu CS v3 2019-04-12 11:27:57 -05:00
armada_drm.h License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
drm_fourcc.h drm/fourcc: Fix conflicting Y41x definitions 2019-03-21 09:49:04 +01:00
drm_mode.h drm/gamma: Clarify gamma lut uapi 2019-04-03 18:26:03 +02:00
drm_sarea.h drm: add extern C guard for the UAPI headers 2016-05-13 13:57:17 +01:00
drm.h drm/syncobj: add timeline signal ioctl for syncobj v5 2019-04-01 12:09:00 +02:00
etnaviv_drm.h drm/etnaviv: add more minor features fields 2018-03-09 12:22:36 +01:00
exynos_drm.h drm/exynos: ipp: Add IPP v2 framework 2018-05-10 08:48:53 +09:00
i810_drm.h License cleanup: add SPDX license identifier to uapi header files with no license 2017-11-02 11:19:54 +01:00
i915_drm.h drm/i915/execlists: Virtual engine bonding 2019-05-22 08:40:46 +01:00
lima_drm.h drm/lima: driver for ARM Mali4xx GPUs 2019-04-01 10:45:20 -07:00
mga_drm.h drm/mga: add extern C guard for the UAPI header 2016-05-13 14:06:07 +01:00
msm_drm.h drm/msm/gpu: Add submit queue queries 2019-04-19 11:50:06 -07:00
nouveau_drm.h drm/nouveau/svm: new ioctl to migrate process memory to GPU memory 2019-02-20 09:00:03 +10:00
omap_drm.h License cleanup: add SPDX license identifier to uapi header files with a license 2017-11-02 11:20:11 +01:00
panfrost_drm.h drm/panfrost: Add initial panfrost driver 2019-04-12 12:56:46 -05:00
qxl_drm.h drm/qxl: fix __user annotations 2017-06-23 10:06:31 +02:00
r128_drm.h drm/r128: add extern C guard for the UAPI header 2016-05-13 14:06:13 +01:00
radeon_drm.h drm/radeon: add extern C guard for the UAPI header 2016-05-13 14:06:14 +01:00
savage_drm.h drm/savage: add extern C guard for the UAPI header 2016-05-13 14:06:15 +01:00
sis_drm.h drm/sis: add extern C guard for the UAPI header 2016-05-13 14:06:16 +01:00
tegra_drm.h drm/tegra: Add kerneldoc for UAPI 2018-05-19 00:21:20 +02:00
v3d_drm.h drm/v3d: Document cache flushing ABI. 2018-12-07 10:55:48 -08:00
vc4_drm.h drm/vc4: Add a pad field to align drm_vc4_submit_cl to 64 bits. 2018-05-03 15:20:09 -07:00
vgem_drm.h drm/vgem: Attach sw fences to exported vGEM dma-buf (ioctl) 2016-07-18 08:54:55 +02:00
via_drm.h drm/via: add extern C guard for the UAPI header 2016-05-13 14:06:19 +01:00
virtgpu_drm.h drm/virtio: add in/out fence support for explicit synchronization 2018-11-14 14:21:02 +01:00
vmwgfx_drm.h drm/vmwgfx: Expose SM4_1 param to user space 2018-07-06 20:16:09 +02:00