MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit
Changes since v4 (as per, Christian feedbacks): - Rework event_id get/create helper so it is callable without holding xa lock - Move event_id allocation into the helper and use xa_insert() for insertion - Drop GFP_NOWAIT usage in xa insertion path - Allocate eventfd entry only after ctx/id prerequisites are satisfied - Simplify fini path by removing per-entry __xa_erase() and relying on xa_destroy() - Keep duplicate (event_id, ctx) binds idempotent - Add direct userq_mgr -> eventfd_mgr pointer for IRQ-side signaling - Drop file->driver_priv walk and READ_ONCE() from GFX11 EOP path - Collapse EVENTFD bind/unbind into a single ioctl with operation field - Add queue_id parameter to UAPI for future queue-specific subscriptions Only compilation tested. Suggested-by: Christian König <[email protected]> Signed-off-by: Srinivasan Shanmugam <[email protected]> Srinivasan Shanmugam (5): drm/amdgpu: Add render-node EVENTFD manager core drm/amdgpu: Embed eventfd manager in amdgpu_fpriv drm/amdgpu: Wire userq manager to fpriv eventfd manager drm/amdgpu/gfx11: Signal render-node eventfd via userq manager drm/amdgpu/uapi: Add unified EVENTFD ioctl for render node drivers/gpu/drm/amd/amdgpu/Makefile | 3 +- drivers/gpu/drm/amd/amdgpu/amdgpu.h | 8 + drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 1 + drivers/gpu/drm/amd/amdgpu/amdgpu_eventfd.c | 386 ++++++++++++++++++++ drivers/gpu/drm/amd/amdgpu/amdgpu_eventfd.h | 59 +++ drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 38 ++ drivers/gpu/drm/amd/amdgpu/amdgpu_userq.c | 3 + drivers/gpu/drm/amd/amdgpu/amdgpu_userq.h | 1 + drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c | 27 +- include/uapi/drm/amdgpu_drm.h | 30 ++ 10 files changed, 550 insertions(+), 6 deletions(-) create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_eventfd.c create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_eventfd.h -- 2.34.1
