From: John.C.Harrison@Intel.com
To: Intel-GFX@Lists.FreeDesktop.Org
Subject: [RFC 0/9] Add native sync support to i915 driver
Date: Wed, 13 Jan 2016 17:57:26 +0000 [thread overview]
Message-ID: <1452707855-9791-1-git-send-email-John.C.Harrison@Intel.com> (raw)
From: John Harrison <John.C.Harrison@Intel.com>
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@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
next reply other threads:[~2016-01-13 17:57 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-13 17:57 John.C.Harrison [this message]
2016-01-13 17:57 ` [RFC 1/9] staging/android/sync: Support sync points created from dma-fences John.C.Harrison
2016-01-13 17:57 ` [RFC 2/9] staging/android/sync: add sync_fence_create_dma John.C.Harrison
2016-01-13 19:03 ` Gustavo Padovan
2016-01-13 17:57 ` [RFC 3/9] staging/android/sync: Move sync framework out of staging John.C.Harrison
2016-01-13 19:00 ` Gustavo Padovan
2016-01-14 11:31 ` John Harrison
2016-01-14 13:42 ` Gustavo Padovan
2016-01-14 14:19 ` John Harrison
2016-01-13 19:51 ` Gustavo Padovan
2016-01-14 4:55 ` Greg Kroah-Hartman
2016-01-13 17:57 ` [RFC 4/9] android/sync: Improved debug dump to dmesg John.C.Harrison
2016-01-13 17:57 ` [RFC 5/9] android/sync: Fix reversed sense of signaled fence John.C.Harrison
2016-01-13 17:57 ` [RFC 6/9] drm/i915: Add sync framework support to execbuff IOCTL John.C.Harrison
2016-01-13 18:43 ` Chris Wilson
2016-01-14 11:47 ` John Harrison
2016-01-14 12:07 ` Chris Wilson
2016-01-21 14:47 ` Maarten Lankhorst
2016-01-21 15:07 ` Chris Wilson
2016-01-13 17:57 ` [RFC 7/9] drm/i915: Add sync wait support to scheduler John.C.Harrison
2016-01-13 17:57 ` [RFC 8/9] drm/i915: Connecting execbuff fences " John.C.Harrison
2016-01-13 17:57 ` [RFC 9/9] drm/i915: Add sync support to the scheduler statistics and status dump John.C.Harrison
2016-01-19 16:04 ` [RFC] igt/gem_exec_fence: New test for sync/fence interface John.C.Harrison
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1452707855-9791-1-git-send-email-John.C.Harrison@Intel.com \
--to=john.c.harrison@intel.com \
--cc=Intel-GFX@Lists.FreeDesktop.Org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox