linux/include/uapi/drm
Matthew Brost ee242ca704 drm/i915/guc: Implement GuC priority management
Implement a simple static mapping algorithm of the i915 priority levels
(int, -1k to 1k exposed to user) to the 4 GuC levels. Mapping is as
follows:

i915 level < 0          -> GuC low level     (3)
i915 level == 0         -> GuC normal level  (2)
i915 level < INT_MAX    -> GuC high level    (1)
i915 level == INT_MAX   -> GuC highest level (0)

We believe this mapping should cover the UMD use cases (3 distinct user
levels + 1 kernel level).

In addition to static mapping, a simple counter system is attached to
each context tracking the number of requests inflight on the context at
each level. This is needed as the GuC levels are per context while in
the i915 levels are per request.

v2:
 (Daniele)
  - Add BUILD_BUG_ON to enforce ordering of priority levels
  - Add missing lockdep to guc_prio_fini
  - Check for return before setting context registered flag
  - Map DISPLAY priority or higher to highest guc prio
  - Update comment for guc_prio

Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com>
Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210727002348.97202-33-matthew.brost@intel.com
2021-07-27 17:32:27 -07:00
..
amdgpu_drm.h drm/amdgpu: add uapi to define yellow carp series 2021-06-04 16:03:05 -04:00
armada_drm.h
drm.h drm: document minimum kernel version for DRM_CLIENT_CAP_* 2021-05-31 18:57:22 +02:00
drm_fourcc.h drm/fourcc: Add 16 bpc fixed point framebuffer formats. 2021-05-27 15:00:47 -04:00
drm_mode.h drm/connector: demote connector force-probes for non-master clients 2021-05-03 12:08:37 +02:00
drm_sarea.h
etnaviv_drm.h drm/etnaviv: provide more ID values via GET_PARAM ioctl. 2021-01-22 12:33:57 +01:00
exynos_drm.h drm/exynos: Rename Exynos to lowercase 2020-01-21 09:09:42 +09:00
i810_drm.h
i915_drm.h drm/i915/guc: Implement GuC priority management 2021-07-27 17:32:27 -07:00
lima_drm.h drm/lima: support heap buffer creation 2020-01-27 22:01:09 +08:00
mga_drm.h
msm_drm.h drm/msm: deprecate MSM_BO_UNCACHED (map as writecombine instead) 2021-06-23 07:32:14 -07:00
nouveau_drm.h drm/nouveau: support synchronous pushbuf submission 2020-01-29 15:49:56 +10:00
omap_drm.h Revert "drm/omap: add OMAP_BO flags to affect buffer allocation" 2019-10-23 10:41:41 -04:00
panfrost_drm.h drm/panfrost: Add AFBC_FEATURES parameter 2021-06-04 16:16:04 +01:00
qxl_drm.h
r128_drm.h
radeon_drm.h
savage_drm.h
sis_drm.h
tegra_drm.h drm/tegra: Add kerneldoc for UAPI 2018-05-19 00:21:20 +02:00
v3d_drm.h drm/v3d: clean caches at the end of render jobs on request from user space 2019-09-19 12:57:44 -07: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
via_drm.h
virtgpu_drm.h drm/virtgpu api: cross-device feature 2020-09-29 11:23:18 +02:00
vmwgfx_drm.h drm/vmwgfx: Add SM5 param for userspace 2020-03-23 22:48:57 +01:00