From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v2 05/14] drm/i915: Deconstruct execute fence Date: Tue, 14 Feb 2017 09:54:04 +0000 Message-ID: <20170214095413.26452-6-chris@chris-wilson.co.uk> References: <20170214095413.26452-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 mail-wm0-x243.google.com (mail-wm0-x243.google.com [IPv6:2a00:1450:400c:c09::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 564DA6E644 for ; Tue, 14 Feb 2017 09:54:24 +0000 (UTC) Received: by mail-wm0-x243.google.com with SMTP id v77so2665233wmv.0 for ; Tue, 14 Feb 2017 01:54:24 -0800 (PST) In-Reply-To: <20170214095413.26452-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 List-Id: intel-gfx@lists.freedesktop.org T24gcmVmbGVjdGlvbiwgd2UgYXJlIG9ubHkgdXNpbmcgdGhlIGV4ZWN1dGUgZmVuY2UgYXMgYSB3 YWl0cXVldWUgb24gdGhlCmdsb2JhbF9zZXFubyBhbmQgbm90IHVzaW5nIGl0IGZvciBkZXBlbmRl bmN5IHRyYWNraW5nIGJldHdlZW4gZmVuY2VzCih1bmxpa2UgdGhlIHN1Ym1pdCBhbmQgZG1hIGZl bmNlcykuIEJ5IG9ubHkgdHJlYXRpbmcgaXQgYXMgYSB3YWl0cXVldWUsCndlIGNhbiB0aGVuIHRy ZWF0IGl0IHNpbWlsYXIgdG8gdGhlIG90aGVyIHdhaXRxdWV1ZXMgZHVyaW4gc3VibWl0LAptYWtp bmcgdGhlIGNvZGUgc2ltcGxlci4KClNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNA Y2hyaXMtd2lsc29uLmNvLnVrPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3Jl cXVlc3QuYyB8IDQ3ICsrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5oIHwgMTAgKy0tLS0tLQogMiBmaWxlcyBjaGFu Z2VkLCAxMSBpbnNlcnRpb25zKCspLCA0NiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9yZXF1ZXN0LmMKaW5kZXggMDAxZmM5ZmVkZjQ5Li5iYjU5YWNhYThhMzQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMKQEAgLTY5LDcgKzY5LDYgQEAg c3RhdGljIHZvaWQgaTkxNV9mZW5jZV9yZWxlYXNlKHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlKQog CSAqIGNhdWdodCB0cnlpbmcgdG8gcmV1c2UgZGVhZCBvYmplY3RzLgogCSAqLwogCWk5MTVfc3df ZmVuY2VfZmluaSgmcmVxLT5zdWJtaXQpOwotCWk5MTVfc3dfZmVuY2VfZmluaSgmcmVxLT5leGVj dXRlKTsKIAogCWttZW1fY2FjaGVfZnJlZShyZXEtPmk5MTUtPnJlcXVlc3RzLCByZXEpOwogfQpA QCAtMjExLDcgKzIxMCw2IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX3JlcXVlc3RfcmV0aXJlKHN0 cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCkKIAogCWxvY2tkZXBfYXNzZXJ0X2hl bGQoJnJlcXVlc3QtPmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXgpOwogCUdFTV9CVUdfT04oIWk5MTVf c3dfZmVuY2Vfc2lnbmFsZWQoJnJlcXVlc3QtPnN1Ym1pdCkpOwotCUdFTV9CVUdfT04oIWk5MTVf c3dfZmVuY2Vfc2lnbmFsZWQoJnJlcXVlc3QtPmV4ZWN1dGUpKTsKIAlHRU1fQlVHX09OKCFpOTE1 X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZChyZXF1ZXN0KSk7CiAKIAlHRU1fQlVHX09OKCFyZXF1ZXN0 LT5pOTE1LT5ndC5hY3RpdmVfcmVxdWVzdHMpOwpAQCAtNDIyLDcgKzQyMCw3IEBAIHZvaWQgX19p OTE1X2dlbV9yZXF1ZXN0X3N1Ym1pdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVl c3QpCiAJbGlzdF9tb3ZlX3RhaWwoJnJlcXVlc3QtPmxpbmssICZ0aW1lbGluZS0+cmVxdWVzdHMp OwogCXNwaW5fdW5sb2NrKCZyZXF1ZXN0LT50aW1lbGluZS0+bG9jayk7CiAKLQlpOTE1X3N3X2Zl bmNlX2NvbW1pdCgmcmVxdWVzdC0+ZXhlY3V0ZSk7CisJd2FrZV91cF9hbGwoJnJlcXVlc3QtPmV4 ZWN1dGUpOwogfQogCiB2b2lkIGk5MTVfZ2VtX3JlcXVlc3Rfc3VibWl0KHN0cnVjdCBkcm1faTkx NV9nZW1fcmVxdWVzdCAqcmVxdWVzdCkKQEAgLTQ1NywyNCArNDU1LDYgQEAgc3VibWl0X25vdGlm eShzdHJ1Y3QgaTkxNV9zd19mZW5jZSAqZmVuY2UsIGVudW0gaTkxNV9zd19mZW5jZV9ub3RpZnkg c3RhdGUpCiAJcmV0dXJuIE5PVElGWV9ET05FOwogfQogCi1zdGF0aWMgaW50IF9faTkxNV9zd19m ZW5jZV9jYWxsCi1leGVjdXRlX25vdGlmeShzdHJ1Y3QgaTkxNV9zd19mZW5jZSAqZmVuY2UsIGVu dW0gaTkxNV9zd19mZW5jZV9ub3RpZnkgc3RhdGUpCi17Ci0Jc3RydWN0IGRybV9pOTE1X2dlbV9y ZXF1ZXN0ICpyZXF1ZXN0ID0KLQkJY29udGFpbmVyX29mKGZlbmNlLCB0eXBlb2YoKnJlcXVlc3Qp LCBleGVjdXRlKTsKLQotCXN3aXRjaCAoc3RhdGUpIHsKLQljYXNlIEZFTkNFX0NPTVBMRVRFOgot CQlicmVhazsKLQotCWNhc2UgRkVOQ0VfRlJFRToKLQkJaTkxNV9nZW1fcmVxdWVzdF9wdXQocmVx dWVzdCk7Ci0JCWJyZWFrOwotCX0KLQotCXJldHVybiBOT1RJRllfRE9ORTsKLX0KLQogLyoqCiAg KiBpOTE1X2dlbV9yZXF1ZXN0X2FsbG9jIC0gYWxsb2NhdGUgYSByZXF1ZXN0IHN0cnVjdHVyZQog ICoKQEAgLTU2NywxMyArNTQ3LDcgQEAgaTkxNV9nZW1fcmVxdWVzdF9hbGxvYyhzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUsCiAKIAkvKiBXZSBidW1wIHRoZSByZWYgZm9yIHRoZSBmZW5j ZSBjaGFpbiAqLwogCWk5MTVfc3dfZmVuY2VfaW5pdCgmaTkxNV9nZW1fcmVxdWVzdF9nZXQocmVx KS0+c3VibWl0LCBzdWJtaXRfbm90aWZ5KTsKLQlpOTE1X3N3X2ZlbmNlX2luaXQoJmk5MTVfZ2Vt X3JlcXVlc3RfZ2V0KHJlcSktPmV4ZWN1dGUsIGV4ZWN1dGVfbm90aWZ5KTsKLQotCS8qIEVuc3Vy ZSB0aGF0IHRoZSBleGVjdXRlIGZlbmNlIGNvbXBsZXRlcyBhZnRlciB0aGUgc3VibWl0IGZlbmNl IC0KLQkgKiBhcyB3ZSBjb21wbGV0ZSB0aGUgZXhlY3V0ZSBmZW5jZSBmcm9tIHdpdGhpbiB0aGUg c3VibWl0IGZlbmNlCi0JICogY2FsbGJhY2ssIGl0cyBjb21wbGV0aW9uIHdvdWxkIG90aGVyd2lz ZSBiZSB2aXNpYmxlIGZpcnN0LgotCSAqLwotCWk5MTVfc3dfZmVuY2VfYXdhaXRfc3dfZmVuY2Uo JnJlcS0+ZXhlY3V0ZSwgJnJlcS0+c3VibWl0LCAmcmVxLT5leGVjcSk7CisJaW5pdF93YWl0cXVl dWVfaGVhZCgmcmVxLT5leGVjdXRlKTsKIAogCWk5MTVfcHJpb3RyZWVfaW5pdCgmcmVxLT5wcmlv dHJlZSk7CiAKQEAgLTEwMTUsNiArOTg5LDcgQEAgbG9uZyBpOTE1X3dhaXRfcmVxdWVzdChzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAkJVEFTS19JTlRFUlJVUFRJQkxFIDogVEFT S19VTklOVEVSUlVQVElCTEU7CiAJd2FpdF9xdWV1ZV9oZWFkX3QgKmVycnEgPSAmcmVxLT5pOTE1 LT5ncHVfZXJyb3Iud2FpdF9xdWV1ZTsKIAlERUZJTkVfV0FJVChyZXNldCk7CisJREVGSU5FX1dB SVQoZXhlYyk7CiAJc3RydWN0IGludGVsX3dhaXQgd2FpdDsKIAogCW1pZ2h0X3NsZWVwKCk7CkBA IC0xMDM2LDEyICsxMDExLDExIEBAIGxvbmcgaTkxNV93YWl0X3JlcXVlc3Qoc3RydWN0IGRybV9p OTE1X2dlbV9yZXF1ZXN0ICpyZXEsCiAJaWYgKGZsYWdzICYgSTkxNV9XQUlUX0xPQ0tFRCkKIAkJ YWRkX3dhaXRfcXVldWUoZXJycSwgJnJlc2V0KTsKIAotCWlmICghaTkxNV9zd19mZW5jZV9kb25l KCZyZXEtPmV4ZWN1dGUpKSB7Ci0JCURFRklORV9XQUlUKGV4ZWMpOwotCisJcmVzZXRfd2FpdF9x dWV1ZSgmcmVxLT5leGVjdXRlLCAmZXhlYyk7CisJaWYgKCFyZXEtPmdsb2JhbF9zZXFubykgewog CQlkbyB7Ci0JCQlwcmVwYXJlX3RvX3dhaXQoJnJlcS0+ZXhlY3V0ZS53YWl0LCAmZXhlYywgc3Rh dGUpOwotCQkJaWYgKGk5MTVfc3dfZmVuY2VfZG9uZSgmcmVxLT5leGVjdXRlKSkKKwkJCXNldF9j dXJyZW50X3N0YXRlKHN0YXRlKTsKKwkJCWlmIChyZXEtPmdsb2JhbF9zZXFubykKIAkJCQlicmVh azsKIAogCQkJaWYgKGZsYWdzICYgSTkxNV9XQUlUX0xPQ0tFRCAmJgpAQCAtMTA2NCwxNSArMTAz OCwxNCBAQCBsb25nIGk5MTVfd2FpdF9yZXF1ZXN0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVz dCAqcmVxLAogCiAJCQl0aW1lb3V0ID0gaW9fc2NoZWR1bGVfdGltZW91dCh0aW1lb3V0KTsKIAkJ fSB3aGlsZSAoMSk7Ci0JCWZpbmlzaF93YWl0KCZyZXEtPmV4ZWN1dGUud2FpdCwgJmV4ZWMpOwor CQlmaW5pc2hfd2FpdCgmcmVxLT5leGVjdXRlLCAmZXhlYyk7CiAKIAkJaWYgKHRpbWVvdXQgPCAw KQogCQkJZ290byBjb21wbGV0ZTsKIAotCQlHRU1fQlVHX09OKCFpOTE1X3N3X2ZlbmNlX2RvbmUo JnJlcS0+ZXhlY3V0ZSkpOworCQlHRU1fQlVHX09OKCFyZXEtPmdsb2JhbF9zZXFubyk7CiAJfQot CUdFTV9CVUdfT04oIWk5MTVfc3dfZmVuY2VfZG9uZSgmcmVxLT5zdWJtaXQpKTsKLQlHRU1fQlVH X09OKCFyZXEtPmdsb2JhbF9zZXFubyk7CisJR0VNX0JVR19PTighaTkxNV9zd19mZW5jZV9zaWdu YWxlZCgmcmVxLT5zdWJtaXQpKTsKIAogCS8qIE9wdGltaXN0aWMgc2hvcnQgc3BpbiBiZWZvcmUg dG91Y2hpbmcgSVJRcyAqLwogCWlmIChpOTE1X3NwaW5fcmVxdWVzdChyZXEsIHN0YXRlLCA1KSkK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuaAppbmRleCA5MDQ5OTM2YzU3MWMu LjQ2N2QzZTEzZmNlMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f cmVxdWVzdC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuaApA QCAtMTE5LDE4ICsxMTksMTAgQEAgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0IHsKIAkgKiBU aGUgc3VibWl0IGZlbmNlIGlzIHVzZWQgdG8gYXdhaXQgdXBvbiBhbGwgb2YgdGhlIHJlcXVlc3Qn cwogCSAqIGRlcGVuZGVuY2llcy4gV2hlbiBpdCBpcyBzaWduYWxlZCwgdGhlIHJlcXVlc3QgaXMg cmVhZHkgdG8gcnVuLgogCSAqIEl0IGlzIHVzZWQgYnkgdGhlIGRyaXZlciB0byB0aGVuIHF1ZXVl IHRoZSByZXF1ZXN0IGZvciBleGVjdXRpb24uCi0JICoKLQkgKiBUaGUgZXhlY3V0ZSBmZW5jZSBp cyB1c2VkIHRvIHNpZ25hbCB3aGVuIHRoZSByZXF1ZXN0IGhhcyBiZWVuCi0JICogc2VudCB0byBo YXJkd2FyZS4KLQkgKgotCSAqIEl0IGlzIGlsbGVnYWwgZm9yIHRoZSBzdWJtaXQgZmVuY2Ugb2Yg b25lIHJlcXVlc3QgdG8gd2FpdCB1cG9uIHRoZQotCSAqIGV4ZWN1dGUgZmVuY2Ugb2YgYW4gZWFy bGllciByZXF1ZXN0LiBJdCBzaG91bGQgYmUgc3VmZmljaWVudCB0bwotCSAqIHdhaXQgdXBvbiB0 aGUgc3VibWl0IGZlbmNlIG9mIHRoZSBlYXJsaWVyIHJlcXVlc3QuCiAJICovCiAJc3RydWN0IGk5 MTVfc3dfZmVuY2Ugc3VibWl0OwotCXN0cnVjdCBpOTE1X3N3X2ZlbmNlIGV4ZWN1dGU7CiAJd2Fp dF9xdWV1ZV90IHN1Ym1pdHE7Ci0Jd2FpdF9xdWV1ZV90IGV4ZWNxOworCXdhaXRfcXVldWVfaGVh ZF90IGV4ZWN1dGU7CiAKIAkvKiBBIGxpc3Qgb2YgZXZlcnlvbmUgd2Ugd2FpdCB1cG9uLCBhbmQg ZXZlcnlvbmUgd2hvIHdhaXRzIHVwb24gdXMuCiAJICogRXZlbiB0aG91Z2ggd2Ugd2lsbCBub3Qg YmUgc3VibWl0dGVkIHRvIHRoZSBoYXJkd2FyZSBiZWZvcmUgdGhlCi0tIAoyLjExLjAKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=