The idea about usermode queue fencing synchronization is described in the below link https://patchwork.freedesktop.org/series/114385/ The core usermode queue and doorbell design patches in review are seen below which are prerequisites for this work. https://patchwork.freedesktop.org/series/113675/ https://patchwork.freedesktop.org/series/115802/ drm_exec helper patches in review are seen below which are prerequisites for this work. https://patchwork.freedesktop.org/series/114465/ Alex Deucher (1): drm/amdgpu: UAPI headers for userqueue Secure semaphore Arunpravin Paneer Selvam (5): drm/amdgpu: Implement a new 64bit sequence memory driver drm/amdgpu: Implement a new userqueue fence driver drm/amdgpu: Add mqd support for the fence address drm/amdgpu: Implement userqueue signal/wait IOCTL functions drm/amdgpu: Enable userqueue fence interrupt handling support build.sh | 11 + drivers/gpu/drm/amd/amdgpu/Makefile | 2 +- drivers/gpu/drm/amd/amdgpu/amdgpu.h | 8 + drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 8 + drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 8 + drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 13 + drivers/gpu/drm/amd/amdgpu/amdgpu_seq64.c | 158 +++++ drivers/gpu/drm/amd/amdgpu/amdgpu_seq64.h | 48 ++ .../gpu/drm/amd/amdgpu/amdgpu_userq_fence.c | 552 ++++++++++++++++++ .../gpu/drm/amd/amdgpu/amdgpu_userq_fence.h | 71 +++ drivers/gpu/drm/amd/amdgpu/amdgpu_userqueue.c | 20 + .../drm/amd/amdgpu/amdgpu_userqueue_gfx_v11.c | 12 + drivers/gpu/drm/amd/amdgpu/gfx_v11_0.c | 20 +- .../gpu/drm/amd/include/amdgpu_userqueue.h | 1 + drivers/gpu/drm/amd/include/v11_structs.h | 4 +- include/uapi/drm/amdgpu_drm.h | 47 ++ 16 files changed, 979 insertions(+), 4 deletions(-) create mode 100755 build.sh create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_seq64.c create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_seq64.h create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_userq_fence.c create mode 100644 drivers/gpu/drm/amd/amdgpu/amdgpu_userq_fence.h -- 2.25.1