From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 10/43] drm/i915: Introduce a context barrier callback Date: Wed, 6 Mar 2019 14:24:44 +0000 Message-ID: <20190306142517.22558-11-chris@chris-wilson.co.uk> References: <20190306142517.22558-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 EFC3A6E047 for ; Wed, 6 Mar 2019 14:27:17 +0000 (UTC) In-Reply-To: <20190306142517.22558-1-chris@chris-wilson.co.uk> 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 Cc: matthew.auld@intel.com List-Id: intel-gfx@lists.freedesktop.org SW4gdGhlIG5leHQgcGF0Y2gsIHdlIHdpbGwgd2FudCB0byB1cGRhdGUgbGl2ZSBzdGF0ZSB3aXRo aW4gYSBjb250ZXh0LgpBcyB0aGlzIHN0YXRlIG1heSBiZSBpbiB1c2UgYnkgdGhlIEdQVSBhbmQg d2UgaGF2ZW4ndCBiZWVuIGV4cGxpY2l0bHkKdHJhY2tpbmcgaXRzIGFjdGl2aXR5LCB3ZSBpbnN0 ZWFkIGF0dGFjaCBpdCB0byBhIHJlcXVlc3Qgd2Ugc2VuZCBkb3duCnRoZSBjb250ZXh0IHNldHVw IHdpdGggaXRzIG5ldyBzdGF0ZSBhbmQgb24gcmV0aXJpbmcgdGhhdCByZXF1ZXN0CmNsZWFudXAg dGhlIG9sZCBzdGF0ZSBhcyB3ZSB0aGVuIGtub3cgdGhhdCBpdCBpcyBubyBsb25nZXIgbGl2ZS4K ClNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpS ZXZpZXdlZC1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMgICAgICAgfCAgNzQgKysr KysrKysrKysrKwogLi4uL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fY29udGV4dC5j IHwgMTAzICsrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAxNzcgaW5zZXJ0aW9u cygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwppbmRleCBkOTk3Njk1 YTRmNzcuLjk3YTAyMWUwYzU1ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fY29udGV4dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRl eHQuYwpAQCAtNzA5LDYgKzcwOSw4MCBAQCBsYXN0X3JlcXVlc3Rfb25fZW5naW5lKHN0cnVjdCBp OTE1X3RpbWVsaW5lICp0aW1lbGluZSwKIAlyZXR1cm4gTlVMTDsKIH0KIAorc3RydWN0IGNvbnRl eHRfYmFycmllcl90YXNrIHsKKwlzdHJ1Y3QgaTkxNV9hY3RpdmUgYmFzZTsKKwl2b2lkICgqdGFz aykodm9pZCAqZGF0YSk7CisJdm9pZCAqZGF0YTsKK307CisKK3N0YXRpYyB2b2lkIGNiX3JldGly ZShzdHJ1Y3QgaTkxNV9hY3RpdmUgKmJhc2UpCit7CisJc3RydWN0IGNvbnRleHRfYmFycmllcl90 YXNrICpjYiA9IGNvbnRhaW5lcl9vZihiYXNlLCB0eXBlb2YoKmNiKSwgYmFzZSk7CisKKwlpZiAo Y2ItPnRhc2spCisJCWNiLT50YXNrKGNiLT5kYXRhKTsKKworCWk5MTVfYWN0aXZlX2ZpbmkoJmNi LT5iYXNlKTsKKwlrZnJlZShjYik7Cit9CisKK0k5MTVfU0VMRlRFU1RfREVDTEFSRShzdGF0aWMg dW5zaWduZWQgbG9uZyBjb250ZXh0X2JhcnJpZXJfaW5qZWN0X2ZhdWx0KTsKK3N0YXRpYyBpbnQg Y29udGV4dF9iYXJyaWVyX3Rhc2soc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwKKwkJCQl1 bnNpZ25lZCBsb25nIGVuZ2luZXMsCisJCQkJdm9pZCAoKnRhc2spKHZvaWQgKmRhdGEpLAorCQkJ CXZvaWQgKmRhdGEpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBjdHgtPmk5 MTU7CisJc3RydWN0IGNvbnRleHRfYmFycmllcl90YXNrICpjYjsKKwlzdHJ1Y3QgaW50ZWxfY29u dGV4dCAqY2U7CisJaW50ZWxfd2FrZXJlZl90IHdha2VyZWY7CisJaW50IGVyciA9IDA7CisKKwls b2NrZGVwX2Fzc2VydF9oZWxkKCZpOTE1LT5kcm0uc3RydWN0X211dGV4KTsKKwlHRU1fQlVHX09O KCF0YXNrKTsKKworCWNiID0ga21hbGxvYyhzaXplb2YoKmNiKSwgR0ZQX0tFUk5FTCk7CisJaWYg KCFjYikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlpOTE1X2FjdGl2ZV9pbml0KGk5MTUsICZjYi0+ YmFzZSwgY2JfcmV0aXJlKTsKKwlpOTE1X2FjdGl2ZV9hY3F1aXJlKCZjYi0+YmFzZSk7CisKKwl3 YWtlcmVmID0gaW50ZWxfcnVudGltZV9wbV9nZXQoaTkxNSk7CisJbGlzdF9mb3JfZWFjaF9lbnRy eShjZSwgJmN0eC0+YWN0aXZlX2VuZ2luZXMsIGFjdGl2ZV9saW5rKSB7CisJCXN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSA9IGNlLT5lbmdpbmU7CisJCXN0cnVjdCBpOTE1X3JlcXVlc3Qg KnJxOworCisJCWlmICghKGNlLT5lbmdpbmUtPm1hc2sgJiBlbmdpbmVzKSkKKwkJCWNvbnRpbnVl OworCisJCWlmIChJOTE1X1NFTEZURVNUX09OTFkoY29udGV4dF9iYXJyaWVyX2luamVjdF9mYXVs dCAmCisJCQkJICAgICAgIGVuZ2luZS0+bWFzaykpIHsKKwkJCWVyciA9IC1FTlhJTzsKKwkJCWJy ZWFrOworCQl9CisKKwkJcnEgPSBpOTE1X3JlcXVlc3RfYWxsb2MoZW5naW5lLCBjdHgpOworCQlp ZiAoSVNfRVJSKHJxKSkgeworCQkJZXJyID0gUFRSX0VSUihycSk7CisJCQlicmVhazsKKwkJfQor CisJCWVyciA9IGk5MTVfYWN0aXZlX3JlZigmY2ItPmJhc2UsIHJxLT5mZW5jZS5jb250ZXh0LCBy cSk7CisJCWk5MTVfcmVxdWVzdF9hZGQocnEpOworCQlpZiAoZXJyKQorCQkJYnJlYWs7CisJfQor CWludGVsX3J1bnRpbWVfcG1fcHV0KGk5MTUsIHdha2VyZWYpOworCisJY2ItPnRhc2sgPSBlcnIg PyBOVUxMIDogdGFzazsgLyogY2FsbGVyIG5lZWRzIHRvIHVud2luZCBpbnN0ZWFkICovCisJY2It PmRhdGEgPSBkYXRhOworCisJaTkxNV9hY3RpdmVfcmVsZWFzZSgmY2ItPmJhc2UpOworCisJcmV0 dXJuIGVycjsKK30KKwogaW50IGk5MTVfZ2VtX3N3aXRjaF90b19rZXJuZWxfY29udGV4dChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAkJCQkgICAgICB1bnNpZ25lZCBsb25nIG1hc2sp CiB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1f Y29udGV4dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2NvbnRl eHQuYwppbmRleCAwMGFjMzQwMDc1ODIuLjk0ZGEzOWZiN2YyZiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2NvbnRleHQuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaTkxNV9nZW1fY29udGV4dC5jCkBAIC0xNTk2LDEwICsx NTk2LDExMyBAQCBzdGF0aWMgaW50IGlndF9zd2l0Y2hfdG9fa2VybmVsX2NvbnRleHQodm9pZCAq YXJnKQogCXJldHVybiBlcnI7CiB9CiAKK3N0YXRpYyB2b2lkIG1vY2tfYmFycmllcl90YXNrKHZv aWQgKmRhdGEpCit7CisJdW5zaWduZWQgaW50ICpjb3VudGVyID0gZGF0YTsKKworCSsrKmNvdW50 ZXI7Cit9CisKK3N0YXRpYyBpbnQgbW9ja19jb250ZXh0X2JhcnJpZXIodm9pZCAqYXJnKQorewor I3VuZGVmIHByX2ZtdAorI2RlZmluZSBwcl9mbXQoeCkgImNvbnRleHRfYmFycmllcl90YXNrKCk6 IiAjIHgKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGFyZzsKKwlzdHJ1Y3QgaTkx NV9nZW1fY29udGV4dCAqY3R4OworCXN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxOworCWludGVsX3dh a2VyZWZfdCB3YWtlcmVmOworCXVuc2lnbmVkIGludCBjb3VudGVyOworCWludCBlcnI7CisKKwkv KgorCSAqIFRoZSBjb250ZXh0IGJhcnJpZXIgcHJvdmlkZXMgdXMgd2l0aCBhIGNhbGxiYWNrIGFm dGVyIGl0IGVtaXRzCisJICogYSByZXF1ZXN0OyB1c2VmdWwgZm9yIHJldGlyaW5nIG9sZCBzdGF0 ZSBhZnRlciBsb2FkaW5nIG5ldy4KKwkgKi8KKworCW11dGV4X2xvY2soJmk5MTUtPmRybS5zdHJ1 Y3RfbXV0ZXgpOworCisJY3R4ID0gbW9ja19jb250ZXh0KGk5MTUsICJtb2NrIik7CisJaWYgKElT X0VSUihjdHgpKSB7CisJCWVyciA9IFBUUl9FUlIoY3R4KTsKKwkJZ290byB1bmxvY2s7CisJfQor CisJY291bnRlciA9IDA7CisJZXJyID0gY29udGV4dF9iYXJyaWVyX3Rhc2soY3R4LCAwLCBtb2Nr X2JhcnJpZXJfdGFzaywgJmNvdW50ZXIpOworCWlmIChlcnIpIHsKKwkJcHJfZXJyKCJGYWlsZWQg YXQgbGluZSAlZCwgZXJyPSVkXG4iLCBfX0xJTkVfXywgZXJyKTsKKwkJZ290byBvdXQ7CisJfQor CWlmIChjb3VudGVyID09IDApIHsKKwkJcHJfZXJyKCJEaWQgbm90IHJldGlyZSBpbW1lZGlhdGVs eSB3aXRoIDAgZW5naW5lc1xuIik7CisJCWVyciA9IC1FSU5WQUw7CisJCWdvdG8gb3V0OworCX0K KworCWNvdW50ZXIgPSAwOworCWVyciA9IGNvbnRleHRfYmFycmllcl90YXNrKGN0eCwgLTEsIG1v Y2tfYmFycmllcl90YXNrLCAmY291bnRlcik7CisJaWYgKGVycikgeworCQlwcl9lcnIoIkZhaWxl ZCBhdCBsaW5lICVkLCBlcnI9JWRcbiIsIF9fTElORV9fLCBlcnIpOworCQlnb3RvIG91dDsKKwl9 CisJaWYgKGNvdW50ZXIgPT0gMCkgeworCQlwcl9lcnIoIkRpZCBub3QgcmV0aXJlIGltbWVkaWF0 ZWx5IGZvciBhbGwgaW5hY3RpdmUgZW5naW5lc1xuIik7CisJCWVyciA9IC1FSU5WQUw7CisJCWdv dG8gb3V0OworCX0KKworCXJxID0gRVJSX1BUUigtRU5PREVWKTsKKwl3aXRoX2ludGVsX3J1bnRp bWVfcG0oaTkxNSwgd2FrZXJlZikKKwkJcnEgPSBpOTE1X3JlcXVlc3RfYWxsb2MoaTkxNS0+ZW5n aW5lW1JDUzBdLCBjdHgpOworCWlmIChJU19FUlIocnEpKSB7CisJCXByX2VycigiUmVxdWVzdCBh bGxvY2F0aW9uIGZhaWxlZCFcbiIpOworCQlnb3RvIG91dDsKKwl9CisJaTkxNV9yZXF1ZXN0X2Fk ZChycSk7CisJR0VNX0JVR19PTihsaXN0X2VtcHR5KCZjdHgtPmFjdGl2ZV9lbmdpbmVzKSk7CisK Kwljb3VudGVyID0gMDsKKwljb250ZXh0X2JhcnJpZXJfaW5qZWN0X2ZhdWx0ID0gQklUKFJDUzAp OworCWVyciA9IGNvbnRleHRfYmFycmllcl90YXNrKGN0eCwgLTEsIG1vY2tfYmFycmllcl90YXNr LCAmY291bnRlcik7CisJY29udGV4dF9iYXJyaWVyX2luamVjdF9mYXVsdCA9IDA7CisJaWYgKGVy ciA9PSAtRU5YSU8pCisJCWVyciA9IDA7CisJZWxzZQorCQlwcl9lcnIoIkRpZCBub3QgaGl0IGZh dWx0IGluamVjdGlvbiFcbiIpOworCWlmIChjb3VudGVyICE9IDApIHsKKwkJcHJfZXJyKCJJbnZv a2VkIGNhbGxiYWNrIG9uIGVycm9yIVxuIik7CisJCWVyciA9IC1FSU87CisJfQorCWlmIChlcnIp CisJCWdvdG8gb3V0OworCisJY291bnRlciA9IDA7CisJZXJyID0gY29udGV4dF9iYXJyaWVyX3Rh c2soY3R4LCAtMSwgbW9ja19iYXJyaWVyX3Rhc2ssICZjb3VudGVyKTsKKwlpZiAoZXJyKSB7CisJ CXByX2VycigiRmFpbGVkIGF0IGxpbmUgJWQsIGVycj0lZFxuIiwgX19MSU5FX18sIGVycik7CisJ CWdvdG8gb3V0OworCX0KKwltb2NrX2RldmljZV9mbHVzaChpOTE1KTsKKwlpZiAoY291bnRlciA9 PSAwKSB7CisJCXByX2VycigiRGlkIG5vdCByZXRpcmUgb24gZWFjaCBhY3RpdmUgZW5naW5lc1xu Iik7CisJCWVyciA9IC1FSU5WQUw7CisJCWdvdG8gb3V0OworCX0KKworb3V0OgorCW1vY2tfY29u dGV4dF9jbG9zZShjdHgpOwordW5sb2NrOgorCW11dGV4X3VubG9jaygmaTkxNS0+ZHJtLnN0cnVj dF9tdXRleCk7CisJcmV0dXJuIGVycjsKKyN1bmRlZiBwcl9mbXQKKyNkZWZpbmUgcHJfZm10KHgp IHgKK30KKwogaW50IGk5MTVfZ2VtX2NvbnRleHRfbW9ja19zZWxmdGVzdHModm9pZCkKIHsKIAlz dGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfc3VidGVzdCB0ZXN0c1tdID0gewogCQlTVUJURVNUKGln dF9zd2l0Y2hfdG9fa2VybmVsX2NvbnRleHQpLAorCQlTVUJURVNUKG1vY2tfY29udGV4dF9iYXJy aWVyKSwKIAl9OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1OwogCWludCBlcnI7Ci0t IAoyLjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==