From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tiago Vignatti Subject: Re: [PATCH] dma-buf: Update docs for SYNC ioctl Date: Mon, 21 Mar 2016 10:16:22 -0300 Message-ID: <56EFF426.80907@intel.com> References: <1458546705-3564-1-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1458546705-3564-1-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: driverdev-devel-bounces@linuxdriverproject.org Sender: "devel" To: Daniel Vetter , DRI Development Cc: devel@driverdev.osuosl.org, Hans Verkuil , intel-gfx@lists.freedesktop.org, David Herrmann , Chris Wilson , linaro-mm-sig@lists.linaro.org, =?UTF-8?Q?St=c3=a9phane_Marchesin?= , Daniel Vetter , Sumit Semwal , linux-media@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org T24gMDMvMjEvMjAxNiAwNDo1MSBBTSwgRGFuaWVsIFZldHRlciB3cm90ZToKPiBKdXN0IGEgYml0 IG9mIHdvcmRpbmcgcG9saXNoIHBsdXMgbWVudGlvbmluZyB0aGF0IGl0IGNhbiBmYWlsIGFuZCBt dXN0Cj4gYmUgcmVzdGFydGVkLgo+Cj4gUmVxdWVzdGVkIGJ5IFN1bWl0Lgo+Cj4gdjI6IEZpeCB0 aGVtIHR5cG9zIChIYW5zKS4KPgo+IENjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNv bi5jby51az4KPiBDYzogVGlhZ28gVmlnbmF0dGkgPHRpYWdvLnZpZ25hdHRpQGludGVsLmNvbT4K PiBDYzogU3TDqXBoYW5lIE1hcmNoZXNpbiA8bWFyY2hldUBjaHJvbWl1bS5vcmc+Cj4gQ2M6IERh dmlkIEhlcnJtYW5uIDxkaC5oZXJybWFubkBnbWFpbC5jb20+Cj4gQ2M6IFN1bWl0IFNlbXdhbCA8 c3VtaXQuc2Vtd2FsQGxpbmFyby5vcmc+Cj4gQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0 ZXJAaW50ZWwuY29tPgo+IENDOiBsaW51eC1tZWRpYUB2Z2VyLmtlcm5lbC5vcmcKPiBDYzogZHJp LWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IENjOiBsaW5hcm8tbW0tc2lnQGxpc3RzLmxp bmFyby5vcmcKPiBDYzogaW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IENjOiBkZXZl bEBkcml2ZXJkZXYub3N1b3NsLm9yZwo+IENjOiBIYW5zIFZlcmt1aWwgPGh2ZXJrdWlsQHhzNGFs bC5ubD4KPiBBY2tlZC1ieTogU3VtaXQgU2Vtd2FsIDxzdW1pdC5zZW13YWxAbGluYXJvLm9yZz4K PiBTaWduZWQtb2ZmLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4K ClJldmlld2VkLWJ5OiBUaWFnbyBWaWduYXR0aSA8dGlhZ28udmlnbmF0dGlAaW50ZWwuY29tPgoK QmVzdCByZWdhcmRzLAoKVGlhZ28KCgo+IC0tLQo+ICAgRG9jdW1lbnRhdGlvbi9kbWEtYnVmLXNo YXJpbmcudHh0IHwgMTEgKysrKysrLS0tLS0KPiAgIGRyaXZlcnMvZG1hLWJ1Zi9kbWEtYnVmLmMg ICAgICAgICB8ICAyICstCj4gICAyIGZpbGVzIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgNiBk ZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2RtYS1idWYtc2hhcmlu Zy50eHQgYi9Eb2N1bWVudGF0aW9uL2RtYS1idWYtc2hhcmluZy50eHQKPiBpbmRleCAzMmFjMzJl NzczZTEuLmNhNDRjNTgyMDU4NSAxMDA2NDQKPiAtLS0gYS9Eb2N1bWVudGF0aW9uL2RtYS1idWYt c2hhcmluZy50eHQKPiArKysgYi9Eb2N1bWVudGF0aW9uL2RtYS1idWYtc2hhcmluZy50eHQKPiBA QCAtMzUyLDcgKzM1Miw4IEBAIEJlaW5nIGFibGUgdG8gbW1hcCBhbiBleHBvcnQgZG1hLWJ1ZiBi dWZmZXIgb2JqZWN0IGhhcyAyIG1haW4gdXNlLWNhc2VzOgo+Cj4gICAgICBObyBzcGVjaWFsIGlu dGVyZmFjZXMsIHVzZXJzcGFjZSBzaW1wbHkgY2FsbHMgbW1hcCBvbiB0aGUgZG1hLWJ1ZiBmZCwg bWFraW5nCj4gICAgICBzdXJlIHRoYXQgdGhlIGNhY2hlIHN5bmNocm9uaXphdGlvbiBpb2N0bCAo RE1BX0JVRl9JT0NUTF9TWU5DKSBpcyAqYWx3YXlzKgo+IC0gICB1c2VkIHdoZW4gdGhlIGFjY2Vz cyBoYXBwZW5zLiBUaGlzIGlzIGRpc2N1c3NlZCBuZXh0IHBhcmFncmFwaHMuCj4gKyAgIHVzZWQg d2hlbiB0aGUgYWNjZXNzIGhhcHBlbnMuIE5vdGUgdGhhdCBETUFfQlVGX0lPQ1RMX1NZTkMgY2Fu IGZhaWwgd2l0aAo+ICsgICAtRUFHQUlOIG9yIC1FSU5UUiwgaW4gd2hpY2ggY2FzZSBpdCBtdXN0 IGJlIHJlc3RhcnRlZC4KPgo+ICAgICAgU29tZSBzeXN0ZW1zIG1pZ2h0IG5lZWQgc29tZSBzb3J0 IG9mIGNhY2hlIGNvaGVyZW5jeSBtYW5hZ2VtZW50IGUuZy4gd2hlbgo+ICAgICAgQ1BVIGFuZCBH UFUgZG9tYWlucyBhcmUgYmVpbmcgYWNjZXNzZWQgdGhyb3VnaCBkbWEtYnVmIGF0IHRoZSBzYW1l IHRpbWUuIFRvCj4gQEAgLTM2NiwxMCArMzY3LDEwIEBAIEJlaW5nIGFibGUgdG8gbW1hcCBhbiBl eHBvcnQgZG1hLWJ1ZiBidWZmZXIgb2JqZWN0IGhhcyAyIG1haW4gdXNlLWNhc2VzOgo+ICAgICAg ICAgIHdhbnQgKHdpdGggdGhlIG5ldyBkYXRhIGJlaW5nIGNvbnN1bWVkIGJ5IHRoZSBHUFUgb3Ig c2F5IHNjYW5vdXQgZGV2aWNlKQo+ICAgICAgICAtIG11bm1hcCBvbmNlIHlvdSBkb24ndCBuZWVk IHRoZSBidWZmZXIgYW55IG1vcmUKPgo+IC0gICAgVGhlcmVmb3JlLCBmb3IgY29ycmVjdG5lc3Mg YW5kIG9wdGltYWwgcGVyZm9ybWFuY2UsIHN5c3RlbXMgd2l0aCB0aGUgbWVtb3J5Cj4gLSAgICBj YWNoZSBzaGFyZWQgYnkgdGhlIEdQVSBhbmQgQ1BVIGkuZS4gdGhlICJjb2hlcmVudCIgYW5kIGFs c28gdGhlCj4gLSAgICAiaW5jb2hlcmVudCIgYXJlIGFsd2F5cyByZXF1aXJlZCB0byB1c2UgU1lO Q19TVEFSVCBhbmQgU1lOQ19FTkQgYmVmb3JlIGFuZAo+IC0gICAgYWZ0ZXIsIHJlc3BlY3RpdmVs eSwgd2hlbiBhY2Nlc3NpbmcgdGhlIG1hcHBlZCBhZGRyZXNzLgo+ICsgICAgRm9yIGNvcnJlY3Ru ZXNzIGFuZCBvcHRpbWFsIHBlcmZvcm1hbmNlLCBpdCBpcyBhbHdheXMgcmVxdWlyZWQgdG8gdXNl Cj4gKyAgICBTWU5DX1NUQVJUIGFuZCBTWU5DX0VORCBiZWZvcmUgYW5kIGFmdGVyLCByZXNwZWN0 aXZlbHksIHdoZW4gYWNjZXNzaW5nIHRoZQo+ICsgICAgbWFwcGVkIGFkZHJlc3MuIFVzZXJzcGFj ZSBjYW5ub3QgcmVseSBvbiBjb2hlcmVudCBhY2Nlc3MsIGV2ZW4gd2hlbiB0aGVyZQo+ICsgICAg YXJlIHN5c3RlbXMgd2hlcmUgaXQganVzdCB3b3JrcyB3aXRob3V0IGNhbGxpbmcgdGhlc2UgaW9j dGxzLgo+Cj4gICAyLiBTdXBwb3J0aW5nIGV4aXN0aW5nIG1tYXAgaW50ZXJmYWNlcyBpbiBpbXBv cnRlcnMKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS1idWYvZG1hLWJ1Zi5jIGIvZHJpdmVy cy9kbWEtYnVmL2RtYS1idWYuYwo+IGluZGV4IDc3NGE2MGY0MzA5YS4uNGEyYzA3ZWU2Njc3IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZG1hLWJ1Zi9kbWEtYnVmLmMKPiArKysgYi9kcml2ZXJzL2Rt YS1idWYvZG1hLWJ1Zi5jCj4gQEAgLTYxMiw3ICs2MTIsNyBAQCBFWFBPUlRfU1lNQk9MX0dQTChk bWFfYnVmX2JlZ2luX2NwdV9hY2Nlc3MpOwo+ICAgICogQGRtYWJ1ZjoJW2luXQlidWZmZXIgdG8g Y29tcGxldGUgY3B1IGFjY2VzcyBmb3IuCj4gICAgKiBAZGlyZWN0aW9uOglbaW5dCWxlbmd0aCBv ZiByYW5nZSBmb3IgY3B1IGFjY2Vzcy4KPiAgICAqCj4gLSAqIFRoaXMgY2FsbCBtdXN0IGFsd2F5 cyBzdWNjZWVkLgo+ICsgKiBDYW4gcmV0dXJuIG5lZ2F0aXZlIGVycm9yIHZhbHVlcywgcmV0dXJu cyAwIG9uIHN1Y2Nlc3MuCj4gICAgKi8KPiAgIGludCBkbWFfYnVmX2VuZF9jcHVfYWNjZXNzKHN0 cnVjdCBkbWFfYnVmICpkbWFidWYsCj4gICAJCQkgICBlbnVtIGRtYV9kYXRhX2RpcmVjdGlvbiBk aXJlY3Rpb24pCj4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmRldmVsIG1haWxpbmcgbGlzdApkZXZlbEBsaW51eGRyaXZlcnByb2plY3Qub3JnCmh0dHA6 Ly9kcml2ZXJkZXYubGludXhkcml2ZXJwcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaXZl cmRldi1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mga02.intel.com ([134.134.136.20]:61414 "EHLO mga02.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754662AbcCUNRK (ORCPT ); Mon, 21 Mar 2016 09:17:10 -0400 Subject: Re: [PATCH] dma-buf: Update docs for SYNC ioctl To: Daniel Vetter , DRI Development References: <1458546705-3564-1-git-send-email-daniel.vetter@ffwll.ch> Cc: Chris Wilson , =?UTF-8?Q?St=c3=a9phane_Marchesin?= , David Herrmann , Sumit Semwal , Daniel Vetter , linux-media@vger.kernel.org, linaro-mm-sig@lists.linaro.org, intel-gfx@lists.freedesktop.org, devel@driverdev.osuosl.org, Hans Verkuil From: Tiago Vignatti Message-ID: <56EFF426.80907@intel.com> Date: Mon, 21 Mar 2016 10:16:22 -0300 MIME-Version: 1.0 In-Reply-To: <1458546705-3564-1-git-send-email-daniel.vetter@ffwll.ch> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Sender: linux-media-owner@vger.kernel.org List-ID: On 03/21/2016 04:51 AM, Daniel Vetter wrote: > Just a bit of wording polish plus mentioning that it can fail and must > be restarted. > > Requested by Sumit. > > v2: Fix them typos (Hans). > > Cc: Chris Wilson > Cc: Tiago Vignatti > Cc: Stéphane Marchesin > Cc: David Herrmann > Cc: Sumit Semwal > Cc: Daniel Vetter > CC: linux-media@vger.kernel.org > Cc: dri-devel@lists.freedesktop.org > Cc: linaro-mm-sig@lists.linaro.org > Cc: intel-gfx@lists.freedesktop.org > Cc: devel@driverdev.osuosl.org > Cc: Hans Verkuil > Acked-by: Sumit Semwal > Signed-off-by: Daniel Vetter Reviewed-by: Tiago Vignatti Best regards, Tiago > --- > Documentation/dma-buf-sharing.txt | 11 ++++++----- > drivers/dma-buf/dma-buf.c | 2 +- > 2 files changed, 7 insertions(+), 6 deletions(-) > > diff --git a/Documentation/dma-buf-sharing.txt b/Documentation/dma-buf-sharing.txt > index 32ac32e773e1..ca44c5820585 100644 > --- a/Documentation/dma-buf-sharing.txt > +++ b/Documentation/dma-buf-sharing.txt > @@ -352,7 +352,8 @@ Being able to mmap an export dma-buf buffer object has 2 main use-cases: > > No special interfaces, userspace simply calls mmap on the dma-buf fd, making > sure that the cache synchronization ioctl (DMA_BUF_IOCTL_SYNC) is *always* > - used when the access happens. This is discussed next paragraphs. > + used when the access happens. Note that DMA_BUF_IOCTL_SYNC can fail with > + -EAGAIN or -EINTR, in which case it must be restarted. > > Some systems might need some sort of cache coherency management e.g. when > CPU and GPU domains are being accessed through dma-buf at the same time. To > @@ -366,10 +367,10 @@ Being able to mmap an export dma-buf buffer object has 2 main use-cases: > want (with the new data being consumed by the GPU or say scanout device) > - munmap once you don't need the buffer any more > > - Therefore, for correctness and optimal performance, systems with the memory > - cache shared by the GPU and CPU i.e. the "coherent" and also the > - "incoherent" are always required to use SYNC_START and SYNC_END before and > - after, respectively, when accessing the mapped address. > + For correctness and optimal performance, it is always required to use > + SYNC_START and SYNC_END before and after, respectively, when accessing the > + mapped address. Userspace cannot rely on coherent access, even when there > + are systems where it just works without calling these ioctls. > > 2. Supporting existing mmap interfaces in importers > > diff --git a/drivers/dma-buf/dma-buf.c b/drivers/dma-buf/dma-buf.c > index 774a60f4309a..4a2c07ee6677 100644 > --- a/drivers/dma-buf/dma-buf.c > +++ b/drivers/dma-buf/dma-buf.c > @@ -612,7 +612,7 @@ EXPORT_SYMBOL_GPL(dma_buf_begin_cpu_access); > * @dmabuf: [in] buffer to complete cpu access for. > * @direction: [in] length of range for cpu access. > * > - * This call must always succeed. > + * Can return negative error values, returns 0 on success. > */ > int dma_buf_end_cpu_access(struct dma_buf *dmabuf, > enum dma_data_direction direction) >