From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 17/21] drm/i915/guc: Prepare for nonblocking execbuf submission Date: Mon, 5 Sep 2016 14:04:34 +0100 Message-ID: <20160905130438.31046-18-chris@chris-wilson.co.uk> References: <20160905130438.31046-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-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3090D6E3FB for ; Mon, 5 Sep 2016 13:05:05 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id a6so2075742wmc.2 for ; Mon, 05 Sep 2016 06:05:05 -0700 (PDT) In-Reply-To: <20160905130438.31046-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 by51az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMgfCAz NSArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2d1Yy5oICAgICAgICAgICB8ICAzICsrKwogMiBmaWxlcyBjaGFuZ2VkLCAyNiBpbnNlcnRp b25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19z dWJtaXNzaW9uLmMKaW5kZXggMjMzMmY5Yzk4YmRkLi4yOTNiOTIyZWIyMjMgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKQEAgLTQzNCwyMCArNDM0LDIzIEBA IGludCBpOTE1X2d1Y193cV9jaGVja19zcGFjZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3Qg KnJlcXVlc3QpCiB7CiAJY29uc3Qgc2l6ZV90IHdxaV9zaXplID0gc2l6ZW9mKHN0cnVjdCBndWNf d3FfaXRlbSk7CiAJc3RydWN0IGk5MTVfZ3VjX2NsaWVudCAqZ2MgPSByZXF1ZXN0LT5pOTE1LT5n dWMuZXhlY2J1Zl9jbGllbnQ7Ci0Jc3RydWN0IGd1Y19wcm9jZXNzX2Rlc2MgKmRlc2M7CisJc3Ry dWN0IGd1Y19wcm9jZXNzX2Rlc2MgKmRlc2MgPSBnYy0+Y2xpZW50X2Jhc2UgKyBnYy0+cHJvY19k ZXNjX29mZnNldDsKIAl1MzIgZnJlZXNwYWNlOworCWludCByZXQ7CiAKLQlHRU1fQlVHX09OKGdj ID09IE5VTEwpOwotCi0JZGVzYyA9IGdjLT5jbGllbnRfYmFzZSArIGdjLT5wcm9jX2Rlc2Nfb2Zm c2V0OwotCisJc3Bpbl9sb2NrKCZnYy0+bG9jayk7CiAJZnJlZXNwYWNlID0gQ0lSQ19TUEFDRShn Yy0+d3FfdGFpbCwgZGVzYy0+aGVhZCwgZ2MtPndxX3NpemUpOwotCWlmIChsaWtlbHkoZnJlZXNw YWNlID49IHdxaV9zaXplKSkKLQkJcmV0dXJuIDA7Ci0KLQlnYy0+bm9fd3Ffc3BhY2UgKz0gMTsK KwlmcmVlc3BhY2UgLT0gZ2MtPndxX3JzdmQ7CisJaWYgKGxpa2VseShmcmVlc3BhY2UgPj0gd3Fp X3NpemUpKSB7CisJCWdjLT53cV9yc3ZkICs9IHdxaV9zaXplOworCQlyZXQgPSAwOworCX0gZWxz ZSB7CisJCWdjLT5ub193cV9zcGFjZSsrOworCQlyZXQgPSAtRUFHQUlOOworCX0KKwlzcGluX3Vu bG9jaygmZ2MtPmxvY2spOwogCi0JcmV0dXJuIC1FQUdBSU47CisJcmV0dXJuIHJldDsKIH0KIAog c3RhdGljIHZvaWQgZ3VjX2FkZF93b3JrcXVldWVfaXRlbShzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50 ICpnYywKQEAgLTQ4MiwxMiArNDg1LDE0IEBAIHN0YXRpYyB2b2lkIGd1Y19hZGRfd29ya3F1ZXVl X2l0ZW0oc3RydWN0IGk5MTVfZ3VjX2NsaWVudCAqZ2MsCiAJICogd29ya3F1ZXVlIGJ1ZmZlciBk dyBieSBkdy4KIAkgKi8KIAlCVUlMRF9CVUdfT04od3FpX3NpemUgIT0gMTYpOworCUdFTV9CVUdf T04oZ2MtPndxX3JzdmQgPCB3cWlfc2l6ZSk7CiAKIAkvKiBwb3N0aW5jcmVtZW50IFdRIHRhaWwg Zm9yIG5leHQgdGltZSAqLwogCXdxX29mZiA9IGdjLT53cV90YWlsOworCUdFTV9CVUdfT04od3Ff b2ZmICYgKHdxaV9zaXplIC0gMSkpOwogCWdjLT53cV90YWlsICs9IHdxaV9zaXplOwogCWdjLT53 cV90YWlsICY9IGdjLT53cV9zaXplIC0gMTsKLQlHRU1fQlVHX09OKHdxX29mZiAmICh3cWlfc2l6 ZSAtIDEpKTsKKwlnYy0+d3FfcnN2ZCAtPSB3cWlfc2l6ZTsKIAogCS8qIFdRIHN0YXJ0cyBmcm9t IHRoZSBwYWdlIGFmdGVyIGRvb3JiZWxsIC8gcHJvY2Vzc19kZXNjICovCiAJd3FfcGFnZSA9ICh3 cV9vZmYgKyBHVUNfREJfU0laRSkgPj4gUEFHRV9TSElGVDsKQEAgLTU5MSw2ICs1OTYsNyBAQCBz dGF0aWMgdm9pZCBpOTE1X2d1Y19zdWJtaXQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpy cSkKIAlzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpjbGllbnQgPSBndWMtPmV4ZWNidWZfY2xpZW50 OwogCWludCBiX3JldDsKIAorCXNwaW5fbG9jaygmY2xpZW50LT5sb2NrKTsKIAlndWNfYWRkX3dv cmtxdWV1ZV9pdGVtKGNsaWVudCwgcnEpOwogCWJfcmV0ID0gZ3VjX3JpbmdfZG9vcmJlbGwoY2xp ZW50KTsKIApAQCAtNjAxLDYgKzYwNyw3IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ3VjX3N1Ym1pdChz dHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJxKQogCiAJZ3VjLT5zdWJtaXNzaW9uc1tlbmdp bmVfaWRdICs9IDE7CiAJZ3VjLT5sYXN0X3NlcW5vW2VuZ2luZV9pZF0gPSBycS0+ZmVuY2Uuc2Vx bm87CisJc3Bpbl91bmxvY2soJmNsaWVudC0+bG9jayk7CiB9CiAKIC8qCkBAIC03NzAsNiArNzc3 LDggQEAgZ3VjX2NsaWVudF9hbGxvYyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs CiAJaWYgKCFjbGllbnQpCiAJCXJldHVybiBOVUxMOwogCisJc3Bpbl9sb2NrX2luaXQoJmNsaWVu dC0+bG9jayk7CisKIAljbGllbnQtPm93bmVyID0gY3R4OwogCWNsaWVudC0+Z3VjID0gZ3VjOwog CWNsaWVudC0+ZW5naW5lcyA9IGVuZ2luZXM7CkBAIC0xMDE5LDkgKzEwMjgsMTEgQEAgaW50IGk5 MTVfZ3VjX3N1Ym1pc3Npb25fZW5hYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKIAkJZW5naW5lLT5zdWJtaXRfcmVxdWVzdCA9IGk5MTVfZ3VjX3N1Ym1pdDsKIAogCQkvKiBS ZXBsYXkgdGhlIGN1cnJlbnQgc2V0IG9mIHByZXZpb3VzbHkgc3VibWl0dGVkIHJlcXVlc3RzICov Ci0JCWxpc3RfZm9yX2VhY2hfZW50cnkocmVxdWVzdCwgJmVuZ2luZS0+cmVxdWVzdF9saXN0LCBs aW5rKQorCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHJlcXVlc3QsICZlbmdpbmUtPnJlcXVlc3RfbGlz dCwgbGluaykgeworCQkJY2xpZW50LT53cV9yc3ZkICs9IHNpemVvZihzdHJ1Y3QgZ3VjX3dxX2l0 ZW0pOwogCQkJaWYgKGk5MTVfc3dfZmVuY2VfZG9uZSgmcmVxdWVzdC0+c3VibWl0KSkKIAkJCQlp OTE1X2d1Y19zdWJtaXQocmVxdWVzdCk7CisJCX0KIAl9CiAKIAlyZXR1cm4gMDsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZ3VjLmgKaW5kZXggYzk3MzI2MjY5NTg4Li4yN2E2MjI4MjRiNTQgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2d1Yy5oCkBAIC02OCw2ICs2OCw4IEBAIHN0cnVjdCBpOTE1X2d1Y19jbGll bnQgewogCXN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpvd25lcjsKIAlzdHJ1Y3QgaW50ZWxfZ3Vj ICpndWM7CiAKKwlzcGlubG9ja190IGxvY2s7CisKIAl1aW50MzJfdCBlbmdpbmVzOwkJLyogYml0 bWFwIG9mIChob3N0KSBlbmdpbmUgaWRzCSovCiAJdWludDMyX3QgcHJpb3JpdHk7CiAJdWludDMy X3QgY3R4X2luZGV4OwpAQCAtODEsNiArODMsNyBAQCBzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50IHsK IAl1aW50MzJfdCB3cV9vZmZzZXQ7CiAJdWludDMyX3Qgd3Ffc2l6ZTsKIAl1aW50MzJfdCB3cV90 YWlsOworCXVpbnQzMl90IHdxX3JzdmQ7CiAJdWludDMyX3Qgbm9fd3Ffc3BhY2U7CiAJdWludDMy X3QgYl9mYWlsOwogCWludCByZXRjb2RlOwotLSAKMi45LjMKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=