From: Gustavo Padovan <gustavo@padovan.org> To: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: linux-kernel@vger.kernel.org, devel@driverdev.osuosl.org, dri-devel@lists.freedesktop.org, "Daniel Stone" <daniels@collabora.com>, "Arve Hjønnevåg" <arve@android.com>, "Riley Andrews" <riandrews@android.com>, "Daniel Vetter" <daniel.vetter@ffwll.ch>, "Rob Clark" <robdclark@gmail.com>, "Greg Hackmann" <ghackmann@google.com>, "John Harrison" <John.C.Harrison@Intel.com>, "Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>, "Sumit Semwal" <sumit.semwal@linaro.org>, "Gustavo Padovan" <gustavo.padovan@collabora.co.uk>, pavel@ucw.cz, eric.engestrom@imgtec.com Subject: [PATCH v3 4/5] staging/android: add Doc for SW_SYNC ioctl interface Date: Thu, 11 Aug 2016 12:26:43 -0300 [thread overview] Message-ID: <1470929204-13237-5-git-send-email-gustavo@padovan.org> (raw) In-Reply-To: <1470929204-13237-1-git-send-email-gustavo@padovan.org> From: Gustavo Padovan <gustavo.padovan@collabora.co.uk> This interface is hidden from kernel headers and it is intended for use only for testing. So testers would have to add the ioctl information internally. This is to prevent misuse of this feature. v2: take in Eric suggestions for the Documentation Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com> --- drivers/staging/android/sw_sync.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/drivers/staging/android/sw_sync.c b/drivers/staging/android/sw_sync.c index 039e1f4..498ab55 100644 --- a/drivers/staging/android/sw_sync.c +++ b/drivers/staging/android/sw_sync.c @@ -25,6 +25,36 @@ #define CREATE_TRACE_POINTS #include "sync_trace.h" +/* + * SW SYNC validation framework + * + * A sync object driver that uses a 32bit counter to coordinate + * synchronization. Useful when there is no hardware primitive backing + * the synchronization. + * + * To start the framework just open: + * + * <debugfs>/sync/sw_sync + * + * That will create a sync timeline, all fences created under this timeline + * file descriptor will belong to the this timeline. + * + * The 'sw_sync' file can be opened many times as to create different + * timelines. + * + * Fences can be created with SW_SYNC_IOC_CREATE_FENCE ioctl with struct + * sw_sync_ioctl_create_fence as parameter. + * + * To increment the timeline counter, SW_SYNC_IOC_INC ioctl should be used + * with the increment as u32. This will update the last signaled value + * from the timeline and signal any fence that has seqno smaller of equal + * it. + * + * struct sw_sync_ioctl_create_fence + * @value: the seqno to initialise the fence with + * @name: the name of the new sync point + * @fence: return the fd of the new sync_file with the created fence + */ struct sw_sync_create_fence_data { __u32 value; char name[32]; @@ -35,6 +65,7 @@ struct sw_sync_create_fence_data { #define SW_SYNC_IOC_CREATE_FENCE _IOWR(SW_SYNC_IOC_MAGIC, 0,\ struct sw_sync_create_fence_data) + #define SW_SYNC_IOC_INC _IOW(SW_SYNC_IOC_MAGIC, 1, __u32) static const struct fence_ops timeline_fence_ops; -- 2.5.5
WARNING: multiple messages have this Message-ID (diff)
From: Gustavo Padovan <gustavo@padovan.org> To: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: devel@driverdev.osuosl.org, "Daniel Stone" <daniels@collabora.com>, "Daniel Vetter" <daniel.vetter@ffwll.ch>, "Riley Andrews" <riandrews@android.com>, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, "Arve Hjønnevåg" <arve@android.com>, pavel@ucw.cz, "Gustavo Padovan" <gustavo.padovan@collabora.co.uk>, "John Harrison" <John.C.Harrison@Intel.com> Subject: [PATCH v3 4/5] staging/android: add Doc for SW_SYNC ioctl interface Date: Thu, 11 Aug 2016 12:26:43 -0300 [thread overview] Message-ID: <1470929204-13237-5-git-send-email-gustavo@padovan.org> (raw) In-Reply-To: <1470929204-13237-1-git-send-email-gustavo@padovan.org> From: Gustavo Padovan <gustavo.padovan@collabora.co.uk> This interface is hidden from kernel headers and it is intended for use only for testing. So testers would have to add the ioctl information internally. This is to prevent misuse of this feature. v2: take in Eric suggestions for the Documentation Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk> Reviewed-by: Eric Engestrom <eric.engestrom@imgtec.com> --- drivers/staging/android/sw_sync.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/drivers/staging/android/sw_sync.c b/drivers/staging/android/sw_sync.c index 039e1f4..498ab55 100644 --- a/drivers/staging/android/sw_sync.c +++ b/drivers/staging/android/sw_sync.c @@ -25,6 +25,36 @@ #define CREATE_TRACE_POINTS #include "sync_trace.h" +/* + * SW SYNC validation framework + * + * A sync object driver that uses a 32bit counter to coordinate + * synchronization. Useful when there is no hardware primitive backing + * the synchronization. + * + * To start the framework just open: + * + * <debugfs>/sync/sw_sync + * + * That will create a sync timeline, all fences created under this timeline + * file descriptor will belong to the this timeline. + * + * The 'sw_sync' file can be opened many times as to create different + * timelines. + * + * Fences can be created with SW_SYNC_IOC_CREATE_FENCE ioctl with struct + * sw_sync_ioctl_create_fence as parameter. + * + * To increment the timeline counter, SW_SYNC_IOC_INC ioctl should be used + * with the increment as u32. This will update the last signaled value + * from the timeline and signal any fence that has seqno smaller of equal + * it. + * + * struct sw_sync_ioctl_create_fence + * @value: the seqno to initialise the fence with + * @name: the name of the new sync point + * @fence: return the fd of the new sync_file with the created fence + */ struct sw_sync_create_fence_data { __u32 value; char name[32]; @@ -35,6 +65,7 @@ struct sw_sync_create_fence_data { #define SW_SYNC_IOC_CREATE_FENCE _IOWR(SW_SYNC_IOC_MAGIC, 0,\ struct sw_sync_create_fence_data) + #define SW_SYNC_IOC_INC _IOW(SW_SYNC_IOC_MAGIC, 1, __u32) static const struct fence_ops timeline_fence_ops; -- 2.5.5 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2016-08-11 15:27 UTC|newest] Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-08-11 15:26 [PATCH v3 0/5] de-stage SW_SYNC validation frawework Gustavo Padovan 2016-08-11 15:26 ` Gustavo Padovan 2016-08-11 15:26 ` [PATCH v3 1/5] staging/android: do not let userspace trigger WARN_ON Gustavo Padovan 2016-08-11 15:26 ` Gustavo Padovan 2016-08-11 15:26 ` [PATCH v3 2/5] staging/android: move trace/sync.h to sync_trace.h Gustavo Padovan 2016-08-11 15:26 ` Gustavo Padovan 2016-08-11 15:26 ` [PATCH v3 3/5] staging/android: prepare sw_sync files for de-staging Gustavo Padovan 2016-08-11 15:26 ` Gustavo Padovan 2016-08-11 15:26 ` Gustavo Padovan [this message] 2016-08-11 15:26 ` [PATCH v3 4/5] staging/android: add Doc for SW_SYNC ioctl interface Gustavo Padovan 2016-08-11 15:39 ` Eric Engestrom 2016-08-11 15:39 ` Eric Engestrom 2016-08-11 16:41 ` Gustavo Padovan 2016-08-11 16:45 ` [PATCH] " Gustavo Padovan 2016-08-11 16:45 ` Gustavo Padovan 2016-08-18 12:07 ` Pavel Machek 2016-08-18 12:07 ` Pavel Machek 2016-08-11 15:26 ` [PATCH v3 5/5] dma-buf/sw_sync: de-stage SW_SYNC Gustavo Padovan 2016-08-11 15:26 ` Gustavo Padovan
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=1470929204-13237-5-git-send-email-gustavo@padovan.org \ --to=gustavo@padovan.org \ --cc=John.C.Harrison@Intel.com \ --cc=arve@android.com \ --cc=daniel.vetter@ffwll.ch \ --cc=daniels@collabora.com \ --cc=devel@driverdev.osuosl.org \ --cc=dri-devel@lists.freedesktop.org \ --cc=eric.engestrom@imgtec.com \ --cc=ghackmann@google.com \ --cc=gregkh@linuxfoundation.org \ --cc=gustavo.padovan@collabora.co.uk \ --cc=linux-kernel@vger.kernel.org \ --cc=maarten.lankhorst@linux.intel.com \ --cc=pavel@ucw.cz \ --cc=riandrews@android.com \ --cc=robdclark@gmail.com \ --cc=sumit.semwal@linaro.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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.