From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from mail-cys01nam02on0068.outbound.protection.outlook.com ([104.47.37.68]:2465 "EHLO NAM02-CY1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751898AbeD2HLx (ORCPT ); Sun, 29 Apr 2018 03:11:53 -0400 Subject: Re: [PATCH 04/17] dma-fence: Allow wait_any_timeout for all fences To: Daniel Vetter , DRI Development Cc: Intel Graphics Development , Daniel Vetter , Sumit Semwal , Gustavo Padovan , linux-media@vger.kernel.org, linaro-mm-sig@lists.linaro.org, Alex Deucher References: <20180427061724.28497-1-daniel.vetter@ffwll.ch> <20180427061724.28497-5-daniel.vetter@ffwll.ch> From: =?UTF-8?Q?Christian_K=c3=b6nig?= Message-ID: <1df9beec-8ee4-5740-954a-a2a5dbc4fd03@amd.com> Date: Sun, 29 Apr 2018 09:11:31 +0200 MIME-Version: 1.0 In-Reply-To: <20180427061724.28497-5-daniel.vetter@ffwll.ch> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Sender: linux-media-owner@vger.kernel.org List-ID: Am 27.04.2018 um 08:17 schrieb Daniel Vetter: > When this was introduced in > > commit a519435a96597d8cd96123246fea4ae5a6c90b02 > Author: Christian König > Date: Tue Oct 20 16:34:16 2015 +0200 > > dma-buf/fence: add fence_wait_any_timeout function v2 > > there was a restriction added that this only works if the dma-fence > uses the dma_fence_default_wait hook. Which works for amdgpu, which is > the only caller. Well, until you share some buffers with e.g. i915, > then you get an -EINVAL. > > But there's really no reason for this, because all drivers must > support callbacks. The special ->wait hook is only as an optimization; > if the driver needs to create a worker thread for an active callback, > then it can avoid to do that if it knows that there's a process > context available already. So ->wait is just an optimization, just > using the logic in dma_fence_default_wait() should work for all > drivers. > > Let's remove this restriction. Mhm, that was intentional introduced because for radeon that is not only an optimization, but mandatory for correct operation. On the other hand radeon isn't using this function, so it should be fine as long as the Intel driver can live with it. Christian. > > Signed-off-by: Daniel Vetter > Cc: Sumit Semwal > Cc: Gustavo Padovan > Cc: linux-media@vger.kernel.org > Cc: linaro-mm-sig@lists.linaro.org > Cc: Christian König > Cc: Alex Deucher > --- > drivers/dma-buf/dma-fence.c | 5 ----- > 1 file changed, 5 deletions(-) > > diff --git a/drivers/dma-buf/dma-fence.c b/drivers/dma-buf/dma-fence.c > index 7b5b40d6b70e..59049375bd19 100644 > --- a/drivers/dma-buf/dma-fence.c > +++ b/drivers/dma-buf/dma-fence.c > @@ -503,11 +503,6 @@ dma_fence_wait_any_timeout(struct dma_fence **fences, uint32_t count, > for (i = 0; i < count; ++i) { > struct dma_fence *fence = fences[i]; > > - if (fence->ops->wait != dma_fence_default_wait) { > - ret = -EINVAL; > - goto fence_rm_cb; > - } > - > cb[i].task = current; > if (dma_fence_add_callback(fence, &cb[i].base, > dma_fence_default_wait_cb)) { From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [PATCH 04/17] dma-fence: Allow wait_any_timeout for all fences Date: Sun, 29 Apr 2018 09:11:31 +0200 Message-ID: <1df9beec-8ee4-5740-954a-a2a5dbc4fd03@amd.com> References: <20180427061724.28497-1-daniel.vetter@ffwll.ch> <20180427061724.28497-5-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: <20180427061724.28497-5-daniel.vetter@ffwll.ch> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter , DRI Development Cc: Intel Graphics Development , linaro-mm-sig@lists.linaro.org, Alex Deucher , Daniel Vetter , linux-media@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org QW0gMjcuMDQuMjAxOCB1bSAwODoxNyBzY2hyaWViIERhbmllbCBWZXR0ZXI6Cj4gV2hlbiB0aGlz IHdhcyBpbnRyb2R1Y2VkIGluCj4KPiBjb21taXQgYTUxOTQzNWE5NjU5N2Q4Y2Q5NjEyMzI0NmZl YTRhZTVhNmM5MGIwMgo+IEF1dGhvcjogQ2hyaXN0aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5p Z0BhbWQuY29tPgo+IERhdGU6ICAgVHVlIE9jdCAyMCAxNjozNDoxNiAyMDE1ICswMjAwCj4KPiAg ICAgIGRtYS1idWYvZmVuY2U6IGFkZCBmZW5jZV93YWl0X2FueV90aW1lb3V0IGZ1bmN0aW9uIHYy Cj4KPiB0aGVyZSB3YXMgYSByZXN0cmljdGlvbiBhZGRlZCB0aGF0IHRoaXMgb25seSB3b3JrcyBp ZiB0aGUgZG1hLWZlbmNlCj4gdXNlcyB0aGUgZG1hX2ZlbmNlX2RlZmF1bHRfd2FpdCBob29rLiBX aGljaCB3b3JrcyBmb3IgYW1kZ3B1LCB3aGljaCBpcwo+IHRoZSBvbmx5IGNhbGxlci4gV2VsbCwg dW50aWwgeW91IHNoYXJlIHNvbWUgYnVmZmVycyB3aXRoIGUuZy4gaTkxNSwKPiB0aGVuIHlvdSBn ZXQgYW4gLUVJTlZBTC4KPgo+IEJ1dCB0aGVyZSdzIHJlYWxseSBubyByZWFzb24gZm9yIHRoaXMs IGJlY2F1c2UgYWxsIGRyaXZlcnMgbXVzdAo+IHN1cHBvcnQgY2FsbGJhY2tzLiBUaGUgc3BlY2lh bCAtPndhaXQgaG9vayBpcyBvbmx5IGFzIGFuIG9wdGltaXphdGlvbjsKPiBpZiB0aGUgZHJpdmVy IG5lZWRzIHRvIGNyZWF0ZSBhIHdvcmtlciB0aHJlYWQgZm9yIGFuIGFjdGl2ZSBjYWxsYmFjaywK PiB0aGVuIGl0IGNhbiBhdm9pZCB0byBkbyB0aGF0IGlmIGl0IGtub3dzIHRoYXQgdGhlcmUncyBh IHByb2Nlc3MKPiBjb250ZXh0IGF2YWlsYWJsZSBhbHJlYWR5LiBTbyAtPndhaXQgaXMganVzdCBh biBvcHRpbWl6YXRpb24sIGp1c3QKPiB1c2luZyB0aGUgbG9naWMgaW4gZG1hX2ZlbmNlX2RlZmF1 bHRfd2FpdCgpIHNob3VsZCB3b3JrIGZvciBhbGwKPiBkcml2ZXJzLgo+Cj4gTGV0J3MgcmVtb3Zl IHRoaXMgcmVzdHJpY3Rpb24uCgpNaG0sIHRoYXQgd2FzIGludGVudGlvbmFsIGludHJvZHVjZWQg YmVjYXVzZSBmb3IgcmFkZW9uIHRoYXQgaXMgbm90IG9ubHkgCmFuIG9wdGltaXphdGlvbiwgYnV0 IG1hbmRhdG9yeSBmb3IgY29ycmVjdCBvcGVyYXRpb24uCgpPbiB0aGUgb3RoZXIgaGFuZCByYWRl b24gaXNuJ3QgdXNpbmcgdGhpcyBmdW5jdGlvbiwgc28gaXQgc2hvdWxkIGJlIGZpbmUgCmFzIGxv bmcgYXMgdGhlIEludGVsIGRyaXZlciBjYW4gbGl2ZSB3aXRoIGl0LgoKQ2hyaXN0aWFuLgoKPgo+ IFNpZ25lZC1vZmYtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgo+ IENjOiBTdW1pdCBTZW13YWwgPHN1bWl0LnNlbXdhbEBsaW5hcm8ub3JnPgo+IENjOiBHdXN0YXZv IFBhZG92YW4gPGd1c3Rhdm9AcGFkb3Zhbi5vcmc+Cj4gQ2M6IGxpbnV4LW1lZGlhQHZnZXIua2Vy bmVsLm9yZwo+IENjOiBsaW5hcm8tbW0tc2lnQGxpc3RzLmxpbmFyby5vcmcKPiBDYzogQ2hyaXN0 aWFuIEvDtm5pZyA8Y2hyaXN0aWFuLmtvZW5pZ0BhbWQuY29tPgo+IENjOiBBbGV4IERldWNoZXIg PGFsZXhhbmRlci5kZXVjaGVyQGFtZC5jb20+Cj4gLS0tCj4gICBkcml2ZXJzL2RtYS1idWYvZG1h LWZlbmNlLmMgfCA1IC0tLS0tCj4gICAxIGZpbGUgY2hhbmdlZCwgNSBkZWxldGlvbnMoLSkKPgo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS1idWYvZG1hLWZlbmNlLmMgYi9kcml2ZXJzL2RtYS1i dWYvZG1hLWZlbmNlLmMKPiBpbmRleCA3YjViNDBkNmI3MGUuLjU5MDQ5Mzc1YmQxOSAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2RtYS1idWYvZG1hLWZlbmNlLmMKPiArKysgYi9kcml2ZXJzL2RtYS1i dWYvZG1hLWZlbmNlLmMKPiBAQCAtNTAzLDExICs1MDMsNiBAQCBkbWFfZmVuY2Vfd2FpdF9hbnlf dGltZW91dChzdHJ1Y3QgZG1hX2ZlbmNlICoqZmVuY2VzLCB1aW50MzJfdCBjb3VudCwKPiAgIAlm b3IgKGkgPSAwOyBpIDwgY291bnQ7ICsraSkgewo+ICAgCQlzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5j ZSA9IGZlbmNlc1tpXTsKPiAgIAo+IC0JCWlmIChmZW5jZS0+b3BzLT53YWl0ICE9IGRtYV9mZW5j ZV9kZWZhdWx0X3dhaXQpIHsKPiAtCQkJcmV0ID0gLUVJTlZBTDsKPiAtCQkJZ290byBmZW5jZV9y bV9jYjsKPiAtCQl9Cj4gLQo+ICAgCQljYltpXS50YXNrID0gY3VycmVudDsKPiAgIAkJaWYgKGRt YV9mZW5jZV9hZGRfY2FsbGJhY2soZmVuY2UsICZjYltpXS5iYXNlLAo+ICAgCQkJCQkgICBkbWFf ZmVuY2VfZGVmYXVsdF93YWl0X2NiKSkgewoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vZHJpLWRldmVsCg==