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: Fri, 14 Oct 2016 13:17:58 +0100 Message-ID: <20161014121833.439-7-chris@chris-wilson.co.uk> References: <20161014121833.439-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-x241.google.com (mail-lf0-x241.google.com [IPv6:2a00:1450:4010:c07::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id CA83C6EC2D for ; Fri, 14 Oct 2016 12:18:47 +0000 (UTC) Received: by mail-lf0-x241.google.com with SMTP id l131so15054684lfl.0 for ; Fri, 14 Oct 2016 05:18:47 -0700 (PDT) In-Reply-To: <20161014121833.439-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 aW5nIGEgZmFpbHVyZSB0byBoYW5kbGUgYSBzaWduYWwtb24tYW55CmZlbmNlLWFycmF5LgoKU2ln bmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Ci0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jIHwgNDggKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1 ZXN0LmggfCAgMiArKwogMiBmaWxlcyBjaGFuZ2VkLCA1MCBpbnNlcnRpb25zKCspCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jCmluZGV4IDc0ZWRlMWY1MzM3Mi4uYTFiZDk4 ZDhkYWIyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0 LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jCkBAIC0yMyw2 ICsyMyw3IEBACiAgKi8KIAogI2luY2x1ZGUgPGxpbnV4L3ByZWZldGNoLmg+CisjaW5jbHVkZSA8 bGludXgvZmVuY2UtYXJyYXkuaD4KIAogI2luY2x1ZGUgImk5MTVfZHJ2LmgiCiAKQEAgLTQ5Niw2 ICs0OTcsNTMgQEAgaTkxNV9nZW1fcmVxdWVzdF9hd2FpdF9yZXF1ZXN0KHN0cnVjdCBkcm1faTkx NV9nZW1fcmVxdWVzdCAqdG8sCiAJcmV0dXJuIDA7CiB9CiAKK2ludAoraTkxNV9nZW1fcmVxdWVz dF9hd2FpdF9mZW5jZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKKwkJCSAgICAg c3RydWN0IGZlbmNlICpmZW5jZSkKK3sKKwlzdHJ1Y3QgZmVuY2VfYXJyYXkgKmFycmF5OworCWlu dCByZXQ7CisJaW50IGk7CisKKwlpZiAodGVzdF9iaXQoRkVOQ0VfRkxBR19TSUdOQUxFRF9CSVQs ICZmZW5jZS0+ZmxhZ3MpKQorCQlyZXR1cm4gMDsKKworCWlmIChmZW5jZV9pc19pOTE1KGZlbmNl KSkKKwkJcmV0dXJuIGk5MTVfZ2VtX3JlcXVlc3RfYXdhaXRfcmVxdWVzdChyZXEsIHRvX3JlcXVl c3QoZmVuY2UpKTsKKworCWlmICghZmVuY2VfaXNfYXJyYXkoZmVuY2UpKSB7CisJCXJldCA9IGk5 MTVfc3dfZmVuY2VfYXdhaXRfZG1hX2ZlbmNlKCZyZXEtPnN1Ym1pdCwKKwkJCQkJCSAgICBmZW5j ZSwgMTAqSFosCisJCQkJCQkgICAgR0ZQX0tFUk5FTCk7CisJCXJldHVybiByZXQgPCAwID8gcmV0 IDogMDsKKwl9CisKKwkvKiBOb3RlIHRoYXQgaWYgdGhlIGZlbmNlLWFycmF5IHdhcyBjcmVhdGVk IGluIHNpZ25hbC1vbi1hbnkgbW9kZSwKKwkgKiB3ZSBzaG91bGQgKm5vdCogZGVjb21wb3NlIGl0 IGludG8gaXRzIGluZGl2aWR1YWwgZmVuY2VzLiBIb3dldmVyLAorCSAqIHdlIGRvbid0IGN1cnJl bnRseSBzdG9yZSB3aGljaCBtb2RlIHRoZSBmZW5jZS1hcnJheSBpcyBvcGVyYXRpbmcKKwkgKiBp bi4gRm9ydHVuYXRlbHksIHRoZSBvbmx5IHVzZXIgb2Ygc2lnbmFsLW9uLWFueSBpcyBwcml2YXRl IHRvCisJICogYW1kZ3B1IGFuZCB3ZSBzaG91bGQgbm90IHNlZSBhbnkgaW5jb21pbmcgZmVuY2Ut YXJyYXkgZnJvbQorCSAqIHN5bmMtZmlsZSBiZWluZyBpbiBzaWduYWwtb24tYW55IG1vZGUuCisJ ICovCisKKwlhcnJheSA9IHRvX2ZlbmNlX2FycmF5KGZlbmNlKTsKKwlmb3IgKGkgPSAwOyBpIDwg YXJyYXktPm51bV9mZW5jZXM7IGkrKykgeworCQlzdHJ1Y3QgZmVuY2UgKmNoaWxkID0gYXJyYXkt PmZlbmNlc1tpXTsKKworCQlpZiAoZmVuY2VfaXNfaTkxNShjaGlsZCkpCisJCQlyZXQgPSBpOTE1 X2dlbV9yZXF1ZXN0X2F3YWl0X3JlcXVlc3QocmVxLAorCQkJCQkJCSAgICAgdG9fcmVxdWVzdChj aGlsZCkpOworCQllbHNlCisJCQlyZXQgPSBpOTE1X3N3X2ZlbmNlX2F3YWl0X2RtYV9mZW5jZSgm cmVxLT5zdWJtaXQsCisJCQkJCQkJICAgIGNoaWxkLCAxMCpIWiwKKwkJCQkJCQkgICAgR0ZQX0tF Uk5FTCk7CisJCWlmIChyZXQgPCAwKQorCQkJcmV0dXJuIHJldDsKKwl9CisKKwlyZXR1cm4gMDsK K30KKwogLyoqCiAgKiBpOTE1X2dlbV9yZXF1ZXN0X2F3YWl0X29iamVjdCAtIHNldCB0aGlzIHJl cXVlc3QgdG8gKGFzeW5jKSB3YWl0IHVwb24gYSBibwogICoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX3JlcXVlc3QuaAppbmRleCA5NzRiZDdiY2M4MDEuLmM4NWEzZDgyZmViZiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuaApAQCAtMjE0LDYgKzIxNCw4IEBAIGlu dAogaTkxNV9nZW1fcmVxdWVzdF9hd2FpdF9vYmplY3Qoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1 ZXN0ICp0bywKIAkJCSAgICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCQkg ICAgICBib29sIHdyaXRlKTsKK2ludCBpOTE1X2dlbV9yZXF1ZXN0X2F3YWl0X2ZlbmNlKHN0cnVj dCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAorCQkJCSBzdHJ1Y3QgZmVuY2UgKmZlbmNlKTsK IAogdm9pZCBfX2k5MTVfYWRkX3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpy ZXEsIGJvb2wgZmx1c2hfY2FjaGVzKTsKICNkZWZpbmUgaTkxNV9hZGRfcmVxdWVzdChyZXEpIFwK LS0gCjIuOS4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK