From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sagar Arun Kamble Subject: [PATCH 3/6] drm/i915/guc: Fix GuC interaction in reset/suspend scenarios Date: Wed, 13 Sep 2017 12:00:37 +0530 Message-ID: <1505284240-6895-3-git-send-email-sagar.a.kamble@intel.com> References: <1505284240-6895-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1EFA66E77C for ; Wed, 13 Sep 2017 06:27:27 +0000 (UTC) In-Reply-To: <1505284240-6895-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 RnJvbTogIkthbWJsZSwgU2FnYXIgQSIgPHNhZ2FyLmEua2FtYmxlQGludGVsLmNvbT4KCmd1Y19n Z3R0X2ludmFsaWRhdGUvZ3VjX2ludGVycnVwdHMvZ3VjX2NvbW11bmljYXRpb24gc2hvdWxkIGJl CmRpc2FibGVkIHRvd2FyZHMgZW5kIG9mIHJlc2V0L3N1c3BlbmQgcG9zdCBHdUMgc3VzcGVuc2lv biBhcyB0aGVzZQphcmUgc2V0dXAgYmFjayBhZ2FpbiBkdXJpbmcgcmVjb3ZlcnkvcmVzdW1lLgoK UHJlcGFyZWQgaGVscGVycyBpbnRlbF9ndWNfcGF1c2UgYW5kIGludGVsX2d1Y191bnBhdXNlIHRo YXQgd2lsbCBkbwp0ZWFyZG93bi9icmluZ3VwIG9mIHRoaXMgc2V0dXAgYWxvbmcgd2l0aCBzdXNw ZW5zaW9uL3Jlc3VtcHRpb24gb2YgR3VDIGlmCmxvYWRlZC4gVGhlc2UgaGVscGVycyBjYW4gdGhl biBiZSB1c2VkIGFsb25nIHRoZSBzeXN0ZW0gb3IgcnVudGltZQpzdXNwZW5kL3Jlc3VtZSBwYXRo cyBhcyBhcHBsaWNhYmxlLiBDdXJyZW50bHkgcG9zdCBzeXN0ZW0gcmVzdW1lLCBzaW5jZQpHdUMg aXMgbG9hZGVkIGNvbXBsZXRlbHkgc3lzdGVtX3Jlc3VtZSBmdW5jdGlvbiBmb3IgR3VDIGlzIGRv aW5nCm5vdGhpbmcuIFdlIHJlbHkgb24gdGhlIHNldHVwIGhhcHBlbmluZyBpbiBpbnRlbF91Y19p bml0X2h3IHBhdGguCkR1cmluZyBydW50aW1fc3VzcGVuZCB3ZSB3aWxsIGNhbGwgaW50ZWxfZ3Vj X3BhdXNlIGhlbHBlciB0aGF0IHdpbGwKc3VzcGVuZCBHdUMgb3BlcmF0aW9uIGJ5IHNlbmRpbmcg SG9zdCB0byBHdUMgYWN0aW9uIEVOVEVSX1NfU1RBVEUgYW5kCnRoZW4gZGlzYWJsZSBnZ3R0X2lu dmFsaWRhdGUsIGRpc2FibGUgR3VDIGNvbW11bmljYXRpb24sIGRpc2FibGUKR3VDIGludGVycnVw dHMuCkFub3RoZXIgaGVscGVyIGFkZGVkIGlzIGludGVsX2d1Y19yZXNldF9wcmVwYXJlLCB0aGlz IHdpbGwgbWFrZSBzdXJlIHRoYXQKZGlzYWJsaW5nIG9mIGdndHRfaW52YWxpZGF0ZSwgY29tbXVu aWNhdGlvbiBhbmQgR3VDIGludGVycnVwdHMgaGFwcGVucwpwcmlvciB0byByZXNldCBhbmQgdXBk YXRlcyB0aGUgZmlybXdhcmUgbG9hZCBzdGF0dXMgdG8gUEVORElORy4gVGhpcyBpcwphcHBsaWNh YmxlIGluIGNhc2Ugb2YgZnVsbCBHUFUgcmVzZXQgdGhvdWdoLgoKdjI6IFVwZGF0ZWQgY29tbWl0 IG1lc3NhZ2UuIEFkZGVkIG5vdGUgYWJvdXQgc2tpcHBlZCBjYWxsIHRvCmludGVsX2d1Y19zeXN0 ZW1fcmVzdW1lLiBndWNfZW5hYmxlL2Rpc2FibGVfY29tbXVuaWNhdGlvbiB3YXMgbW92ZWQgdG8K ZWFybGllciBwYXRjaCBzbyBjb3JyZXNwb25kaW5nIHJlYmFzZS4gKE1pY2hhbCBXYWpkZWN6a28p CgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBNaWNoYWwg V2FqZGVjemtvIDxtaWNoYWwud2FqZGVjemtvQGludGVsLmNvbT4KQ2M6IERhbmllbGUgQ2VyYW9s byBTcHVyaW8gPGRhbmllbGUuY2VyYW9sb3NwdXJpb0BpbnRlbC5jb20+CkNjOiBNaWNoYcWCIFdp bmlhcnNraSA8bWljaGFsLndpbmlhcnNraUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IFNhZ2Fy IEFydW4gS2FtYmxlIDxzYWdhci5hLmthbWJsZUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuYyAgICAgICAgICAgIHwgIDExICsrLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW0uYyAgICAgICAgICAgIHwgICA0ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMgfCAgNTAgLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2d1Yy5jICAgICAgICAgICB8IDEzMSArKysrKysrKysrKysrKysrKysrKysr KysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmggICAgICAgICAgIHwgICA3 ICstCiA1IGZpbGVzIGNoYW5nZWQsIDE0NiBpbnNlcnRpb25zKCspLCA1NyBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuYwppbmRleCBiODI1MDI0Li5kNzBhMTYwIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmMKQEAgLTE2ODMsNiArMTY4MywxMSBAQCBzdGF0aWMgaW50IGk5MTVfZHJt X3Jlc3VtZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCiAJZHJtX21vZGVfY29uZmlnX3Jlc2V0 KGRldik7CiAKKwkvKgorCSAqIE5COiBGdWxsIGdlbSByZWluaXRpYWxpemF0aW9uIGlzIGJlaW5n IGRvbmUgZHVyaW5nIGk5MTVfZHJtX3Jlc3VtZSwKKwkgKiBoZW5jZSBpbnRlbF9ndWNfc3lzdGVt X3Jlc3VtZSB3aWxsIGJlIG9mIG5vIHVzZS4gSWYgZnVsbAorCSAqIHJlaW5pdGlhbGl6YXRpb24g aXMgYXZvaWRlZCwgbmVlZCB0byBjYWxsIGludGVsX2d1Y19zeXN0ZW1fcmVzdW1lLgorCSAqLwog CW11dGV4X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsKIAlpZiAoaTkxNV9nZW1faW5pdF9odyhk ZXZfcHJpdikpIHsKIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gcmUtaW5pdGlhbGl6ZSBHUFUsIGRl Y2xhcmluZyB3ZWRnZWQhXG4iKTsKQEAgLTE2OTAsOCArMTY5NSw2IEBAIHN0YXRpYyBpbnQgaTkx NV9kcm1fcmVzdW1lKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJfQogCW11dGV4X3VubG9jaygm ZGV2LT5zdHJ1Y3RfbXV0ZXgpOwogCi0JaW50ZWxfZ3VjX3Jlc3VtZSgmZGV2X3ByaXYtPmd1Yyk7 Ci0KIAlpbnRlbF9tb2Rlc2V0X2luaXRfaHcoZGV2KTsKIAogCXNwaW5fbG9ja19pcnEoJmRldl9w cml2LT5pcnFfbG9jayk7CkBAIC0yNDkyLDcgKzI0OTUsNyBAQCBzdGF0aWMgaW50IGludGVsX3J1 bnRpbWVfc3VzcGVuZChzdHJ1Y3QgZGV2aWNlICprZGV2KQogCSAqLwogCWk5MTVfZ2VtX3J1bnRp bWVfc3VzcGVuZChkZXZfcHJpdik7CiAKLQlpbnRlbF9ndWNfc3VzcGVuZCgmZGV2X3ByaXYtPmd1 Yyk7CisJaW50ZWxfZ3VjX3J1bnRpbWVfc3VzcGVuZCgmZGV2X3ByaXYtPmd1Yyk7CiAKIAlpbnRl bF9ydW50aW1lX3BtX2Rpc2FibGVfaW50ZXJydXB0cyhkZXZfcHJpdik7CiAKQEAgLTI1NzcsNyAr MjU4MCw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfcnVudGltZV9yZXN1bWUoc3RydWN0IGRldmljZSAq a2RldikKIAlpZiAoaW50ZWxfdW5jb3JlX3VuY2xhaW1lZF9tbWlvKGRldl9wcml2KSkKIAkJRFJN X0RFQlVHX0RSSVZFUigiVW5jbGFpbWVkIGFjY2VzcyBkdXJpbmcgc3VzcGVuZCwgYmlvcz9cbiIp OwogCi0JaW50ZWxfZ3VjX3Jlc3VtZSgmZGV2X3ByaXYtPmd1Yyk7CisJaW50ZWxfZ3VjX3J1bnRp bWVfcmVzdW1lKCZkZXZfcHJpdi0+Z3VjKTsKIAogCWlmIChJU19HRU45X0xQKGRldl9wcml2KSkg ewogCQlieHRfZGlzYWJsZV9kYzkoZGV2X3ByaXYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5k ZXggZWIyMGU3My4uMzA2ZTQyYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBAIC0yODQ3LDYg KzI4NDcsOCBAQCBpbnQgaTkxNV9nZW1fcmVzZXRfcHJlcGFyZShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCiAKIAlpOTE1X2dlbV9yZXZva2VfZmVuY2VzKGRldl9wcml2KTsKIAor CWludGVsX2d1Y19yZXNldF9wcmVwYXJlKCZkZXZfcHJpdi0+Z3VjKTsKKwogCXJldHVybiBlcnI7 CiB9CiAKQEAgLTQ1NzUsNyArNDU3Nyw3IEBAIGludCBpOTE1X2dlbV9zdXNwZW5kKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlpOTE1X2dlbV9jb250ZXh0c19sb3N0KGRldl9w cml2KTsKIAltdXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKIAotCWludGVsX2d1Y19z dXNwZW5kKCZkZXZfcHJpdi0+Z3VjKTsKKwlpbnRlbF9ndWNfc3lzdGVtX3N1c3BlbmQoJmRldl9w cml2LT5ndWMpOwogCiAJY2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCZkZXZfcHJpdi0+Z3B1X2Vy cm9yLmhhbmdjaGVja193b3JrKTsKIAljYW5jZWxfZGVsYXllZF93b3JrX3N5bmMoJmRldl9wcml2 LT5ndC5yZXRpcmVfd29yayk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2d1Y19zdWJtaXNzaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNz aW9uLmMKaW5kZXggOTQ5YmU2Mi4uNDk2ZTRjMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ3VjX3N1Ym1pc3Npb24uYwpAQCAtMTE3OCw1MyArMTE3OCwzIEBAIHZvaWQgaTkxNV9ndWNf c3VibWlzc2lvbl9kaXNhYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAln dWNfY2xpZW50X2ZyZWUoZ3VjLT5leGVjYnVmX2NsaWVudCk7CiAJZ3VjLT5leGVjYnVmX2NsaWVu dCA9IE5VTEw7CiB9Ci0KLS8qKgotICogaW50ZWxfZ3VjX3N1c3BlbmQoKSAtIG5vdGlmeSBHdUMg ZW50ZXJpbmcgc3VzcGVuZCBzdGF0ZQotICovCi1pbnQgaW50ZWxfZ3VjX3N1c3BlbmQoc3RydWN0 IGludGVsX2d1YyAqZ3VjKQotewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IGd1Y190b19pOTE1KGd1Yyk7Ci0Jc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eDsKLQl1MzIg ZGF0YVszXTsKLQotCWlmIChndWMtPmZ3LmxvYWRfc3RhdHVzICE9IElOVEVMX1VDX0ZJUk1XQVJF X1NVQ0NFU1MpCi0JCXJldHVybiAwOwotCi0JZ2VuOV9kaXNhYmxlX2d1Y19pbnRlcnJ1cHRzKGRl dl9wcml2KTsKLQotCWN0eCA9IGRldl9wcml2LT5rZXJuZWxfY29udGV4dDsKLQotCWRhdGFbMF0g PSBJTlRFTF9HVUNfQUNUSU9OX0VOVEVSX1NfU1RBVEU7Ci0JLyogYW55IHZhbHVlIGdyZWF0ZXIg dGhhbiBHVUNfUE9XRVJfRDAgKi8KLQlkYXRhWzFdID0gR1VDX1BPV0VSX0QxOwotCS8qIGZpcnN0 IHBhZ2UgaXMgc2hhcmVkIGRhdGEgd2l0aCBHdUMgKi8KLQlkYXRhWzJdID0gZ3VjX2dndHRfb2Zm c2V0KGN0eC0+ZW5naW5lW1JDU10uc3RhdGUpOwotCi0JcmV0dXJuIGludGVsX2d1Y19zZW5kKGd1 YywgZGF0YSwgQVJSQVlfU0laRShkYXRhKSk7Ci19Ci0KLS8qKgotICogaW50ZWxfZ3VjX3Jlc3Vt ZSgpIC0gbm90aWZ5IEd1QyByZXN1bWluZyBmcm9tIHN1c3BlbmQgc3RhdGUKLSAqLwotaW50IGlu dGVsX2d1Y19yZXN1bWUoc3RydWN0IGludGVsX2d1YyAqZ3VjKQotewotCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IGd1Y190b19pOTE1KGd1Yyk7Ci0Jc3RydWN0IGk5MTVfZ2Vt X2NvbnRleHQgKmN0eDsKLQl1MzIgZGF0YVszXTsKLQotCWlmIChndWMtPmZ3LmxvYWRfc3RhdHVz ICE9IElOVEVMX1VDX0ZJUk1XQVJFX1NVQ0NFU1MpCi0JCXJldHVybiAwOwotCi0JaWYgKGk5MTUu Z3VjX2xvZ19sZXZlbCA+PSAwKQotCQlnZW45X2VuYWJsZV9ndWNfaW50ZXJydXB0cyhkZXZfcHJp dik7Ci0KLQljdHggPSBkZXZfcHJpdi0+a2VybmVsX2NvbnRleHQ7Ci0KLQlkYXRhWzBdID0gSU5U RUxfR1VDX0FDVElPTl9FWElUX1NfU1RBVEU7Ci0JZGF0YVsxXSA9IEdVQ19QT1dFUl9EMDsKLQkv KiBmaXJzdCBwYWdlIGlzIHNoYXJlZCBkYXRhIHdpdGggR3VDICovCi0JZGF0YVsyXSA9IGd1Y19n Z3R0X29mZnNldChjdHgtPmVuZ2luZVtSQ1NdLnN0YXRlKTsKLQotCXJldHVybiBpbnRlbF9ndWNf c2VuZChndWMsIGRhdGEsIEFSUkFZX1NJWkUoZGF0YSkpOwotfQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9n dWMuYwppbmRleCA3NWJiODMwLi5iOTU3ZGFiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9ndWMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuYwpA QCAtMjAyLDMgKzIwMiwxMzQgQEAgdm9pZCBpbnRlbF9ndWNfZGlzYWJsZV9jb21tdW5pY2F0aW9u KHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKIAogCWd1Yy0+c2VuZCA9IGludGVsX2d1Y19zZW5kX25v cDsKIH0KKworLyoqCisgKiBpbnRlbF9ndWNfc3VzcGVuZCgpIC0gbm90aWZ5IEd1QyBlbnRlcmlu ZyBzdXNwZW5kIHN0YXRlCisgKi8KK3N0YXRpYyBpbnQgaW50ZWxfZ3VjX3N1c3BlbmQoc3RydWN0 IGludGVsX2d1YyAqZ3VjKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IGd1Y190b19pOTE1KGd1Yyk7CisJc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eDsKKwl1MzIg ZGF0YVszXTsKKworCWlmIChndWMtPmZ3LmxvYWRfc3RhdHVzICE9IElOVEVMX1VDX0ZJUk1XQVJF X1NVQ0NFU1MpCisJCXJldHVybiAwOworCisJY3R4ID0gZGV2X3ByaXYtPmtlcm5lbF9jb250ZXh0 OworCisJZGF0YVswXSA9IElOVEVMX0dVQ19BQ1RJT05fRU5URVJfU19TVEFURTsKKwkvKiBhbnkg dmFsdWUgZ3JlYXRlciB0aGFuIEdVQ19QT1dFUl9EMCAqLworCWRhdGFbMV0gPSBHVUNfUE9XRVJf RDE7CisJLyogZmlyc3QgcGFnZSBpcyBzaGFyZWQgZGF0YSB3aXRoIEd1QyAqLworCWRhdGFbMl0g PSBndWNfZ2d0dF9vZmZzZXQoY3R4LT5lbmdpbmVbUkNTXS5zdGF0ZSk7CisKKwlyZXR1cm4gaW50 ZWxfZ3VjX3NlbmQoZ3VjLCBkYXRhLCBBUlJBWV9TSVpFKGRhdGEpKTsKK30KKworLyoqCisgKiBp bnRlbF9ndWNfcmVzdW1lKCkgLSBub3RpZnkgR3VDIHJlc3VtaW5nIGZyb20gc3VzcGVuZCBzdGF0 ZQorICovCitzdGF0aWMgaW50IGludGVsX2d1Y19yZXN1bWUoc3RydWN0IGludGVsX2d1YyAqZ3Vj KQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGd1Y190b19pOTE1KGd1 Yyk7CisJc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eDsKKwl1MzIgZGF0YVszXTsKKworCWlm IChndWMtPmZ3LmxvYWRfc3RhdHVzICE9IElOVEVMX1VDX0ZJUk1XQVJFX1NVQ0NFU1MpCisJCXJl dHVybiAwOworCisJY3R4ID0gZGV2X3ByaXYtPmtlcm5lbF9jb250ZXh0OworCisJZGF0YVswXSA9 IElOVEVMX0dVQ19BQ1RJT05fRVhJVF9TX1NUQVRFOworCWRhdGFbMV0gPSBHVUNfUE9XRVJfRDA7 CisJLyogZmlyc3QgcGFnZSBpcyBzaGFyZWQgZGF0YSB3aXRoIEd1QyAqLworCWRhdGFbMl0gPSBn dWNfZ2d0dF9vZmZzZXQoY3R4LT5lbmdpbmVbUkNTXS5zdGF0ZSk7CisKKwlyZXR1cm4gaW50ZWxf Z3VjX3NlbmQoZ3VjLCBkYXRhLCBBUlJBWV9TSVpFKGRhdGEpKTsKK30KKworc3RhdGljIHZvaWQg aW50ZWxfZ3VjX3Nhbml0aXplKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKK3sKKwlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBndWNfdG9faTkxNShndWMpOworCisJaTkxNV9nZ3R0 X2Rpc2FibGVfZ3VjKGRldl9wcml2KTsKKwlpbnRlbF9ndWNfZGlzYWJsZV9jb21tdW5pY2F0aW9u KGd1Yyk7CisJZ2VuOV9kaXNhYmxlX2d1Y19pbnRlcnJ1cHRzKGRldl9wcml2KTsKK30KKwordm9p ZCBpbnRlbF9ndWNfcmVzZXRfcHJlcGFyZShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCit7CisJaWYg KCFpOTE1LmVuYWJsZV9ndWNfbG9hZGluZykKKwkJcmV0dXJuOworCisJaW50ZWxfZ3VjX3Nhbml0 aXplKGd1Yyk7CisJZ3VjLT5mdy5sb2FkX3N0YXR1cyA9IElOVEVMX1VDX0ZJUk1XQVJFX1BFTkRJ Tkc7Cit9CisKK3N0YXRpYyBpbnQgaW50ZWxfZ3VjX3BhdXNlKHN0cnVjdCBpbnRlbF9ndWMgKmd1 YykKK3sKKwlpbnQgcmV0ID0gMDsKKworCXJldCA9IGludGVsX2d1Y19zdXNwZW5kKGd1Yyk7CisJ aW50ZWxfZ3VjX3Nhbml0aXplKGd1Yyk7CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50 IGludGVsX2d1Y191bnBhdXNlKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKK3sKKwlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBndWNfdG9faTkxNShndWMpOworCWludCByZXQgPSAw OworCisJaWYgKGk5MTUuZ3VjX2xvZ19sZXZlbCA+PSAwKQorCQlnZW45X2VuYWJsZV9ndWNfaW50 ZXJydXB0cyhkZXZfcHJpdik7CisJaW50ZWxfZ3VjX2VuYWJsZV9jb21tdW5pY2F0aW9uKGd1Yyk7 CisJaTkxNV9nZ3R0X2VuYWJsZV9ndWMoZGV2X3ByaXYpOworCXJldCA9IGludGVsX2d1Y19yZXN1 bWUoZ3VjKTsKKworCXJldHVybiByZXQ7Cit9CisKK2ludCBpbnRlbF9ndWNfcnVudGltZV9zdXNw ZW5kKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKK3sKKwlpZiAoIWk5MTUuZW5hYmxlX2d1Y19sb2Fk aW5nKQorCQlyZXR1cm4gMDsKKworCXJldHVybiBpbnRlbF9ndWNfcGF1c2UoZ3VjKTsKK30KKwor aW50IGludGVsX2d1Y19ydW50aW1lX3Jlc3VtZShzdHJ1Y3QgaW50ZWxfZ3VjICpndWMpCit7CisJ aWYgKCFpOTE1LmVuYWJsZV9ndWNfbG9hZGluZykKKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4gaW50 ZWxfZ3VjX3VucGF1c2UoZ3VjKTsKK30KKworaW50IGludGVsX2d1Y19zeXN0ZW1fc3VzcGVuZChz dHJ1Y3QgaW50ZWxfZ3VjICpndWMpCit7CisJaW50IHJldCA9IDA7CisKKwlpZiAoIWk5MTUuZW5h YmxlX2d1Y19sb2FkaW5nKQorCQlyZXR1cm4gcmV0OworCisJcmV0ID0gaW50ZWxfZ3VjX3BhdXNl KGd1Yyk7CisJZ3VjLT5mdy5sb2FkX3N0YXR1cyA9IElOVEVMX1VDX0ZJUk1XQVJFX1BFTkRJTkc7 CisKKwlyZXR1cm4gcmV0OworfQorCitpbnQgaW50ZWxfZ3VjX3N5c3RlbV9yZXN1bWUoc3RydWN0 IGludGVsX2d1YyAqZ3VjKQoreworCWludCByZXQgPSAwOworCisJaWYgKCFpOTE1LmVuYWJsZV9n dWNfbG9hZGluZykKKwkJcmV0dXJuIHJldDsKKworCS8qCisJICogUGxhY2Vob2xkZXIgZm9yIEd1 QyByZXN1bWUgZnJvbSBzeXN0ZW0gc3VzcGVuZC9mcmVlemUgc3RhdGVzLgorCSAqIEN1cnJlbnRs eSBmdWxsIHJlaW5pdGlhbGl6YXRpb24gb2YgR0VNIGFuZCBHdUMgaGFwcGVucyBhbG9uZworCSAq IHRoZXNlIHBhdGhzLCBIZW5jZSB0aGlzIGZ1bmN0aW9uIGlzIGRvaW5nIG5vdGhpbmcuCisJICov CisJcmV0dXJuIHJldDsKK30KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2d1Yy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKaW5kZXggMTA2NWNhOC4u MDJlYTBkMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKQEAgLTE1MCw2ICsxNTAsMTEgQEAg c3RhdGljIGlubGluZSB1MzIgZ3VjX2dndHRfb2Zmc2V0KHN0cnVjdCBpOTE1X3ZtYSAqdm1hKQog dm9pZCBpbnRlbF9ndWNfYXV0aF9odWMoc3RydWN0IGludGVsX2d1YyAqZ3VjLCBzdHJ1Y3QgaW50 ZWxfaHVjICpodWMpOwogaW50IGludGVsX2d1Y19lbmFibGVfY29tbXVuaWNhdGlvbihzdHJ1Y3Qg aW50ZWxfZ3VjICpndWMpOwogdm9pZCBpbnRlbF9ndWNfZGlzYWJsZV9jb21tdW5pY2F0aW9uKHN0 cnVjdCBpbnRlbF9ndWMgKmd1Yyk7Cit2b2lkIGludGVsX2d1Y19yZXNldF9wcmVwYXJlKHN0cnVj dCBpbnRlbF9ndWMgKmd1Yyk7CitpbnQgaW50ZWxfZ3VjX3J1bnRpbWVfc3VzcGVuZChzdHJ1Y3Qg aW50ZWxfZ3VjICpndWMpOworaW50IGludGVsX2d1Y19ydW50aW1lX3Jlc3VtZShzdHJ1Y3QgaW50 ZWxfZ3VjICpndWMpOworaW50IGludGVsX2d1Y19zeXN0ZW1fc3VzcGVuZChzdHJ1Y3QgaW50ZWxf Z3VjICpndWMpOworaW50IGludGVsX2d1Y19zeXN0ZW1fcmVzdW1lKHN0cnVjdCBpbnRlbF9ndWMg Kmd1Yyk7CiAKIC8qIGludGVsX2d1Y19sb2FkZXIuYyAqLwogaW50IGludGVsX2d1Y19zZWxlY3Rf Zncoc3RydWN0IGludGVsX2d1YyAqZ3VjKTsKQEAgLTE2Miw4ICsxNjcsNiBAQCBzdGF0aWMgaW5s aW5lIHUzMiBndWNfZ2d0dF9vZmZzZXQoc3RydWN0IGk5MTVfdm1hICp2bWEpCiB2b2lkIGk5MTVf Z3VjX3N1Ym1pc3Npb25fZGlzYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp Owogdm9pZCBpOTE1X2d1Y19zdWJtaXNzaW9uX2Zpbmkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KTsKIHN0cnVjdCBpOTE1X3ZtYSAqaW50ZWxfZ3VjX2FsbG9jYXRlX3ZtYShzdHJ1 Y3QgaW50ZWxfZ3VjICpndWMsIHUzMiBzaXplKTsKLWludCBpbnRlbF9ndWNfc3VzcGVuZChzdHJ1 Y3QgaW50ZWxfZ3VjICpndWMpOwotaW50IGludGVsX2d1Y19yZXN1bWUoc3RydWN0IGludGVsX2d1 YyAqZ3VjKTsKIAogLyogaW50ZWxfZ3VjX2xvZy5jICovCiBpbnQgaW50ZWxfZ3VjX2xvZ19jcmVh dGUoc3RydWN0IGludGVsX2d1YyAqZ3VjKTsKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK