linux/include/uapi/drm
Lionel Landwerlin 11ecbdddf2 drm/i915/perf: introduce global sseu pinning
On Gen11 powergating half the execution units is a functional
requirement when using the VME samplers. Not fullfilling this
requirement can lead to hangs.

This unfortunately plays fairly poorly with the NOA requirements. NOA
requires a stable power configuration to maintain its configuration.

As a result using OA (and NOA feeding into it) so far has required us
to use a power configuration that can work for all contexts. The only
power configuration fullfilling this is powergating half the execution
units.

This makes performance analysis for 3D workloads somewhat pointless.

Failing to find a solution that would work for everybody, this change
introduces a new i915-perf stream open parameter that punts the
decision off to userspace. If this parameter is omitted, the existing
Gen11 behavior remains (half EU array powergating).

This change takes the initiative to move all perf related sseu
configuration into i915_perf.c

v2: Make parameter priviliged if different from default

v3: Fix context modifying its sseu config while i915-perf is enabled

v4: Always consider global sseu a privileged operation (Tvrtko)
    Override req_sseu point in intel_sseu_make_rpcs() (Tvrtko)
    Remove unrelated changes (Tvrtko)

v5: Some typos (Tvrtko)
    Process sseu param in read_properties_unlocked() (Tvrtko)

v6: Actually commit the bits from v5...
    Fixup some checkpath warnings

v7: Only compare engine uabi field (Chris)

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200317132222.2638719-3-lionel.g.landwerlin@intel.com
2020-03-17 15:27:55 +02:00
..
amdgpu_drm.h drm/amdgpu: Add DMCUB to firmware query interface 2019-11-13 15:29:42 -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.h drm: Add getfb2 ioctl 2020-01-14 16:22:17 -05:00
drm_fourcc.h drm/framebuffer: Format modifier for Intel Gen-12 media compression 2020-01-07 13:15:48 +02:00
drm_mode.h drm: Add SPI connector type 2019-07-23 15:44:49 +02:00
drm_sarea.h drm: add extern C guard for the UAPI headers 2016-05-13 13:57:17 +01:00
etnaviv_drm.h drm/etnaviv: implement softpin 2019-08-15 12:07:47 +02:00
exynos_drm.h drm/exynos: Rename Exynos to lowercase 2020-01-21 09:09:42 +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/perf: introduce global sseu pinning 2020-03-17 15:27:55 +02:00
lima_drm.h drm/lima: support heap buffer creation 2020-01-27 22:01:09 +08: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: 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 support for GPU heap allocations 2019-08-12 14:21:37 -06: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: 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 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: add ioctl for messaging from/to guest userspace to/from host 2020-01-15 11:54:16 +01:00