linux/include/uapi/drm
Gurchetan Singh 7add80126b drm/uapi: add explicit virtgpu context debug name
There are two problems with the current method of determining the
virtio-gpu debug name.

1) TASK_COMM_LEN is defined to be 16 bytes only, and this is a
   Linux kernel idiom (see PR_SET_NAME + PR_GET_NAME). Though,
   Android/FreeBSD get around this via setprogname(..)/getprogname(..)
   in libc.

   On Android, names longer than 16 bytes are common.  For example,
   one often encounters a program like "com.android.systemui".

   The virtio-gpu spec allows the debug name to be up to 64 bytes, so
   ideally userspace should be able to set debug names up to 64 bytes.

2) The current implementation determines the debug name using whatever
   task initiated virtgpu.  This is could be a "RenderThread" of a
   larger program, when we actually want to propagate the debug name
   of the program.

To fix these issues, add a new CONTEXT_INIT param that allows userspace
to set the debug name when creating a context.

It takes a null-terminated C-string as the param value. The length of the
string (excluding the terminator) **should** be <= 64 bytes.  Otherwise,
the debug_name will be truncated to 64 bytes.

Link to open-source userspace:
https://android-review.googlesource.com/c/platform/hardware/google/gfxstream/+/2787176

Signed-off-by: Gurchetan Singh <gurchetansingh@chromium.org>
Reviewed-by: Josh Simonot <josh.simonot@gmail.com>
Reviewed-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20231018181727.772-2-gurchetansingh@chromium.org
History 2023-11-11 21:31:00 +03:00
..
amdgpu_drm.h drm/amdgpu: add UAPI for allocating doorbell memory 2023-08-07 17:14:06 -04: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: introduce CLOSEFB IOCTL 2023-10-27 13:47:56 +02:00
drm_fourcc.h drm/fourcc: Add NV20 and NV30 YUV formats 2023-10-24 21:34:35 +02:00
drm_mode.h drm: introduce CLOSEFB IOCTL 2023-10-27 13:47:56 +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: 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
habanalabs_accel.h accel/habanalabs: add description to several info ioctls 2023-06-08 12:35:56 +03:00
i915_drm.h drm/i915: Allow user to set cache at BO creation 2023-06-07 17:32:15 +02:00
ivpu_accel.h accel/ivpu: Remove support for uncached buffers 2023-11-08 16:27:39 +01:00
lima_drm.h drm/lima: support heap buffer creation 2020-01-27 22:01:09 +08:00
msm_drm.h drm/msm: Rename drm_msm_gem_submit_reloc::or in C++ code 2023-04-06 20:29:39 +03:00
nouveau_drm.h drm/nouveau: uapi: don't pass NO_PREFETCH flag implicitly 2023-08-24 02:57:50 +02: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: Remove type name from internal struct again 2022-11-07 15:35:43 +00:00
qaic_accel.h accel/qaic: Support for 0 resize slice execution in BO 2023-11-03 09:03:01 -06:00
qxl_drm.h drm/qxl: fix __user annotations 2017-06-23 10:06:31 +02:00
radeon_drm.h drm/radeon: add extern C guard for the UAPI header 2016-05-13 14:06:14 +01:00
tegra_drm.h drm/tegra: Add new UAPI to header 2021-08-10 14:48:17 +02:00
v3d_drm.h drm/v3d: update UAPI to match user-space for V3D 7.x 2023-11-02 08:54:39 -03: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
virtgpu_drm.h drm/uapi: add explicit virtgpu context debug name 2023-11-11 21:31:00 +03:00
vmwgfx_drm.h drm/vmwgfx: Allow querying of the SVGA PCI id from the userspace 2022-03-11 13:29:35 -05:00