This patch series adds 2 new flags, DRM_SYNCOBJ_QUERY_FLAGS_ERROR and DRM_SYNCOBJ_WAIT_FLAGS_ABORT_ON_ERROR for 3 ioctl operations DRM_IOCTL_SYNCOBJ_QUERY, DRM_IOCTL_SYNCOBJ_WAIT and DRM_IOCTL_SYNCOBJ_TIMELINE_WAIT to allow them to batch-request error codes from multiple syncobjs and abort early upon error of any of them.
Based on discussions from Michel Dänzer and Christian König, and a starter task from the DRM todo documentation. See https://gitlab.gnome.org/GNOME/mutter/-/issues/4624 for discussions on userspace implementation. --- Changes: v2: * Went from adding a new ioctl to implementing flags for existing ones. v1: https://lore.kernel.org/all/[email protected]/T/#mfdbc7f97e91ca5731b51b69c8cf8173cb0b2fb3e Yicong Hui (3): drm/syncobj: Add flag DRM_SYNCOBJ_QUERY_FLAGS_ERROR to query errors drm/syncobj: Add DRM_SYNCOBJ_WAIT_FLAGS_ABORT_ON_ERROR ioctl flag drm/syncobj/doc: Remove starter task from todo list Documentation/gpu/todo.rst | 16 ---------- drivers/dma-buf/dma-fence-chain.c | 52 +++++++++++++++++++++++++++++++ drivers/gpu/drm/drm_syncobj.c | 46 ++++++++++++++++++++++++--- include/linux/dma-fence-chain.h | 1 + include/uapi/drm/drm.h | 2 ++ 5 files changed, 96 insertions(+), 21 deletions(-) -- 2.53.0
