From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Engestrom Subject: Re: [PATCH v2 5/6] staging/android: add Doc for SW_SYNC ioctl interface Date: Thu, 11 Aug 2016 10:43:45 +0100 Message-ID: <20160811094345.GQ10429@imgtec.com> References: <1470691462-19140-1-git-send-email-gustavo@padovan.org> <1470691462-19140-6-git-send-email-gustavo@padovan.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mailapp01.imgtec.com (mailapp01.imgtec.com [195.59.15.196]) by gabe.freedesktop.org (Postfix) with ESMTP id 997896E925 for ; Thu, 11 Aug 2016 09:43:57 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1470691462-19140-6-git-send-email-gustavo@padovan.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Gustavo Padovan Cc: devel@driverdev.osuosl.org, Daniel Stone , Greg Kroah-Hartman , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Riley Andrews , Arve =?utf-8?B?SGrDuG5uZXbDpWc=?= , pavel@ucw.cz, Daniel Vetter , Gustavo Padovan , John Harrison List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBBdWcgMDgsIDIwMTYgYXQgMDY6MjQ6MjFQTSAtMDMwMCwgR3VzdGF2byBQYWRvdmFu IHdyb3RlOgo+IEZyb206IEd1c3Rhdm8gUGFkb3ZhbiA8Z3VzdGF2by5wYWRvdmFuQGNvbGxhYm9y YS5jby51az4KPiAKPiBUaGlzIGludGVyZmFjZSBpcyBoaWRkZW4gZnJvbSBrZXJuZWwgaGVhZGVy cyBhbmQgaXQgaXMgaW50ZW5kZWQgZm9yIHVzZQo+IG9ubHkgZm9yIHRlc3RpbmcuIFNvIHRlc3Rl cnMgd291bGQgaGF2ZSB0byBhZGQgdGhlIGlvY3RsIGluZm9ybWF0aW9uCj4gaW50ZXJuYWxseS4g VGhpcyBpcyB0byBwcmV2ZW50IG1pc3VzZSBvZiB0aGlzIGZlYXR1cmUuCj4gCj4gU2lnbmVkLW9m Zi1ieTogR3VzdGF2byBQYWRvdmFuIDxndXN0YXZvLnBhZG92YW5AY29sbGFib3JhLmNvLnVrPgo+ IC0tLQo+ICBkcml2ZXJzL3N0YWdpbmcvYW5kcm9pZC9zd19zeW5jLmMgfCAzMSArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCj4gIDEgZmlsZSBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCsp Cj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9hbmRyb2lkL3N3X3N5bmMuYyBiL2Ry aXZlcnMvc3RhZ2luZy9hbmRyb2lkL3N3X3N5bmMuYwo+IGluZGV4IDQzNDkxYjYuLjJhYzU2MDgg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9zdGFnaW5nL2FuZHJvaWQvc3dfc3luYy5jCj4gKysrIGIv ZHJpdmVycy9zdGFnaW5nL2FuZHJvaWQvc3dfc3luYy5jCj4gQEAgLTI1LDYgKzI1LDM2IEBACj4g ICNkZWZpbmUgQ1JFQVRFX1RSQUNFX1BPSU5UUwo+ICAjaW5jbHVkZSAic3luY190cmFjZS5oIgo+ ICAKPiArLyoKPiArICogU1cgU1lOQyB2YWxpZGF0aW9uIGZyYW1ld29yawo+ICsgKgo+ICsgKiBB IHN5bmMgb2JqZWN0IGRyaXZlciB0aGF0IHVzZXMgYSAzMmJpdCBjb3VudGVyIHRvIGNvb3JkaW5h dGUKPiArICogc3luY2hyb25pemF0aW9uLiAgVXNlZnVsIHdoZW4gdGhlcmUgaXMgbm8gaGFyZHdh cmUgcHJpbWl0aXZlIGJhY2tpbmcKPiArICogdGhlIHN5bmNocm9uaXphdGlvbi4KPiArICoKPiAr ICogVG8gc3RhcnQgdGhlIGZyYW1ld29yayBqdXN0IG9wZW46Cj4gKyAqCj4gKyAqIDxkZWJ1Z2Zz Pi9zeW5jL3N3X3N5bmMKPiArICoKPiArICogVGhhdCB3aWxsIGNyZWF0ZSBhIHN5bmMgdGltZWxp bmUsIGFsbCBmZW5jZXMgY3JlYXRlZCB1bmRlciB0aGlzIHRpbWVsaW5lCj4gKyAqIGZpbGUgZGVz Y3JpcHRvciB3aWxsIGJlbG9uZyB0byB0aGUgdGhpcyB0aW1lbGluZS4KPiArICoKPiArICogVGhl ICdzd19zeW5jJyBmaWxlIGNhbiBiZSBvcGVuZWQgbWFueSB0aW1lcyBhcyB0byBjcmVhdGUgZGlm ZmVyZW50Cj4gKyAqIHRpbWVsaW5lcy4KPiArICoKPiArICogRmVuY2VzIGNhbiBiZSBjcmVhdGVk IHdpdGggU1dfU1lOQ19JT0NfQ1JFQVRFX0ZFTkNFIGlvY3RsIHdpdGggc3RydWN0Cj4gKyAqIHN3 X3N5bmNfaW9jdGxfY3JlYXRlX2ZlbmNlIGFzIHBhcmFtZXRlci4KPiArICoKPiArICogVG8gaW5j cmVtZW50IHRoZSB0aW1lbGluZSBjb3VudGVyIFNXX1NZTkNfSU9DX0lOQyBpb2N0bCBzaG91bGQg YmUgdXNlZAo+ICsgKiB3aXRoIHRoZSBpbmNyZW1lbnQgYXMgdTMyLiBUaGlzIHdpbGwgdXBkYXRl IHRoZSBsYXN0IHNpZ25hbGVkIHZhbHVlCj4gKyAqIGZyb20gdGhlIHRpbWVsaW5lIGFuZCBzaWdu YWwgYW55IGZlbmNlIHRoYXQgaGFzIHNlcW5vLCBzbWFsbGVyIG9mIGVxdWFsCj4gKyAqIGl0LgoK VGhpcyBsYXN0IHBhcmFncmFwaCBjb3VsZCB1c2Ugc29tZSBsb3ZlOiBjb21tYSBiZWZvcmUgIlNX X1NZTkNfSU9DX0lOQyIsCiJ0aGF0IGhhcyBzZXFubyBzbWFsbGVyIG9yIGVxdWFsIHRvIGl0LiIK Cj4gKyAqCj4gKyAqIHN0cnVjdCBzd19zeW5jX2lvY3RsX2NyZWF0ZV9mZW5jZQo+ICsgKiBAdmFs dWU6CXRoZSBzZXFubyB0byBpbml0aWF0ZSB0aGUgZmVuY2Ugd2l0aAoKcy9pbml0aWF0ZS9pbml0 aWFsaXNlLwoKV2l0aCB0aGVzZSBmaXhlZCwKUmV2aWV3ZWQtYnk6IEVyaWMgRW5nZXN0cm9tIDxl cmljLmVuZ2VzdHJvbUBpbWd0ZWMuY29tPgoKPiArICogQG5hbWU6CXRoZSBuYW1lIG9mIHRoZSBu ZXcgc3luYyBwb2ludAo+ICsgKiBAZmVuY2U6CXJldHVybiB0aGUgZmQgb2YgdGhlIG5ldyBzeW5j X2ZpbGUgd2l0aCB0aGUgY3JlYXRlZCBmZW5jZQo+ICsgKi8KPiAgc3RydWN0IHN3X3N5bmNfY3Jl YXRlX2ZlbmNlX2RhdGEgewo+ICAJX191MzIJdmFsdWU7Cj4gIAljaGFyCW5hbWVbMzJdOwo+IEBA IC0zNSw2ICs2NSw3IEBAIHN0cnVjdCBzd19zeW5jX2NyZWF0ZV9mZW5jZV9kYXRhIHsKPiAgCj4g ICNkZWZpbmUgU1dfU1lOQ19JT0NfQ1JFQVRFX0ZFTkNFCV9JT1dSKFNXX1NZTkNfSU9DX01BR0lD LCAwLFwKPiAgCQlzdHJ1Y3Qgc3dfc3luY19jcmVhdGVfZmVuY2VfZGF0YSkKPiArCj4gICNkZWZp bmUgU1dfU1lOQ19JT0NfSU5DCQkJX0lPVyhTV19TWU5DX0lPQ19NQUdJQywgMSwgX191MzIpCj4g IAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGZlbmNlX29wcyB0aW1lbGluZV9mZW5jZV9vcHM7Cj4g LS0gCj4gMi41LjUKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932807AbcHKJoA (ORCPT ); Thu, 11 Aug 2016 05:44:00 -0400 Received: from mailapp01.imgtec.com ([195.59.15.196]:1711 "EHLO mailapp01.imgtec.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751722AbcHKJn6 (ORCPT ); Thu, 11 Aug 2016 05:43:58 -0400 Date: Thu, 11 Aug 2016 10:43:45 +0100 From: Eric Engestrom To: Gustavo Padovan CC: Greg Kroah-Hartman , , Daniel Stone , Daniel Vetter , Riley Andrews , , , Arve =?utf-8?B?SGrDuG5uZXbDpWc=?= , , Gustavo Padovan , John Harrison Subject: Re: [PATCH v2 5/6] staging/android: add Doc for SW_SYNC ioctl interface Message-ID: <20160811094345.GQ10429@imgtec.com> References: <1470691462-19140-1-git-send-email-gustavo@padovan.org> <1470691462-19140-6-git-send-email-gustavo@padovan.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline In-Reply-To: <1470691462-19140-6-git-send-email-gustavo@padovan.org> User-Agent: Mutt/1.6.2 (2016-07-01) X-Originating-IP: [10.60.4.28] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Aug 08, 2016 at 06:24:21PM -0300, Gustavo Padovan wrote: > From: Gustavo Padovan > > 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. > > Signed-off-by: Gustavo Padovan > --- > 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 43491b6..2ac5608 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: > + * > + * /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. This last paragraph could use some love: comma before "SW_SYNC_IOC_INC", "that has seqno smaller or equal to it." > + * > + * struct sw_sync_ioctl_create_fence > + * @value: the seqno to initiate the fence with s/initiate/initialise/ With these fixed, Reviewed-by: Eric Engestrom > + * @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