From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [RFC] dma-buf: Import/export the implicit fences on the dma-buf Date: Tue, 12 Jul 2016 13:53:56 +0200 Message-ID: <5784DA54.4030102@amd.com> References: <1468274378-23081-1-git-send-email-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0045.outbound.protection.outlook.com [104.47.36.45]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7B2EE6E238 for ; Tue, 12 Jul 2016 12:08:16 +0000 (UTC) In-Reply-To: <1468274378-23081-1-git-send-email-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Chris Wilson , dri-devel@lists.freedesktop.org Cc: Daniel Vetter , Gustavo Padovan List-Id: dri-devel@lists.freedesktop.org QW0gMTEuMDcuMjAxNiB1bSAyMzo1OSBzY2hyaWViIENocmlzIFdpbHNvbjoKPiBXaGVuIGRlYWxp bmcgd2l0aCB1c2VyIGludGVyZmFjZXMgdGhhdCB1dGlsaXplIGV4cGxpY2l0IGZlbmNlcywgaXQg aXMKPiBjb252ZW5pZW50IHRvIHNvbWV0aW1lcyBjcmVhdGUgdGhvc2UgZmVuY2VzIGFmdGVyIHRo ZSBmYWN0LCBpLmUuIHRvCj4gcXVlcnkgdGhlIGRtYS1idWYgZm9yIHRoZSBjdXJyZW50IHNldCBv ZiBpbXBsaWNpdCBmZW5jZXMsIGVuY2Fwc3VsYXRlCj4gdGhvc2UgaW50byBhIHN5bmNfZmlsZSBh bmQgaGFuZCB0aGF0IGZkIGJhY2sgdG8gdXNlcnNwYWNlLgo+IENvcnJlc3BvbmRpbmdseSwgYmVp bmcgYWJsZSB0byBhZGQgYW4gZXhwbGljaXQgZmVuY2UgYmFjayBpbnRvIHRoZSBtaXgKPiBvZiBm ZW5jZXMgYmVpbmcgdHJhY2tlZCBieSB0aGUgZG1hLWJ1ZiBhbGxvd3MgdGhhdCB1c2Vyc3BhY2Ug ZmVuY2UgdG8gYmUKPiBpbmNsdWRlZCBpbiBhbnkgaW1wbGljaXQgdHJhY2tpbmcuCgpXZWxsIEkg dGhpbmsgdGhhdCB0aGlzIGlzIGEgcmF0aGVyIHF1ZXN0aW9uYWJsZSBpbnRlcmZhY2UuCgpGb3Ig ZXhhbXBsZSBob3cgZG8geW91IGRlYWwgd2l0aCByYWNlIGNvbmRpdGlvbnM/IEUuZy4gYmV0d2Vl biBxdWVyeWluZyAKdGhlIGZlbmNlcyBmcm9tIHRoZSByZXNlcnZhdGlvbiBvYmplY3QgYW5kIGFk ZGluZyBhIG5ldyBvbmUgd2UgY291bGQgCmdhaW4gbmV3IGZlbmNlcyBiZWNhdXNlIG9mIHRoZSBr ZXJuZWwgc3dhcHBpbmcgdGhpbmdzIG91dCBvciBhbm90aGVyIAp0aHJlYWQgbWFraW5nIHNvbWUg c3VibWlzc2lvbiB3aXRoIHRoaXMgYnVmZmVyLgoKQWRkaXRpb25hbCB0byB0aGF0IElJUkMgcmVz ZXJ2YXRpb25fb2JqZWN0X2FkZF9leGNsX2ZlbmNlKCkgY3VycmVudGx5IApyZXBsYWNlcyBhbGwg c2hhcmVkIGZlbmNlcyB3aXRoIHRoZSBleGNsdXNpdmUgb25lLiBBIG1hbGljaW91cyAKYXBwbGlj YXRpb24gY291bGQgdXNlIHRoaXMgdG8gdHJpY2sgdGhlIGtlcm5lbCBkcml2ZXIgaW50byB0aGlu a2luZyB0aGF0IAp0aGlzIGJ1ZmZlciBvYmplY3QgaXMgaWRsZSB3aGlsZSBpdCBpcyBzdGlsbCBh Y2Nlc3NlZCBieSBzb21lIG9wZXJhdGlvbi4gCkF0IGxlYXN0IHdpdGggR1BVIG9wZXJhdGlvbnMg eW91IGNhbiBlYXNpbHkgdGFrZSBvdmVyIHRoZSBzeXN0ZW0gd2hlbiAKeW91IG1hbmFnZSB0byBn ZXQgYWNjZXNzIHRvIGEgcGFnZSB0YWJsZSB3aXRoIHRoaXMuCgpSZWdhcmRzLApDaHJpc3RpYW4u Cgo+Cj4gU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28u dWs+Cj4gQ2M6IEd1c3Rhdm8gUGFkb3ZhbiA8Z3VzdGF2by5wYWRvdmFuQGNvbGxhYm9yYS5jby51 az4KPiBDYzogUm9iIENsYXJrIDxyb2JkY2xhcmtAZ21haWwuY29tPgo+IENjOiBTdW1pdCBTZW13 YWwgPHN1bWl0LnNlbXdhbEBsaW5hcm8ub3JnPgo+IENjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwu dmV0dGVyQGZmd2xsLmNoPgo+IENjOiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4g LS0tCj4KPiBHdXN0YXZvLCBjb3VsZCB5b3UgbG9vayBhdCB0aGUgc3luYy1maWxlL2ZlbmNlLWFy cmF5IGhhbmRsaW5nPyBUaGVyZSdzCj4gZGVmaW5pdGVseSByb29tIGZvciBhIGNsZWFuZXIgc3lu Y19maWxlX2NyZWF0ZSgpIEFQSS4KPgo+IEkgd2FzIHRoaW5raW5nIGFib3V0IHRoaXMgZm9yIHRo ZSAid2h5IG5vdCBzeW5jLWZpbGUiIHF1ZXN0aW9uIEd1c3Rhdm8KPiBwb3NlZCBmb3IgdGhlIHZn ZW1fZmVuY2VzLiBJIHdhbnRlZCB0byBhZGQgYW4gaW9jdGwgdG8gdGhlIHZnZW0gdG8gYWxsb3cK PiBleHBvcnRpbmcgYW5kIGNyZWF0aW5nIGZlbmNlcyBmcm9tIHN5bmMtZmlsZSBmb3IgdGVzdGlu ZyBwYXNzaW5nCj4gZXhwbGljaXQgdXNlcnNwYWNlcyBhcm91bmQgYmV0d2VlbiBkcml2ZXJzLCBh bmQgcmVhbGlzZWQgdGhhdCBJIHdhcyBqdXN0Cj4gd3JpdGluZyBhIGdlbmVyaWMgbWVjaGFuaXNt IHRoYXQgb25seSByZXF1aXJlZCBkbWEtYnVmLgo+Cj4gV2hpbHN0IHRoaXMgaW50ZXJmYWNlIGNv dWxkIGJlIHVzZWQgZm9yIGxhemlseSBjcmVhdGluZyBleHBsaWNpdCBmZW5jZXMsCj4gZHJpdmVy cyB3aWxsIGFsc28gbGlrZWx5IHdhbnQgdG8gc3VwcG9ydCBzcGVjaWZpYyBpb2N0bCB0byBza2lw IHRoZQo+IGRtYWJ1ZiBjcmVhdGlvbiwgSSB0aGluayB0aGlzIGludGVyZmFjZXMgd2lsbCBiZSB1 c2VmdWwgd2l0aCB0aGUgdmdlbQo+IGZlbmNlcyBmb3IgdGVzdGluZyBzeW5jX2ZpbGUgaGFuZGxp bmcgaW4gZHJpdmVycyAob24gaTkxNSBhdCB0aGUgbW9tZW50LAo+IG15IHRlc3RzIGZvciBzeW5j X2ZpbGUgaW52b2x2ZSBzbGVlcGluZyBhbmQgYSBmZXcgd2hpdGUgbGllcykuIFNvCj4gZnVsZmls bGluZyBhIHNpbWlsYXIgcm9sZSBpbiBkcml2ZXIgdGVzdGluZyB0byBkZWJ1Z2ZzL3N3X3N5bmM/ Cj4gKHN3X3N5bmMgaXMgc3RpbGwgbW9yZSBhcHQgZm9yIHRlc3RpbmcgdGltZWxpbmVzIGV0Yywg dmdlbSBmZWVscyBtb3JlCj4gYXB0IGZvciBlYXNlIG9mIHRlc3RpbmcgcmVuZGVyaW5nLikKPiAt Q2hyaXMKPgo+IC0tLQo+ICAgZHJpdmVycy9kbWEtYnVmL2RtYS1idWYuYyAgICB8IDEwMCArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCj4gICBpbmNsdWRlL3VhcGkv bGludXgvZG1hLWJ1Zi5oIHwgICA5ICsrKysKPiAgIDIgZmlsZXMgY2hhbmdlZCwgMTA5IGluc2Vy dGlvbnMoKykKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2RtYS1idWYvZG1hLWJ1Zi5jIGIvZHJp dmVycy9kbWEtYnVmL2RtYS1idWYuYwo+IGluZGV4IDQxZmJjZTBjMjczYS4uNmYwNjZhOGFmZmQ3 IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZG1hLWJ1Zi9kbWEtYnVmLmMKPiArKysgYi9kcml2ZXJz L2RtYS1idWYvZG1hLWJ1Zi5jCj4gQEAgLTI2LDExICsyNiwxMyBAQAo+ICAgI2luY2x1ZGUgPGxp bnV4L3NsYWIuaD4KPiAgICNpbmNsdWRlIDxsaW51eC9kbWEtYnVmLmg+Cj4gICAjaW5jbHVkZSA8 bGludXgvZmVuY2UuaD4KPiArI2luY2x1ZGUgPGxpbnV4L2ZlbmNlLWFycmF5Lmg+Cj4gICAjaW5j bHVkZSA8bGludXgvYW5vbl9pbm9kZXMuaD4KPiAgICNpbmNsdWRlIDxsaW51eC9leHBvcnQuaD4K PiAgICNpbmNsdWRlIDxsaW51eC9kZWJ1Z2ZzLmg+Cj4gICAjaW5jbHVkZSA8bGludXgvbW9kdWxl Lmg+Cj4gICAjaW5jbHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KPiArI2luY2x1ZGUgPGxpbnV4L3N5 bmNfZmlsZS5oPgo+ICAgI2luY2x1ZGUgPGxpbnV4L3BvbGwuaD4KPiAgICNpbmNsdWRlIDxsaW51 eC9yZXNlcnZhdGlvbi5oPgo+ICAgI2luY2x1ZGUgPGxpbnV4L21tLmg+Cj4gQEAgLTI1NCw2ICsy NTYsOTcgQEAgb3V0Ogo+ICAgCXJldHVybiBldmVudHM7Cj4gICB9Cj4gICAKPiArc3RhdGljIGxv bmcgZG1hX2J1Zl9pbXBvcnRfZmVuY2VfaW9jdGwoc3RydWN0IGRtYV9idWYgKmRtYWJ1ZiwKPiAr CQkJCSAgICAgICBzdHJ1Y3QgZG1hX2J1Zl9mZW5jZSAgX191c2VyICphcmcpCj4gK3sKPiArCXN0 cnVjdCByZXNlcnZhdGlvbl9vYmplY3QgKnJlc3YgPSBkbWFidWYtPnJlc3Y7Cj4gKwlzdHJ1Y3Qg ZG1hX2J1Zl9mZW5jZSBjbWQ7Cj4gKwlzdHJ1Y3QgZmVuY2UgKmZlbmNlOwo+ICsJaW50IHJldDsK PiArCj4gKwlpZiAoY29weV9mcm9tX3VzZXIoJmNtZCwgYXJnLCBzaXplb2YoY21kKSkpCj4gKwkJ cmV0dXJuIC1FRkFVTFQ7Cj4gKwo+ICsJZmVuY2UgPSBOVUxMOwo+ICsJLy9mZW5jZSA9IHN5bmNf ZmlsZV9nZXRfZmVuY2UoY21kLmZkKTsKPiArCWlmICghZmVuY2UpCj4gKwkJcmV0dXJuIC1FSU5W QUw7Cj4gKwo+ICsJbXV0ZXhfbG9jaygmcmVzdi0+bG9jay5iYXNlKTsKPiArCWlmIChjbWQuZmxh Z3MgJiBETUFfQlVGX0ZFTkNFX1dSSVRFKQo+ICsJCXJlc2VydmF0aW9uX29iamVjdF9hZGRfZXhj bF9mZW5jZShyZXN2LCBmZW5jZSk7Cj4gKwllbHNlIGlmICgocmV0ID0gcmVzZXJ2YXRpb25fb2Jq ZWN0X3Jlc2VydmVfc2hhcmVkKHJlc3YpKSA9PSAwKQo+ICsJCXJlc2VydmF0aW9uX29iamVjdF9h ZGRfc2hhcmVkX2ZlbmNlKHJlc3YsIGZlbmNlKTsKPiArCW11dGV4X3VubG9jaygmcmVzdi0+bG9j ay5iYXNlKTsKPiArCj4gKwlmZW5jZV9wdXQoZmVuY2UpOwo+ICsJcmV0dXJuIHJldDsKPiArfQo+ ICsKPiArc3RhdGljIGxvbmcgZG1hX2J1Zl9leHBvcnRfZmVuY2VfaW9jdGwoc3RydWN0IGRtYV9i dWYgKmRtYWJ1ZiwKPiArCQkJCSAgICAgICBzdHJ1Y3QgZG1hX2J1Zl9mZW5jZSAgX191c2VyICph cmcpCj4gK3sKPiArCXN0cnVjdCByZXNlcnZhdGlvbl9vYmplY3QgKnJlc3YgPSBkbWFidWYtPnJl c3Y7Cj4gKwlzdHJ1Y3QgZG1hX2J1Zl9mZW5jZSBjbWQ7Cj4gKwlzdHJ1Y3QgZmVuY2UgKmV4Y2ws ICoqc2hhcmVkOwo+ICsJc3RydWN0IHN5bmNfZmlsZSAqc3luYyA9IE5VTEw7Cj4gKwl1bnNpZ25l ZCBpbnQgY291bnQsIG47Cj4gKwlpbnQgcmV0Owo+ICsKPiArCWlmIChnZXRfdXNlcihjbWQuZmxh Z3MsICZhcmctPmZsYWdzKSkKPiArCQlyZXR1cm4gLUVGQVVMVDsKPiArCj4gKwlyZXQgPSByZXNl cnZhdGlvbl9vYmplY3RfZ2V0X2ZlbmNlc19yY3UocmVzdiwgJmV4Y2wsICZjb3VudCwgJnNoYXJl ZCk7Cj4gKwlpZiAocmV0KQo+ICsJCXJldHVybiByZXQ7Cj4gKwo+ICsJaWYgKGNtZC5mbGFncyAm IERNQV9CVUZfRkVOQ0VfV1JJVEUpIHsKPiArCQlpZiAoZXhjbCkgewo+ICsJCQlzeW5jID0gc3lu Y19maWxlX2NyZWF0ZShleGNsKTsKPiArCQkJaWYgKCFzeW5jKSB7Cj4gKwkJCQlyZXQgPSAtRU5P TUVNOwo+ICsJCQkJZmVuY2VfcHV0KGV4Y2wpOwo+ICsJCQl9Cj4gKwkJfQo+ICsJCWZvciAobiA9 IDA7IG4gPCBjb3VudDsgbisrKQo+ICsJCQlmZW5jZV9wdXQoc2hhcmVkW25dKTsKPiArCQlrZnJl ZShzaGFyZWQpOwo+ICsJfSBlbHNlIHsKPiArCQlpZiAoY291bnQpIHsKPiArCQkJc3RydWN0IGZl bmNlX2FycmF5ICphcnJheTsKPiArCj4gKwkJCWFycmF5ID0gZmVuY2VfYXJyYXlfY3JlYXRlKGNv dW50LCBzaGFyZWQsIDAsIDAsIGZhbHNlKTsKPiArCQkJaWYgKCFhcnJheSkgewo+ICsJCQkJZm9y IChuID0gMDsgbiA8IGNvdW50OyBuKyspCj4gKwkJCQkJZmVuY2VfcHV0KHNoYXJlZFtuXSk7Cj4g KwkJCQlrZnJlZShzaGFyZWQpOwo+ICsJCQl9IGVsc2UKPiArCQkJCXN5bmMgPSBzeW5jX2ZpbGVf Y3JlYXRlKCZhcnJheS0+YmFzZSk7Cj4gKwkJCWlmICghc3luYykgewo+ICsJCQkJcmV0ID0gLUVO T01FTTsKPiArCQkJCWZlbmNlX3B1dCgmYXJyYXktPmJhc2UpOwo+ICsJCQl9Cj4gKwkJfQo+ICsJ CWZlbmNlX3B1dChleGNsKTsKPiArCX0KPiArCWlmIChyZXQpCj4gKwkJcmV0dXJuIHJldDsKPiAr Cj4gKwljbWQuZmQgPSBnZXRfdW51c2VkX2ZkX2ZsYWdzKE9fQ0xPRVhFQyk7Cj4gKwlpZiAoY21k LmZkIDwgMCkgewo+ICsJCWZwdXQoc3luYy0+ZmlsZSk7Cj4gKwkJcmV0dXJuIGNtZC5mZDsKPiAr CX0KPiArCj4gKwlpZiAocHV0X3VzZXIoY21kLmZkLCAmYXJnLT5mZCkpIHsKPiArCQlmcHV0KHN5 bmMtPmZpbGUpOwo+ICsJCXJldHVybiAtRUZBVUxUOwo+ICsJfQo+ICsKPiArCWZkX2luc3RhbGwo Y21kLmZkLCBzeW5jLT5maWxlKTsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICAgc3RhdGljIGxv bmcgZG1hX2J1Zl9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlsZSwKPiAgIAkJCSAgdW5zaWduZWQgaW50 IGNtZCwgdW5zaWduZWQgbG9uZyBhcmcpCj4gICB7Cj4gQEAgLTI5Miw2ICszODUsMTMgQEAgc3Rh dGljIGxvbmcgZG1hX2J1Zl9pb2N0bChzdHJ1Y3QgZmlsZSAqZmlsZSwKPiAgIAkJCXJldCA9IGRt YV9idWZfYmVnaW5fY3B1X2FjY2VzcyhkbWFidWYsIGRpcmVjdGlvbik7Cj4gICAKPiAgIAkJcmV0 dXJuIHJldDsKPiArCj4gKwljYXNlIERNQV9CVUZfSU9DVExfSU1QT1JUX0ZFTkNFOgo+ICsJCXJl dHVybiBkbWFfYnVmX2ltcG9ydF9mZW5jZV9pb2N0bChkbWFidWYsICh2b2lkIF9fdXNlciAqKWFy Zyk7Cj4gKwo+ICsJY2FzZSBETUFfQlVGX0lPQ1RMX0VYUE9SVF9GRU5DRToKPiArCQlyZXR1cm4g ZG1hX2J1Zl9leHBvcnRfZmVuY2VfaW9jdGwoZG1hYnVmLCAodm9pZCBfX3VzZXIgKilhcmcpOwo+ ICsKPiAgIAlkZWZhdWx0Ogo+ICAgCQlyZXR1cm4gLUVOT1RUWTsKPiAgIAl9Cj4gZGlmZiAtLWdp dCBhL2luY2x1ZGUvdWFwaS9saW51eC9kbWEtYnVmLmggYi9pbmNsdWRlL3VhcGkvbGludXgvZG1h LWJ1Zi5oCj4gaW5kZXggZmIwZGVkYjdjMTIxLi44ZDlhMGQ3M2ViYWEgMTAwNjQ0Cj4gLS0tIGEv aW5jbHVkZS91YXBpL2xpbnV4L2RtYS1idWYuaAo+ICsrKyBiL2luY2x1ZGUvdWFwaS9saW51eC9k bWEtYnVmLmgKPiBAQCAtMzcsNCArMzcsMTMgQEAgc3RydWN0IGRtYV9idWZfc3luYyB7Cj4gICAj ZGVmaW5lIERNQV9CVUZfQkFTRQkJJ2InCj4gICAjZGVmaW5lIERNQV9CVUZfSU9DVExfU1lOQwlf SU9XKERNQV9CVUZfQkFTRSwgMCwgc3RydWN0IGRtYV9idWZfc3luYykKPiAgIAo+ICtzdHJ1Y3Qg ZG1hX2J1Zl9mZW5jZSB7Cj4gKwlfX3MzMiBmZDsKPiArCV9fdTMyIGZsYWdzOwo+ICsjZGVmaW5l IERNQV9CVUZfRkVOQ0VfV1JJVEUJKDEgPDwgMCkKPiArfTsKPiArCj4gKyNkZWZpbmUgRE1BX0JV Rl9JT0NUTF9JTVBPUlRfRkVOQ0UgX0lPVyhETUFfQlVGX0JBU0UsIDEsIHN0cnVjdCBkbWFfYnVm X2ZlbmNlKQo+ICsjZGVmaW5lIERNQV9CVUZfSU9DVExfRVhQT1JUX0ZFTkNFIF9JT1dSKERNQV9C VUZfQkFTRSwgMiwgc3RydWN0IGRtYV9idWZfZmVuY2UpCj4gKwo+ICAgI2VuZGlmCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGlu ZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK