This series introduces a render-node WAIT_EVENT ioctl for retrieving AMDGPU event records and associated metadata.
WAIT_EVENT complements the EVENTFD notification interface. EVENTFD provides lightweight readiness notification, while WAIT_EVENT allows userspace to retrieve the corresponding event record and associated metadata. This series builds on the previously proposed render-node EVENTFD infrastructure and adds WAIT_EVENT support together with USERQ_EOP and QUEUE_RESET event producers. Changes since v11: - Use an unsigned absolute CLOCK_MONOTONIC deadline for WAIT_EVENT. - Preserve zero timeout semantics as an immediate check-and-return. - Remove the special handling for indefinite waits. - Improve kerneldoc for timeout handling and WAIT_EVENT manager lifetime. - Clarify the existing teardown ordering that guarantees the embedded WAIT_EVENT manager remains valid while USERQ producers are active. - Address review comments from Christian. Srinivasan Shanmugam (5): drm/amdgpu/uapi: Add WAIT_EVENT ioctl and metadata structures drm/amdgpu: Add wait-event manager and per-file lifetime plumbing drm/amdgpu: Remove queue-scoped WAIT_EVENT records on queue teardown drm/amdgpu: Record USERQ_EOP WAIT_EVENT notifications drm/amdgpu: Record QUEUE_RESET WAIT_EVENT notifications drivers/gpu/drm/amd/amdgpu/Makefile | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu.h | 5 +- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 1 + drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 5 +- drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c | 35 +- drivers/gpu/drm/amd/amdgpu/amdgpu_userq.h | 2 + .../gpu/drm/amd/amdgpu/amdgpu_wait_event.c | 490 ++++++++++++++++++ .../gpu/drm/amd/amdgpu/amdgpu_wait_event.h | 101 ++++ include/uapi/drm/amdgpu_drm.h | 114 ++++ 9 files changed, 751 insertions(+), 4 deletions(-) create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_wait_event.c create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_wait_event.h -- 2.34.1
