From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 14/18] drm/i915/guc: Prepare for nonblocking execbuf submission Date: Tue, 30 Aug 2016 09:18:08 +0100 Message-ID: <20160830081812.4110-15-chris@chris-wilson.co.uk> References: <20160830081812.4110-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-x242.google.com (mail-wm0-x242.google.com [IPv6:2a00:1450:400c:c09::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 187D26E5E9 for ; Tue, 30 Aug 2016 08:18:36 +0000 (UTC) Received: by mail-wm0-x242.google.com with SMTP id i138so2018603wmf.3 for ; Tue, 30 Aug 2016 01:18:36 -0700 (PDT) In-Reply-To: <20160830081812.4110-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: mika.kuoppala@intel.com List-Id: intel-gfx@lists.freedesktop.org Q3VycmVudGx5IHRoZSBwcmVzdW1wdGlvbiBpcyB0aGF0IHRoZSByZXF1ZXN0IGNvbnN0cnVjdGlv biBhbmQgaXRzCnN1Ym1pc3Npb24gdG8gdGhlIEd1QyBhcmUgYWxsIHVuZGVyIHRoZSBzYW1lIGhv bGRpbmcgb2Ygc3RydWN0X211dGV4LiBXZQp3aXNoIHRvIHJlbGF4IHRoaXMgdG8gc2VwYXJhdGUg dGhlIHJlcXVlc3QgY29uc3RydWN0aW9uIGFuZCB0aGUgbGF0ZXIKc3VibWlzc2lvbiB0byB0aGUg R3VDLiBUaGlzIHJlcXVpcmVzIHVzIHRvIHJlc2VydmUgc29tZSBzcGFjZSBpbiB0aGUKR3VDIGNv bW1hbmQgcXVldWUgZm9yIHRoZSBmdXR1cmUgc3VibWlzc2lvbi4gRm9yIGZsZXhpYmlsaXR5IHRv IGhhbmRsZQpvdXQtb2Ytb3JkZXIgcmVxdWVzdCBzdWJtaXNzaW9uIHdlIGRvIG5vdCBwcmVhbGxv Y2F0ZSB0aGUgbmV4dCBzbG90IGluCnRoZSBHdUMgY29tbWFuZCBxdWV1ZSBkdXJpbmcgcmVxdWVz dCBjb25zdHJ1Y3Rpb24sIGp1c3QgZW5zdXJpbmcgdGhhdAp0aGVyZSBpcyBlbm91Z2ggc3BhY2Ug bGF0ZXIuCgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5j by51az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMgfCA1 NSArKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2d1Yy5oICAgICAgICAgICB8ICAzICsrCiAyIGZpbGVzIGNoYW5nZWQsIDI5IGluc2VydGlv bnMoKyksIDI5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1 Ym1pc3Npb24uYwppbmRleCAyMzMyZjljOThiZGQuLmEwNDdlNjFhZGMyYSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwpAQCAtNDM0LDIwICs0MzQsMjMgQEAg aW50IGk5MTVfZ3VjX3dxX2NoZWNrX3NwYWNlKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAq cmVxdWVzdCkKIHsKIAljb25zdCBzaXplX3Qgd3FpX3NpemUgPSBzaXplb2Yoc3RydWN0IGd1Y193 cV9pdGVtKTsKIAlzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpnYyA9IHJlcXVlc3QtPmk5MTUtPmd1 Yy5leGVjYnVmX2NsaWVudDsKLQlzdHJ1Y3QgZ3VjX3Byb2Nlc3NfZGVzYyAqZGVzYzsKKwlzdHJ1 Y3QgZ3VjX3Byb2Nlc3NfZGVzYyAqZGVzYyA9IGdjLT5jbGllbnRfYmFzZSArIGdjLT5wcm9jX2Rl c2Nfb2Zmc2V0OwogCXUzMiBmcmVlc3BhY2U7CisJaW50IHJldDsKIAotCUdFTV9CVUdfT04oZ2Mg PT0gTlVMTCk7Ci0KLQlkZXNjID0gZ2MtPmNsaWVudF9iYXNlICsgZ2MtPnByb2NfZGVzY19vZmZz ZXQ7Ci0KKwlzcGluX2xvY2soJmdjLT5sb2NrKTsKIAlmcmVlc3BhY2UgPSBDSVJDX1NQQUNFKGdj LT53cV90YWlsLCBkZXNjLT5oZWFkLCBnYy0+d3Ffc2l6ZSk7Ci0JaWYgKGxpa2VseShmcmVlc3Bh Y2UgPj0gd3FpX3NpemUpKQotCQlyZXR1cm4gMDsKLQotCWdjLT5ub193cV9zcGFjZSArPSAxOwor CWZyZWVzcGFjZSAtPSBnYy0+d3FfcnN2ZDsKKwlpZiAobGlrZWx5KGZyZWVzcGFjZSA+PSB3cWlf c2l6ZSkpIHsKKwkJZ2MtPndxX3JzdmQgKz0gd3FpX3NpemU7CisJCXJldCA9IDA7CisJfSBlbHNl IHsKKwkJZ2MtPm5vX3dxX3NwYWNlKys7CisJCXJldCA9IC1FQUdBSU47CisJfQorCXNwaW5fdW5s b2NrKCZnYy0+bG9jayk7CiAKLQlyZXR1cm4gLUVBR0FJTjsKKwlyZXR1cm4gcmV0OwogfQogCiBz dGF0aWMgdm9pZCBndWNfYWRkX3dvcmtxdWV1ZV9pdGVtKHN0cnVjdCBpOTE1X2d1Y19jbGllbnQg KmdjLApAQCAtNDU3LDIyICs0NjAsOSBAQCBzdGF0aWMgdm9pZCBndWNfYWRkX3dvcmtxdWV1ZV9p dGVtKHN0cnVjdCBpOTE1X2d1Y19jbGllbnQgKmdjLAogCWNvbnN0IHNpemVfdCB3cWlfc2l6ZSA9 IHNpemVvZihzdHJ1Y3QgZ3VjX3dxX2l0ZW0pOwogCWNvbnN0IHUzMiB3cWlfbGVuID0gd3FpX3Np emUvc2l6ZW9mKHUzMikgLSAxOwogCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJx LT5lbmdpbmU7Ci0Jc3RydWN0IGd1Y19wcm9jZXNzX2Rlc2MgKmRlc2M7CiAJc3RydWN0IGd1Y193 cV9pdGVtICp3cWk7CiAJdm9pZCAqYmFzZTsKLQl1MzIgZnJlZXNwYWNlLCB0YWlsLCB3cV9vZmYs IHdxX3BhZ2U7Ci0KLQlkZXNjID0gZ2MtPmNsaWVudF9iYXNlICsgZ2MtPnByb2NfZGVzY19vZmZz ZXQ7Ci0KLQkvKiBGcmVlIHNwYWNlIGlzIGd1YXJhbnRlZWQsIHNlZSBpOTE1X2d1Y193cV9jaGVj a19zcGFjZSgpIGFib3ZlICovCi0JZnJlZXNwYWNlID0gQ0lSQ19TUEFDRShnYy0+d3FfdGFpbCwg ZGVzYy0+aGVhZCwgZ2MtPndxX3NpemUpOwotCUdFTV9CVUdfT04oZnJlZXNwYWNlIDwgd3FpX3Np emUpOwotCi0JLyogVGhlIEd1QyBmaXJtd2FyZSB3YW50cyB0aGUgdGFpbCBpbmRleCBpbiBRV29y ZHMsIG5vdCBieXRlcyAqLwotCXRhaWwgPSBycS0+dGFpbDsKLQlHRU1fQlVHX09OKHRhaWwgJiA3 KTsKLQl0YWlsID4+PSAzOwotCUdFTV9CVUdfT04odGFpbCA+IFdRX1JJTkdfVEFJTF9NQVgpOwor CXUzMiB3cV9vZmYsIHdxX3BhZ2U7CiAKIAkvKiBGb3Igbm93IHdvcmtxdWV1ZSBpdGVtIGlzIDQg RFdzOyB3b3JrcXVldWUgYnVmZmVyIGlzIDIgcGFnZXMuIFNvIHdlCiAJICogc2hvdWxkIG5vdCBo YXZlIHRoZSBjYXNlIHdoZXJlIHN0cnVjdHVyZSB3cWkgaXMgYWNyb3NzIHBhZ2UsIG5laXRoZXIK QEAgLTQ4MiwxOCArNDcyLDE5IEBAIHN0YXRpYyB2b2lkIGd1Y19hZGRfd29ya3F1ZXVlX2l0ZW0o c3RydWN0IGk5MTVfZ3VjX2NsaWVudCAqZ2MsCiAJICogd29ya3F1ZXVlIGJ1ZmZlciBkdyBieSBk dy4KIAkgKi8KIAlCVUlMRF9CVUdfT04od3FpX3NpemUgIT0gMTYpOworCUdFTV9CVUdfT04oZ2Mt PndxX3JzdmQgPCB3cWlfc2l6ZSk7CiAKIAkvKiBwb3N0aW5jcmVtZW50IFdRIHRhaWwgZm9yIG5l eHQgdGltZSAqLwogCXdxX29mZiA9IGdjLT53cV90YWlsOworCUdFTV9CVUdfT04od3Ffb2ZmICYg KHdxaV9zaXplIC0gMSkpOwogCWdjLT53cV90YWlsICs9IHdxaV9zaXplOwogCWdjLT53cV90YWls ICY9IGdjLT53cV9zaXplIC0gMTsKLQlHRU1fQlVHX09OKHdxX29mZiAmICh3cWlfc2l6ZSAtIDEp KTsKKwlnYy0+d3FfcnN2ZCAtPSB3cWlfc2l6ZTsKIAogCS8qIFdRIHN0YXJ0cyBmcm9tIHRoZSBw YWdlIGFmdGVyIGRvb3JiZWxsIC8gcHJvY2Vzc19kZXNjICovCiAJd3FfcGFnZSA9ICh3cV9vZmYg KyBHVUNfREJfU0laRSkgPj4gUEFHRV9TSElGVDsKLQl3cV9vZmYgJj0gUEFHRV9TSVpFIC0gMTsK IAliYXNlID0ga21hcF9hdG9taWMoaTkxNV9nZW1fb2JqZWN0X2dldF9wYWdlKGdjLT52bWEtPm9i aiwgd3FfcGFnZSkpOwotCXdxaSA9IChzdHJ1Y3QgZ3VjX3dxX2l0ZW0gKikoKGNoYXIgKiliYXNl ICsgd3Ffb2ZmKTsKKwl3cWkgPSAoc3RydWN0IGd1Y193cV9pdGVtICopKChjaGFyICopYmFzZSAr IG9mZnNldF9pbl9wYWdlKHdxX29mZikpOwogCiAJLyogTm93IGZpbGwgaW4gdGhlIDQtd29yZCB3 b3JrIHF1ZXVlIGl0ZW0gKi8KIAl3cWktPmhlYWRlciA9IFdRX1RZUEVfSU5PUkRFUiB8CkBAIC01 MDQsNyArNDk1LDcgQEAgc3RhdGljIHZvaWQgZ3VjX2FkZF93b3JrcXVldWVfaXRlbShzdHJ1Y3Qg aTkxNV9ndWNfY2xpZW50ICpnYywKIAkvKiBUaGUgR3VDIHdhbnRzIG9ubHkgdGhlIGxvdy1vcmRl ciB3b3JkIG9mIHRoZSBjb250ZXh0IGRlc2NyaXB0b3IgKi8KIAl3cWktPmNvbnRleHRfZGVzYyA9 ICh1MzIpaW50ZWxfbHJfY29udGV4dF9kZXNjcmlwdG9yKHJxLT5jdHgsIGVuZ2luZSk7CiAKLQl3 cWktPnJpbmdfdGFpbCA9IHRhaWwgPDwgV1FfUklOR19UQUlMX1NISUZUOworCXdxaS0+cmluZ190 YWlsID0gcnEtPnRhaWwgPj4gMyA8PCBXUV9SSU5HX1RBSUxfU0hJRlQ7CiAJd3FpLT5mZW5jZV9p ZCA9IHJxLT5mZW5jZS5zZXFubzsKIAogCWt1bm1hcF9hdG9taWMoYmFzZSk7CkBAIC01OTEsOCAr NTgyLDEwIEBAIHN0YXRpYyB2b2lkIGk5MTVfZ3VjX3N1Ym1pdChzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgKnJxKQogCXN0cnVjdCBpOTE1X2d1Y19jbGllbnQgKmNsaWVudCA9IGd1Yy0+ZXhl Y2J1Zl9jbGllbnQ7CiAJaW50IGJfcmV0OwogCisJc3Bpbl9sb2NrKCZjbGllbnQtPmxvY2spOwog CWd1Y19hZGRfd29ya3F1ZXVlX2l0ZW0oY2xpZW50LCBycSk7CiAJYl9yZXQgPSBndWNfcmluZ19k b29yYmVsbChjbGllbnQpOworCXNwaW5fdW5sb2NrKCZjbGllbnQtPmxvY2spOwogCiAJY2xpZW50 LT5zdWJtaXNzaW9uc1tlbmdpbmVfaWRdICs9IDE7CiAJY2xpZW50LT5yZXRjb2RlID0gYl9yZXQ7 CkBAIC03NzAsNiArNzYzLDggQEAgZ3VjX2NsaWVudF9hbGxvYyhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCiAJaWYgKCFjbGllbnQpCiAJCXJldHVybiBOVUxMOwogCisJc3Bpbl9s b2NrX2luaXQoJmNsaWVudC0+bG9jayk7CisKIAljbGllbnQtPm93bmVyID0gY3R4OwogCWNsaWVu dC0+Z3VjID0gZ3VjOwogCWNsaWVudC0+ZW5naW5lcyA9IGVuZ2luZXM7CkBAIC0xMDE5LDkgKzEw MTQsMTEgQEAgaW50IGk5MTVfZ3VjX3N1Ym1pc3Npb25fZW5hYmxlKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKIAkJZW5naW5lLT5zdWJtaXRfcmVxdWVzdCA9IGk5MTVfZ3VjX3N1 Ym1pdDsKIAogCQkvKiBSZXBsYXkgdGhlIGN1cnJlbnQgc2V0IG9mIHByZXZpb3VzbHkgc3VibWl0 dGVkIHJlcXVlc3RzICovCi0JCWxpc3RfZm9yX2VhY2hfZW50cnkocmVxdWVzdCwgJmVuZ2luZS0+ cmVxdWVzdF9saXN0LCBsaW5rKQorCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHJlcXVlc3QsICZlbmdp bmUtPnJlcXVlc3RfbGlzdCwgbGluaykgeworCQkJY2xpZW50LT53cV9yc3ZkICs9IHNpemVvZihz dHJ1Y3QgZ3VjX3dxX2l0ZW0pOwogCQkJaWYgKGk5MTVfc3dfZmVuY2VfZG9uZSgmcmVxdWVzdC0+ c3VibWl0KSkKIAkJCQlpOTE1X2d1Y19zdWJtaXQocmVxdWVzdCk7CisJCX0KIAl9CiAKIAlyZXR1 cm4gMDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKaW5kZXggYzk3MzI2MjY5NTg4Li4yN2E2MjI4 MjRiNTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oCkBAIC02OCw2ICs2OCw4IEBAIHN0cnVj dCBpOTE1X2d1Y19jbGllbnQgewogCXN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpvd25lcjsKIAlz dHJ1Y3QgaW50ZWxfZ3VjICpndWM7CiAKKwlzcGlubG9ja190IGxvY2s7CisKIAl1aW50MzJfdCBl bmdpbmVzOwkJLyogYml0bWFwIG9mIChob3N0KSBlbmdpbmUgaWRzCSovCiAJdWludDMyX3QgcHJp b3JpdHk7CiAJdWludDMyX3QgY3R4X2luZGV4OwpAQCAtODEsNiArODMsNyBAQCBzdHJ1Y3QgaTkx NV9ndWNfY2xpZW50IHsKIAl1aW50MzJfdCB3cV9vZmZzZXQ7CiAJdWludDMyX3Qgd3Ffc2l6ZTsK IAl1aW50MzJfdCB3cV90YWlsOworCXVpbnQzMl90IHdxX3JzdmQ7CiAJdWludDMyX3Qgbm9fd3Ff c3BhY2U7CiAJdWludDMyX3QgYl9mYWlsOwogCWludCByZXRjb2RlOwotLSAKMi45LjMKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=