From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 15/39] drm/i915: Extend execution fence to support a callback Date: Thu, 14 Mar 2019 16:50:40 +0000 Message-ID: <9527132d-7136-0c59-beac-3285b738ed76@linux.intel.com> References: <20190313144401.17735-1-chris@chris-wilson.co.uk> <20190313144401.17735-15-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 mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 653EB6E160 for ; Thu, 14 Mar 2019 16:50:43 +0000 (UTC) In-Reply-To: <20190313144401.17735-15-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 Ck9uIDEzLzAzLzIwMTkgMTQ6NDMsIENocmlzIFdpbHNvbiB3cm90ZToKPiBJbiB0aGUgbmV4dCBw YXRjaCwgd2Ugd2lsbCB3YW50IHRvIGNvbmZpZ3VyZSB0aGUgc2xhdmUgcmVxdWVzdAo+IGRlcGVu ZGluZyBvbiB3aGljaCBwaHlzaWNhbCBlbmdpbmUgdGhlIG1hc3RlciByZXF1ZXN0IGlzIGV4ZWN1 dGVkIG9uLgo+IEZvciB0aGlzLCB3ZSBpbnRyb2R1Y2UgYSBjYWxsYmFjayBmcm9tIHRoZSBleGVj dXRlIGZlbmNlIHRvIGNvbnZleSB0aGlzCj4gaW5mb3JtYXRpb24uCj4gCj4gU2lnbmVkLW9mZi1i eTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Cj4gLS0tCj4gICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVlc3QuYyB8IDg0ICsrKysrKysrKysrKysrKysrKysr KysrKysrKy0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVlc3QuaCB8ICA0ICsr Cj4gICAyIGZpbGVzIGNoYW5nZWQsIDgzIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCj4g Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmMKPiBpbmRleCAyMzgyMzM5MTcyYjQuLjBh NDZmODExM2Y1YyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVl c3QuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jCj4gQEAgLTM4 LDYgKzM4LDggQEAgc3RydWN0IGV4ZWN1dGVfY2Igewo+ICAgCXN0cnVjdCBsaXN0X2hlYWQgbGlu azsKPiAgIAlzdHJ1Y3QgaXJxX3dvcmsgd29yazsKPiAgIAlzdHJ1Y3QgaTkxNV9zd19mZW5jZSAq ZmVuY2U7Cj4gKwl2b2lkICgqaG9vaykoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsIHN0cnVjdCBk bWFfZmVuY2UgKnNpZ25hbCk7Cj4gKwlzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpzaWduYWw7Cj4gICB9 Owo+ICAgCj4gICBzdGF0aWMgc3RydWN0IGk5MTVfZ2xvYmFsX3JlcXVlc3Qgewo+IEBAIC0zNDMs NiArMzQ1LDE3IEBAIHN0YXRpYyB2b2lkIGlycV9leGVjdXRlX2NiKHN0cnVjdCBpcnFfd29yayAq d3JrKQo+ICAgCWttZW1fY2FjaGVfZnJlZShnbG9iYWwuc2xhYl9leGVjdXRlX2NicywgY2IpOwo+ ICAgfQo+ICAgCj4gK3N0YXRpYyB2b2lkIGlycV9leGVjdXRlX2NiX2hvb2soc3RydWN0IGlycV93 b3JrICp3cmspCj4gK3sKPiArCXN0cnVjdCBleGVjdXRlX2NiICpjYiA9IGNvbnRhaW5lcl9vZih3 cmssIHR5cGVvZigqY2IpLCB3b3JrKTsKPiArCj4gKwljYi0+aG9vayhjb250YWluZXJfb2YoY2It PmZlbmNlLCBzdHJ1Y3QgaTkxNV9yZXF1ZXN0LCBzdWJtaXQpLAo+ICsJCSAmY2ItPnNpZ25hbC0+ ZmVuY2UpOwo+ICsJaTkxNV9yZXF1ZXN0X3B1dChjYi0+c2lnbmFsKTsKPiArCj4gKwlpcnFfZXhl Y3V0ZV9jYih3cmspOwo+ICt9Cj4gKwo+ICAgc3RhdGljIHZvaWQgX19ub3RpZnlfZXhlY3V0ZV9j YihzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSkKPiAgIHsKPiAgIAlzdHJ1Y3QgZXhlY3V0ZV9jYiAq Y2I7Cj4gQEAgLTM2OSwxNCArMzgyLDE5IEBAIHN0YXRpYyB2b2lkIF9fbm90aWZ5X2V4ZWN1dGVf Y2Ioc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEpCj4gICB9Cj4gICAKPiAgIHN0YXRpYyBpbnQKPiAt aTkxNV9yZXF1ZXN0X2F3YWl0X2V4ZWN1dGlvbihzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwKPiAt CQkJICAgICBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpzaWduYWwsCj4gLQkJCSAgICAgZ2ZwX3QgZ2Zw KQo+ICtfX2k5MTVfcmVxdWVzdF9hd2FpdF9leGVjdXRpb24oc3RydWN0IGk5MTVfcmVxdWVzdCAq cnEsCj4gKwkJCSAgICAgICBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpzaWduYWwsCj4gKwkJCSAgICAg ICB2b2lkICgqaG9vaykoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsCj4gKwkJCQkJICAgIHN0cnVj dCBkbWFfZmVuY2UgKnNpZ25hbCksCj4gKwkJCSAgICAgICBnZnBfdCBnZnApCj4gICB7Cj4gICAJ c3RydWN0IGV4ZWN1dGVfY2IgKmNiOwo+ICAgCj4gLQlpZiAoaTkxNV9yZXF1ZXN0X2lzX2FjdGl2 ZShzaWduYWwpKQo+ICsJaWYgKGk5MTVfcmVxdWVzdF9pc19hY3RpdmUoc2lnbmFsKSkgewo+ICsJ CWlmIChob29rKQo+ICsJCQlob29rKHJxLCAmc2lnbmFsLT5mZW5jZSk7Cj4gICAJCXJldHVybiAw Owo+ICsJfQo+ICAgCj4gICAJY2IgPSBrbWVtX2NhY2hlX2FsbG9jKGdsb2JhbC5zbGFiX2V4ZWN1 dGVfY2JzLCBnZnApOwo+ICAgCWlmICghY2IpCj4gQEAgLTM4Niw4ICs0MDQsMTggQEAgaTkxNV9y ZXF1ZXN0X2F3YWl0X2V4ZWN1dGlvbihzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwKPiAgIAlpOTE1 X3N3X2ZlbmNlX2F3YWl0KGNiLT5mZW5jZSk7Cj4gICAJaW5pdF9pcnFfd29yaygmY2ItPndvcmss IGlycV9leGVjdXRlX2NiKTsKPiAgIAo+ICsJaWYgKGhvb2spIHsKPiArCQljYi0+aG9vayA9IGhv b2s7Cj4gKwkJY2ItPnNpZ25hbCA9IGk5MTVfcmVxdWVzdF9nZXQoc2lnbmFsKTsKPiArCQljYi0+ d29yay5mdW5jID0gaXJxX2V4ZWN1dGVfY2JfaG9vazsKPiArCX0KPiArCj4gICAJc3Bpbl9sb2Nr X2lycSgmc2lnbmFsLT5sb2NrKTsKPiAgIAlpZiAoaTkxNV9yZXF1ZXN0X2lzX2FjdGl2ZShzaWdu YWwpKSB7Cj4gKwkJaWYgKGhvb2spIHsKPiArCQkJaG9vayhycSwgJnNpZ25hbC0+ZmVuY2UpOwo+ ICsJCQlpOTE1X3JlcXVlc3RfcHV0KHNpZ25hbCk7Cj4gKwkJfQo+ICAgCQlpOTE1X3N3X2ZlbmNl X2NvbXBsZXRlKGNiLT5mZW5jZSk7Cj4gICAJCWttZW1fY2FjaGVfZnJlZShnbG9iYWwuc2xhYl9l eGVjdXRlX2NicywgY2IpOwo+ICAgCX0gZWxzZSB7Cj4gQEAgLTc5MCw3ICs4MTgsNyBAQCBlbWl0 X3NlbWFwaG9yZV93YWl0KHN0cnVjdCBpOTE1X3JlcXVlc3QgKnRvLAo+ICAgCQlyZXR1cm4gZXJy Owo+ICAgCj4gICAJLyogT25seSBzdWJtaXQgb3VyIHNwaW5uZXIgYWZ0ZXIgdGhlIHNpZ25hbGVy IGlzIHJ1bm5pbmchICovCj4gLQllcnIgPSBpOTE1X3JlcXVlc3RfYXdhaXRfZXhlY3V0aW9uKHRv LCBmcm9tLCBnZnApOwo+ICsJZXJyID0gX19pOTE1X3JlcXVlc3RfYXdhaXRfZXhlY3V0aW9uKHRv LCBmcm9tLCBOVUxMLCBnZnApOwo+ICAgCWlmIChlcnIpCj4gICAJCXJldHVybiBlcnI7Cj4gICAK PiBAQCAtOTEwLDYgKzkzOCw1MiBAQCBpOTE1X3JlcXVlc3RfYXdhaXRfZG1hX2ZlbmNlKHN0cnVj dCBpOTE1X3JlcXVlc3QgKnJxLCBzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSkKPiAgIAlyZXR1cm4g MDsKPiAgIH0KPiAgIAo+ICtpbnQKPiAraTkxNV9yZXF1ZXN0X2F3YWl0X2V4ZWN1dGlvbihzdHJ1 Y3QgaTkxNV9yZXF1ZXN0ICpycSwKPiArCQkJICAgICBzdHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSwK PiArCQkJICAgICB2b2lkICgqaG9vaykoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsCj4gKwkJCQkJ ICBzdHJ1Y3QgZG1hX2ZlbmNlICpzaWduYWwpKQo+ICt7Cj4gKwlzdHJ1Y3QgZG1hX2ZlbmNlICoq Y2hpbGQgPSAmZmVuY2U7Cj4gKwl1bnNpZ25lZCBpbnQgbmNoaWxkID0gMTsKPiArCWludCByZXQ7 Cj4gKwo+ICsJaWYgKGRtYV9mZW5jZV9pc19hcnJheShmZW5jZSkpIHsKPiArCQlzdHJ1Y3QgZG1h X2ZlbmNlX2FycmF5ICphcnJheSA9IHRvX2RtYV9mZW5jZV9hcnJheShmZW5jZSk7Cj4gKwo+ICsJ CS8qIFhYWCBFcnJvciBmb3Igc2lnbmFsLW9uLWFueSBmZW5jZSBhcnJheXMgKi8KPiArCj4gKwkJ Y2hpbGQgPSBhcnJheS0+ZmVuY2VzOwo+ICsJCW5jaGlsZCA9IGFycmF5LT5udW1fZmVuY2VzOwo+ ICsJCUdFTV9CVUdfT04oIW5jaGlsZCk7Cj4gKwl9Cj4gKwo+ICsJZG8gewo+ICsJCWZlbmNlID0g KmNoaWxkKys7Cj4gKwkJaWYgKHRlc3RfYml0KERNQV9GRU5DRV9GTEFHX1NJR05BTEVEX0JJVCwg JmZlbmNlLT5mbGFncykpCj4gKwkJCWNvbnRpbnVlOwo+ICsKPiArCQkvKgo+ICsJCSAqIFdlIGRv bid0IHNxdWFzaCByZXBlYXRlZCBmZW5jZSBkZXBlbmRlbmNpZXMgaGVyZSBhcyB3ZQo+ICsJCSAq IHdhbnQgdG8gcnVuIG91ciBjYWxsYmFjayBpbiBhbGwgY2FzZXMuCj4gKwkJICovCj4gKwo+ICsJ CWlmIChkbWFfZmVuY2VfaXNfaTkxNShmZW5jZSkpCj4gKwkJCXJldCA9IF9faTkxNV9yZXF1ZXN0 X2F3YWl0X2V4ZWN1dGlvbihycSwKPiArCQkJCQkJCSAgICAgdG9fcmVxdWVzdChmZW5jZSksCj4g KwkJCQkJCQkgICAgIGhvb2ssCj4gKwkJCQkJCQkgICAgIEk5MTVfRkVOQ0VfR0ZQKTsKPiArCQll bHNlCj4gKwkJCXJldCA9IGk5MTVfc3dfZmVuY2VfYXdhaXRfZG1hX2ZlbmNlKCZycS0+c3VibWl0 LCBmZW5jZSwKPiArCQkJCQkJCSAgICBJOTE1X0ZFTkNFX1RJTUVPVVQsCj4gKwkJCQkJCQkgICAg R0ZQX0tFUk5FTCk7Cj4gKwkJaWYgKHJldCA8IDApCj4gKwkJCXJldHVybiByZXQ7Cj4gKwl9IHdo aWxlICgtLW5jaGlsZCk7Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gICAvKioKPiAgICAq IGk5MTVfcmVxdWVzdF9hd2FpdF9vYmplY3QgLSBzZXQgdGhpcyByZXF1ZXN0IHRvIChhc3luYykg d2FpdCB1cG9uIGEgYm8KPiAgICAqIEB0bzogcmVxdWVzdCB3ZSBhcmUgd2lzaGluZyB0byB1c2UK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmggYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlcXVlc3QuaAo+IGluZGV4IGNkNmMxMzA5NjRjZC4uZDRm NmIyOTQwMTMwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVz dC5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmgKPiBAQCAtMjY1 LDYgKzI2NSwxMCBAQCBpbnQgaTkxNV9yZXF1ZXN0X2F3YWl0X29iamVjdChzdHJ1Y3QgaTkxNV9y ZXF1ZXN0ICp0bywKPiAgIAkJCSAgICAgIGJvb2wgd3JpdGUpOwo+ICAgaW50IGk5MTVfcmVxdWVz dF9hd2FpdF9kbWFfZmVuY2Uoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsCj4gICAJCQkJIHN0cnVj dCBkbWFfZmVuY2UgKmZlbmNlKTsKPiAraW50IGk5MTVfcmVxdWVzdF9hd2FpdF9leGVjdXRpb24o c3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsCj4gKwkJCQkgc3RydWN0IGRtYV9mZW5jZSAqZmVuY2Us Cj4gKwkJCQkgdm9pZCAoKmhvb2spKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLAo+ICsJCQkJCSAg ICAgIHN0cnVjdCBkbWFfZmVuY2UgKnNpZ25hbCkpOwo+ICAgCj4gICB2b2lkIGk5MTVfcmVxdWVz dF9hZGQoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEpOwo+ICAgCj4gCgpSZXZpZXdlZC1ieTogVHZy dGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClJlZ2FyZHMsCgpUdnJ0a28K X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4