From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [CI] drm/i915: Introduce a context barrier callback Date: Sat, 9 Mar 2019 16:02:50 +0000 Message-ID: <20190309160250.29324-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 074AF6E43B for ; Sat, 9 Mar 2019 16:02:57 +0000 (UTC) Received: from haswell.alporthouse.com (unverified [78.156.65.138]) by fireflyinternet.com (Firefly Internet (M1)) with ESMTP id 15835253-1500050 for ; Sat, 09 Mar 2019 16:02:51 +0000 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org SW4gdGhlIG5leHQgcGF0Y2gsIHdlIHdpbGwgd2FudCB0byB1cGRhdGUgbGl2ZSBzdGF0ZSB3aXRo aW4gYSBjb250ZXh0LgpBcyB0aGlzIHN0YXRlIG1heSBiZSBpbiB1c2UgYnkgdGhlIEdQVSBhbmQg d2UgaGF2ZW4ndCBiZWVuIGV4cGxpY2l0bHkKdHJhY2tpbmcgaXRzIGFjdGl2aXR5LCB3ZSBpbnN0 ZWFkIGF0dGFjaCBpdCB0byBhIHJlcXVlc3Qgd2Ugc2VuZCBkb3duCnRoZSBjb250ZXh0IHNldHVw IHdpdGggaXRzIG5ldyBzdGF0ZSBhbmQgb24gcmV0aXJpbmcgdGhhdCByZXF1ZXN0CmNsZWFudXAg dGhlIG9sZCBzdGF0ZSBhcyB3ZSB0aGVuIGtub3cgdGhhdCBpdCBpcyBubyBsb25nZXIgbGl2ZS4K ClNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpS ZXZpZXdlZC1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMgICAgICAgfCAgNzQgKysr KysrKysrKysrCiAuLi4vZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9jb250ZXh0LmMg fCAxMDYgKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDE4MCBpbnNlcnRpb25z KCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCmluZGV4IGY5YTIxYTg5 MWFhNC4uYjYzNzAyMjVkY2I1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9jb250ZXh0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4 dC5jCkBAIC02NzcsNiArNjc3LDgwIEBAIGxhc3RfcmVxdWVzdF9vbl9lbmdpbmUoc3RydWN0IGk5 MTVfdGltZWxpbmUgKnRpbWVsaW5lLAogCXJldHVybiBOVUxMOwogfQogCitzdHJ1Y3QgY29udGV4 dF9iYXJyaWVyX3Rhc2sgeworCXN0cnVjdCBpOTE1X2FjdGl2ZSBiYXNlOworCXZvaWQgKCp0YXNr KSh2b2lkICpkYXRhKTsKKwl2b2lkICpkYXRhOworfTsKKworc3RhdGljIHZvaWQgY2JfcmV0aXJl KHN0cnVjdCBpOTE1X2FjdGl2ZSAqYmFzZSkKK3sKKwlzdHJ1Y3QgY29udGV4dF9iYXJyaWVyX3Rh c2sgKmNiID0gY29udGFpbmVyX29mKGJhc2UsIHR5cGVvZigqY2IpLCBiYXNlKTsKKworCWlmIChj Yi0+dGFzaykKKwkJY2ItPnRhc2soY2ItPmRhdGEpOworCisJaTkxNV9hY3RpdmVfZmluaSgmY2It PmJhc2UpOworCWtmcmVlKGNiKTsKK30KKworSTkxNV9TRUxGVEVTVF9ERUNMQVJFKHN0YXRpYyB1 bnNpZ25lZCBsb25nIGNvbnRleHRfYmFycmllcl9pbmplY3RfZmF1bHQpOworc3RhdGljIGludCBj b250ZXh0X2JhcnJpZXJfdGFzayhzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAorCQkJCXVu c2lnbmVkIGxvbmcgZW5naW5lcywKKwkJCQl2b2lkICgqdGFzaykodm9pZCAqZGF0YSksCisJCQkJ dm9pZCAqZGF0YSkKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGN0eC0+aTkx NTsKKwlzdHJ1Y3QgY29udGV4dF9iYXJyaWVyX3Rhc2sgKmNiOworCXN0cnVjdCBpbnRlbF9jb250 ZXh0ICpjZTsKKwlpbnRlbF93YWtlcmVmX3Qgd2FrZXJlZjsKKwlpbnQgZXJyID0gMDsKKworCWxv Y2tkZXBfYXNzZXJ0X2hlbGQoJmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXgpOworCUdFTV9CVUdfT04o IXRhc2spOworCisJY2IgPSBrbWFsbG9jKHNpemVvZigqY2IpLCBHRlBfS0VSTkVMKTsKKwlpZiAo IWNiKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWk5MTVfYWN0aXZlX2luaXQoaTkxNSwgJmNiLT5i YXNlLCBjYl9yZXRpcmUpOworCWk5MTVfYWN0aXZlX2FjcXVpcmUoJmNiLT5iYXNlKTsKKworCXdh a2VyZWYgPSBpbnRlbF9ydW50aW1lX3BtX2dldChpOTE1KTsKKwlsaXN0X2Zvcl9lYWNoX2VudHJ5 KGNlLCAmY3R4LT5hY3RpdmVfZW5naW5lcywgYWN0aXZlX2xpbmspIHsKKwkJc3RydWN0IGludGVs X2VuZ2luZV9jcyAqZW5naW5lID0gY2UtPmVuZ2luZTsKKwkJc3RydWN0IGk5MTVfcmVxdWVzdCAq cnE7CisKKwkJaWYgKCEoY2UtPmVuZ2luZS0+bWFzayAmIGVuZ2luZXMpKQorCQkJY29udGludWU7 CisKKwkJaWYgKEk5MTVfU0VMRlRFU1RfT05MWShjb250ZXh0X2JhcnJpZXJfaW5qZWN0X2ZhdWx0 ICYKKwkJCQkgICAgICAgZW5naW5lLT5tYXNrKSkgeworCQkJZXJyID0gLUVOWElPOworCQkJYnJl YWs7CisJCX0KKworCQlycSA9IGk5MTVfcmVxdWVzdF9hbGxvYyhlbmdpbmUsIGN0eCk7CisJCWlm IChJU19FUlIocnEpKSB7CisJCQllcnIgPSBQVFJfRVJSKHJxKTsKKwkJCWJyZWFrOworCQl9CisK KwkJZXJyID0gaTkxNV9hY3RpdmVfcmVmKCZjYi0+YmFzZSwgcnEtPmZlbmNlLmNvbnRleHQsIHJx KTsKKwkJaTkxNV9yZXF1ZXN0X2FkZChycSk7CisJCWlmIChlcnIpCisJCQlicmVhazsKKwl9CisJ aW50ZWxfcnVudGltZV9wbV9wdXQoaTkxNSwgd2FrZXJlZik7CisKKwljYi0+dGFzayA9IGVyciA/ IE5VTEwgOiB0YXNrOyAvKiBjYWxsZXIgbmVlZHMgdG8gdW53aW5kIGluc3RlYWQgKi8KKwljYi0+ ZGF0YSA9IGRhdGE7CisKKwlpOTE1X2FjdGl2ZV9yZWxlYXNlKCZjYi0+YmFzZSk7CisKKwlyZXR1 cm4gZXJyOworfQorCiBpbnQgaTkxNV9nZW1fc3dpdGNoX3RvX2tlcm5lbF9jb250ZXh0KHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICppOTE1LAogCQkJCSAgICAgIHVuc2lnbmVkIGxvbmcgbWFzaykK IHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9j b250ZXh0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fY29udGV4 dC5jCmluZGV4IDViODYxNGIyZmJlNC4uNDM5OWVmOWViZjE1IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fY29udGV4dC5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9jb250ZXh0LmMKQEAgLTE1OTQsMTAgKzE1 OTQsMTE2IEBAIHN0YXRpYyBpbnQgaWd0X3N3aXRjaF90b19rZXJuZWxfY29udGV4dCh2b2lkICph cmcpCiAJcmV0dXJuIGVycjsKIH0KIAorc3RhdGljIHZvaWQgbW9ja19iYXJyaWVyX3Rhc2sodm9p ZCAqZGF0YSkKK3sKKwl1bnNpZ25lZCBpbnQgKmNvdW50ZXIgPSBkYXRhOworCisJKysqY291bnRl cjsKK30KKworc3RhdGljIGludCBtb2NrX2NvbnRleHRfYmFycmllcih2b2lkICphcmcpCit7Cisj dW5kZWYgcHJfZm10CisjZGVmaW5lIHByX2ZtdCh4KSAiY29udGV4dF9iYXJyaWVyX3Rhc2soKToi ICMgeAorCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gYXJnOworCXN0cnVjdCBpOTE1 X2dlbV9jb250ZXh0ICpjdHg7CisJc3RydWN0IGk5MTVfcmVxdWVzdCAqcnE7CisJaW50ZWxfd2Fr ZXJlZl90IHdha2VyZWY7CisJdW5zaWduZWQgaW50IGNvdW50ZXI7CisJaW50IGVycjsKKworCS8q CisJICogVGhlIGNvbnRleHQgYmFycmllciBwcm92aWRlcyB1cyB3aXRoIGEgY2FsbGJhY2sgYWZ0 ZXIgaXQgZW1pdHMKKwkgKiBhIHJlcXVlc3Q7IHVzZWZ1bCBmb3IgcmV0aXJpbmcgb2xkIHN0YXRl IGFmdGVyIGxvYWRpbmcgbmV3LgorCSAqLworCisJbXV0ZXhfbG9jaygmaTkxNS0+ZHJtLnN0cnVj dF9tdXRleCk7CisKKwljdHggPSBtb2NrX2NvbnRleHQoaTkxNSwgIm1vY2siKTsKKwlpZiAoSVNf RVJSKGN0eCkpIHsKKwkJZXJyID0gUFRSX0VSUihjdHgpOworCQlnb3RvIHVubG9jazsKKwl9CisK Kwljb3VudGVyID0gMDsKKwllcnIgPSBjb250ZXh0X2JhcnJpZXJfdGFzayhjdHgsIDAsIG1vY2tf YmFycmllcl90YXNrLCAmY291bnRlcik7CisJaWYgKGVycikgeworCQlwcl9lcnIoIkZhaWxlZCBh dCBsaW5lICVkLCBlcnI9JWRcbiIsIF9fTElORV9fLCBlcnIpOworCQlnb3RvIG91dDsKKwl9CisJ aWYgKGNvdW50ZXIgPT0gMCkgeworCQlwcl9lcnIoIkRpZCBub3QgcmV0aXJlIGltbWVkaWF0ZWx5 IHdpdGggMCBlbmdpbmVzXG4iKTsKKwkJZXJyID0gLUVJTlZBTDsKKwkJZ290byBvdXQ7CisJfQor CisJY291bnRlciA9IDA7CisJZXJyID0gY29udGV4dF9iYXJyaWVyX3Rhc2soY3R4LAorCQkJCSAg IEFMTF9FTkdJTkVTLCBtb2NrX2JhcnJpZXJfdGFzaywgJmNvdW50ZXIpOworCWlmIChlcnIpIHsK KwkJcHJfZXJyKCJGYWlsZWQgYXQgbGluZSAlZCwgZXJyPSVkXG4iLCBfX0xJTkVfXywgZXJyKTsK KwkJZ290byBvdXQ7CisJfQorCWlmIChjb3VudGVyID09IDApIHsKKwkJcHJfZXJyKCJEaWQgbm90 IHJldGlyZSBpbW1lZGlhdGVseSBmb3IgYWxsIGluYWN0aXZlIGVuZ2luZXNcbiIpOworCQllcnIg PSAtRUlOVkFMOworCQlnb3RvIG91dDsKKwl9CisKKwlycSA9IEVSUl9QVFIoLUVOT0RFVik7CisJ d2l0aF9pbnRlbF9ydW50aW1lX3BtKGk5MTUsIHdha2VyZWYpCisJCXJxID0gaTkxNV9yZXF1ZXN0 X2FsbG9jKGk5MTUtPmVuZ2luZVtSQ1MwXSwgY3R4KTsKKwlpZiAoSVNfRVJSKHJxKSkgeworCQlw cl9lcnIoIlJlcXVlc3QgYWxsb2NhdGlvbiBmYWlsZWQhXG4iKTsKKwkJZ290byBvdXQ7CisJfQor CWk5MTVfcmVxdWVzdF9hZGQocnEpOworCUdFTV9CVUdfT04obGlzdF9lbXB0eSgmY3R4LT5hY3Rp dmVfZW5naW5lcykpOworCisJY291bnRlciA9IDA7CisJY29udGV4dF9iYXJyaWVyX2luamVjdF9m YXVsdCA9IEJJVChSQ1MwKTsKKwllcnIgPSBjb250ZXh0X2JhcnJpZXJfdGFzayhjdHgsCisJCQkJ ICAgQUxMX0VOR0lORVMsIG1vY2tfYmFycmllcl90YXNrLCAmY291bnRlcik7CisJY29udGV4dF9i YXJyaWVyX2luamVjdF9mYXVsdCA9IDA7CisJaWYgKGVyciA9PSAtRU5YSU8pCisJCWVyciA9IDA7 CisJZWxzZQorCQlwcl9lcnIoIkRpZCBub3QgaGl0IGZhdWx0IGluamVjdGlvbiFcbiIpOworCWlm IChjb3VudGVyICE9IDApIHsKKwkJcHJfZXJyKCJJbnZva2VkIGNhbGxiYWNrIG9uIGVycm9yIVxu Iik7CisJCWVyciA9IC1FSU87CisJfQorCWlmIChlcnIpCisJCWdvdG8gb3V0OworCisJY291bnRl ciA9IDA7CisJZXJyID0gY29udGV4dF9iYXJyaWVyX3Rhc2soY3R4LAorCQkJCSAgIEFMTF9FTkdJ TkVTLCBtb2NrX2JhcnJpZXJfdGFzaywgJmNvdW50ZXIpOworCWlmIChlcnIpIHsKKwkJcHJfZXJy KCJGYWlsZWQgYXQgbGluZSAlZCwgZXJyPSVkXG4iLCBfX0xJTkVfXywgZXJyKTsKKwkJZ290byBv dXQ7CisJfQorCW1vY2tfZGV2aWNlX2ZsdXNoKGk5MTUpOworCWlmIChjb3VudGVyID09IDApIHsK KwkJcHJfZXJyKCJEaWQgbm90IHJldGlyZSBvbiBlYWNoIGFjdGl2ZSBlbmdpbmVzXG4iKTsKKwkJ ZXJyID0gLUVJTlZBTDsKKwkJZ290byBvdXQ7CisJfQorCitvdXQ6CisJbW9ja19jb250ZXh0X2Ns b3NlKGN0eCk7Cit1bmxvY2s6CisJbXV0ZXhfdW5sb2NrKCZpOTE1LT5kcm0uc3RydWN0X211dGV4 KTsKKwlyZXR1cm4gZXJyOworI3VuZGVmIHByX2ZtdAorI2RlZmluZSBwcl9mbXQoeCkgeAorfQor CiBpbnQgaTkxNV9nZW1fY29udGV4dF9tb2NrX3NlbGZ0ZXN0cyh2b2lkKQogewogCXN0YXRpYyBj b25zdCBzdHJ1Y3QgaTkxNV9zdWJ0ZXN0IHRlc3RzW10gPSB7CiAJCVNVQlRFU1QoaWd0X3N3aXRj aF90b19rZXJuZWxfY29udGV4dCksCisJCVNVQlRFU1QobW9ja19jb250ZXh0X2JhcnJpZXIpLAog CX07CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTU7CiAJaW50IGVycjsKLS0gCjIuMjAu MQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4