From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH 3/7] drm/i915/tdr: Add support for per engine reset recovery Date: Mon, 19 Sep 2016 16:30:15 +0100 Message-ID: <1474299019-26430-3-git-send-email-matthew.auld@intel.com> References: <1474299019-26430-1-git-send-email-matthew.auld@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 7F5466E48C for ; Mon, 19 Sep 2016 15:32:46 +0000 (UTC) In-Reply-To: <1474299019-26430-1-git-send-email-matthew.auld@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 Cc: Tomas Elf List-Id: intel-gfx@lists.freedesktop.org RnJvbTogImFydW4uc2lsdXZlcnlAbGludXguaW50ZWwuY29tIiA8YXJ1bi5zaWx1dmVyeUBsaW51 eC5pbnRlbC5jb20+CgpUaGlzIGNoYW5nZSBpbXBsZW1lbnRzIHN1cHBvcnQgZm9yIHBlci1lbmdp bmUgcmVzZXQgYXMgYW4gaW5pdGlhbCwgbGVzcwppbnRydXNpdmUgaGFuZyByZWNvdmVyeSBvcHRp b24gdG8gYmUgYXR0ZW1wdGVkIGJlZm9yZSBmYWxsaW5nIGJhY2sgdG8gdGhlCmxlZ2FjeSBmdWxs IEdQVSByZXNldCByZWNvdmVyeSBtb2RlIGlmIG5lY2Vzc2FyeS4gVGhpcyBpcyBvbmx5IHN1cHBv cnRlZApmcm9tIEdlbjggb253YXJkcy4KCkhhbmdjaGVja2VyIGRldGVybWluZXMgd2hpY2ggZW5n aW5lcyBhcmUgaHVuZyBhbmQgaW52b2tlcyBlcnJvciBoYW5kbGVyIHRvCnJlY292ZXIgZnJvbSBp dC4gRXJyb3IgaGFuZGxlciBzY2hlZHVsZXMgcmVjb3ZlcnkgZm9yIGVhY2ggb2YgdGhvc2UgZW5n aW5lcwp0aGF0IGFyZSBodW5nLiBUaGUgcmVjb3ZlcnkgcHJvY2VkdXJlIGlzIGFzIGZvbGxvd3Ms CiAtIGlkZW50aWZpZXMgdGhlIHJlcXVlc3QgdGhhdCBjYXVzZWQgdGhlIGhhbmcgYW5kIGl0IGlz IGRyb3BwZWQKIC0gZm9yY2UgZW5naW5lIHRvIGlkbGU6IHRoaXMgaXMgZG9uZSBieSBpc3N1aW5n IGEgcmVzZXQgcmVxdWVzdAogLSByZXNldCBhbmQgcmUtaW5pdCBlbmdpbmUKIC0gcmVzdGFydCBz dWJtaXNzaW9ucyB0byB0aGUgZW5naW5lCgpJZiBlbmdpbmUgcmVzZXQgZmFpbHMgdGhlbiB3ZSBm YWxsIGJhY2sgdG8gaGVhdnkgd2VpZ2h0IGZ1bGwgZ3B1IHJlc2V0CndoaWNoIHJlc2V0cyBhbGwg ZW5naW5lcyBhbmQgcmVpbml0aWF6ZXMgY29tcGxldGUgc3RhdGUgb2YgSFcgYW5kIFNXLgoKdjIK ICAtIHJlYmFzZQoKQ2M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpD YzogTWlrYSBLdW9wcGFsYSA8bWlrYS5rdW9wcGFsYUBsaW51eC5pbnRlbC5jb20+ClNpZ25lZC1v ZmYtYnk6IFRvbWFzIEVsZiA8dG9tYXMuZWxmQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogQXJ1 biBTaWx1dmVyeSA8YXJ1bi5zaWx1dmVyeUBsaW51eC5pbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6 IE1hdHRoZXcgQXVsZCA8bWF0dGhldy5hdWxkQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5jICAgICB8IDU5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgIHwgIDMgKysKIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2xyYy5jICAgIHwgMTAgKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbHJjLmggICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUu YyB8IDQxICsrKysrKysrKysrKysrKysrKysrKysrLS0tCiA2IGZpbGVzIGNoYW5nZWQsIDEwNSBp bnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwppbmRl eCA5OWZhNjkwLi44NjI1MjA3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKQEAgLTE4MTIsMjEg KzE4MTIsNjggQEAgZXJyb3I6CiAgKiBSZXR1cm5zIHplcm8gb24gc3VjY2Vzc2Z1bCByZXNldCBv ciBvdGhlcndpc2UgYW4gZXJyb3IgY29kZS4KICAqCiAgKiBQcm9jZWR1cmUgaXMgZmFpcmx5IHNp bXBsZToKLSAqICAtIGZvcmNlIGVuZ2luZSB0byBpZGxlCi0gKiAgLSBzYXZlIGN1cnJlbnQgc3Rh dGUgd2hpY2ggaW5jbHVkZXMgaGVhZCBhbmQgY3VycmVudCByZXF1ZXN0Ci0gKiAgLSByZXNldCBl bmdpbmUKLSAqICAtIHJlc3RvcmUgc2F2ZWQgc3RhdGUgYW5kIHJlc3VibWl0IGNvbnRleHQKKyAq ICAgIC0gaWRlbnRpZmllcyB0aGUgcmVxdWVzdCB0aGF0IGNhdXNlZCB0aGUgaGFuZyBhbmQgaXQg aXMgZHJvcHBlZAorICogICAgLSBmb3JjZSBlbmdpbmUgdG8gaWRsZTogdGhpcyBpcyBkb25lIGJ5 IGlzc3VpbmcgYSByZXNldCByZXF1ZXN0CisgKiAgICAtIHJlc2V0IGVuZ2luZQorICogICAgLSBy ZXN0YXJ0IHN1Ym1pc3Npb25zIHRvIHRoZSBlbmdpbmUKICAqLwogaW50IGk5MTVfcmVzZXRfZW5n aW5lKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIHsKIAlpbnQgcmV0OwogCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGVuZ2luZS0+aTkxNTsKIAotCS8qIEZJWE1F OiByZXBsYWNlIG1lIHdpdGggZW5naW5lIHJlc2V0IHNlcXVlbmNlICovCi0JcmV0ID0gLUVOT0RF VjsKKwkvKgorCSAqIFdlIG5lZWQgdG8gZmlyc3QgaWRsZSB0aGUgZW5naW5lIGJ5IGlzc3Vpbmcg YSByZXNldCByZXF1ZXN0LAorCSAqIHRoZW4gcGVyZm9ybSBzb2Z0IHJlc2V0IGFuZCByZS1pbml0 aWFsaXplIGh3IHN0YXRlLCBmb3IgYWxsIG9mCisJICogdGhpcyBHVCBwb3dlciBuZWVkIHRvIGJl IGF3YWtlIHNvIGVuc3VyZSBpdCBkb2VzIHRocm91Z2hvdXQgdGhlCisJICogcHJvY2VzcworCSAq LworCWludGVsX3VuY29yZV9mb3JjZXdha2VfZ2V0KGRldl9wcml2LCBGT1JDRVdBS0VfQUxMKTsK KworCS8qCisJICogdGhlIHJlcXVlc3QgdGhhdCBjYXVzZWQgdGhlIGhhbmcgaXMgc3R1Y2sgb24g ZWxzcCwgaWRlbnRpZnkgdGhlCisJICogYWN0aXZlIHJlcXVlc3QgYW5kIGRyb3AgaXQsIGFkanVz dCBoZWFkIHRvIHNraXAgdGhlIG9mZmVuZGluZworCSAqIHJlcXVlc3QgdG8gcmVzdW1lIGV4ZWN1 dGluZyByZW1haW5pbmcgcmVxdWVzdHMgaW4gdGhlIHF1ZXVlLgorCSAqLworCWk5MTVfZ2VtX3Jl c2V0X2VuZ2luZShlbmdpbmUpOworCisJcmV0ID0gaW50ZWxfZW5naW5lX3Jlc2V0X2JlZ2luKGVu Z2luZSk7CisJaWYgKHJldCkgeworCQlEUk1fRVJST1IoIkZhaWxlZCB0byBkaXNhYmxlICVzXG4i LCBlbmdpbmUtPm5hbWUpOworCQlnb3RvIGVycm9yOworCX0KKworCXJldCA9IGludGVsX2dwdV9y ZXNldChkZXZfcHJpdiwgaW50ZWxfZW5naW5lX2ZsYWcoZW5naW5lKSk7CisJaWYgKHJldCkgewor CQlEUk1fRVJST1IoIkZhaWxlZCB0byByZXNldCAlcywgcmV0PSVkXG4iLCBlbmdpbmUtPm5hbWUs IHJldCk7CisJCWludGVsX2VuZ2luZV9yZXNldF9jYW5jZWwoZW5naW5lKTsKKwkJZ290byBlcnJv cjsKKwl9CisKKwlyZXQgPSBlbmdpbmUtPmluaXRfaHcoZW5naW5lKTsKKwlpZiAocmV0KQorCQln b3RvIGVycm9yOworCisJaW50ZWxfZW5naW5lX3Jlc2V0X2NhbmNlbChlbmdpbmUpOworCWludGVs X2V4ZWNsaXN0c19yZXN0YXJ0X3N1Ym1pc3Npb24oZW5naW5lKTsKIAorCWludGVsX3VuY29yZV9m b3JjZXdha2VfcHV0KGRldl9wcml2LCBGT1JDRVdBS0VfQUxMKTsKKwlyZXR1cm4gMDsKKworZXJy b3I6CisJLyogdXNlIGZ1bGwgZ3B1IHJlc2V0IHRvIHJlY292ZXIgb24gZXJyb3IgKi8KIAlzZXRf Yml0KEk5MTVfUkVTRVRfSU5fUFJPR1JFU1MsICZkZXZfcHJpdi0+Z3B1X2Vycm9yLmZsYWdzKTsK IAorCS8qIEVuZ2luZSByZXNldCBpcyBwZXJmb3JtZWQgd2l0aG91dCB0YWtpbmcgc3RydWN0X211 dGV4LCBzaW5jZSBpdAorCSAqIGZhaWxlZCB3ZSBub3cgZmFsbGJhY2sgdG8gZnVsbCBncHUgcmVz ZXQuIFdha2V1cCBhbnkgd2FpdGVycworCSAqIHdoaWNoIHNob3VsZCBub3cgc2VlIHRoZSByZXNl dF9pbl9wcm9ncmVzcyBhbmQgcmVsZWFzZQorCSAqIHN0cnVjdF9tdXRleCBmb3IgdXMgdG8gY29u dGludWUgcmVjb3ZlcnkuCisJICovCisJcmN1X3JlYWRfbG9jaygpOworCWludGVsX2VuZ2luZV93 YWtldXAoZW5naW5lKTsKKwlyY3VfcmVhZF91bmxvY2soKTsKKworCWludGVsX3VuY29yZV9mb3Jj ZXdha2VfcHV0KGRldl9wcml2LCBGT1JDRVdBS0VfQUxMKTsKIAlyZXR1cm4gcmV0OwogfQogCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCA3OWRlNzRkLi4zZGNmM2Y2IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmgKQEAgLTI4ODksNiArMjg4OSw4IEBAIGV4dGVybiBpbnQgaW50ZWxfZ3B1X3Jl c2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTMyIGVuZ2luZV9tYXNrKTsK IGV4dGVybiBib29sIGludGVsX2hhc19ncHVfcmVzZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KTsKIGV4dGVybiB2b2lkIGk5MTVfcmVzZXQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KTsKIGV4dGVybiBib29sIGludGVsX2hhc19lbmdpbmVfcmVzZXQoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKK2V4dGVybiBpbnQgaW50ZWxfZW5naW5lX3Jl c2V0X2JlZ2luKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSk7CitleHRlcm4gaW50IGlu dGVsX2VuZ2luZV9yZXNldF9jYW5jZWwoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKTsK IGV4dGVybiBpbnQgaTkxNV9yZXNldF9lbmdpbmUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5n aW5lKTsKIGV4dGVybiBpbnQgaW50ZWxfZ3VjX3Jlc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdik7CiBleHRlcm4gdm9pZCBpbnRlbF9lbmdpbmVfaW5pdF9oYW5nY2hlY2soc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKTsKQEAgLTMyNjgsNiArMzI3MCw3IEBAIHN0YXRp YyBpbmxpbmUgdTMyIGk5MTVfcmVzZXRfY291bnQoc3RydWN0IGk5MTVfZ3B1X2Vycm9yICplcnJv cikKIAogdm9pZCBpOTE1X2dlbV9yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpOwogdm9pZCBpOTE1X2dlbV9zZXRfd2VkZ2VkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdik7Cit2b2lkIGk5MTVfZ2VtX3Jlc2V0X2VuZ2luZShzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICplbmdpbmUpOwogYm9vbCBpOTE1X2dlbV9jbGZsdXNoX29iamVjdChzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX29iamVjdCAqb2JqLCBib29sIGZvcmNlKTsKIGludCBfX211c3RfY2hlY2sgaTkxNV9n ZW1faW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIGludCBfX211c3RfY2hlY2sgaTkxNV9n ZW1faW5pdF9odyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5j CmluZGV4IGM4YmQwMjIuLmQ0ZjAyZTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtMjU3 NSw3ICsyNTc1LDcgQEAgc3RhdGljIHZvaWQgcmVzZXRfcmVxdWVzdChzdHJ1Y3QgZHJtX2k5MTVf Z2VtX3JlcXVlc3QgKnJlcXVlc3QpCiAJbWVtc2V0KHZhZGRyICsgaGVhZCwgMCwgcmVxdWVzdC0+ cG9zdGZpeCAtIGhlYWQpOwogfQogCi1zdGF0aWMgdm9pZCBpOTE1X2dlbV9yZXNldF9lbmdpbmUo c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQordm9pZCBpOTE1X2dlbV9yZXNldF9lbmdp bmUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogewogCXN0cnVjdCBkcm1faTkxNV9n ZW1fcmVxdWVzdCAqcmVxdWVzdDsKIAlzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqaW5jb21wbGV0 ZV9jdHg7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCmluZGV4IDI1MTE0MzM2Li40YTE3ZDZmIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpAQCAtNjAxLDYgKzYwMSwxNiBAQCBzdGF0aWMgdm9p ZCBleGVjbGlzdHNfc3VibWl0X3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpy ZXF1ZXN0KQogCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmVuZ2luZS0+ZXhlY2xpc3RfbG9jaywg ZmxhZ3MpOwogfQogCit2b2lkIGludGVsX2V4ZWNsaXN0c19yZXN0YXJ0X3N1Ym1pc3Npb24oc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQoreworCXNwaW5fbG9ja19iaCgmZW5naW5lLT5l eGVjbGlzdF9sb2NrKTsKKworCWlmIChleGVjbGlzdHNfZWxzcF9pZGxlKGVuZ2luZSkpCisJCXRh c2tsZXRfaGlfc2NoZWR1bGUoJmVuZ2luZS0+aXJxX3Rhc2tsZXQpOworCisJc3Bpbl91bmxvY2tf YmgoJmVuZ2luZS0+ZXhlY2xpc3RfbG9jayk7Cit9CisKIGludCBpbnRlbF9sb2dpY2FsX3Jpbmdf YWxsb2NfcmVxdWVzdF9leHRyYXMoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0 KQogewogCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJlcXVlc3QtPmVuZ2luZTsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgKaW5kZXggNGZlZDgxNi4uYTUwOWY0MiAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfbHJjLmgKQEAgLTk1LDUgKzk1LDYgQEAgdWludDY0X3QgaW50ZWxfbHJfY29u dGV4dF9kZXNjcmlwdG9yKHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCiBpbnQgaW50ZWxf c2FuaXRpemVfZW5hYmxlX2V4ZWNsaXN0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCiAJCQkJICAgIGludCBlbmFibGVfZXhlY2xpc3RzKTsKIHZvaWQgaW50ZWxfZXhlY2xpc3Rz X2VuYWJsZV9zdWJtaXNzaW9uKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cit2 b2lkIGludGVsX2V4ZWNsaXN0c19yZXN0YXJ0X3N1Ym1pc3Npb24oc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqZW5naW5lKTsKIAogI2VuZGlmIC8qIF9JTlRFTF9MUkNfSF8gKi8KZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfdW5jb3JlLmMKaW5kZXggYmZkOWI5My4uMDczOGFjNyAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfdW5jb3JlLmMKQEAgLTE2NzYsNyArMTY3Niw3IEBAIGludCBpbnRlbF93YWl0X2Zv cl9yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJcmV0dXJuIHJl dDsKIH0KIAotc3RhdGljIGludCBnZW44X3JlcXVlc3RfZW5naW5lX3Jlc2V0KHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSkKK3N0YXRpYyBpbnQgZ2VuOF9lbmdpbmVfcmVzZXRfYmVnaW4o c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IGVuZ2luZS0+aTkxNTsKIAlpbnQgcmV0OwpAQCAtMTY5NSw3ICsxNjk1 LDcgQEAgc3RhdGljIGludCBnZW44X3JlcXVlc3RfZW5naW5lX3Jlc2V0KHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKmVuZ2luZSkKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgdm9pZCBnZW44X3Vu cmVxdWVzdF9lbmdpbmVfcmVzZXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQorc3Rh dGljIHZvaWQgZ2VuOF9lbmdpbmVfcmVzZXRfY2FuY2VsKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KmVuZ2luZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBlbmdpbmUt Pmk5MTU7CiAKQEAgLTE3MTAsMTQgKzE3MTAsMTQgQEAgc3RhdGljIGludCBnZW44X3Jlc2V0X2Vu Z2luZXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCXVuc2lnbmVkIGludCB0 bXA7CiAKIAlmb3JfZWFjaF9lbmdpbmVfbWFza2VkKGVuZ2luZSwgZGV2X3ByaXYsIGVuZ2luZV9t YXNrLCB0bXApCi0JCWlmIChnZW44X3JlcXVlc3RfZW5naW5lX3Jlc2V0KGVuZ2luZSkpCisJCWlm IChnZW44X2VuZ2luZV9yZXNldF9iZWdpbihlbmdpbmUpKQogCQkJZ290byBub3RfcmVhZHk7CiAK IAlyZXR1cm4gZ2VuNl9yZXNldF9lbmdpbmVzKGRldl9wcml2LCBlbmdpbmVfbWFzayk7CiAKIG5v dF9yZWFkeToKIAlmb3JfZWFjaF9lbmdpbmVfbWFza2VkKGVuZ2luZSwgZGV2X3ByaXYsIGVuZ2lu ZV9tYXNrLCB0bXApCi0JCWdlbjhfdW5yZXF1ZXN0X2VuZ2luZV9yZXNldChlbmdpbmUpOworCQln ZW44X2VuZ2luZV9yZXNldF9jYW5jZWwoZW5naW5lKTsKIAogCXJldHVybiAtRUlPOwogfQpAQCAt MTc5Myw2ICsxNzkzLDM5IEBAIGludCBpbnRlbF9ndWNfcmVzZXQoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KQogCXJldHVybiByZXQ7CiB9CiAKKy8qCisgKiBPbiBnZW44KyBhIHJl c2V0IHJlcXVlc3QgaGFzIHRvIGJlIGlzc3VlZCB2aWEgdGhlIHJlc2V0IGNvbnRyb2wgcmVnaXN0 ZXIKKyAqIGJlZm9yZSBhIEdQVSBlbmdpbmUgY2FuIGJlIHJlc2V0IGluIG9yZGVyIHRvIHN0b3Ag dGhlIGNvbW1hbmQgc3RyZWFtZXIKKyAqIGFuZCBpZGxlIHRoZSBlbmdpbmUuIFRoaXMgcmVwbGFj ZXMgdGhlIGxlZ2FjeSB3YXkgb2Ygc3RvcHBpbmcgYW4gZW5naW5lCisgKiBieSB3cml0aW5nIHRv IHRoZSBzdG9wIHJpbmcgYml0IGluIHRoZSBNSV9NT0RFIHJlZ2lzdGVyLgorICovCitpbnQgaW50 ZWxfZW5naW5lX3Jlc2V0X2JlZ2luKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKK3sK KwlpZiAoIWludGVsX2hhc19lbmdpbmVfcmVzZXQoZW5naW5lLT5pOTE1KSkgeworCQlEUk1fRVJS T1IoIkVuZ2luZSBSZXNldCBub3Qgc3VwcG9ydGVkIG9uIEdlbiVkXG4iLAorCQkJICBJTlRFTF9H RU4oZW5naW5lLT5pOTE1KSk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCXJldHVybiBnZW44 X2VuZ2luZV9yZXNldF9iZWdpbihlbmdpbmUpOworfQorCisvKgorICogSXQgaXMgcG9zc2libGUg dG8gYmFjayBvZmYgZnJvbSBhIHByZXZpb3VzbHkgaXNzdWVkIHJlc2V0IHJlcXVlc3QgYnkgc2lt cGx5CisgKiBjbGVhcmluZyB0aGUgcmVzZXQgcmVxdWVzdCBiaXQgaW4gdGhlIHJlc2V0IGNvbnRy b2wgcmVnaXN0ZXIuCisgKi8KK2ludCBpbnRlbF9lbmdpbmVfcmVzZXRfY2FuY2VsKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKK3sKKwlpZiAoIWludGVsX2hhc19lbmdpbmVfcmVzZXQo ZW5naW5lLT5pOTE1KSkgeworCQlEUk1fRVJST1IoIlJlcXVlc3QgdG8gY2xlYXIgcmVzZXQgbm90 IHN1cHBvcnRlZCBvbiBHZW4lZFxuIiwKKwkJCSAgSU5URUxfR0VOKGVuZ2luZS0+aTkxNSkpOwor CQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlnZW44X2VuZ2luZV9yZXNldF9jYW5jZWwoZW5naW5l KTsKKwlyZXR1cm4gMDsKK30KKwogYm9vbCBpbnRlbF91bmNvcmVfdW5jbGFpbWVkX21taW8oc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewogCXJldHVybiBjaGVja19mb3JfdW5j bGFpbWVkX21taW8oZGV2X3ByaXYpOwotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=