From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Micha=C5=82=20Winiarski?= Subject: [PATCH v3 4/8] drm/i915/guc: Remove GuC wq reservation Date: Tue, 23 May 2017 00:07:51 +0200 Message-ID: <20170522220755.12400-4-michal.winiarski@intel.com> References: <20170522220755.12400-1-michal.winiarski@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id BB9616E2BA for ; Mon, 22 May 2017 22:15:53 +0000 (UTC) In-Reply-To: <20170522220755.12400-1-michal.winiarski@intel.com> 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 Tm93IHRoYXQgd2UgaGF2ZSBhbiB1cHBlciBib3VuZCBvbiB0aGUgbnVtYmVyIG9mIHdvcmsgaXRl bXMgYmVpbmcgc2VudAp0byBHdUMsIHdlIGNhbiByZW1vdmUgdGhlIHJlc2VydmF0aW9uLgoKdjI6 IE11bHRpcGx5IGJ5IG51bWJlciBvZiBlbmdpbmVzIGluIGNvbXBpbGUgdGltZSBhc3NlcnQgKERh bmllbGUpCnYzOiBDb21tZW50IG9uIHJlYXNvbmluZyBiZWhpbmQgdGhlIGNvbXBpbGUgdGltZSBh c3NlcnQgKENocmlzKQoKQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVr PgpDYzogRGFuaWVsZSBDZXJhb2xvIFNwdXJpbyA8ZGFuaWVsZS5jZXJhb2xvc3B1cmlvQGludGVs LmNvbT4KQ2M6IEplZmYgTWNHZWUgPGplZmYubWNnZWVAaW50ZWwuY29tPgpDYzogTWljaGFsIFdh amRlY3prbyA8bWljaGFsLndhamRlY3prb0BpbnRlbC5jb20+CkNjOiBPc2NhciBNYXRlbyA8b3Nj YXIubWF0ZW9AaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBNaWNoYcWCIFdpbmlhcnNraSA8bWlj aGFsLndpbmlhcnNraUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k ZWJ1Z2ZzLmMgICAgICAgIHwgIDIgLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3Vi bWlzc2lvbi5jIHwgODkgKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAgICAgfCAyNSArLS0tLS0tLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3VjLmggICAgICAgICAgICB8ICA4IC0tLQogNCBmaWxlcyBjaGFu Z2VkLCAxNyBpbnNlcnRpb25zKCspLCAxMDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2RlYnVnZnMuYwppbmRleCAwOTY5YjhkLi44MzM2NmE0IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2RlYnVnZnMuYwpAQCAtMjQ4MSw4ICsyNDgxLDYgQEAgc3RhdGljIHZvaWQgaTkxNV9ndWNf Y2xpZW50X2luZm8oc3RydWN0IHNlcV9maWxlICptLAogCXNlcV9wcmludGYobSwgIlx0V1Egc2l6 ZSAlZCwgb2Zmc2V0OiAweCV4LCB0YWlsICVkXG4iLAogCQljbGllbnQtPndxX3NpemUsIGNsaWVu dC0+d3Ffb2Zmc2V0LCBjbGllbnQtPndxX3RhaWwpOwogCi0Jc2VxX3ByaW50ZihtLCAiXHRXb3Jr IHF1ZXVlIGZ1bGw6ICV1XG4iLCBjbGllbnQtPm5vX3dxX3NwYWNlKTsKLQogCWZvcl9lYWNoX2Vu Z2luZShlbmdpbmUsIGRldl9wcml2LCBpZCkgewogCQl1NjQgc3VibWlzc2lvbnMgPSBjbGllbnQt PnN1Ym1pc3Npb25zW2lkXTsKIAkJdG90ICs9IHN1Ym1pc3Npb25zOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCmluZGV4IDJhMGMzMTYxLi42NmQ4ZWFmIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCkBAIC00MDYsNjMgKzQw Niw2IEBAIHN0YXRpYyB2b2lkIGd1Y19zdGFnZV9kZXNjX2Zpbmkoc3RydWN0IGludGVsX2d1YyAq Z3VjLAogCW1lbXNldChkZXNjLCAwLCBzaXplb2YoKmRlc2MpKTsKIH0KIAotLyoqCi0gKiBpOTE1 X2d1Y193cV9yZXNlcnZlKCkgLSByZXNlcnZlIHNwYWNlIGluIHRoZSBHdUMncyB3b3JrcXVldWUK LSAqIEByZXF1ZXN0OglyZXF1ZXN0IGFzc29jaWF0ZWQgd2l0aCB0aGUgY29tbWFuZHMKLSAqCi0g KiBSZXR1cm46CTAgaWYgc3BhY2UgaXMgYXZhaWxhYmxlCi0gKgkJLUVBR0FJTiBpZiBzcGFjZSBp cyBub3QgY3VycmVudGx5IGF2YWlsYWJsZQotICoKLSAqIFRoaXMgZnVuY3Rpb24gbXVzdCBiZSBj YWxsZWQgKGFuZCBtdXN0IHJldHVybiAwKSBiZWZvcmUgYSByZXF1ZXN0Ci0gKiBpcyBzdWJtaXR0 ZWQgdG8gdGhlIEd1QyB2aWEgaTkxNV9ndWNfc3VibWl0KCkgYmVsb3cuIE9uY2UgYSByZXN1bHQK LSAqIG9mIDAgaGFzIGJlZW4gcmV0dXJuZWQsIGl0IG11c3QgYmUgYmFsYW5jZWQgYnkgYSBjb3Jy ZXNwb25kaW5nCi0gKiBjYWxsIHRvIHN1Ym1pdCgpLgotICoKLSAqIFJlc2VydmF0aW9uIGFsbG93 cyB0aGUgY2FsbGVyIHRvIGRldGVybWluZSBpbiBhZHZhbmNlIHRoYXQgc3BhY2UKLSAqIHdpbGwg YmUgYXZhaWxhYmxlIGZvciB0aGUgbmV4dCBzdWJtaXNzaW9uIGJlZm9yZSBjb21taXR0aW5nIHJl c291cmNlcwotICogdG8gaXQsIGFuZCBoZWxwcyBhdm9pZCBsYXRlIGZhaWx1cmVzIHdpdGggY29t cGxpY2F0ZWQgcmVjb3ZlcnkgcGF0aHMuCi0gKi8KLWludCBpOTE1X2d1Y193cV9yZXNlcnZlKHN0 cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCkKLXsKLQljb25zdCBzaXplX3Qgd3Fp X3NpemUgPSBzaXplb2Yoc3RydWN0IGd1Y193cV9pdGVtKTsKLQlzdHJ1Y3QgaTkxNV9ndWNfY2xp ZW50ICpjbGllbnQgPSByZXF1ZXN0LT5pOTE1LT5ndWMuZXhlY2J1Zl9jbGllbnQ7Ci0Jc3RydWN0 IGd1Y19wcm9jZXNzX2Rlc2MgKmRlc2MgPSBfX2dldF9wcm9jZXNzX2Rlc2MoY2xpZW50KTsKLQl1 MzIgZnJlZXNwYWNlOwotCWludCByZXQ7Ci0KLQlzcGluX2xvY2tfaXJxKCZjbGllbnQtPndxX2xv Y2spOwotCWZyZWVzcGFjZSA9IENJUkNfU1BBQ0UoY2xpZW50LT53cV90YWlsLCBkZXNjLT5oZWFk LCBjbGllbnQtPndxX3NpemUpOwotCWZyZWVzcGFjZSAtPSBjbGllbnQtPndxX3JzdmQ7Ci0JaWYg KGxpa2VseShmcmVlc3BhY2UgPj0gd3FpX3NpemUpKSB7Ci0JCWNsaWVudC0+d3FfcnN2ZCArPSB3 cWlfc2l6ZTsKLQkJcmV0ID0gMDsKLQl9IGVsc2UgewotCQljbGllbnQtPm5vX3dxX3NwYWNlKys7 Ci0JCXJldCA9IC1FQUdBSU47Ci0JfQotCXNwaW5fdW5sb2NrX2lycSgmY2xpZW50LT53cV9sb2Nr KTsKLQotCXJldHVybiByZXQ7Ci19Ci0KLXN0YXRpYyB2b2lkIGd1Y19jbGllbnRfdXBkYXRlX3dx X3JzdmQoc3RydWN0IGk5MTVfZ3VjX2NsaWVudCAqY2xpZW50LCBpbnQgc2l6ZSkKLXsKLQl1bnNp Z25lZCBsb25nIGZsYWdzOwotCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmNsaWVudC0+d3FfbG9jaywg ZmxhZ3MpOwotCWNsaWVudC0+d3FfcnN2ZCArPSBzaXplOwotCXNwaW5fdW5sb2NrX2lycXJlc3Rv cmUoJmNsaWVudC0+d3FfbG9jaywgZmxhZ3MpOwotfQotCi12b2lkIGk5MTVfZ3VjX3dxX3VucmVz ZXJ2ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QpCi17Ci0JY29uc3QgaW50 IHdxaV9zaXplID0gc2l6ZW9mKHN0cnVjdCBndWNfd3FfaXRlbSk7Ci0Jc3RydWN0IGk5MTVfZ3Vj X2NsaWVudCAqY2xpZW50ID0gcmVxdWVzdC0+aTkxNS0+Z3VjLmV4ZWNidWZfY2xpZW50OwotCi0J R0VNX0JVR19PTihSRUFEX09OQ0UoY2xpZW50LT53cV9yc3ZkKSA8IHdxaV9zaXplKTsKLQlndWNf Y2xpZW50X3VwZGF0ZV93cV9yc3ZkKGNsaWVudCwgLXdxaV9zaXplKTsKLX0KLQogLyogQ29uc3Ry dWN0IGEgV29yayBJdGVtIGFuZCBhcHBlbmQgaXQgdG8gdGhlIEd1QydzIFdvcmsgUXVldWUgKi8K IHN0YXRpYyB2b2lkIGd1Y193cV9pdGVtX2FwcGVuZChzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpj bGllbnQsCiAJCQkgICAgICAgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpycSkKQEAgLTQ3 NSw3ICs0MTgsNyBAQCBzdGF0aWMgdm9pZCBndWNfd3FfaXRlbV9hcHBlbmQoc3RydWN0IGk5MTVf Z3VjX2NsaWVudCAqY2xpZW50LAogCXN0cnVjdCBndWNfd3FfaXRlbSAqd3FpOwogCXUzMiBmcmVl c3BhY2UsIHRhaWwsIHdxX29mZjsKIAotCS8qIEZyZWUgc3BhY2UgaXMgZ3VhcmFudGVlZCwgc2Vl IGk5MTVfZ3VjX3dxX3Jlc2VydmUoKSBhYm92ZSAqLworCS8qIEZyZWUgc3BhY2UgaXMgZ3VhcmFu dGVlZCAqLwogCWZyZWVzcGFjZSA9IENJUkNfU1BBQ0UoY2xpZW50LT53cV90YWlsLCBkZXNjLT5o ZWFkLCBjbGllbnQtPndxX3NpemUpOwogCUdFTV9CVUdfT04oZnJlZXNwYWNlIDwgd3FpX3NpemUp OwogCkBAIC01ODEsMTQgKzUyNCw2IEBAIHN0YXRpYyBpbnQgZ3VjX3JpbmdfZG9vcmJlbGwoc3Ry dWN0IGk5MTVfZ3VjX2NsaWVudCAqY2xpZW50KQogICogaTkxNV9ndWNfc3VibWl0KCkgLSBTdWJt aXQgY29tbWFuZHMgdGhyb3VnaCBHdUMKICAqIEBycToJCXJlcXVlc3QgYXNzb2NpYXRlZCB3aXRo IHRoZSBjb21tYW5kcwogICoKLSAqIFRoZSBjYWxsZXIgbXVzdCBoYXZlIGFscmVhZHkgY2FsbGVk IGk5MTVfZ3VjX3dxX3Jlc2VydmUoKSBhYm92ZSB3aXRoCi0gKiBhIHJlc3VsdCBvZiAwIChzdWNj ZXNzKSwgZ3VhcmFudGVlaW5nIHRoYXQgdGhlcmUgaXMgc3BhY2UgaW4gdGhlIHdvcmsKLSAqIHF1 ZXVlIGZvciB0aGUgbmV3IHJlcXVlc3QsIHNvIGVucXVldWluZyB0aGUgaXRlbSBjYW5ub3QgZmFp bC4KLSAqCi0gKiBCYWQgVGhpbmdzIFdpbGwgSGFwcGVuIGlmIHRoZSBjYWxsZXIgdmlvbGF0ZXMg dGhpcyBwcm90b2NvbCBlLmcuIGNhbGxzCi0gKiBzdWJtaXQoKSB3aGVuIF9yZXNlcnZlKCkgc2F5 cyB0aGVyZSdzIG5vIHNwYWNlLCBvciBjYWxscyBfc3VibWl0KCkKLSAqIGEgZGlmZmVyZW50IG51 bWJlciBvZiB0aW1lcyBmcm9tIChzdWNjZXNzZnVsKSBjYWxscyB0byBfcmVzZXJ2ZSgpLgotICoK ICAqIFRoZSBvbmx5IGVycm9yIGhlcmUgYXJpc2VzIGlmIHRoZSBkb29yYmVsbCBoYXJkd2FyZSBp c24ndCBmdW5jdGlvbmluZwogICogYXMgZXhwZWN0ZWQsIHdoaWNoIHJlYWxseSBzaG91bG4ndCBo YXBwZW4uCiAgKi8KQEAgLTY5MSw3ICs2MjYsNiBAQCBzdGF0aWMgdm9pZCBpOTE1X2d1Y19kZXF1 ZXVlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAkJCXRyYWNlX2k5MTVfZ2VtX3Jl cXVlc3RfaW4ocnEsIHBvcnRfaW5kZXgocG9ydCwgZW5naW5lKSk7CiAJCQlsYXN0ID0gcnE7CiAJ CQlzdWJtaXQgPSB0cnVlOwotCQkJaTkxNV9ndWNfd3FfdW5yZXNlcnZlKHJxKTsKIAkJfQogCiAJ CXJiID0gcmJfbmV4dChyYik7CkBAIC0xMjE2LDYgKzExNTAsMTkgQEAgaW50IGk5MTVfZ3VjX3N1 Ym1pc3Npb25fZW5hYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAllbnVt IGludGVsX2VuZ2luZV9pZCBpZDsKIAlpbnQgZXJyOwogCisJLyoKKwkgKiBXZSdyZSB1c2luZyBH dUMgd29yayBpdGVtcyBmb3Igc3VibWl0dGluZyB3b3JrIHRocm91Z2ggR3VDLiBTaW5jZQorCSAq IHdlJ3JlIGNvYWxlc2NpbmcgbXVsdGlwbGUgcmVxdWVzdHMgZnJvbSBhIHNpbmdsZSBjb250ZXh0 IGludG8gYQorCSAqIHNpbmdsZSB3b3JrIGl0ZW0gcHJpb3IgdG8gYXNzaWduaW5nIGl0IHRvIGV4 ZWNsaXN0X3BvcnQsIHdlIGNhbgorCSAqIG5ldmVyIGhhdmUgbW9yZSB3b3JrIGl0ZW1zIHRoYW4g dGhlIHRvdGFsIG51bWJlciBvZiBwb3J0cyAoZm9yIGFsbAorCSAqIGVuZ2luZXMpLiBUaGUgR3VD IGZpcm13YXJlIGlzIGNvbnRyb2xsaW5nIHRoZSBIRUFEIG9mIHdvcmsgcXVldWUsCisJICogYW5k IGl0IGlzIGd1YXJhbnRlZWQgdGhhdCBpdCB3aWxsIHJlbW92ZSB0aGUgd29yayBpdGVtIGZyb20g dGhlCisJICogcXVldWUgYmVmb3JlIG91ciByZXF1ZXN0IGlzIGNvbXBsZXRlZC4KKwkgKi8KKwlC VUlMRF9CVUdfT04oQVJSQVlfU0laRShlbmdpbmUtPmV4ZWNsaXN0X3BvcnQpICoKKwkJICAgICBz aXplb2Yoc3RydWN0IGd1Y193cV9pdGVtKSAqCisJCSAgICAgSTkxNV9OVU1fRU5HSU5FUyA+IEdV Q19XUV9TSVpFKTsKKwogCWlmICghY2xpZW50KSB7CiAJCWNsaWVudCA9IGd1Y19jbGllbnRfYWxs b2MoZGV2X3ByaXYsCiAJCQkJCSAgSU5URUxfSU5GTyhkZXZfcHJpdiktPnJpbmdfbWFzaywKQEAg LTEyNDMsOCArMTE5MCw2IEBAIGludCBpOTE1X2d1Y19zdWJtaXNzaW9uX2VuYWJsZShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJZ3VjX2ludGVycnVwdHNfY2FwdHVyZShkZXZf cHJpdik7CiAKIAlmb3JfZWFjaF9lbmdpbmUoZW5naW5lLCBkZXZfcHJpdiwgaWQpIHsKLQkJY29u c3QgaW50IHdxaV9zaXplID0gc2l6ZW9mKHN0cnVjdCBndWNfd3FfaXRlbSk7Ci0JCXN0cnVjdCBk cm1faTkxNV9nZW1fcmVxdWVzdCAqcnE7CiAJCXN0cnVjdCBleGVjbGlzdF9wb3J0ICpwb3J0ID0g ZW5naW5lLT5leGVjbGlzdF9wb3J0OwogCQlpbnQgbjsKIApAQCAtMTI1NiwxMiArMTIwMSw2IEBA IGludCBpOTE1X2d1Y19zdWJtaXNzaW9uX2VuYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCiAJCWVuZ2luZS0+aXJxX3Rhc2tsZXQuZnVuYyA9IGk5MTVfZ3VjX2lycV9oYW5k bGVyOwogCQljbGVhcl9iaXQoRU5HSU5FX0lSUV9FWEVDTElTVCwgJmVuZ2luZS0+aXJxX3Bvc3Rl ZCk7CiAKLQkJLyogUmVwbGF5IHRoZSBjdXJyZW50IHNldCBvZiBwcmV2aW91c2x5IHN1Ym1pdHRl ZCByZXF1ZXN0cyAqLwotCQlzcGluX2xvY2tfaXJxKCZlbmdpbmUtPnRpbWVsaW5lLT5sb2NrKTsK LQkJbGlzdF9mb3JfZWFjaF9lbnRyeShycSwgJmVuZ2luZS0+dGltZWxpbmUtPnJlcXVlc3RzLCBs aW5rKQotCQkJZ3VjX2NsaWVudF91cGRhdGVfd3FfcnN2ZChjbGllbnQsIHdxaV9zaXplKTsKLQkJ c3Bpbl91bmxvY2tfaXJxKCZlbmdpbmUtPnRpbWVsaW5lLT5sb2NrKTsKLQogCQlmb3IgKG4gPSAw OyBuIDwgQVJSQVlfU0laRShlbmdpbmUtPmV4ZWNsaXN0X3BvcnQpOyBuKyspIHsKIAkJCWlmICgh cG9ydF9pc3NldCgmcG9ydFtuXSkpCiAJCQkJYnJlYWs7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5j CmluZGV4IDAxNGIzMGEuLjVkNGYyM2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2xyYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCkBAIC05 MTMsMjcgKzkxMywxNCBAQCBzdGF0aWMgaW50IGV4ZWNsaXN0c19yZXF1ZXN0X2FsbG9jKHN0cnVj dCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCkKIAkgKi8KIAlyZXF1ZXN0LT5yZXNlcnZl ZF9zcGFjZSArPSBFWEVDTElTVFNfUkVRVUVTVF9TSVpFOwogCi0JaWYgKGk5MTUuZW5hYmxlX2d1 Y19zdWJtaXNzaW9uKSB7Ci0JCS8qCi0JCSAqIENoZWNrIHRoYXQgdGhlIEd1QyBoYXMgc3BhY2Ug Zm9yIHRoZSByZXF1ZXN0IGJlZm9yZQotCQkgKiBnb2luZyBhbnkgZnVydGhlciwgYXMgdGhlIGk5 MTVfYWRkX3JlcXVlc3QoKSBjYWxsCi0JCSAqIGxhdGVyIG9uIG11c3RuJ3QgZmFpbCAuLi4KLQkJ ICovCi0JCXJldCA9IGk5MTVfZ3VjX3dxX3Jlc2VydmUocmVxdWVzdCk7Ci0JCWlmIChyZXQpCi0J CQlnb3RvIGVycjsKLQl9Ci0KIAljcyA9IGludGVsX3JpbmdfYmVnaW4ocmVxdWVzdCwgMCk7Ci0J aWYgKElTX0VSUihjcykpIHsKLQkJcmV0ID0gUFRSX0VSUihjcyk7Ci0JCWdvdG8gZXJyX3VucmVz ZXJ2ZTsKLQl9CisJaWYgKElTX0VSUihjcykpCisJCXJldHVybiBQVFJfRVJSKGNzKTsKIAogCWlm ICghY2UtPmluaXRpYWxpc2VkKSB7CiAJCXJldCA9IGVuZ2luZS0+aW5pdF9jb250ZXh0KHJlcXVl c3QpOwogCQlpZiAocmV0KQotCQkJZ290byBlcnJfdW5yZXNlcnZlOworCQkJcmV0dXJuIHJldDsK IAogCQljZS0+aW5pdGlhbGlzZWQgPSB0cnVlOwogCX0KQEAgLTk0NywxMiArOTM0LDYgQEAgc3Rh dGljIGludCBleGVjbGlzdHNfcmVxdWVzdF9hbGxvYyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVl c3QgKnJlcXVlc3QpCiAKIAlyZXF1ZXN0LT5yZXNlcnZlZF9zcGFjZSAtPSBFWEVDTElTVFNfUkVR VUVTVF9TSVpFOwogCXJldHVybiAwOwotCi1lcnJfdW5yZXNlcnZlOgotCWlmIChpOTE1LmVuYWJs ZV9ndWNfc3VibWlzc2lvbikKLQkJaTkxNV9ndWNfd3FfdW5yZXNlcnZlKHJlcXVlc3QpOwotZXJy OgotCXJldHVybiByZXQ7CiB9CiAKIC8qCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF91Yy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWMuaAppbmRleCA5MzBm MmUxLi5iODZmODY2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91Yy5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjLmgKQEAgLTU1LDEwICs1NSw2IEBA IHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdDsKICAqCiAgKiBXZSBhbHNvIGtlZXAgYSBmZXcg c3RhdGlzdGljcyBvbiBmYWlsdXJlcy4gSWRlYWxseSwgdGhlc2Ugc2hvdWxkIGFsbAogICogYmUg emVybyEKLSAqICAgbm9fd3Ffc3BhY2U6IHRpbWVzIHRoYXQgdGhlIHN1Ym1pc3Npb24gcHJlLWNo ZWNrIGZvdW5kIG5vIHNwYWNlIHdhcwotICogICAgICAgICAgICAgICAgYXZhaWxhYmxlIGluIHRo ZSB3b3JrIHF1ZXVlIChub3RlLCB0aGUgcXVldWUgaXMgc2hhcmVkLAotICogICAgICAgICAgICAg ICAgbm90IHBlci1lbmdpbmUpLiBJdCBpcyBPSyBmb3IgdGhpcyB0byBiZSBub256ZXJvLCBidXQK LSAqICAgICAgICAgICAgICAgIGl0IHNob3VsZCBub3QgYmUgaHVnZSEKICAqLwogc3RydWN0IGk5 MTVfZ3VjX2NsaWVudCB7CiAJc3RydWN0IGk5MTVfdm1hICp2bWE7CkBAIC03OSw4ICs3NSw2IEBA IHN0cnVjdCBpOTE1X2d1Y19jbGllbnQgewogCXVpbnQzMl90IHdxX29mZnNldDsKIAl1aW50MzJf dCB3cV9zaXplOwogCXVpbnQzMl90IHdxX3RhaWw7Ci0JdWludDMyX3Qgd3FfcnN2ZDsKLQl1aW50 MzJfdCBub193cV9zcGFjZTsKIAogCS8qIFBlci1lbmdpbmUgY291bnRzIG9mIEd1QyBzdWJtaXNz aW9ucyAqLwogCXVpbnQ2NF90IHN1Ym1pc3Npb25zW0k5MTVfTlVNX0VOR0lORVNdOwpAQCAtMjQy LDggKzIzNiw2IEBAIHUzMiBpbnRlbF9ndWNfd29wY21fc2l6ZShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpOwogLyogaTkxNV9ndWNfc3VibWlzc2lvbi5jICovCiBpbnQgaTkxNV9n dWNfc3VibWlzc2lvbl9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiBp bnQgaTkxNV9ndWNfc3VibWlzc2lvbl9lbmFibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KTsKLWludCBpOTE1X2d1Y193cV9yZXNlcnZlKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVx dWVzdCAqcnEpOwotdm9pZCBpOTE1X2d1Y193cV91bnJlc2VydmUoc3RydWN0IGRybV9pOTE1X2dl bV9yZXF1ZXN0ICpyZXF1ZXN0KTsKIHZvaWQgaTkxNV9ndWNfc3VibWlzc2lvbl9kaXNhYmxlKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiB2b2lkIGk5MTVfZ3VjX3N1Ym1pc3Np b25fZmluaShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogc3RydWN0IGk5MTVf dm1hICppbnRlbF9ndWNfYWxsb2NhdGVfdm1hKHN0cnVjdCBpbnRlbF9ndWMgKmd1YywgdTMyIHNp emUpOwotLSAKMi45LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=