From: John Harrison <John.C.Harrison@xxxxxxxxx> This patch set was originally part of the struct fence and scheduler patch sets. However, it relies on de-staging the sync framework and that is now being done by another group. Hence these patches had to be split out into a separate series that can be merged after the de-stage has happened. Note that for the time being, this patch set also includes the de-staging work because otherwise the rest of the patches will not apply. Hence it is being set as an RFC rather than PATCH as the expectation is those patches will need to be dropped and the remainder rebased. What the patch series does is to add support for user land sync points to the i915 driver (such as Android native syncs and dma-buff syncs). That allows exernal applications/libraries/drivers to asynchronously submit and/or track GPU work. That is, a batch buffer can be submitted to the i915 driver with a sync point attached which means that the work will not actually be sent to the hardware until that sync point has been signalled. Likewise, a sync point can be requested such that when the batch buffer has completed on the hardware the sync point will be signalled by the i915 driver. This allows long chains of interdependent work to be submitted to various drivers without the CPU having to wait between steps. E.g. a video frame can be captured, used as an OGL texture and displayed to the screen all as a single 'fire and forget' operation. v1: New patch series put together from patches that were previously part of two different patch sets. Hence version numbers in individual patches have been change to 0.x for revisions when in previous series. [Patches against drm-intel-nightly tree fetched 17/11/2015 with struct fence conversion and scheduler patches applied] John Harrison (6): staging/android/sync: Move sync framework out of staging android/sync: Improved debug dump to dmesg drm/i915: Add sync framework support to execbuff IOCTL drm/i915: Add sync wait support to scheduler drm/i915: Connecting execbuff fences to scheduler drm/i915: Add sync support to the scheduler statistics and status dump Maarten Lankhorst (2): staging/android/sync: Support sync points created from dma-fences staging/android/sync: add sync_fence_create_dma Peter Lawthers (1): android/sync: Fix reversed sense of signaled fence drivers/android/Kconfig | 28 ++ drivers/android/Makefile | 2 + drivers/android/sw_sync.c | 260 ++++++++++ drivers/android/sw_sync.h | 59 +++ drivers/android/sync.c | 739 +++++++++++++++++++++++++++++ drivers/android/sync.h | 388 +++++++++++++++ drivers/android/sync_debug.c | 280 +++++++++++ drivers/android/trace/sync.h | 82 ++++ drivers/gpu/drm/i915/Kconfig | 3 + drivers/gpu/drm/i915/i915_debugfs.c | 4 + drivers/gpu/drm/i915/i915_drv.h | 8 + drivers/gpu/drm/i915/i915_gem.c | 90 +++- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 123 ++++- drivers/gpu/drm/i915/i915_scheduler.c | 163 ++++++- drivers/gpu/drm/i915/i915_scheduler.h | 11 + drivers/staging/android/Kconfig | 28 -- drivers/staging/android/Makefile | 2 - drivers/staging/android/sw_sync.c | 260 ---------- drivers/staging/android/sw_sync.h | 59 --- drivers/staging/android/sync.c | 729 ---------------------------- drivers/staging/android/sync.h | 356 -------------- drivers/staging/android/sync_debug.c | 254 ---------- drivers/staging/android/trace/sync.h | 82 ---- drivers/staging/android/uapi/sw_sync.h | 32 -- drivers/staging/android/uapi/sync.h | 97 ---- include/uapi/Kbuild | 1 + include/uapi/drm/i915_drm.h | 16 +- include/uapi/sync/Kbuild | 3 + include/uapi/sync/sw_sync.h | 32 ++ include/uapi/sync/sync.h | 97 ++++ 30 files changed, 2373 insertions(+), 1915 deletions(-) create mode 100644 drivers/android/sw_sync.c create mode 100644 drivers/android/sw_sync.h create mode 100644 drivers/android/sync.c create mode 100644 drivers/android/sync.h create mode 100644 drivers/android/sync_debug.c create mode 100644 drivers/android/trace/sync.h delete mode 100644 drivers/staging/android/sw_sync.c delete mode 100644 drivers/staging/android/sw_sync.h delete mode 100644 drivers/staging/android/sync.c delete mode 100644 drivers/staging/android/sync.h delete mode 100644 drivers/staging/android/sync_debug.c delete mode 100644 drivers/staging/android/trace/sync.h delete mode 100644 drivers/staging/android/uapi/sw_sync.h delete mode 100644 drivers/staging/android/uapi/sync.h create mode 100644 include/uapi/sync/Kbuild create mode 100644 include/uapi/sync/sw_sync.h create mode 100644 include/uapi/sync/sync.h -- 1.9.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx