From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sagar Arun Kamble Subject: [PATCH 2/8] drm/i915/guc: Fix GuC interaction in reset/suspend scenarios Date: Mon, 28 Aug 2017 15:26:08 +0530 Message-ID: <1503914174-3974-2-git-send-email-sagar.a.kamble@intel.com> References: <1503914174-3974-1-git-send-email-sagar.a.kamble@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id A59A76E2AD for ; Mon, 28 Aug 2017 09:52:52 +0000 (UTC) In-Reply-To: <1503914174-3974-1-git-send-email-sagar.a.kamble@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 VGVhcmluZyBkb3duIG9mIGd1Y19nZ3R0X2ludmFsaWRhdGUvZ3VjX2ludGVycnVwdHMvZ3VjX2Nv bW11bmljYXRpb24Kc2V0dXAgc2hvdWxkIGhhcHBlbiB0b3dhcmRzIGVuZCBvZiByZXNldC9zdXNw ZW5kIGFzIHRoZXNlIGFyZQpzZXR1cCBiYWNrIGFnYWluIGR1cmluZyByZWNvdmVyeS9yZXN1bWUu CgpQcmVwYXJlZCBoZWxwZXJzIGludGVsX2d1Y19wYXVzZSBhbmQgaW50ZWxfZ3VjX3VucGF1c2Ug dGhhdCB3aWxsIGRvCnRlYXJkb3duL2JyaW5ndXAgb2YgdGhpcyBzZXR1cCBhbG9uZyB3aXRoIHN1 c3BlbnNpb24vcmVzdW1wdGlvbiBvZiBHdUMgaWYKbG9hZGVkLiBNb3ZlZCBpbnRlbF9ndWNfc3Vz cGVuZCwgaW50ZWxfZ3VjX3Jlc3VtZSB0byBpbnRlbF9ndWMuYy4KCkNjOiBDaHJpcyBXaWxzb24g PGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6IE1pY2hhbCBXYWpkZWN6a28gPG1pY2hhbC53 YWpkZWN6a29AaW50ZWwuY29tPgpDYzogRGFuaWVsZSBDZXJhb2xvIFNwdXJpbyA8ZGFuaWVsZS5j ZXJhb2xvc3B1cmlvQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogU2FnYXIgQXJ1biBLYW1ibGUg PHNhZ2FyLmEua2FtYmxlQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5jICAgICAgICAgICAgfCAgIDYgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt LmMgICAgICAgICAgICB8ICAgNiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3Vi bWlzc2lvbi5jIHwgIDUyIC0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1 Yy5jICAgICAgICAgICB8IDE1MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmggICAgICAgICAgIHwgICA5ICstCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF91Yy5jICAgICAgICAgICAgfCAgMjkgKy0tLS0tCiA2IGZpbGVzIGNo YW5nZWQsIDE2OSBpbnNlcnRpb25zKCspLCA4NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuYwppbmRleCAyYWU3MzBjLi5iMmU4Zjk1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMK QEAgLTE2OTAsOCArMTY5MCw2IEBAIHN0YXRpYyBpbnQgaTkxNV9kcm1fcmVzdW1lKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpCiAJfQogCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwog Ci0JaW50ZWxfZ3VjX3Jlc3VtZShkZXZfcHJpdik7Ci0KIAlpbnRlbF9tb2Rlc2V0X2luaXRfaHco ZGV2KTsKIAogCXNwaW5fbG9ja19pcnEoJmRldl9wcml2LT5pcnFfbG9jayk7CkBAIC0yNDg2LDcg KzI0ODQsNyBAQCBzdGF0aWMgaW50IGludGVsX3J1bnRpbWVfc3VzcGVuZChzdHJ1Y3QgZGV2aWNl ICprZGV2KQogCSAqLwogCWk5MTVfZ2VtX3J1bnRpbWVfc3VzcGVuZChkZXZfcHJpdik7CiAKLQlp bnRlbF9ndWNfc3VzcGVuZChkZXZfcHJpdik7CisJaW50ZWxfZ3VjX3J1bnRpbWVfc3VzcGVuZCgm ZGV2X3ByaXYtPmd1Yyk7CiAKIAlpbnRlbF9ydW50aW1lX3BtX2Rpc2FibGVfaW50ZXJydXB0cyhk ZXZfcHJpdik7CiAKQEAgLTI1NzEsNyArMjU2OSw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfcnVudGlt ZV9yZXN1bWUoc3RydWN0IGRldmljZSAqa2RldikKIAlpZiAoaW50ZWxfdW5jb3JlX3VuY2xhaW1l ZF9tbWlvKGRldl9wcml2KSkKIAkJRFJNX0RFQlVHX0RSSVZFUigiVW5jbGFpbWVkIGFjY2VzcyBk dXJpbmcgc3VzcGVuZCwgYmlvcz9cbiIpOwogCi0JaW50ZWxfZ3VjX3Jlc3VtZShkZXZfcHJpdik7 CisJaW50ZWxfZ3VjX3J1bnRpbWVfcmVzdW1lKCZkZXZfcHJpdi0+Z3VjKTsKIAogCWlmIChJU19H RU45X0xQKGRldl9wcml2KSkgewogCQlieHRfZGlzYWJsZV9kYzkoZGV2X3ByaXYpOwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtLmMKaW5kZXggYWMwMjc4NS4uMjRiZWQyZCAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbS5jCkBAIC0yODQyLDYgKzI4NDIsOCBAQCBpbnQgaTkxNV9nZW1fcmVzZXRfcHJlcGFyZShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAKIAlpOTE1X2dlbV9yZXZva2VfZmVu Y2VzKGRldl9wcml2KTsKIAorCWludGVsX2d1Y19yZXNldF9wcmVwYXJlKCZkZXZfcHJpdi0+Z3Vj KTsKKwogCXJldHVybiBlcnI7CiB9CiAKQEAgLTQ1NzYsOCArNDU3OCw2IEBAIGludCBpOTE1X2dl bV9zdXNwZW5kKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlpOTE1X2dlbV9j b250ZXh0c19sb3N0KGRldl9wcml2KTsKIAltdXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4 KTsKIAotCWludGVsX2d1Y19zdXNwZW5kKGRldl9wcml2KTsKLQogCWNhbmNlbF9kZWxheWVkX3dv cmtfc3luYygmZGV2X3ByaXYtPmdwdV9lcnJvci5oYW5nY2hlY2tfd29yayk7CiAJY2FuY2VsX2Rl bGF5ZWRfd29ya19zeW5jKCZkZXZfcHJpdi0+Z3QucmV0aXJlX3dvcmspOwogCkBAIC00NTkzLDYg KzQ1OTMsOCBAQCBpbnQgaTkxNV9nZW1fc3VzcGVuZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCiAJV0FSTl9PTihkZXZfcHJpdi0+Z3QuYXdha2UpOwogCVdBUk5fT04oIWludGVs X2VuZ2luZXNfYXJlX2lkbGUoZGV2X3ByaXYpKTsKIAorCWludGVsX2d1Y19zeXN0ZW1fc3VzcGVu ZCgmZGV2X3ByaXYtPmd1Yyk7CisKIAkvKgogCSAqIE5laXRoZXIgdGhlIEJJT1MsIG91cnNlbHZl cyBvciBhbnkgb3RoZXIga2VybmVsCiAJICogZXhwZWN0cyB0aGUgc3lzdGVtIHRvIGJlIGluIGV4 ZWNsaXN0cyBtb2RlIG9uIHN0YXJ0dXAsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19z dWJtaXNzaW9uLmMKaW5kZXggNjAyYWU4YS4uMmY5NzdhYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwpAQCAtMTI4Nyw1NSArMTI4NywzIEBAIHZvaWQgaTkx NV9ndWNfc3VibWlzc2lvbl9kaXNhYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKIAlndWNfY2xpZW50X2ZyZWUoZ3VjLT5leGVjYnVmX2NsaWVudCk7CiAJZ3VjLT5leGVjYnVm X2NsaWVudCA9IE5VTEw7CiB9Ci0KLS8qKgotICogaW50ZWxfZ3VjX3N1c3BlbmQoKSAtIG5vdGlm eSBHdUMgZW50ZXJpbmcgc3VzcGVuZCBzdGF0ZQotICogQGRldl9wcml2OglpOTE1IGRldmljZSBw cml2YXRlCi0gKi8KLWludCBpbnRlbF9ndWNfc3VzcGVuZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCi17Ci0Jc3RydWN0IGludGVsX2d1YyAqZ3VjID0gJmRldl9wcml2LT5ndWM7 Ci0Jc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eDsKLQl1MzIgZGF0YVszXTsKLQotCWlmIChn dWMtPmZ3LmxvYWRfc3RhdHVzICE9IElOVEVMX1VDX0ZJUk1XQVJFX1NVQ0NFU1MpCi0JCXJldHVy biAwOwotCi0JZ2VuOV9kaXNhYmxlX2d1Y19pbnRlcnJ1cHRzKGRldl9wcml2KTsKLQotCWN0eCA9 IGRldl9wcml2LT5rZXJuZWxfY29udGV4dDsKLQotCWRhdGFbMF0gPSBJTlRFTF9HVUNfQUNUSU9O X0VOVEVSX1NfU1RBVEU7Ci0JLyogYW55IHZhbHVlIGdyZWF0ZXIgdGhhbiBHVUNfUE9XRVJfRDAg Ki8KLQlkYXRhWzFdID0gR1VDX1BPV0VSX0QxOwotCS8qIGZpcnN0IHBhZ2UgaXMgc2hhcmVkIGRh dGEgd2l0aCBHdUMgKi8KLQlkYXRhWzJdID0gZ3VjX2dndHRfb2Zmc2V0KGN0eC0+ZW5naW5lW1JD U10uc3RhdGUpOwotCi0JcmV0dXJuIGludGVsX2d1Y19zZW5kKGd1YywgZGF0YSwgQVJSQVlfU0la RShkYXRhKSk7Ci19Ci0KLS8qKgotICogaW50ZWxfZ3VjX3Jlc3VtZSgpIC0gbm90aWZ5IEd1QyBy ZXN1bWluZyBmcm9tIHN1c3BlbmQgc3RhdGUKLSAqIEBkZXZfcHJpdjoJaTkxNSBkZXZpY2UgcHJp dmF0ZQotICovCi1pbnQgaW50ZWxfZ3VjX3Jlc3VtZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpCi17Ci0Jc3RydWN0IGludGVsX2d1YyAqZ3VjID0gJmRldl9wcml2LT5ndWM7Ci0J c3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eDsKLQl1MzIgZGF0YVszXTsKLQotCWlmIChndWMt PmZ3LmxvYWRfc3RhdHVzICE9IElOVEVMX1VDX0ZJUk1XQVJFX1NVQ0NFU1MpCi0JCXJldHVybiAw OwotCi0JaWYgKGk5MTUuZ3VjX2xvZ19sZXZlbCA+PSAwKQotCQlnZW45X2VuYWJsZV9ndWNfaW50 ZXJydXB0cyhkZXZfcHJpdik7Ci0KLQljdHggPSBkZXZfcHJpdi0+a2VybmVsX2NvbnRleHQ7Ci0K LQlkYXRhWzBdID0gSU5URUxfR1VDX0FDVElPTl9FWElUX1NfU1RBVEU7Ci0JZGF0YVsxXSA9IEdV Q19QT1dFUl9EMDsKLQkvKiBmaXJzdCBwYWdlIGlzIHNoYXJlZCBkYXRhIHdpdGggR3VDICovCi0J ZGF0YVsyXSA9IGd1Y19nZ3R0X29mZnNldChjdHgtPmVuZ2luZVtSQ1NdLnN0YXRlKTsKLQotCXJl dHVybiBpbnRlbF9ndWNfc2VuZChndWMsIGRhdGEsIEFSUkFZX1NJWkUoZGF0YSkpOwotfQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9ndWMuYwppbmRleCA5NzhhMGUzLi4xZmQ4NTk5IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9ndWMuYwpAQCAtMTkxLDMgKzE5MSwxNTUgQEAgdm9pZCBpbnRlbF9ndWNfYXV0aF9o dWMoc3RydWN0IGludGVsX2d1YyAqZ3VjLCBzdHJ1Y3QgaW50ZWxfdWNfZncgKmh1Y19mdykKIG91 dDoKIAlpOTE1X3ZtYV91bnBpbih2bWEpOwogfQorCitpbnQgaW50ZWxfZ3VjX2VuYWJsZV9jb21t dW5pY2F0aW9uKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSBndWNfdG9faTkxNShndWMpOworCisJaWYgKEhBU19HVUNfQ1QoZGV2 X3ByaXYpKQorCQlyZXR1cm4gaW50ZWxfZ3VjX2VuYWJsZV9jdChndWMpOworCisJZ3VjLT5zZW5k ID0gaW50ZWxfZ3VjX3NlbmRfbW1pbzsKKwlyZXR1cm4gMDsKK30KKwordm9pZCBpbnRlbF9ndWNf ZGlzYWJsZV9jb21tdW5pY2F0aW9uKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKK3sKKwlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBndWNfdG9faTkxNShndWMpOworCisJaWYgKEhB U19HVUNfQ1QoZGV2X3ByaXYpKQorCQlpbnRlbF9ndWNfZGlzYWJsZV9jdChndWMpOworCisJZ3Vj LT5zZW5kID0gaW50ZWxfZ3VjX3NlbmRfbm9wOworfQorCisvKioKKyAqIGludGVsX2d1Y19zdXNw ZW5kKCkgLSBub3RpZnkgR3VDIGVudGVyaW5nIHN1c3BlbmQgc3RhdGUKKyAqLworc3RhdGljIGlu dCBpbnRlbF9ndWNfc3VzcGVuZChzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCit7CisJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZ3VjX3RvX2k5MTUoZ3VjKTsKKwlzdHJ1Y3QgaTkx NV9nZW1fY29udGV4dCAqY3R4OworCXUzMiBkYXRhWzNdOworCisJaWYgKGd1Yy0+ZncubG9hZF9z dGF0dXMgIT0gSU5URUxfVUNfRklSTVdBUkVfU1VDQ0VTUykKKwkJcmV0dXJuIDA7CisKKwljdHgg PSBkZXZfcHJpdi0+a2VybmVsX2NvbnRleHQ7CisKKwlkYXRhWzBdID0gSU5URUxfR1VDX0FDVElP Tl9FTlRFUl9TX1NUQVRFOworCS8qIGFueSB2YWx1ZSBncmVhdGVyIHRoYW4gR1VDX1BPV0VSX0Qw ICovCisJZGF0YVsxXSA9IEdVQ19QT1dFUl9EMTsKKwkvKiBmaXJzdCBwYWdlIGlzIHNoYXJlZCBk YXRhIHdpdGggR3VDICovCisJZGF0YVsyXSA9IGd1Y19nZ3R0X29mZnNldChjdHgtPmVuZ2luZVtS Q1NdLnN0YXRlKTsKKworCXJldHVybiBpbnRlbF9ndWNfc2VuZChndWMsIGRhdGEsIEFSUkFZX1NJ WkUoZGF0YSkpOworfQorCisvKioKKyAqIGludGVsX2d1Y19yZXN1bWUoKSAtIG5vdGlmeSBHdUMg cmVzdW1pbmcgZnJvbSBzdXNwZW5kIHN0YXRlCisgKi8KK3N0YXRpYyBpbnQgaW50ZWxfZ3VjX3Jl c3VtZShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gZ3VjX3RvX2k5MTUoZ3VjKTsKKwlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAq Y3R4OworCXUzMiBkYXRhWzNdOworCisJaWYgKGd1Yy0+ZncubG9hZF9zdGF0dXMgIT0gSU5URUxf VUNfRklSTVdBUkVfU1VDQ0VTUykKKwkJcmV0dXJuIDA7CisKKwljdHggPSBkZXZfcHJpdi0+a2Vy bmVsX2NvbnRleHQ7CisKKwlkYXRhWzBdID0gSU5URUxfR1VDX0FDVElPTl9FWElUX1NfU1RBVEU7 CisJZGF0YVsxXSA9IEdVQ19QT1dFUl9EMDsKKwkvKiBmaXJzdCBwYWdlIGlzIHNoYXJlZCBkYXRh IHdpdGggR3VDICovCisJZGF0YVsyXSA9IGd1Y19nZ3R0X29mZnNldChjdHgtPmVuZ2luZVtSQ1Nd LnN0YXRlKTsKKworCXJldHVybiBpbnRlbF9ndWNfc2VuZChndWMsIGRhdGEsIEFSUkFZX1NJWkUo ZGF0YSkpOworfQorCitzdGF0aWMgdm9pZCBpbnRlbF9ndWNfc2FuaXRpemUoc3RydWN0IGludGVs X2d1YyAqZ3VjKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGd1Y190 b19pOTE1KGd1Yyk7CisKKwlpOTE1X2dndHRfZGlzYWJsZV9ndWMoZGV2X3ByaXYpOworCWludGVs X2d1Y19kaXNhYmxlX2NvbW11bmljYXRpb24oZ3VjKTsKKwlnZW45X2Rpc2FibGVfZ3VjX2ludGVy cnVwdHMoZGV2X3ByaXYpOworfQorCit2b2lkIGludGVsX2d1Y19yZXNldF9wcmVwYXJlKHN0cnVj dCBpbnRlbF9ndWMgKmd1YykKK3sKKwlpZiAoIWk5MTUuZW5hYmxlX2d1Y19sb2FkaW5nKQorCQly ZXR1cm47CisKKwlpbnRlbF9ndWNfc2FuaXRpemUoZ3VjKTsKKwlndWMtPmZ3LmxvYWRfc3RhdHVz ID0gSU5URUxfVUNfRklSTVdBUkVfUEVORElORzsKK30KKworc3RhdGljIGludCBpbnRlbF9ndWNf cGF1c2Uoc3RydWN0IGludGVsX2d1YyAqZ3VjKQoreworCWludCByZXQgPSAwOworCisJcmV0ID0g aW50ZWxfZ3VjX3N1c3BlbmQoZ3VjKTsKKwlpbnRlbF9ndWNfc2FuaXRpemUoZ3VjKTsKKworCXJl dHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgaW50ZWxfZ3VjX3VucGF1c2Uoc3RydWN0IGludGVs X2d1YyAqZ3VjKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGd1Y190 b19pOTE1KGd1Yyk7CisJaW50IHJldCA9IDA7CisKKwlpZiAoaTkxNS5ndWNfbG9nX2xldmVsID49 IDApCisJCWdlbjlfZW5hYmxlX2d1Y19pbnRlcnJ1cHRzKGRldl9wcml2KTsKKwlpbnRlbF9ndWNf ZW5hYmxlX2NvbW11bmljYXRpb24oZ3VjKTsKKwlpOTE1X2dndHRfZW5hYmxlX2d1YyhkZXZfcHJp dik7CisJcmV0ID0gaW50ZWxfZ3VjX3Jlc3VtZShndWMpOworCisJcmV0dXJuIHJldDsKK30KKwor aW50IGludGVsX2d1Y19ydW50aW1lX3N1c3BlbmQoc3RydWN0IGludGVsX2d1YyAqZ3VjKQorewor CWlmICghaTkxNS5lbmFibGVfZ3VjX2xvYWRpbmcpCisJCXJldHVybiAwOworCisJcmV0dXJuIGlu dGVsX2d1Y19wYXVzZShndWMpOworfQorCitpbnQgaW50ZWxfZ3VjX3J1bnRpbWVfcmVzdW1lKHN0 cnVjdCBpbnRlbF9ndWMgKmd1YykKK3sKKwlpZiAoIWk5MTUuZW5hYmxlX2d1Y19sb2FkaW5nKQor CQlyZXR1cm4gMDsKKworCXJldHVybiBpbnRlbF9ndWNfdW5wYXVzZShndWMpOworfQorCitpbnQg aW50ZWxfZ3VjX3N5c3RlbV9zdXNwZW5kKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKK3sKKwlpbnQg cmV0ID0gMDsKKworCWlmICghaTkxNS5lbmFibGVfZ3VjX2xvYWRpbmcpCisJCXJldHVybiByZXQ7 CisKKwlyZXQgPSBpbnRlbF9ndWNfcGF1c2UoZ3VjKTsKKwlndWMtPmZ3LmxvYWRfc3RhdHVzID0g SU5URUxfVUNfRklSTVdBUkVfUEVORElORzsKKworCXJldHVybiByZXQ7Cit9CisKK2ludCBpbnRl bF9ndWNfc3lzdGVtX3Jlc3VtZShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCit7CisJaW50IHJldCA9 IDA7CisKKwlpZiAoIWk5MTUuZW5hYmxlX2d1Y19sb2FkaW5nKQorCQlyZXR1cm4gcmV0OworCisJ LyoKKwkgKiBQbGFjZWhvbGRlciBmb3IgR3VDIHJlc3VtZSBmcm9tIHN5c3RlbSBzdXNwZW5kL2Zy ZWV6ZSBzdGF0ZXMuCisJICogQ3VycmVudGx5IGZ1bGwgcmVpbml0aWFsaXphdGlvbiBvZiBHRU0g YW5kIEd1QyBoYXBwZW5zIGFsb25nCisJICogdGhlc2UgcGF0aHMsIEhlbmNlIHRoaXMgZnVuY3Rp b24gaXMgZG9pbmcgbm90aGluZy4KKwkgKi8KKwlyZXR1cm4gcmV0OworfQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9ndWMuaAppbmRleCBiMzI5ODMwLi5iZjRkZGEwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9ndWMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9n dWMuaApAQCAtMTYyLDYgKzE2MiwxMyBAQCBzdGF0aWMgaW5saW5lIHUzMiBndWNfZ2d0dF9vZmZz ZXQoc3RydWN0IGk5MTVfdm1hICp2bWEpCiBpbnQgaW50ZWxfZ3VjX3NlbmRfbm9wKHN0cnVjdCBp bnRlbF9ndWMgKmd1YywgY29uc3QgdTMyICphY3Rpb24sIHUzMiBsZW4pOwogaW50IGludGVsX2d1 Y19zZW5kX21taW8oc3RydWN0IGludGVsX2d1YyAqZ3VjLCBjb25zdCB1MzIgKmFjdGlvbiwgdTMy IGxlbik7CiB2b2lkIGludGVsX2d1Y19hdXRoX2h1YyhzdHJ1Y3QgaW50ZWxfZ3VjICpndWMsIHN0 cnVjdCBpbnRlbF91Y19mdyAqaHVjX2Z3KTsKK2ludCBpbnRlbF9ndWNfZW5hYmxlX2NvbW11bmlj YXRpb24oc3RydWN0IGludGVsX2d1YyAqZ3VjKTsKK3ZvaWQgaW50ZWxfZ3VjX2Rpc2FibGVfY29t bXVuaWNhdGlvbihzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpOwordm9pZCBpbnRlbF9ndWNfcmVzZXRf cHJlcGFyZShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpOworaW50IGludGVsX2d1Y19ydW50aW1lX3N1 c3BlbmQoc3RydWN0IGludGVsX2d1YyAqZ3VjKTsKK2ludCBpbnRlbF9ndWNfcnVudGltZV9yZXN1 bWUoc3RydWN0IGludGVsX2d1YyAqZ3VjKTsKK2ludCBpbnRlbF9ndWNfc3lzdGVtX3N1c3BlbmQo c3RydWN0IGludGVsX2d1YyAqZ3VjKTsKK2ludCBpbnRlbF9ndWNfc3lzdGVtX3Jlc3VtZShzdHJ1 Y3QgaW50ZWxfZ3VjICpndWMpOwogCiBzdGF0aWMgaW5saW5lIGludCBpbnRlbF9ndWNfc2VuZChz dHJ1Y3QgaW50ZWxfZ3VjICpndWMsIGNvbnN0IHUzMiAqYWN0aW9uLAogCQkJCSB1MzIgbGVuKQpA QCAtMTc3LDggKzE4NCw2IEBAIHN0YXRpYyBpbmxpbmUgdm9pZCBpbnRlbF9ndWNfbm90aWZ5KHN0 cnVjdCBpbnRlbF9ndWMgKmd1YykKIC8qIGludGVsX2d1Y19sb2FkZXIuYyAqLwogaW50IGludGVs X2d1Y19zZWxlY3RfZncoc3RydWN0IGludGVsX2d1YyAqZ3VjKTsKIGludCBpbnRlbF9ndWNfaW5p dF9odyhzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpOwotaW50IGludGVsX2d1Y19zdXNwZW5kKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Ci1pbnQgaW50ZWxfZ3VjX3Jlc3VtZShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogdTMyIGludGVsX2d1Y193b3BjbV9zaXpl KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiAKIC8qIGk5MTVfZ3VjX3N1Ym1p c3Npb24uYyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWMuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VjLmMKaW5kZXggYTNmYzRjOC4uMzBjMDA0YyAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdWMuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF91Yy5jCkBAIC0yNjUsMjcgKzI2NSw2IEBAIHN0YXRpYyB2b2lk IGd1Y19mcmVlX2xvYWRfZXJyX2xvZyhzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCiAJCWk5MTVfZ2Vt X29iamVjdF9wdXQoZ3VjLT5sb2FkX2Vycl9sb2cpOwogfQogCi1zdGF0aWMgaW50IGd1Y19lbmFi bGVfY29tbXVuaWNhdGlvbihzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCi17Ci0Jc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZ3VjX3RvX2k5MTUoZ3VjKTsKLQotCWlmIChIQVNfR1VD X0NUKGRldl9wcml2KSkKLQkJcmV0dXJuIGludGVsX2d1Y19lbmFibGVfY3QoZ3VjKTsKLQotCWd1 Yy0+c2VuZCA9IGludGVsX2d1Y19zZW5kX21taW87Ci0JcmV0dXJuIDA7Ci19Ci0KLXN0YXRpYyB2 b2lkIGd1Y19kaXNhYmxlX2NvbW11bmljYXRpb24oc3RydWN0IGludGVsX2d1YyAqZ3VjKQotewot CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGd1Y190b19pOTE1KGd1Yyk7Ci0K LQlpZiAoSEFTX0dVQ19DVChkZXZfcHJpdikpCi0JCWludGVsX2d1Y19kaXNhYmxlX2N0KGd1Yyk7 Ci0KLQlndWMtPnNlbmQgPSBpbnRlbF9ndWNfc2VuZF9ub3A7Ci19Ci0KIGludCBpbnRlbF91Y19p bml0X2h3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKIAlzdHJ1Y3QgaW50 ZWxfZ3VjICpndWMgPSAmZGV2X3ByaXYtPmd1YzsKQEAgLTI5NSw3ICsyNzQsNyBAQCBpbnQgaW50 ZWxfdWNfaW5pdF9odyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJaWYgKCFp OTE1LmVuYWJsZV9ndWNfbG9hZGluZykKIAkJcmV0dXJuIDA7CiAKLQlndWNfZGlzYWJsZV9jb21t dW5pY2F0aW9uKGd1Yyk7CisJaW50ZWxfZ3VjX2Rpc2FibGVfY29tbXVuaWNhdGlvbihndWMpOwog CWdlbjlfcmVzZXRfZ3VjX2ludGVycnVwdHMoZGV2X3ByaXYpOwogCiAJLyogV2UgbmVlZCB0byBu b3RpZnkgdGhlIGd1YyB3aGVuZXZlciB3ZSBjaGFuZ2UgdGhlIEdHVFQgKi8KQEAgLTM0Nyw3ICsz MjYsNyBAQCBpbnQgaW50ZWxfdWNfaW5pdF9odyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCiAKIAlpbnRlbF9ndWNfaW5pdF9zZW5kX3JlZ3MoZ3VjKTsKIAotCXJldCA9IGd1Y19l bmFibGVfY29tbXVuaWNhdGlvbihndWMpOworCXJldCA9IGludGVsX2d1Y19lbmFibGVfY29tbXVu aWNhdGlvbihndWMpOwogCWlmIChyZXQpCiAJCWdvdG8gZXJyX2xvZ19jYXB0dXJlOwogCkBAIC0z NzMsNyArMzUyLDcgQEAgaW50IGludGVsX3VjX2luaXRfaHcoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQogCSAqIG1hcmtzIHRoZSBHUFUgYXMgd2VkZ2VkIHVudGlsIHJlc2V0KS4K IAkgKi8KIGVycl9pbnRlcnJ1cHRzOgotCWd1Y19kaXNhYmxlX2NvbW11bmljYXRpb24oZ3VjKTsK KwlpbnRlbF9ndWNfZGlzYWJsZV9jb21tdW5pY2F0aW9uKGd1Yyk7CiAJZ2VuOV9kaXNhYmxlX2d1 Y19pbnRlcnJ1cHRzKGRldl9wcml2KTsKIGVycl9sb2dfY2FwdHVyZToKIAlndWNfY2FwdHVyZV9s b2FkX2Vycl9sb2coZ3VjKTsKQEAgLTQxMCw3ICszODksNyBAQCB2b2lkIGludGVsX3VjX2Zpbmlf aHcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCWlmIChpOTE1LmVuYWJsZV9n dWNfc3VibWlzc2lvbikKIAkJaTkxNV9ndWNfc3VibWlzc2lvbl9kaXNhYmxlKGRldl9wcml2KTsK IAotCWd1Y19kaXNhYmxlX2NvbW11bmljYXRpb24oJmRldl9wcml2LT5ndWMpOworCWludGVsX2d1 Y19kaXNhYmxlX2NvbW11bmljYXRpb24oJmRldl9wcml2LT5ndWMpOwogCiAJaWYgKGk5MTUuZW5h YmxlX2d1Y19zdWJtaXNzaW9uKSB7CiAJCWdlbjlfZGlzYWJsZV9ndWNfaW50ZXJydXB0cyhkZXZf cHJpdik7Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cg==