From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 01/12] drm/i915: Split request submit/execute phase into two Date: Wed, 2 Nov 2016 17:50:40 +0000 Message-ID: <20161102175051.29163-2-chris@chris-wilson.co.uk> References: <20161102175051.29163-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-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id EF3B86E570 for ; Wed, 2 Nov 2016 17:50:56 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id c17so4169588wmc.3 for ; Wed, 02 Nov 2016 10:50:56 -0700 (PDT) In-Reply-To: <20161102175051.29163-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 SW4gb3JkZXIgdG8gc3VwcG9ydCBkZWZlcnJlZCBzY2hlZHVsaW5nLCB3ZSBuZWVkIHRvIGRpZmZl cmVudGlhdGUKYmV0d2VlbiB3aGVuIHRoZSByZXF1ZXN0IGlzIHJlYWR5IHRvIHJ1biAoaS5lLiB0 aGUgc3VibWl0IGZlbmNlIGlzCnNpZ25hbGVkKSBhbmQgd2hlbiB0aGUgcmVxdWVzdCBpcyBhY3R1 YWxseSBydW4gKGEgbmV3IGV4ZWN1dGUgZmVuY2UpLgpUaGlzIGlzIHR5cGljYWxseSBzcGxpdCBi ZXR3ZWVuIHRoZSByZXF1ZXN0IGl0c2VsZiB3YW50aW5nIHRvIHdhaXQgdXBvbgpvdGhlcnMgKGZv ciB3aGljaCB3ZSB1c2UgdGhlIHN1Ym1pdCBmZW5jZSkgYW5kIHRoZSBDUFUgd2FudGluZyB0byB3 YWl0CnVwb24gdGhlIHJlcXVlc3QsIGZvciB3aGljaCB3ZSB1c2UgdGhlIGV4ZWN1dGUgZmVuY2Ug dG8gYmUgc3VyZSB0aGUKaGFyZHdhcmUgaXMgcmVhZHkgdG8gc2lnbmFsIGNvbXBsZXRpb24uCgpT aWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmMgfCAzMyArKysrKysrKysr KysrKysrKysrKysrKystLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3Jl cXVlc3QuaCB8ICAyICsrCiAyIGZpbGVzIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDkgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVx dWVzdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5jCmluZGV4IDc5 YjAwNDZkOWE1Ny4uMWFlNWEyZjg5NTNmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbV9yZXF1ZXN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f cmVxdWVzdC5jCkBAIC0zNTEsMTEgKzM1MSwxOSBAQCBzdWJtaXRfbm90aWZ5KHN0cnVjdCBpOTE1 X3N3X2ZlbmNlICpmZW5jZSwgZW51bSBpOTE1X3N3X2ZlbmNlX25vdGlmeSBzdGF0ZSkKIAlsaXN0 X21vdmVfdGFpbCgmcmVxdWVzdC0+bGluaywgJnRpbWVsaW5lLT5yZXF1ZXN0cyk7CiAJc3Bpbl91 bmxvY2soJnJlcXVlc3QtPnRpbWVsaW5lLT5sb2NrKTsKIAorCWk5MTVfc3dfZmVuY2VfY29tbWl0 KCZyZXF1ZXN0LT5leGVjdXRlKTsKKwogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJnRpbWVsaW5l LT5sb2NrLCBmbGFncyk7CiAKIAlyZXR1cm4gTk9USUZZX0RPTkU7CiB9CiAKK3N0YXRpYyBpbnQg X19pOTE1X3N3X2ZlbmNlX2NhbGwKK2V4ZWN1dGVfbm90aWZ5KHN0cnVjdCBpOTE1X3N3X2ZlbmNl ICpmZW5jZSwgZW51bSBpOTE1X3N3X2ZlbmNlX25vdGlmeSBzdGF0ZSkKK3sKKwlyZXR1cm4gTk9U SUZZX0RPTkU7Cit9CisKIC8qKgogICogaTkxNV9nZW1fcmVxdWVzdF9hbGxvYyAtIGFsbG9jYXRl IGEgcmVxdWVzdCBzdHJ1Y3R1cmUKICAqCkBAIC00NDEsNiArNDQ5LDEyIEBAIGk5MTVfZ2VtX3Jl cXVlc3RfYWxsb2Moc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAogCQkgICAgICAgX190 aW1lbGluZV9nZXRfc2Vxbm8ocmVxLT50aW1lbGluZS0+Y29tbW9uKSk7CiAKIAlpOTE1X3N3X2Zl bmNlX2luaXQoJnJlcS0+c3VibWl0LCBzdWJtaXRfbm90aWZ5KTsKKwlpOTE1X3N3X2ZlbmNlX2lu aXQoJnJlcS0+ZXhlY3V0ZSwgZXhlY3V0ZV9ub3RpZnkpOworCS8qIEVuc3VyZSB0aGF0IHRoZSBl eGVjdXRlIGZlbmNlIGNvbXBsZXRlcyBhZnRlciB0aGUgc3VibWl0IGZlbmNlIC0KKwkgKiBhcyB3 ZSBjb21wbGV0ZSB0aGUgZXhlY3V0ZSBmZW5jZSBmcm9tIHdpdGhpbiB0aGUgc3VibWl0IGZlbmNl CisJICogY2FsbGJhY2ssIGl0cyBjb21wbGV0aW9uIHdvdWxkIG90aGVyd2lzZSBiZSB2aXNpYmxl IGZpcnN0LgorCSAqLworCWk5MTVfc3dfZmVuY2VfYXdhaXRfc3dfZmVuY2UoJnJlcS0+ZXhlY3V0 ZSwgJnJlcS0+c3VibWl0LCAmcmVxLT5leGVjcSk7CiAKIAlJTklUX0xJU1RfSEVBRCgmcmVxLT5h Y3RpdmVfbGlzdCk7CiAJcmVxLT5pOTE1ID0gZGV2X3ByaXY7CkBAIC04MTcsOSArODMxLDkgQEAg Ym9vbCBfX2k5MTVfc3Bpbl9yZXF1ZXN0KGNvbnN0IHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVz dCAqcmVxLAogfQogCiBzdGF0aWMgbG9uZwotX19pOTE1X3JlcXVlc3Rfd2FpdF9mb3Jfc3VibWl0 KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCwKLQkJCSAgICAgICB1bnNpZ25l ZCBpbnQgZmxhZ3MsCi0JCQkgICAgICAgbG9uZyB0aW1lb3V0KQorX19pOTE1X3JlcXVlc3Rfd2Fp dF9mb3JfZXhlY3V0ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QsCisJCQkJ dW5zaWduZWQgaW50IGZsYWdzLAorCQkJCWxvbmcgdGltZW91dCkKIHsKIAljb25zdCBpbnQgc3Rh dGUgPSBmbGFncyAmIEk5MTVfV0FJVF9JTlRFUlJVUFRJQkxFID8KIAkJVEFTS19JTlRFUlJVUFRJ QkxFIDogVEFTS19VTklOVEVSUlVQVElCTEU7CkBAIC04MzEsOSArODQ1LDkgQEAgX19pOTE1X3Jl cXVlc3Rfd2FpdF9mb3Jfc3VibWl0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVz dCwKIAkJYWRkX3dhaXRfcXVldWUocSwgJnJlc2V0KTsKIAogCWRvIHsKLQkJcHJlcGFyZV90b193 YWl0KCZyZXF1ZXN0LT5zdWJtaXQud2FpdCwgJndhaXQsIHN0YXRlKTsKKwkJcHJlcGFyZV90b193 YWl0KCZyZXF1ZXN0LT5leGVjdXRlLndhaXQsICZ3YWl0LCBzdGF0ZSk7CiAKLQkJaWYgKGk5MTVf c3dfZmVuY2VfZG9uZSgmcmVxdWVzdC0+c3VibWl0KSkKKwkJaWYgKGk5MTVfc3dfZmVuY2VfZG9u ZSgmcmVxdWVzdC0+ZXhlY3V0ZSkpCiAJCQlicmVhazsKIAogCQlpZiAoZmxhZ3MgJiBJOTE1X1dB SVRfTE9DS0VEICYmCkBAIC04NTEsNyArODY1LDcgQEAgX19pOTE1X3JlcXVlc3Rfd2FpdF9mb3Jf c3VibWl0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCwKIAogCQl0aW1lb3V0 ID0gaW9fc2NoZWR1bGVfdGltZW91dCh0aW1lb3V0KTsKIAl9IHdoaWxlICh0aW1lb3V0KTsKLQlm aW5pc2hfd2FpdCgmcmVxdWVzdC0+c3VibWl0LndhaXQsICZ3YWl0KTsKKwlmaW5pc2hfd2FpdCgm cmVxdWVzdC0+ZXhlY3V0ZS53YWl0LCAmd2FpdCk7CiAKIAlpZiAoZmxhZ3MgJiBJOTE1X1dBSVRf TE9DS0VEKQogCQlyZW1vdmVfd2FpdF9xdWV1ZShxLCAmcmVzZXQpOwpAQCAtOTAzLDEzICs5MTcs MTQgQEAgbG9uZyBpOTE1X3dhaXRfcmVxdWVzdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3Qg KnJlcSwKIAogCXRyYWNlX2k5MTVfZ2VtX3JlcXVlc3Rfd2FpdF9iZWdpbihyZXEpOwogCi0JaWYg KCFpOTE1X3N3X2ZlbmNlX2RvbmUoJnJlcS0+c3VibWl0KSkgewotCQl0aW1lb3V0ID0gX19pOTE1 X3JlcXVlc3Rfd2FpdF9mb3Jfc3VibWl0KHJlcSwgZmxhZ3MsIHRpbWVvdXQpOworCWlmICghaTkx NV9zd19mZW5jZV9kb25lKCZyZXEtPmV4ZWN1dGUpKSB7CisJCXRpbWVvdXQgPSBfX2k5MTVfcmVx dWVzdF93YWl0X2Zvcl9leGVjdXRlKHJlcSwgZmxhZ3MsIHRpbWVvdXQpOwogCQlpZiAodGltZW91 dCA8IDApCiAJCQlnb3RvIGNvbXBsZXRlOwogCi0JCUdFTV9CVUdfT04oIWk5MTVfc3dfZmVuY2Vf ZG9uZSgmcmVxLT5zdWJtaXQpKTsKKwkJR0VNX0JVR19PTighaTkxNV9zd19mZW5jZV9kb25lKCZy ZXEtPmV4ZWN1dGUpKTsKIAl9CisJR0VNX0JVR19PTighaTkxNV9zd19mZW5jZV9kb25lKCZyZXEt PnN1Ym1pdCkpOwogCUdFTV9CVUdfT04oIXJlcS0+Z2xvYmFsX3NlcW5vKTsKIAogCS8qIE9wdGlt aXN0aWMgc2hvcnQgc3BpbiBiZWZvcmUgdG91Y2hpbmcgSVJRcyAqLwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fcmVxdWVzdC5oCmluZGV4IDc1ZjgzNjBiMzQyMS4uZWQxM2YzN2ZlYTBmIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9yZXF1ZXN0LmgKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fcmVxdWVzdC5oCkBAIC04NSw3ICs4NSw5IEBA IHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCB7CiAJc3RydWN0IGludGVsX3NpZ25hbF9ub2Rl IHNpZ25hbGluZzsKIAogCXN0cnVjdCBpOTE1X3N3X2ZlbmNlIHN1Ym1pdDsKKwlzdHJ1Y3QgaTkx NV9zd19mZW5jZSBleGVjdXRlOwogCXdhaXRfcXVldWVfdCBzdWJtaXRxOworCXdhaXRfcXVldWVf dCBleGVjcTsKIAogCXUzMiBnbG9iYWxfc2Vxbm87CiAKLS0gCjIuMTAuMgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==