From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 11/13] drm/i915: Extend execution fence to support a callback Date: Mon, 11 Mar 2019 13:09:11 +0000 Message-ID: <7c1bce56-47c6-7cae-f939-57db4993bc86@linux.intel.com> References: <20190308141244.16837-1-chris@chris-wilson.co.uk> <20190308141244.16837-12-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 mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6D22389A60 for ; Mon, 11 Mar 2019 13:09:14 +0000 (UTC) In-Reply-To: <20190308141244.16837-12-chris@chris-wilson.co.uk> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org CgpPbiAwOC8wMy8yMDE5IDE0OjEyLCBDaHJpcyBXaWxzb24gd3JvdGU6Cj4gSW4gdGhlIG5leHQg cGF0Y2gsIHdlIHdpbGwgd2FudCB0byBjb25maWd1cmUgdGhlIHNsYXZlIHJlcXVlc3QKPiBkZXBl bmRpbmcgb24gd2hpY2ggcGh5c2ljYWwgZW5naW5lIHRoZSBtYXN0ZXIgcmVxdWVzdCBpcyBleGVj dXRlZCBvbi4KPiBGb3IgdGhpcywgd2UgaW50cm9kdWNlIGEgY2FsbGJhY2sgZnJvbSB0aGUgZXhl Y3V0ZSBmZW5jZSB0byBjb252ZXkgdGhpcwo+IGluZm9ybWF0aW9uLgo+IAo+IFNpZ25lZC1vZmYt Ynk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+IC0tLQo+ICAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmMgfCA4NCArKysrKysrKysrKysrKysrKysr KysrKysrKystLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmggfCAgNCAr Kwo+ICAgMiBmaWxlcyBjaGFuZ2VkLCA4MyBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQo+ IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVlc3QuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jCj4gaW5kZXggMDkwNDZhMTVkMjE4Li41 NTI3YWIyMmRiZjIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1 ZXN0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVlc3QuYwo+IEBAIC0z OCw2ICszOCw4IEBAIHN0cnVjdCBleGVjdXRlX2NiIHsKPiAgIAlzdHJ1Y3QgbGlzdF9oZWFkIGxp bms7Cj4gICAJc3RydWN0IGlycV93b3JrIHdvcms7Cj4gICAJc3RydWN0IGk5MTVfc3dfZmVuY2Ug KmZlbmNlOwo+ICsJdm9pZCAoKmhvb2spKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLCBzdHJ1Y3Qg ZG1hX2ZlbmNlICpzaWduYWwpOwo+ICsJc3RydWN0IGk5MTVfcmVxdWVzdCAqc2lnbmFsOwo+ICAg fTsKPiAgIAo+ICAgc3RhdGljIHN0cnVjdCBpOTE1X2dsb2JhbF9yZXF1ZXN0IHsKPiBAQCAtMzQz LDYgKzM0NSwxNyBAQCBzdGF0aWMgdm9pZCBpcnFfZXhlY3V0ZV9jYihzdHJ1Y3QgaXJxX3dvcmsg KndyaykKPiAgIAlrbWVtX2NhY2hlX2ZyZWUoZ2xvYmFsLnNsYWJfZXhlY3V0ZV9jYnMsIGNiKTsK PiAgIH0KPiAgIAo+ICtzdGF0aWMgdm9pZCBpcnFfZXhlY3V0ZV9jYl9ob29rKHN0cnVjdCBpcnFf d29yayAqd3JrKQo+ICt7Cj4gKwlzdHJ1Y3QgZXhlY3V0ZV9jYiAqY2IgPSBjb250YWluZXJfb2Yo d3JrLCB0eXBlb2YoKmNiKSwgd29yayk7Cj4gKwo+ICsJY2ItPmhvb2soY29udGFpbmVyX29mKGNi LT5mZW5jZSwgc3RydWN0IGk5MTVfcmVxdWVzdCwgc3VibWl0KSwKPiArCQkgJmNiLT5zaWduYWwt PmZlbmNlKTsKPiArCWk5MTVfcmVxdWVzdF9wdXQoY2ItPnNpZ25hbCk7Cj4gKwo+ICsJaXJxX2V4 ZWN1dGVfY2Iod3JrKTsKPiArfQo+ICsKPiAgIHN0YXRpYyB2b2lkIF9fbm90aWZ5X2V4ZWN1dGVf Y2Ioc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEpCj4gICB7Cj4gICAJc3RydWN0IGV4ZWN1dGVfY2Ig KmNiOwo+IEBAIC0zNjksMTQgKzM4MiwxOSBAQCBzdGF0aWMgdm9pZCBfX25vdGlmeV9leGVjdXRl X2NiKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxKQo+ICAgfQo+ICAgCj4gICBzdGF0aWMgaW50Cj4g LWk5MTVfcmVxdWVzdF9hd2FpdF9leGVjdXRpb24oc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsCj4g LQkJCSAgICAgc3RydWN0IGk5MTVfcmVxdWVzdCAqc2lnbmFsLAo+IC0JCQkgICAgIGdmcF90IGdm cCkKPiArX19pOTE1X3JlcXVlc3RfYXdhaXRfZXhlY3V0aW9uKHN0cnVjdCBpOTE1X3JlcXVlc3Qg KnJxLAo+ICsJCQkgICAgICAgc3RydWN0IGk5MTVfcmVxdWVzdCAqc2lnbmFsLAo+ICsJCQkgICAg ICAgdm9pZCAoKmhvb2spKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLAo+ICsJCQkJCSAgICBzdHJ1 Y3QgZG1hX2ZlbmNlICpzaWduYWwpLAo+ICsJCQkgICAgICAgZ2ZwX3QgZ2ZwKQo+ICAgewo+ICAg CXN0cnVjdCBleGVjdXRlX2NiICpjYjsKPiAgIAo+IC0JaWYgKGk5MTVfcmVxdWVzdF9pc19hY3Rp dmUoc2lnbmFsKSkKPiArCWlmIChpOTE1X3JlcXVlc3RfaXNfYWN0aXZlKHNpZ25hbCkpIHsKPiAr CQlpZiAoaG9vaykKPiArCQkJaG9vayhycSwgJnNpZ25hbC0+ZmVuY2UpOwo+ICAgCQlyZXR1cm4g MDsKPiArCX0KPiAgIAo+ICAgCWNiID0ga21lbV9jYWNoZV9hbGxvYyhnbG9iYWwuc2xhYl9leGVj dXRlX2NicywgZ2ZwKTsKPiAgIAlpZiAoIWNiKQo+IEBAIC0zODYsOCArNDA0LDE4IEBAIGk5MTVf cmVxdWVzdF9hd2FpdF9leGVjdXRpb24oc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsCj4gICAJaTkx NV9zd19mZW5jZV9hd2FpdChjYi0+ZmVuY2UpOwo+ICAgCWluaXRfaXJxX3dvcmsoJmNiLT53b3Jr LCBpcnFfZXhlY3V0ZV9jYik7Cj4gICAKPiArCWlmIChob29rKSB7Cj4gKwkJY2ItPmhvb2sgPSBo b29rOwo+ICsJCWNiLT5zaWduYWwgPSBpOTE1X3JlcXVlc3RfZ2V0KHNpZ25hbCk7Cj4gKwkJY2It PndvcmsuZnVuYyA9IGlycV9leGVjdXRlX2NiX2hvb2s7Cj4gKwl9Cj4gKwo+ICAgCXNwaW5fbG9j a19pcnEoJnNpZ25hbC0+bG9jayk7Cj4gICAJaWYgKGk5MTVfcmVxdWVzdF9pc19hY3RpdmUoc2ln bmFsKSkgewo+ICsJCWlmIChob29rKSB7Cj4gKwkJCWhvb2socnEsICZzaWduYWwtPmZlbmNlKTsK PiArCQkJaTkxNV9yZXF1ZXN0X3B1dChzaWduYWwpOwo+ICsJCX0KPiAgIAkJaTkxNV9zd19mZW5j ZV9jb21wbGV0ZShjYi0+ZmVuY2UpOwo+ICAgCQlrbWVtX2NhY2hlX2ZyZWUoZ2xvYmFsLnNsYWJf ZXhlY3V0ZV9jYnMsIGNiKTsKPiAgIAl9IGVsc2Ugewo+IEBAIC03OTAsNyArODE4LDcgQEAgZW1p dF9zZW1hcGhvcmVfd2FpdChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICp0bywKPiAgIAkJcmV0dXJuIGVy cjsKPiAgIAo+ICAgCS8qIE9ubHkgc3VibWl0IG91ciBzcGlubmVyIGFmdGVyIHRoZSBzaWduYWxl ciBpcyBydW5uaW5nISAqLwo+IC0JZXJyID0gaTkxNV9yZXF1ZXN0X2F3YWl0X2V4ZWN1dGlvbih0 bywgZnJvbSwgZ2ZwKTsKPiArCWVyciA9IF9faTkxNV9yZXF1ZXN0X2F3YWl0X2V4ZWN1dGlvbih0 bywgZnJvbSwgTlVMTCwgZ2ZwKTsKPiAgIAlpZiAoZXJyKQo+ICAgCQlyZXR1cm4gZXJyOwo+ICAg Cj4gQEAgLTkxMCw2ICs5MzgsNTIgQEAgaTkxNV9yZXF1ZXN0X2F3YWl0X2RtYV9mZW5jZShzdHJ1 Y3QgaTkxNV9yZXF1ZXN0ICpycSwgc3RydWN0IGRtYV9mZW5jZSAqZmVuY2UpCj4gICAJcmV0dXJu IDA7Cj4gICB9Cj4gICAKPiAraW50Cj4gK2k5MTVfcmVxdWVzdF9hd2FpdF9leGVjdXRpb24oc3Ry dWN0IGk5MTVfcmVxdWVzdCAqcnEsCj4gKwkJCSAgICAgc3RydWN0IGRtYV9mZW5jZSAqZmVuY2Us Cj4gKwkJCSAgICAgdm9pZCAoKmhvb2spKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLAo+ICsJCQkJ CSAgc3RydWN0IGRtYV9mZW5jZSAqc2lnbmFsKSkKPiArewo+ICsJc3RydWN0IGRtYV9mZW5jZSAq KmNoaWxkID0gJmZlbmNlOwo+ICsJdW5zaWduZWQgaW50IG5jaGlsZCA9IDE7Cj4gKwlpbnQgcmV0 Owo+ICsKPiArCWlmIChkbWFfZmVuY2VfaXNfYXJyYXkoZmVuY2UpKSB7Cj4gKwkJc3RydWN0IGRt YV9mZW5jZV9hcnJheSAqYXJyYXkgPSB0b19kbWFfZmVuY2VfYXJyYXkoZmVuY2UpOwo+ICsKPiAr CQkvKiBYWFggRXJyb3IgZm9yIHNpZ25hbC1vbi1hbnkgZmVuY2UgYXJyYXlzICovCgpVbmZpbmlz aGVkPwoKPiArCj4gKwkJY2hpbGQgPSBhcnJheS0+ZmVuY2VzOwo+ICsJCW5jaGlsZCA9IGFycmF5 LT5udW1fZmVuY2VzOwo+ICsJCUdFTV9CVUdfT04oIW5jaGlsZCk7Cj4gKwl9Cj4gKwo+ICsJZG8g ewo+ICsJCWZlbmNlID0gKmNoaWxkKys7Cj4gKwkJaWYgKHRlc3RfYml0KERNQV9GRU5DRV9GTEFH X1NJR05BTEVEX0JJVCwgJmZlbmNlLT5mbGFncykpCj4gKwkJCWNvbnRpbnVlOwo+ICsKPiArCQkv Kgo+ICsJCSAqIFdlIGRvbid0IHNxdWFzaCByZXBlYXRlZCBmZW5jZSBkZXBlbmRlbmNpZXMgaGVy ZSBhcyB3ZQo+ICsJCSAqIHdhbnQgdG8gcnVuIG91ciBjYWxsYmFjayBpbiBhbGwgY2FzZXMuCj4g KwkJICovCj4gKwo+ICsJCWlmIChkbWFfZmVuY2VfaXNfaTkxNShmZW5jZSkpCj4gKwkJCXJldCA9 IF9faTkxNV9yZXF1ZXN0X2F3YWl0X2V4ZWN1dGlvbihycSwKPiArCQkJCQkJCSAgICAgdG9fcmVx dWVzdChmZW5jZSksCj4gKwkJCQkJCQkgICAgIGhvb2ssCj4gKwkJCQkJCQkgICAgIEk5MTVfRkVO Q0VfR0ZQKTsKPiArCQllbHNlCj4gKwkJCXJldCA9IGk5MTVfc3dfZmVuY2VfYXdhaXRfZG1hX2Zl bmNlKCZycS0+c3VibWl0LCBmZW5jZSwKPiArCQkJCQkJCSAgICBJOTE1X0ZFTkNFX1RJTUVPVVQs Cj4gKwkJCQkJCQkgICAgR0ZQX0tFUk5FTCk7Cj4gKwkJaWYgKHJldCA8IDApCj4gKwkJCXJldHVy biByZXQ7Cj4gKwl9IHdoaWxlICgtLW5jaGlsZCk7Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiAr Cj4gICAvKioKPiAgICAqIGk5MTVfcmVxdWVzdF9hd2FpdF9vYmplY3QgLSBzZXQgdGhpcyByZXF1 ZXN0IHRvIChhc3luYykgd2FpdCB1cG9uIGEgYm8KPiAgICAqIEB0bzogcmVxdWVzdCB3ZSBhcmUg d2lzaGluZyB0byB1c2UKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZXF1ZXN0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVlc3QuaAo+IGluZGV4IGNk NmMxMzA5NjRjZC4uZDRmNmIyOTQwMTMwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcmVxdWVzdC5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1 ZXN0LmgKPiBAQCAtMjY1LDYgKzI2NSwxMCBAQCBpbnQgaTkxNV9yZXF1ZXN0X2F3YWl0X29iamVj dChzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICp0bywKPiAgIAkJCSAgICAgIGJvb2wgd3JpdGUpOwo+ICAg aW50IGk5MTVfcmVxdWVzdF9hd2FpdF9kbWFfZmVuY2Uoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEs Cj4gICAJCQkJIHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlKTsKPiAraW50IGk5MTVfcmVxdWVzdF9h d2FpdF9leGVjdXRpb24oc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsCj4gKwkJCQkgc3RydWN0IGRt YV9mZW5jZSAqZmVuY2UsCj4gKwkJCQkgdm9pZCAoKmhvb2spKHN0cnVjdCBpOTE1X3JlcXVlc3Qg KnJxLAo+ICsJCQkJCSAgICAgIHN0cnVjdCBkbWFfZmVuY2UgKnNpZ25hbCkpOwo+ICAgCj4gICB2 b2lkIGk5MTVfcmVxdWVzdF9hZGQoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEpOwo+ICAgCj4gCgpS ZWdhcmRzLAoKVHZydGtvCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeA==