From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH v4 07/16] drm/i915: Deconstruct execute fence Date: Thu, 23 Feb 2017 07:44:13 +0000 Message-ID: <20170223074422.4125-8-chris@chris-wilson.co.uk> References: <20170223074422.4125-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-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0BC046E97F for ; Thu, 23 Feb 2017 07:44:33 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id r18so1182122wmd.3 for ; Wed, 22 Feb 2017 23:44:32 -0800 (PST) In-Reply-To: <20170223074422.4125-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 ZWF0IGl0IHNpbWlsYXIgdG8gdGhlIG90aGVyIHdhaXRxdWV1ZXMgZHVyaW5nIHN1Ym1pdCwKbWFr aW5nIHRoZSBjb2RlIHNpbXBsZXIuCgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlz QGNocmlzLXdpbHNvbi5jby51az4KUmV2aWV3ZWQtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28u dXJzdWxpbkBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVx dWVzdC5jIHwgNTAgKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmggfCAxMCArLS0tLS0tCiAyIGZpbGVzIGNoYW5n ZWQsIDEzIGluc2VydGlvbnMoKyksIDQ3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX3JlcXVlc3QuYwppbmRleCA4ODEzOWRiZjhmY2MuLjQ3N2U4ZmMxMjVjZSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYwpAQCAtNjksNyArNjksNiBAQCBz dGF0aWMgdm9pZCBpOTE1X2ZlbmNlX3JlbGVhc2Uoc3RydWN0IGRtYV9mZW5jZSAqZmVuY2UpCiAJ ICogY2F1Z2h0IHRyeWluZyB0byByZXVzZSBkZWFkIG9iamVjdHMuCiAJICovCiAJaTkxNV9zd19m ZW5jZV9maW5pKCZyZXEtPnN1Ym1pdCk7Ci0JaTkxNV9zd19mZW5jZV9maW5pKCZyZXEtPmV4ZWN1 dGUpOwogCiAJa21lbV9jYWNoZV9mcmVlKHJlcS0+aTkxNS0+cmVxdWVzdHMsIHJlcSk7CiB9CkBA IC0yOTQsNyArMjkzLDYgQEAgc3RhdGljIHZvaWQgaTkxNV9nZW1fcmVxdWVzdF9yZXRpcmUoc3Ry dWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0KQogCiAJbG9ja2RlcF9hc3NlcnRfaGVs ZCgmcmVxdWVzdC0+aTkxNS0+ZHJtLnN0cnVjdF9tdXRleCk7CiAJR0VNX0JVR19PTighaTkxNV9z d19mZW5jZV9zaWduYWxlZCgmcmVxdWVzdC0+c3VibWl0KSk7Ci0JR0VNX0JVR19PTighaTkxNV9z d19mZW5jZV9zaWduYWxlZCgmcmVxdWVzdC0+ZXhlY3V0ZSkpOwogCUdFTV9CVUdfT04oIWk5MTVf Z2VtX3JlcXVlc3RfY29tcGxldGVkKHJlcXVlc3QpKTsKIAlHRU1fQlVHX09OKCFyZXF1ZXN0LT5p OTE1LT5ndC5hY3RpdmVfcmVxdWVzdHMpOwogCkBAIC00MDIsNiArNDAwLDggQEAgdm9pZCBfX2k5 MTVfZ2VtX3JlcXVlc3Rfc3VibWl0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVz dCkKIAlzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRpbWVsaW5lOwogCXUzMiBzZXFubzsKIAorCXRy YWNlX2k5MTVfZ2VtX3JlcXVlc3RfZXhlY3V0ZShyZXF1ZXN0KTsKKwogCS8qIFRyYW5zZmVyIGZy b20gcGVyLWNvbnRleHQgb250byB0aGUgZ2xvYmFsIHBlci1lbmdpbmUgdGltZWxpbmUgKi8KIAl0 aW1lbGluZSA9IGVuZ2luZS0+dGltZWxpbmU7CiAJR0VNX0JVR19PTih0aW1lbGluZSA9PSByZXF1 ZXN0LT50aW1lbGluZSk7CkBAIC00MjYsOCArNDI2LDcgQEAgdm9pZCBfX2k5MTVfZ2VtX3JlcXVl c3Rfc3VibWl0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCkKIAlsaXN0X21v dmVfdGFpbCgmcmVxdWVzdC0+bGluaywgJnRpbWVsaW5lLT5yZXF1ZXN0cyk7CiAJc3Bpbl91bmxv Y2soJnJlcXVlc3QtPnRpbWVsaW5lLT5sb2NrKTsKIAotCWk5MTVfc3dfZmVuY2VfY29tbWl0KCZy ZXF1ZXN0LT5leGVjdXRlKTsKLQl0cmFjZV9pOTE1X2dlbV9yZXF1ZXN0X2V4ZWN1dGUocmVxdWVz dCk7CisJd2FrZV91cF9hbGwoJnJlcXVlc3QtPmV4ZWN1dGUpOwogfQogCiB2b2lkIGk5MTVfZ2Vt X3JlcXVlc3Rfc3VibWl0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCkKQEAg LTQ2MywyNCArNDYyLDYgQEAgc3VibWl0X25vdGlmeShzdHJ1Y3QgaTkxNV9zd19mZW5jZSAqZmVu Y2UsIGVudW0gaTkxNV9zd19mZW5jZV9ub3RpZnkgc3RhdGUpCiAJcmV0dXJuIE5PVElGWV9ET05F OwogfQogCi1zdGF0aWMgaW50IF9faTkxNV9zd19mZW5jZV9jYWxsCi1leGVjdXRlX25vdGlmeShz dHJ1Y3QgaTkxNV9zd19mZW5jZSAqZmVuY2UsIGVudW0gaTkxNV9zd19mZW5jZV9ub3RpZnkgc3Rh dGUpCi17Ci0Jc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0ID0KLQkJY29udGFp bmVyX29mKGZlbmNlLCB0eXBlb2YoKnJlcXVlc3QpLCBleGVjdXRlKTsKLQotCXN3aXRjaCAoc3Rh dGUpIHsKLQljYXNlIEZFTkNFX0NPTVBMRVRFOgotCQlicmVhazsKLQotCWNhc2UgRkVOQ0VfRlJF RToKLQkJaTkxNV9nZW1fcmVxdWVzdF9wdXQocmVxdWVzdCk7Ci0JCWJyZWFrOwotCX0KLQotCXJl dHVybiBOT1RJRllfRE9ORTsKLX0KLQogLyoqCiAgKiBpOTE1X2dlbV9yZXF1ZXN0X2FsbG9jIC0g YWxsb2NhdGUgYSByZXF1ZXN0IHN0cnVjdHVyZQogICoKQEAgLTU3MywxMyArNTU0LDcgQEAgaTkx NV9nZW1fcmVxdWVzdF9hbGxvYyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCiAKIAkv KiBXZSBidW1wIHRoZSByZWYgZm9yIHRoZSBmZW5jZSBjaGFpbiAqLwogCWk5MTVfc3dfZmVuY2Vf aW5pdCgmaTkxNV9nZW1fcmVxdWVzdF9nZXQocmVxKS0+c3VibWl0LCBzdWJtaXRfbm90aWZ5KTsK LQlpOTE1X3N3X2ZlbmNlX2luaXQoJmk5MTVfZ2VtX3JlcXVlc3RfZ2V0KHJlcSktPmV4ZWN1dGUs IGV4ZWN1dGVfbm90aWZ5KTsKLQotCS8qIEVuc3VyZSB0aGF0IHRoZSBleGVjdXRlIGZlbmNlIGNv bXBsZXRlcyBhZnRlciB0aGUgc3VibWl0IGZlbmNlIC0KLQkgKiBhcyB3ZSBjb21wbGV0ZSB0aGUg ZXhlY3V0ZSBmZW5jZSBmcm9tIHdpdGhpbiB0aGUgc3VibWl0IGZlbmNlCi0JICogY2FsbGJhY2ss IGl0cyBjb21wbGV0aW9uIHdvdWxkIG90aGVyd2lzZSBiZSB2aXNpYmxlIGZpcnN0LgotCSAqLwot CWk5MTVfc3dfZmVuY2VfYXdhaXRfc3dfZmVuY2UoJnJlcS0+ZXhlY3V0ZSwgJnJlcS0+c3VibWl0 LCAmcmVxLT5leGVjcSk7CisJaW5pdF93YWl0cXVldWVfaGVhZCgmcmVxLT5leGVjdXRlKTsKIAog CWk5MTVfcHJpb3RyZWVfaW5pdCgmcmVxLT5wcmlvdHJlZSk7CiAKQEAgLTEwMzIsNiArMTAwNyw3 IEBAIGxvbmcgaTkxNV93YWl0X3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpy ZXEsCiAJCVRBU0tfSU5URVJSVVBUSUJMRSA6IFRBU0tfVU5JTlRFUlJVUFRJQkxFOwogCXdhaXRf cXVldWVfaGVhZF90ICplcnJxID0gJnJlcS0+aTkxNS0+Z3B1X2Vycm9yLndhaXRfcXVldWU7CiAJ REVGSU5FX1dBSVQocmVzZXQpOworCURFRklORV9XQUlUKGV4ZWMpOwogCXN0cnVjdCBpbnRlbF93 YWl0IHdhaXQ7CiAKIAltaWdodF9zbGVlcCgpOwpAQCAtMTA1MywxMiArMTAyOSwxMSBAQCBsb25n IGk5MTVfd2FpdF9yZXF1ZXN0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAogCWlm IChmbGFncyAmIEk5MTVfV0FJVF9MT0NLRUQpCiAJCWFkZF93YWl0X3F1ZXVlKGVycnEsICZyZXNl dCk7CiAKLQlpZiAoIWk5MTVfc3dfZmVuY2VfZG9uZSgmcmVxLT5leGVjdXRlKSkgewotCQlERUZJ TkVfV0FJVChleGVjKTsKLQorCXJlc2V0X3dhaXRfcXVldWUoJnJlcS0+ZXhlY3V0ZSwgJmV4ZWMp OworCWlmICghcmVxLT5nbG9iYWxfc2Vxbm8pIHsKIAkJZG8gewotCQkJcHJlcGFyZV90b193YWl0 KCZyZXEtPmV4ZWN1dGUud2FpdCwgJmV4ZWMsIHN0YXRlKTsKLQkJCWlmIChpOTE1X3N3X2ZlbmNl X2RvbmUoJnJlcS0+ZXhlY3V0ZSkpCisJCQlzZXRfY3VycmVudF9zdGF0ZShzdGF0ZSk7CisJCQlp ZiAocmVxLT5nbG9iYWxfc2Vxbm8pCiAJCQkJYnJlYWs7CiAKIAkJCWlmIChmbGFncyAmIEk5MTVf V0FJVF9MT0NLRUQgJiYKQEAgLTEwODEsMTUgKzEwNTYsMTQgQEAgbG9uZyBpOTE1X3dhaXRfcmVx dWVzdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAogCQkJdGltZW91dCA9IGlv X3NjaGVkdWxlX3RpbWVvdXQodGltZW91dCk7CiAJCX0gd2hpbGUgKDEpOwotCQlmaW5pc2hfd2Fp dCgmcmVxLT5leGVjdXRlLndhaXQsICZleGVjKTsKKwkJZmluaXNoX3dhaXQoJnJlcS0+ZXhlY3V0 ZSwgJmV4ZWMpOwogCiAJCWlmICh0aW1lb3V0IDwgMCkKIAkJCWdvdG8gY29tcGxldGU7CiAKLQkJ R0VNX0JVR19PTighaTkxNV9zd19mZW5jZV9kb25lKCZyZXEtPmV4ZWN1dGUpKTsKKwkJR0VNX0JV R19PTighcmVxLT5nbG9iYWxfc2Vxbm8pOwogCX0KLQlHRU1fQlVHX09OKCFpOTE1X3N3X2ZlbmNl X2RvbmUoJnJlcS0+c3VibWl0KSk7Ci0JR0VNX0JVR19PTighcmVxLT5nbG9iYWxfc2Vxbm8pOwor CUdFTV9CVUdfT04oIWk5MTVfc3dfZmVuY2Vfc2lnbmFsZWQoJnJlcS0+c3VibWl0KSk7CiAKIAkv KiBPcHRpbWlzdGljIHNob3J0IHNwaW4gYmVmb3JlIHRvdWNoaW5nIElSUXMgKi8KIAlpZiAoaTkx NV9zcGluX3JlcXVlc3QocmVxLCBzdGF0ZSwgNSkpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bV9yZXF1ZXN0LmgKaW5kZXggOTA0OTkzNmM1NzFjLi40NjdkM2UxM2ZjZTAgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuaAorKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmgKQEAgLTExOSwxOCArMTE5LDEwIEBAIHN0cnVj dCBkcm1faTkxNV9nZW1fcmVxdWVzdCB7CiAJICogVGhlIHN1Ym1pdCBmZW5jZSBpcyB1c2VkIHRv IGF3YWl0IHVwb24gYWxsIG9mIHRoZSByZXF1ZXN0J3MKIAkgKiBkZXBlbmRlbmNpZXMuIFdoZW4g aXQgaXMgc2lnbmFsZWQsIHRoZSByZXF1ZXN0IGlzIHJlYWR5IHRvIHJ1bi4KIAkgKiBJdCBpcyB1 c2VkIGJ5IHRoZSBkcml2ZXIgdG8gdGhlbiBxdWV1ZSB0aGUgcmVxdWVzdCBmb3IgZXhlY3V0aW9u LgotCSAqCi0JICogVGhlIGV4ZWN1dGUgZmVuY2UgaXMgdXNlZCB0byBzaWduYWwgd2hlbiB0aGUg cmVxdWVzdCBoYXMgYmVlbgotCSAqIHNlbnQgdG8gaGFyZHdhcmUuCi0JICoKLQkgKiBJdCBpcyBp bGxlZ2FsIGZvciB0aGUgc3VibWl0IGZlbmNlIG9mIG9uZSByZXF1ZXN0IHRvIHdhaXQgdXBvbiB0 aGUKLQkgKiBleGVjdXRlIGZlbmNlIG9mIGFuIGVhcmxpZXIgcmVxdWVzdC4gSXQgc2hvdWxkIGJl IHN1ZmZpY2llbnQgdG8KLQkgKiB3YWl0IHVwb24gdGhlIHN1Ym1pdCBmZW5jZSBvZiB0aGUgZWFy bGllciByZXF1ZXN0LgogCSAqLwogCXN0cnVjdCBpOTE1X3N3X2ZlbmNlIHN1Ym1pdDsKLQlzdHJ1 Y3QgaTkxNV9zd19mZW5jZSBleGVjdXRlOwogCXdhaXRfcXVldWVfdCBzdWJtaXRxOwotCXdhaXRf cXVldWVfdCBleGVjcTsKKwl3YWl0X3F1ZXVlX2hlYWRfdCBleGVjdXRlOwogCiAJLyogQSBsaXN0 IG9mIGV2ZXJ5b25lIHdlIHdhaXQgdXBvbiwgYW5kIGV2ZXJ5b25lIHdobyB3YWl0cyB1cG9uIHVz LgogCSAqIEV2ZW4gdGhvdWdoIHdlIHdpbGwgbm90IGJlIHN1Ym1pdHRlZCB0byB0aGUgaGFyZHdh cmUgYmVmb3JlIHRoZQotLSAKMi4xMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK