linux-stable/drivers
Simon Ser c7a4722971 drm/syncobj: add IOCTL to register an eventfd
Introduce a new DRM_IOCTL_SYNCOBJ_EVENTFD IOCTL which signals an
eventfd from a syncobj.

This is useful for Wayland compositors to handle wait-before-submit.
Wayland clients can send a timeline point to the compositor
before the point has materialized yet, then compositors can wait
for the point to materialize via this new IOCTL.

The existing DRM_IOCTL_SYNCOBJ_TIMELINE_WAIT IOCTL is not suitable
because it blocks. Compositors want to integrate the wait with
their poll(2)-based event loop.

Requirements for new uAPI:

- User-space patch: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4262
- IGT: https://lists.freedesktop.org/archives/igt-dev/2023-July/057893.html

v2:
- Wait for fence when flags is zero
- Improve documentation (Pekka)
- Rename IOCTL (Christian)
- Fix typo in drm_syncobj_add_eventfd() (Christian)

v3:
- Link user-space + IGT patches
- Add reference from overview docs

v4: fix IOCTL number conflict with GETFB2 (Nicholas Choi, Vitaly Prosyak)

Signed-off-by: Simon Ser <contact@emersion.fr>
Reviewed-by: Christian König <christian.koenig@amd.com>
Acked-by: Pekka Paalanen <pekka.paalanen@collabora.com>
Cc: Jason Ekstrand <jason@jlekstrand.net>
Cc: Daniel Vetter <daniel@ffwll.ch>
Cc: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
Cc: Daniel Stone <daniel@fooishbar.org>
Cc: James Jones <jajones@nvidia.com>
Cc: Austin Shafer <ashafer@nvidia.com>
Cc: Vitaly Prosyak <vprosyak@amd.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20230714111257.11940-1-contact@emersion.fr
2023-07-20 12:01:03 +02:00
..
accel accel/ivpu: Add fw_name file to debugfs 2023-07-07 09:33:28 +02:00
accessibility
acpi
amba
android
ata ata: libata-scsi: Avoid deadlock on rescan after device resume 2023-06-18 12:00:49 +09:00
atm
auxdisplay
base regmap: One more fix for v6.4 2023-06-15 19:50:57 -07:00
bcma
block
bluetooth
bus
cdrom
cdx
char
clk clk: pxa: fix NULL pointer dereference in pxa3xx_clk_update_accr 2023-06-14 17:22:17 -07:00
clocksource
comedi
connector
counter
cpufreq
cpuidle
crypto
cxl
dax
dca
devfreq
dio
dma
dma-buf dma-buf: Change locking policy for mmap() 2023-06-21 20:22:20 +03:00
edac
eisa
extcon
firewire
firmware efi: Do not include <linux/screen_info.h> from EFI header 2023-07-08 20:26:36 +02:00
fpga
fsi
gnss
gpio
gpu drm/syncobj: add IOCTL to register an eventfd 2023-07-20 12:01:03 +02:00
greybus
hid Linux 6.4-rc7 2023-06-19 16:01:25 +10:00
hsi
hte
hv
hwmon
hwspinlock
hwtracing
i2c
i3c
idle
iio
infiniband RDMA/rxe: Fix rxe_cq_post 2023-06-14 14:12:43 -03:00
input
interconnect
iommu
ipack
irqchip
isdn
leds
macintosh
mailbox
mcb
md - Fix DM thinp discard performance regression introduced during 6.4 2023-06-15 20:19:21 -07:00
media media: videobuf2: Don't assert held reservation lock for dma-buf mmapping 2023-06-21 20:22:20 +03:00
memory
memstick
message
mfd
misc Linux 6.4-rc7 2023-06-19 16:01:25 +10:00
mmc
most
mtd
mux
net Including fixes from wireless, and netfilter. 2023-06-15 21:11:17 -07:00
nfc
ntb
nubus
nvdimm
nvme
nvmem
of
opp
parisc
parport
pci
pcmcia
peci
perf
phy
pinctrl
platform
pnp
power
powercap
pps
ps3
ptp
pwm
rapidio
ras
regulator
remoteproc
reset
rpmsg
rtc
s390 Including fixes from wireless, and netfilter. 2023-06-15 21:11:17 -07:00
sbus
scsi scsi: lpfc: Fix incorrect big endian type assignment in bsg loopback path 2023-06-14 21:57:48 -04:00
sh
siox
slimbus
soc
soundwire
spi spi: dw: Replace incorrect spi_get_chipselect with set 2023-06-13 20:19:26 +01:00
spmi
ssb
staging staging/sm750fb: Do not include <linux/screen_info.h> 2023-07-08 20:26:40 +02:00
target scsi: target: core: Fix error path in target_setup_session() 2023-06-14 21:54:35 -04:00
tc
tee
thermal
thunderbolt
tty
ufs
uio
usb
vdpa
vfio
vhost
video fbdev/hyperv_fb: Include <linux/screen_info.h> 2023-07-11 13:58:02 +02:00
virt
virtio
vlynq
w1
watchdog
xen
zorro
Kconfig
Makefile