From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 24/43] drm/i915: Extend execution fence to support a callback Date: Wed, 6 Mar 2019 14:24:58 +0000 Message-ID: <20190306142517.22558-25-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 EF9E76E02F 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 SW4gdGhlIG5leHQgcGF0Y2gsIHdlIHdpbGwgd2FudCB0byBjb25maWd1cmUgdGhlIHNsYXZlIHJl cXVlc3QKZGVwZW5kaW5nIG9uIHdoaWNoIHBoeXNpY2FsIGVuZ2luZSB0aGUgbWFzdGVyIHJlcXVl c3QgaXMgZXhlY3V0ZWQgb24uCkZvciB0aGlzLCB3ZSBpbnRyb2R1Y2UgYSBjYWxsYmFjayBmcm9t IHRoZSBleGVjdXRlIGZlbmNlIHRvIGNvbnZleSB0aGlzCmluZm9ybWF0aW9uLgoKU2lnbmVkLW9m Zi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Ci0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmMgfCA4NCArKysrKysrKysrKysrKysrKysrKysr KysrKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmggfCAgNCArKwogMiBm aWxlcyBjaGFuZ2VkLCA4MyBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZXF1ZXN0LmMKaW5kZXggMThmNDkxMzJhNTI2Li40Y2QzMzQ0NjJlMjEgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5jCkBAIC0zOCw2ICszOCw4IEBAIHN0cnVjdCBl eGVjdXRlX2NiIHsKIAlzdHJ1Y3QgbGlzdF9oZWFkIGxpbms7CiAJc3RydWN0IGlycV93b3JrIHdv cms7CiAJc3RydWN0IGk5MTVfc3dfZmVuY2UgKmZlbmNlOworCXZvaWQgKCpob29rKShzdHJ1Y3Qg aTkxNV9yZXF1ZXN0ICpycSwgc3RydWN0IGRtYV9mZW5jZSAqc2lnbmFsKTsKKwlzdHJ1Y3QgaTkx NV9yZXF1ZXN0ICpzaWduYWw7CiB9OwogCiBzdGF0aWMgc3RydWN0IGk5MTVfZ2xvYmFsX3JlcXVl c3QgewpAQCAtMzQzLDYgKzM0NSwxNyBAQCBzdGF0aWMgdm9pZCBpcnFfZXhlY3V0ZV9jYihzdHJ1 Y3QgaXJxX3dvcmsgKndyaykKIAlrbWVtX2NhY2hlX2ZyZWUoZ2xvYmFsLnNsYWJfZXhlY3V0ZV9j YnMsIGNiKTsKIH0KIAorc3RhdGljIHZvaWQgaXJxX2V4ZWN1dGVfY2JfaG9vayhzdHJ1Y3QgaXJx X3dvcmsgKndyaykKK3sKKwlzdHJ1Y3QgZXhlY3V0ZV9jYiAqY2IgPSBjb250YWluZXJfb2Yod3Jr LCB0eXBlb2YoKmNiKSwgd29yayk7CisKKwljYi0+aG9vayhjb250YWluZXJfb2YoY2ItPmZlbmNl LCBzdHJ1Y3QgaTkxNV9yZXF1ZXN0LCBzdWJtaXQpLAorCQkgJmNiLT5zaWduYWwtPmZlbmNlKTsK KwlpOTE1X3JlcXVlc3RfcHV0KGNiLT5zaWduYWwpOworCisJaXJxX2V4ZWN1dGVfY2Iod3JrKTsK K30KKwogc3RhdGljIHZvaWQgX19ub3RpZnlfZXhlY3V0ZV9jYihzdHJ1Y3QgaTkxNV9yZXF1ZXN0 ICpycSkKIHsKIAlzdHJ1Y3QgZXhlY3V0ZV9jYiAqY2I7CkBAIC0zNjksMTQgKzM4MiwxOSBAQCBz dGF0aWMgdm9pZCBfX25vdGlmeV9leGVjdXRlX2NiKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxKQog fQogCiBzdGF0aWMgaW50Ci1pOTE1X3JlcXVlc3RfYXdhaXRfZXhlY3V0aW9uKHN0cnVjdCBpOTE1 X3JlcXVlc3QgKnJxLAotCQkJICAgICBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpzaWduYWwsCi0JCQkg ICAgIGdmcF90IGdmcCkKK19faTkxNV9yZXF1ZXN0X2F3YWl0X2V4ZWN1dGlvbihzdHJ1Y3QgaTkx NV9yZXF1ZXN0ICpycSwKKwkJCSAgICAgICBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpzaWduYWwsCisJ CQkgICAgICAgdm9pZCAoKmhvb2spKHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLAorCQkJCQkgICAg c3RydWN0IGRtYV9mZW5jZSAqc2lnbmFsKSwKKwkJCSAgICAgICBnZnBfdCBnZnApCiB7CiAJc3Ry dWN0IGV4ZWN1dGVfY2IgKmNiOwogCi0JaWYgKGk5MTVfcmVxdWVzdF9pc19hY3RpdmUoc2lnbmFs KSkKKwlpZiAoaTkxNV9yZXF1ZXN0X2lzX2FjdGl2ZShzaWduYWwpKSB7CisJCWlmIChob29rKQor CQkJaG9vayhycSwgJnNpZ25hbC0+ZmVuY2UpOwogCQlyZXR1cm4gMDsKKwl9CiAKIAljYiA9IGtt ZW1fY2FjaGVfYWxsb2MoZ2xvYmFsLnNsYWJfZXhlY3V0ZV9jYnMsIGdmcCk7CiAJaWYgKCFjYikK QEAgLTM4Niw4ICs0MDQsMTggQEAgaTkxNV9yZXF1ZXN0X2F3YWl0X2V4ZWN1dGlvbihzdHJ1Y3Qg aTkxNV9yZXF1ZXN0ICpycSwKIAlpOTE1X3N3X2ZlbmNlX2F3YWl0KGNiLT5mZW5jZSk7CiAJaW5p dF9pcnFfd29yaygmY2ItPndvcmssIGlycV9leGVjdXRlX2NiKTsKIAorCWlmIChob29rKSB7CisJ CWNiLT5ob29rID0gaG9vazsKKwkJY2ItPnNpZ25hbCA9IGk5MTVfcmVxdWVzdF9nZXQoc2lnbmFs KTsKKwkJY2ItPndvcmsuZnVuYyA9IGlycV9leGVjdXRlX2NiX2hvb2s7CisJfQorCiAJc3Bpbl9s b2NrX2lycSgmc2lnbmFsLT5sb2NrKTsKIAlpZiAoaTkxNV9yZXF1ZXN0X2lzX2FjdGl2ZShzaWdu YWwpKSB7CisJCWlmIChob29rKSB7CisJCQlob29rKHJxLCAmc2lnbmFsLT5mZW5jZSk7CisJCQlp OTE1X3JlcXVlc3RfcHV0KHNpZ25hbCk7CisJCX0KIAkJaTkxNV9zd19mZW5jZV9jb21wbGV0ZShj Yi0+ZmVuY2UpOwogCQlrbWVtX2NhY2hlX2ZyZWUoZ2xvYmFsLnNsYWJfZXhlY3V0ZV9jYnMsIGNi KTsKIAl9IGVsc2UgewpAQCAtNzkwLDcgKzgxOCw3IEBAIGVtaXRfc2VtYXBob3JlX3dhaXQoc3Ry dWN0IGk5MTVfcmVxdWVzdCAqdG8sCiAJCXJldHVybiBlcnI7CiAKIAkvKiBPbmx5IHN1Ym1pdCBv dXIgc3Bpbm5lciBhZnRlciB0aGUgc2lnbmFsZXIgaXMgcnVubmluZyEgKi8KLQllcnIgPSBpOTE1 X3JlcXVlc3RfYXdhaXRfZXhlY3V0aW9uKHRvLCBmcm9tLCBnZnApOworCWVyciA9IF9faTkxNV9y ZXF1ZXN0X2F3YWl0X2V4ZWN1dGlvbih0bywgZnJvbSwgTlVMTCwgZ2ZwKTsKIAlpZiAoZXJyKQog CQlyZXR1cm4gZXJyOwogCkBAIC05MTAsNiArOTM4LDUyIEBAIGk5MTVfcmVxdWVzdF9hd2FpdF9k bWFfZmVuY2Uoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsIHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNl KQogCXJldHVybiAwOwogfQogCitpbnQKK2k5MTVfcmVxdWVzdF9hd2FpdF9leGVjdXRpb24oc3Ry dWN0IGk5MTVfcmVxdWVzdCAqcnEsCisJCQkgICAgIHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlLAor CQkJICAgICB2b2lkICgqaG9vaykoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsCisJCQkJCSAgc3Ry dWN0IGRtYV9mZW5jZSAqc2lnbmFsKSkKK3sKKwlzdHJ1Y3QgZG1hX2ZlbmNlICoqY2hpbGQgPSAm ZmVuY2U7CisJdW5zaWduZWQgaW50IG5jaGlsZCA9IDE7CisJaW50IHJldDsKKworCWlmIChkbWFf ZmVuY2VfaXNfYXJyYXkoZmVuY2UpKSB7CisJCXN0cnVjdCBkbWFfZmVuY2VfYXJyYXkgKmFycmF5 ID0gdG9fZG1hX2ZlbmNlX2FycmF5KGZlbmNlKTsKKworCQkvKiBYWFggRXJyb3IgZm9yIHNpZ25h bC1vbi1hbnkgZmVuY2UgYXJyYXlzICovCisKKwkJY2hpbGQgPSBhcnJheS0+ZmVuY2VzOworCQlu Y2hpbGQgPSBhcnJheS0+bnVtX2ZlbmNlczsKKwkJR0VNX0JVR19PTighbmNoaWxkKTsKKwl9CisK KwlkbyB7CisJCWZlbmNlID0gKmNoaWxkKys7CisJCWlmICh0ZXN0X2JpdChETUFfRkVOQ0VfRkxB R19TSUdOQUxFRF9CSVQsICZmZW5jZS0+ZmxhZ3MpKQorCQkJY29udGludWU7CisKKwkJLyoKKwkJ ICogV2UgZG9uJ3Qgc3F1YXNoIHJlcGVhdGVkIGZlbmNlIGRlcGVuZGVuY2llcyBoZXJlIGFzIHdl CisJCSAqIHdhbnQgdG8gcnVuIG91ciBjYWxsYmFjayBpbiBhbGwgY2FzZXMuCisJCSAqLworCisJ CWlmIChkbWFfZmVuY2VfaXNfaTkxNShmZW5jZSkpCisJCQlyZXQgPSBfX2k5MTVfcmVxdWVzdF9h d2FpdF9leGVjdXRpb24ocnEsCisJCQkJCQkJICAgICB0b19yZXF1ZXN0KGZlbmNlKSwKKwkJCQkJ CQkgICAgIGhvb2ssCisJCQkJCQkJICAgICBJOTE1X0ZFTkNFX0dGUCk7CisJCWVsc2UKKwkJCXJl dCA9IGk5MTVfc3dfZmVuY2VfYXdhaXRfZG1hX2ZlbmNlKCZycS0+c3VibWl0LCBmZW5jZSwKKwkJ CQkJCQkgICAgSTkxNV9GRU5DRV9USU1FT1VULAorCQkJCQkJCSAgICBHRlBfS0VSTkVMKTsKKwkJ aWYgKHJldCA8IDApCisJCQlyZXR1cm4gcmV0OworCX0gd2hpbGUgKC0tbmNoaWxkKTsKKworCXJl dHVybiAwOworfQorCiAvKioKICAqIGk5MTVfcmVxdWVzdF9hd2FpdF9vYmplY3QgLSBzZXQgdGhp cyByZXF1ZXN0IHRvIChhc3luYykgd2FpdCB1cG9uIGEgYm8KICAqIEB0bzogcmVxdWVzdCB3ZSBh cmUgd2lzaGluZyB0byB1c2UKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf cmVxdWVzdC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZXF1ZXN0LmgKaW5kZXggY2Q2 YzEzMDk2NGNkLi5kNGY2YjI5NDAxMzAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcmVxdWVzdC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVxdWVzdC5o CkBAIC0yNjUsNiArMjY1LDEwIEBAIGludCBpOTE1X3JlcXVlc3RfYXdhaXRfb2JqZWN0KHN0cnVj dCBpOTE1X3JlcXVlc3QgKnRvLAogCQkJICAgICAgYm9vbCB3cml0ZSk7CiBpbnQgaTkxNV9yZXF1 ZXN0X2F3YWl0X2RtYV9mZW5jZShzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwKIAkJCQkgc3RydWN0 IGRtYV9mZW5jZSAqZmVuY2UpOworaW50IGk5MTVfcmVxdWVzdF9hd2FpdF9leGVjdXRpb24oc3Ry dWN0IGk5MTVfcmVxdWVzdCAqcnEsCisJCQkJIHN0cnVjdCBkbWFfZmVuY2UgKmZlbmNlLAorCQkJ CSB2b2lkICgqaG9vaykoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsCisJCQkJCSAgICAgIHN0cnVj dCBkbWFfZmVuY2UgKnNpZ25hbCkpOwogCiB2b2lkIGk5MTVfcmVxdWVzdF9hZGQoc3RydWN0IGk5 MTVfcmVxdWVzdCAqcnEpOwogCi0tIAoyLjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeA==