From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 06/41] drm/i915: Support asynchronous waits on struct fence from i915_gem_request Date: Thu, 20 Oct 2016 16:03:48 +0100 Message-ID: <20161020150423.4560-7-chris@chris-wilson.co.uk> References: <20161020150423.4560-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-lf0-x243.google.com (mail-lf0-x243.google.com [IPv6:2a00:1450:4010:c07::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7DFFF6EB93 for ; Thu, 20 Oct 2016 15:04:38 +0000 (UTC) Received: by mail-lf0-x243.google.com with SMTP id x79so460795lff.2 for ; Thu, 20 Oct 2016 08:04:38 -0700 (PDT) In-Reply-To: <20161020150423.4560-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 V2Ugd2lsbCBuZWVkIHRvIHdhaXQgb24gRE1BIGNvbXBsZXRpb24gKGFzIHNpZ25hbGVkIHZpYSBz dHJ1Y3QgZmVuY2UpCmJlZm9yZSBleGVjdXRpbmcgb3VyIGk5MTVfZ2VtX3JlcXVlc3QuIFRoZXJl Zm9yZSB3ZSB3YW50IHRvIGV4cG9zZSBhCm1ldGhvZCBmb3IgYWRkaW5nIHRoZSBhd2FpdCBvbiB0 aGUgZmVuY2UgaXRzZWxmIHRvIHRoZSByZXF1ZXN0LgoKdjI6IEFkZCBhIGNvbW1lbnQgZGV0YWls aW5nIGEgZmFpbHVyZSB0byBoYW5kbGUgYSBzaWduYWwtb24tYW55CmZlbmNlLWFycmF5Lgp2Mzog UHJldGVuZCB0aGF0IG1hZ2ljIG51bWJlcnMgZG9uJ3QgZXhpc3QuCgpTaWduZWQtb2ZmLWJ5OiBD aHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KUmV2aWV3ZWQtYnk6IEpvb25h cyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAgfCAgMyArKwogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyB8ICAzICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9yZXF1ZXN0LmMgICAgfCA0OCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuaCAgICB8ICAyICsrCiA1IGZp bGVzIGNoYW5nZWQsIDU2IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmgKaW5kZXggOTQzNDczNDE3NmEzLi5jNjRhNDk0MDk4ODAgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaApAQCAtMTQxNCw2ICsxNDE0LDkgQEAgc3RydWN0IGk5MTVfZXJyb3Jfc3Rh dGVfZmlsZV9wcml2IHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZXJyb3Jfc3RhdGUgKmVycm9yOwogfTsK IAorI2RlZmluZSBJOTE1X1JFU0VUX1RJTUVPVVQgKDEwKkhaKQorI2RlZmluZSBJOTE1X0ZFTkNF X1RJTUVPVVQgKDEwKkhaKQorCiBzdHJ1Y3QgaTkxNV9ncHVfZXJyb3IgewogCS8qIEZvciBoYW5n Y2hlY2sgdGltZXIgKi8KICNkZWZpbmUgRFJNX0k5MTVfSEFOR0NIRUNLX1BFUklPRCAxNTAwIC8q IGluIG1zICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwppbmRleCA0MTA4OGMzMWFkYTYuLmJlMWVj OGM3YzFlYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBAIC0xMTQsNyArMTE0LDcgQEAgaTkx NV9nZW1fd2FpdF9mb3JfZXJyb3Ioc3RydWN0IGk5MTVfZ3B1X2Vycm9yICplcnJvcikKIAkgKi8K IAlyZXQgPSB3YWl0X2V2ZW50X2ludGVycnVwdGlibGVfdGltZW91dChlcnJvci0+cmVzZXRfcXVl dWUsCiAJCQkJCSAgICAgICAhaTkxNV9yZXNldF9pbl9wcm9ncmVzcyhlcnJvciksCi0JCQkJCSAg ICAgICAxMCpIWik7CisJCQkJCSAgICAgICBJOTE1X1JFU0VUX1RJTUVPVVQpOwogCWlmIChyZXQg PT0gMCkgewogCQlEUk1fRVJST1IoIlRpbWVkIG91dCB3YWl0aW5nIGZvciB0aGUgZ3B1IHJlc2V0 IHRvIGNvbXBsZXRlXG4iKTsKIAkJcmV0dXJuIC1FSU87CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9leGVjYnVmZmVyLmMKaW5kZXggZTUyYWZmZGNjMTI1Li5jZGQ3YjNkNDlhNDEgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKQEAgLTExNDIsNyAr MTE0Miw4IEBAIGk5MTVfZ2VtX2V4ZWNidWZmZXJfbW92ZV90b19ncHUoc3RydWN0IGRybV9pOTE1 X2dlbV9yZXF1ZXN0ICpyZXEsCiAJCWlmIChyZXN2KSB7CiAJCQlyZXQgPSBpOTE1X3N3X2ZlbmNl X2F3YWl0X3Jlc2VydmF0aW9uCiAJCQkJKCZyZXEtPnN1Ym1pdCwgcmVzdiwgJmk5MTVfZmVuY2Vf b3BzLAotCQkJCSBvYmotPmJhc2UucGVuZGluZ193cml0ZV9kb21haW4sIDEwKkhaLAorCQkJCSBv YmotPmJhc2UucGVuZGluZ193cml0ZV9kb21haW4sCisJCQkJIEk5MTVfRkVOQ0VfVElNRU9VVCwK IAkJCQkgR0ZQX0tFUk5FTCB8IF9fR0ZQX05PV0FSTik7CiAJCQlpZiAocmV0IDwgMCkKIAkJCQly ZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVx dWVzdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jCmluZGV4IDc0 ZWRlMWY1MzM3Mi4uNmU3ZWI5Zjk3OWVlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9yZXF1ZXN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f cmVxdWVzdC5jCkBAIC0yMyw2ICsyMyw3IEBACiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L3ByZWZl dGNoLmg+CisjaW5jbHVkZSA8bGludXgvZmVuY2UtYXJyYXkuaD4KIAogI2luY2x1ZGUgImk5MTVf ZHJ2LmgiCiAKQEAgLTQ5Niw2ICs0OTcsNTMgQEAgaTkxNV9nZW1fcmVxdWVzdF9hd2FpdF9yZXF1 ZXN0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqdG8sCiAJcmV0dXJuIDA7CiB9CiAKK2lu dAoraTkxNV9nZW1fcmVxdWVzdF9hd2FpdF9mZW5jZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVl c3QgKnJlcSwKKwkJCSAgICAgc3RydWN0IGZlbmNlICpmZW5jZSkKK3sKKwlzdHJ1Y3QgZmVuY2Vf YXJyYXkgKmFycmF5OworCWludCByZXQ7CisJaW50IGk7CisKKwlpZiAodGVzdF9iaXQoRkVOQ0Vf RkxBR19TSUdOQUxFRF9CSVQsICZmZW5jZS0+ZmxhZ3MpKQorCQlyZXR1cm4gMDsKKworCWlmIChm ZW5jZV9pc19pOTE1KGZlbmNlKSkKKwkJcmV0dXJuIGk5MTVfZ2VtX3JlcXVlc3RfYXdhaXRfcmVx dWVzdChyZXEsIHRvX3JlcXVlc3QoZmVuY2UpKTsKKworCWlmICghZmVuY2VfaXNfYXJyYXkoZmVu Y2UpKSB7CisJCXJldCA9IGk5MTVfc3dfZmVuY2VfYXdhaXRfZG1hX2ZlbmNlKCZyZXEtPnN1Ym1p dCwKKwkJCQkJCSAgICBmZW5jZSwgSTkxNV9GRU5DRV9USU1FT1VULAorCQkJCQkJICAgIEdGUF9L RVJORUwpOworCQlyZXR1cm4gcmV0IDwgMCA/IHJldCA6IDA7CisJfQorCisJLyogTm90ZSB0aGF0 IGlmIHRoZSBmZW5jZS1hcnJheSB3YXMgY3JlYXRlZCBpbiBzaWduYWwtb24tYW55IG1vZGUsCisJ ICogd2Ugc2hvdWxkICpub3QqIGRlY29tcG9zZSBpdCBpbnRvIGl0cyBpbmRpdmlkdWFsIGZlbmNl cy4gSG93ZXZlciwKKwkgKiB3ZSBkb24ndCBjdXJyZW50bHkgc3RvcmUgd2hpY2ggbW9kZSB0aGUg ZmVuY2UtYXJyYXkgaXMgb3BlcmF0aW5nCisJICogaW4uIEZvcnR1bmF0ZWx5LCB0aGUgb25seSB1 c2VyIG9mIHNpZ25hbC1vbi1hbnkgaXMgcHJpdmF0ZSB0bworCSAqIGFtZGdwdSBhbmQgd2Ugc2hv dWxkIG5vdCBzZWUgYW55IGluY29taW5nIGZlbmNlLWFycmF5IGZyb20KKwkgKiBzeW5jLWZpbGUg YmVpbmcgaW4gc2lnbmFsLW9uLWFueSBtb2RlLgorCSAqLworCisJYXJyYXkgPSB0b19mZW5jZV9h cnJheShmZW5jZSk7CisJZm9yIChpID0gMDsgaSA8IGFycmF5LT5udW1fZmVuY2VzOyBpKyspIHsK KwkJc3RydWN0IGZlbmNlICpjaGlsZCA9IGFycmF5LT5mZW5jZXNbaV07CisKKwkJaWYgKGZlbmNl X2lzX2k5MTUoY2hpbGQpKQorCQkJcmV0ID0gaTkxNV9nZW1fcmVxdWVzdF9hd2FpdF9yZXF1ZXN0 KHJlcSwKKwkJCQkJCQkgICAgIHRvX3JlcXVlc3QoY2hpbGQpKTsKKwkJZWxzZQorCQkJcmV0ID0g aTkxNV9zd19mZW5jZV9hd2FpdF9kbWFfZmVuY2UoJnJlcS0+c3VibWl0LAorCQkJCQkJCSAgICBj aGlsZCwgSTkxNV9GRU5DRV9USU1FT1VULAorCQkJCQkJCSAgICBHRlBfS0VSTkVMKTsKKwkJaWYg KHJldCA8IDApCisJCQlyZXR1cm4gcmV0OworCX0KKworCXJldHVybiAwOworfQorCiAvKioKICAq IGk5MTVfZ2VtX3JlcXVlc3RfYXdhaXRfb2JqZWN0IC0gc2V0IHRoaXMgcmVxdWVzdCB0byAoYXN5 bmMpIHdhaXQgdXBvbiBhIGJvCiAgKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fcmVxdWVzdC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVz dC5oCmluZGV4IDk3NGJkN2JjYzgwMS4uYzg1YTNkODJmZWJmIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fcmVxdWVzdC5oCkBAIC0yMTQsNiArMjE0LDggQEAgaW50CiBpOTE1X2dlbV9y ZXF1ZXN0X2F3YWl0X29iamVjdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnRvLAogCQkJ ICAgICAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkJCSAgICAgIGJvb2wgd3Jp dGUpOworaW50IGk5MTVfZ2VtX3JlcXVlc3RfYXdhaXRfZmVuY2Uoc3RydWN0IGRybV9pOTE1X2dl bV9yZXF1ZXN0ICpyZXEsCisJCQkJIHN0cnVjdCBmZW5jZSAqZmVuY2UpOwogCiB2b2lkIF9faTkx NV9hZGRfcmVxdWVzdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwgYm9vbCBmbHVz aF9jYWNoZXMpOwogI2RlZmluZSBpOTE1X2FkZF9yZXF1ZXN0KHJlcSkgXAotLSAKMi45LjMKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=