From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 30/41] drm/i915: Wait first for submission, before waiting for request completion Date: Thu, 20 Oct 2016 16:04:12 +0100 Message-ID: <20161020150423.4560-31-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-x242.google.com (mail-lf0-x242.google.com [IPv6:2a00:1450:4010:c07::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 073066EB8D for ; Thu, 20 Oct 2016 15:05:03 +0000 (UTC) Received: by mail-lf0-x242.google.com with SMTP id l131so460116lfl.0 for ; Thu, 20 Oct 2016 08:05:02 -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 SW4gZnV0dXJlIHBhdGNoZXMsIHdlIHdpbGwgbm8gbG9uZ2VyIGJlIGFibGUgdG8gd2FpdCBvbiBh IHN0YXRpYyBnbG9iYWwKc2Vxbm8gYW5kIGluc3RlYWQgaGF2ZSB0byBicmVhayBvdXIgd2FpdCB1 cCBpbnRvIHBoYXNlcy4gRmlyc3Qgd2Ugd2FpdApmb3IgdGhlIGdsb2JhbCBzZXFubyBhc3NpZ25t ZW50ICh1cG9uIHN1Ym1pc3Npb24gdG8gaGFyZHdhcmUpLCBhbmQgb25jZQpzdWJtaXR0ZWQgd2Ug d2FpdCBmb3IgdGhlIGhhcmR3YXJlIHRvIGNvbXBsZXRlLgoKU2lnbmVkLW9mZi1ieTogQ2hyaXMg V2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+ClJldmlld2VkLWJ5OiBKb29uYXMgTGFo dGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jIHwgNTEgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgNTEgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYwppbmRleCA0NDVlZmE1YTdiNmIuLjFhYmEwYjU3ZGEz ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3JlcXVlc3QuYwpAQCAtNzg5LDYgKzc4 OSw0OSBAQCBib29sIF9faTkxNV9zcGluX3JlcXVlc3QoY29uc3Qgc3RydWN0IGRybV9pOTE1X2dl bV9yZXF1ZXN0ICpyZXEsCiAJcmV0dXJuIGZhbHNlOwogfQogCitzdGF0aWMgbG9uZworX19pOTE1 X3JlcXVlc3Rfd2FpdF9mb3Jfc3VibWl0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVx dWVzdCwKKwkJCSAgICAgICB1bnNpZ25lZCBpbnQgZmxhZ3MsCisJCQkgICAgICAgbG9uZyB0aW1l b3V0KQoreworCWNvbnN0IGludCBzdGF0ZSA9IGZsYWdzICYgSTkxNV9XQUlUX0lOVEVSUlVQVElC TEUgPworCQlUQVNLX0lOVEVSUlVQVElCTEUgOiBUQVNLX1VOSU5URVJSVVBUSUJMRTsKKwl3YWl0 X3F1ZXVlX2hlYWRfdCAqcSA9ICZyZXF1ZXN0LT5pOTE1LT5ncHVfZXJyb3Iud2FpdF9xdWV1ZTsK KwlERUZJTkVfV0FJVChyZXNldCk7CisJREVGSU5FX1dBSVQod2FpdCk7CisKKwlpZiAoZmxhZ3Mg JiBJOTE1X1dBSVRfTE9DS0VEKQorCQlhZGRfd2FpdF9xdWV1ZShxLCAmcmVzZXQpOworCisJZG8g eworCQlwcmVwYXJlX3RvX3dhaXQoJnJlcXVlc3QtPnN1Ym1pdC53YWl0LCAmd2FpdCwgc3RhdGUp OworCisJCWlmIChpOTE1X3N3X2ZlbmNlX2RvbmUoJnJlcXVlc3QtPnN1Ym1pdCkpCisJCQlicmVh azsKKworCQlpZiAoZmxhZ3MgJiBJOTE1X1dBSVRfTE9DS0VEICYmCisJCSAgICBpOTE1X3Jlc2V0 X2luX3Byb2dyZXNzKCZyZXF1ZXN0LT5pOTE1LT5ncHVfZXJyb3IpKSB7CisJCQlfX3NldF9jdXJy ZW50X3N0YXRlKFRBU0tfUlVOTklORyk7CisJCQlpOTE1X3Jlc2V0KHJlcXVlc3QtPmk5MTUpOwor CQkJcmVzZXRfd2FpdF9xdWV1ZShxLCAmcmVzZXQpOworCQkJY29udGludWU7CisJCX0KKworCQlp ZiAoc2lnbmFsX3BlbmRpbmdfc3RhdGUoc3RhdGUsIGN1cnJlbnQpKSB7CisJCQl0aW1lb3V0ID0g LUVSRVNUQVJUU1lTOworCQkJYnJlYWs7CisJCX0KKworCQl0aW1lb3V0ID0gaW9fc2NoZWR1bGVf dGltZW91dCh0aW1lb3V0KTsKKwl9IHdoaWxlICh0aW1lb3V0KTsKKwlmaW5pc2hfd2FpdCgmcmVx dWVzdC0+c3VibWl0LndhaXQsICZ3YWl0KTsKKworCWlmIChmbGFncyAmIEk5MTVfV0FJVF9MT0NL RUQpCisJCXJlbW92ZV93YWl0X3F1ZXVlKHEsICZyZXNldCk7CisKKwlyZXR1cm4gdGltZW91dDsK K30KKwogLyoqCiAgKiBpOTE1X3dhaXRfcmVxdWVzdCAtIHdhaXQgdW50aWwgZXhlY3V0aW9uIG9m IHJlcXVlc3QgaGFzIGZpbmlzaGVkCiAgKiBAcmVxOiB0aGUgcmVxdWVzdCB0byB3YWl0IHVwb24K QEAgLTgzMiw2ICs4NzUsMTQgQEAgbG9uZyBpOTE1X3dhaXRfcmVxdWVzdChzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX3JlcXVlc3QgKnJlcSwKIAogCXRyYWNlX2k5MTVfZ2VtX3JlcXVlc3Rfd2FpdF9iZWdp bihyZXEpOwogCisJaWYgKCFpOTE1X3N3X2ZlbmNlX2RvbmUoJnJlcS0+c3VibWl0KSkgeworCQl0 aW1lb3V0ID0gX19pOTE1X3JlcXVlc3Rfd2FpdF9mb3Jfc3VibWl0KHJlcSwgZmxhZ3MsIHRpbWVv dXQpOworCQlpZiAodGltZW91dCA8IDApCisJCQlnb3RvIGNvbXBsZXRlOworCisJCUdFTV9CVUdf T04oIWk5MTVfc3dfZmVuY2VfZG9uZSgmcmVxLT5zdWJtaXQpKTsKKwl9CisKIAkvKiBPcHRpbWlz dGljIHNob3J0IHNwaW4gYmVmb3JlIHRvdWNoaW5nIElSUXMgKi8KIAlpZiAoaTkxNV9zcGluX3Jl cXVlc3QocmVxLCBzdGF0ZSwgNSkpCiAJCWdvdG8gY29tcGxldGU7Ci0tIAoyLjkuMwoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==