From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= Subject: [PATCH v5 3/3] drm/i915: Make PSR registers relative to transcoders Date: Sat, 20 Apr 2019 13:55:29 -0700 Message-ID: <20190420205529.20624-3-jose.souza@intel.com> References: <20190420205529.20624-1-jose.souza@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 6AF438910B for ; Sat, 20 Apr 2019 20:55:33 +0000 (UTC) In-Reply-To: <20190420205529.20624-1-jose.souza@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: Dhinakaran Pandiyan List-Id: intel-gfx@lists.freedesktop.org UFNSIHJlZ2lzdGVycyBhcmUgYSBtZXNzLCBzb21lIGhhdmUgdGhlIGZ1bGwgYWRkcmVzcyB3aGls ZSBvdGhlcnMganVzdApoYXZlIHRoZSBhZGRpdGlvbmFsIG9mZnNldCBmcm9tIHBzcl9tbWlvX2Jh c2UuCgpGb3IgQkRXKyBwc3JfbW1pb19iYXNlIGlzIG5vdGhpbmcgbW9yZSB0aGFuIFRSQU5TQ09E RVJfRURQX09GRlNFVCArCjB4ODAwIGFuZCB1c2luZyBpdCBtYWtlcyBtb3JlIGRpZmZpY3VsdCBm b3IgcGVvcGxlIHdpdGggYW4gUFNSCnJlZ2lzdGVyIGFkZHJlc3Mgb3IgUFNSIHJlZ2lzdGVyIG5h bWUgZnJvbSBmcm9tIEJTcGVjIGFzIGk5MTUgYWxzbwpkb24ndCBtYXRjaCB0aGUgQlNwZWMgbmFt ZXMuCkZvciBIU1cgcHNyX21taW9fYmFzZSBpcyBfRERJX0JVRl9DVExfQSArIDB4ODAwIGFuZCBQ U1IgcmVnaXN0ZXJzIGFyZQpvbmx5IGF2YWlsYWJsZSBpbiBERElBLgoKT3RoZXIgcmVhc29uIHRv IG1ha2UgcmVsYXRpdmUgdG8gdHJhbnNjb2RlciBpcyB0aGF0IHNpbmNlIEJEVyBldmVyeQp0cmFu c2NvZGVyIGhhdmUgUFNSIHJlZ2lzdGVycywgc28gaW4gdGhlb3J5IGl0IHNob3VsZCBiZSBwb3Nz aWJsZSB0bwpoYXZlIFBTUiBlbmFibGVkIGluIGEgbm9uLWVEUCB0cmFuc2NvZGVyLgoKU28gZm9y IEJEVysgd2UgY2FuIHVzZSBfVFJBTlMyKCkgdG8gZ2V0IHRoZSByZWdpc3RlciBvZmZzZXQgb2Yg YW55ClBTUiByZWdpc3RlciBpbiBhbnkgdHJhbnNjb2RlciB3aGlsZSBmb3IgSFNXIHdlIGhhdmUg X0hTV19QU1JfQURKCnRoYXQgd2lsbCBjYWxjdWxhdGUgdGhlIHJlZ2lzdGVyIG9mZnNldCBmb3Ig dGhlIHNpbmdsZSBQU1IgaW5zdGFuY2UsCm5vdGluZyB0aGF0IHdlIGFyZSBhbHJlYWR5IGd1YXJk ZWQgYWJvdXQgdHJ5aW5nIHRvIGVuYWJsZSBQU1IgaW4gb3RoZXIKcG9ydCB0aGFuIERESUEgb24g SFNXIGJ5IHRoZSAnaWYgKGRpZ19wb3J0LT5iYXNlLnBvcnQgIT0gUE9SVF9BKScgaW4KaW50ZWxf cHNyX2NvbXB1dGVfY29uZmlnKCksIHRoaXMgY2hlY2sgc2hvdWxkIG9ubHkgYmUgdmFsaWQgZm9y IEhTVwphbmQgd2lsbCBiZSBjaGFuZ2VkIGluIGZ1dHVyZS4KUFNSMiByZWdpc3RlcnMgYW5kIFBT Ul9FVkVOVCB3YXMgYWRkZWQgYWZ0ZXIgSGFzd2VsbCBzbyB0aGF0IGlzIHdoeQpfUFNSX0FESigp IGlzIG5vdCB1c2VkIGluIHNvbWUgbWFjcm9zLgoKVGhlIG9ubHkgcmVnaXN0ZXJzIHRoYXQgY2Fu IG5vdCBiZSByZWxhdGl2ZSB0byB0cmFuc2NvZGVyIGFyZQpQU1JfSU1SIGFuZCBQU1JfSUlSIHRo YXQgYXJlIG5vdCByZWxhdGl2ZSB0byBhbnl0aGluZywgc28ga2VlcGluZyBpdApoYXJkY29kZWQu CgpBbHNvIHJlbW92aW5nIEJEV19FRFBfUFNSX0JBU0UgZnJvbSBHVlQgYmVjYXVzZSBpdCBpcyBu b3QgdXNlZCBhcyBpdAppcyB0aGUgb25seSBQU1IgcmVnaXN0ZXIgdGhhdCBHVlQgaGF2ZS4KCnY1 OgotIE1hY3JvcyBjaGFuZ2VkIHRvIGJlIG1vcmUgZXhwbGljaXQgYWJvdXQgSFNXIChEaGluYWth cmFuKQotIFNxdWFzaGVkIHdpdGggdGhlIHBhdGNoIHRoYXQgYWRkZWQgdGhlIHRyYW4gcGFyYW1l dGVyIHRvIHRoZQptYWNyb3MgKERoaW5ha2FyYW4pCgpDYzogRGhpbmFrYXJhbiBQYW5kaXlhbiA8 ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5jb20+CkNjOiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28u dml2aUBpbnRlbC5jb20+CkNjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAbGludXguaW50ZWwu Y29tPgpDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4K Q2M6IFpoaSBXYW5nIDx6aGkuYS53YW5nQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogSm9zw6kg Um9iZXJ0byBkZSBTb3V6YSA8am9zZS5zb3V6YUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ3Z0L2hhbmRsZXJzLmMgfCAgMSAtCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2RlYnVnZnMuYyB8IDE4ICsrKysrLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aCAgICAgfCAgMyArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgfCA1NyAr KysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cHNyLmMgICAgfCA1NSArKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tCiA1IGZpbGVzIGNoYW5n ZWQsIDgzIGluc2VydGlvbnMoKyksIDUxIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2d2dC9oYW5kbGVycy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0 L2hhbmRsZXJzLmMKaW5kZXggMThmMDFlZWIyNTEwLi43NDllM2U0MjA0ZjIgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9oYW5kbGVycy5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d2dC9oYW5kbGVycy5jCkBAIC0yNzc2LDcgKzI3NzYsNiBAQCBzdGF0aWMgaW50IGlu aXRfYnJvYWR3ZWxsX21taW9faW5mbyhzdHJ1Y3QgaW50ZWxfZ3Z0ICpndnQpCiAJTU1JT19EKENI SUNLRU5fUElQRVNMXzEoUElQRV9DKSwgRF9CRFdfUExVUyk7CiAKIAlNTUlPX0QoV01fTUlTQywg RF9CRFcpOwotCU1NSU9fRChfTU1JTyhCRFdfRURQX1BTUl9CQVNFKSwgRF9CRFcpOwogCiAJTU1J T19EKF9NTUlPKDB4NjY3MWMpLCBEX0JEV19QTFVTKTsKIAlNTUlPX0QoX01NSU8oMHg2NmMwMCks IERfQkRXX1BMVVMpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1 Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwppbmRleCA1ODIzZmZi MTc4MjEuLjJhMGY1ODcxZTlhOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kZWJ1Z2ZzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKQEAg LTI0NzAsNyArMjQ3MCw3IEBAIHBzcl9zb3VyY2Vfc3RhdHVzKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwgc3RydWN0IHNlcV9maWxlICptKQogCQkJIkJVRl9PTiIsCiAJCQkiVEdf T04iCiAJCX07Ci0JCXZhbCA9IEk5MTVfUkVBRChFRFBfUFNSMl9TVEFUVVMpOworCQl2YWwgPSBJ OTE1X1JFQUQoRURQX1BTUjJfU1RBVFVTKGRldl9wcml2LT5wc3IudHJhbnNjb2RlcikpOwogCQlz dGF0dXNfdmFsID0gKHZhbCAmIEVEUF9QU1IyX1NUQVRVU19TVEFURV9NQVNLKSA+PgogCQkJICAg ICAgRURQX1BTUjJfU1RBVFVTX1NUQVRFX1NISUZUOwogCQlpZiAoc3RhdHVzX3ZhbCA8IEFSUkFZ X1NJWkUobGl2ZV9zdGF0dXMpKQpAQCAtMjQ4Niw3ICsyNDg2LDcgQEAgcHNyX3NvdXJjZV9zdGF0 dXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBzdHJ1Y3Qgc2VxX2ZpbGUgKm0p CiAJCQkiU1JET0ZGQUNLIiwKIAkJCSJTUkRFTlRfT04iLAogCQl9OwotCQl2YWwgPSBJOTE1X1JF QUQoRURQX1BTUl9TVEFUVVMpOworCQl2YWwgPSBJOTE1X1JFQUQoRURQX1BTUl9TVEFUVVMoZGV2 X3ByaXYtPnBzci50cmFuc2NvZGVyKSk7CiAJCXN0YXR1c192YWwgPSAodmFsICYgRURQX1BTUl9T VEFUVVNfU1RBVEVfTUFTSykgPj4KIAkJCSAgICAgIEVEUF9QU1JfU1RBVFVTX1NUQVRFX1NISUZU OwogCQlpZiAoc3RhdHVzX3ZhbCA8IEFSUkFZX1NJWkUobGl2ZV9zdGF0dXMpKQpAQCAtMjUyOSwx MCArMjUyOSwxMCBAQCBzdGF0aWMgaW50IGk5MTVfZWRwX3Bzcl9zdGF0dXMoc3RydWN0IHNlcV9m aWxlICptLCB2b2lkICpkYXRhKQogCQlnb3RvIHVubG9jazsKIAogCWlmIChwc3ItPnBzcjJfZW5h YmxlZCkgewotCQl2YWwgPSBJOTE1X1JFQUQoRURQX1BTUjJfQ1RMKTsKKwkJdmFsID0gSTkxNV9S RUFEKEVEUF9QU1IyX0NUTChkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIpKTsKIAkJZW5hYmxlZCA9 IHZhbCAmIEVEUF9QU1IyX0VOQUJMRTsKIAl9IGVsc2UgewotCQl2YWwgPSBJOTE1X1JFQUQoRURQ X1BTUl9DVEwpOworCQl2YWwgPSBJOTE1X1JFQUQoRURQX1BTUl9DVEwoZGV2X3ByaXYtPnBzci50 cmFuc2NvZGVyKSk7CiAJCWVuYWJsZWQgPSB2YWwgJiBFRFBfUFNSX0VOQUJMRTsKIAl9CiAJc2Vx X3ByaW50ZihtLCAiU291cmNlIFBTUiBjdGw6ICVzIFsweCUwOHhdXG4iLApAQCAtMjU0NSw3ICsy NTQ1LDggQEAgc3RhdGljIGludCBpOTE1X2VkcF9wc3Jfc3RhdHVzKHN0cnVjdCBzZXFfZmlsZSAq bSwgdm9pZCAqZGF0YSkKIAkgKiBTS0wrIFBlcmYgY291bnRlciBpcyByZXNldCB0byAwIGV2ZXJ5 dGltZSBEQyBzdGF0ZSBpcyBlbnRlcmVkCiAJICovCiAJaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYp IHx8IElTX0JST0FEV0VMTChkZXZfcHJpdikpIHsKLQkJdmFsID0gSTkxNV9SRUFEKEVEUF9QU1Jf UEVSRl9DTlQpICYgRURQX1BTUl9QRVJGX0NOVF9NQVNLOworCQl2YWwgPSBJOTE1X1JFQUQoRURQ X1BTUl9QRVJGX0NOVChkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIpKTsKKwkJdmFsICY9IEVEUF9Q U1JfUEVSRl9DTlRfTUFTSzsKIAkJc2VxX3ByaW50ZihtLCAiUGVyZm9ybWFuY2UgY291bnRlcjog JXVcbiIsIHZhbCk7CiAJfQogCkBAIC0yNTYzLDggKzI1NjQsMTEgQEAgc3RhdGljIGludCBpOTE1 X2VkcF9wc3Jfc3RhdHVzKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKIAkJICogUmVh ZGluZyBhbGwgMyByZWdpc3RlcnMgYmVmb3JlIGhhbmQgdG8gbWluaW1pemUgY3Jvc3NpbmcgYQog CQkgKiBmcmFtZSBib3VuZGFyeSBiZXR3ZWVuIHJlZ2lzdGVyIHJlYWRzCiAJCSAqLwotCQlmb3Ig KGZyYW1lID0gMDsgZnJhbWUgPCBQU1IyX1NVX1NUQVRVU19GUkFNRVM7IGZyYW1lICs9IDMpCi0J CQlzdV9mcmFtZXNfdmFsW2ZyYW1lIC8gM10gPSBJOTE1X1JFQUQoUFNSMl9TVV9TVEFUVVMoZnJh bWUpKTsKKwkJZm9yIChmcmFtZSA9IDA7IGZyYW1lIDwgUFNSMl9TVV9TVEFUVVNfRlJBTUVTOyBm cmFtZSArPSAzKSB7CisJCQl2YWwgPSBJOTE1X1JFQUQoUFNSMl9TVV9TVEFUVVMoZGV2X3ByaXYt PnBzci50cmFuc2NvZGVyLAorCQkJCQkJICAgICAgIGZyYW1lKSk7CisJCQlzdV9mcmFtZXNfdmFs W2ZyYW1lIC8gM10gPSB2YWw7CisJCX0KIAogCQlzZXFfcHV0cyhtLCAiRnJhbWU6XHRQU1IyIFNV IGJsb2NrczpcbiIpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCBkYzc0ZDMzYzIwYWEu Ljg5ZjI0MDFlODBhNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC01MDgsNiArNTA4LDcg QEAgc3RydWN0IGk5MTVfcHNyIHsKIAlib29sIGVuYWJsZWQ7CiAJc3RydWN0IGludGVsX2RwICpk cDsKIAllbnVtIHBpcGUgcGlwZTsKKwllbnVtIHRyYW5zY29kZXIgdHJhbnNjb2RlcjsKIAlib29s IGFjdGl2ZTsKIAlzdHJ1Y3Qgd29ya19zdHJ1Y3Qgd29yazsKIAl1bnNpZ25lZCBidXN5X2Zyb250 YnVmZmVyX2JpdHM7CkBAIC0xNTM0LDggKzE1MzUsNiBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSB7CiAJLyogTU1JTyBiYXNlIGFkZHJlc3MgZm9yIE1JUEkgcmVncyAqLwogCXUzMiBtaXBpX21t aW9fYmFzZTsKIAotCXUzMiBwc3JfbW1pb19iYXNlOwotCiAJdTMyIHBwc19tbWlvX2Jhc2U7CiAK IAl3YWl0X3F1ZXVlX2hlYWRfdCBnbWJ1c193YWl0X3F1ZXVlOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVn LmgKaW5kZXggMzExNjM0MTU0NzlkLi41NzJhOWY2NjFkNjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaApAQCAtNDIxMiwxMCArNDIxMiwxOSBAQCBlbnVtIHsKICNkZWZpbmUgUElQRVNSQyh0cmFu cykJCV9NTUlPX1RSQU5TMih0cmFucywgX1BJUEVBU1JDKQogI2RlZmluZSBQSVBFX01VTFQodHJh bnMpCV9NTUlPX1RSQU5TMih0cmFucywgX1BJUEVfTVVMVF9BKQogCi0vKiBIU1crIGVEUCBQU1Ig cmVnaXN0ZXJzICovCi0jZGVmaW5lIEhTV19FRFBfUFNSX0JBU0UJMHg2NDgwMAotI2RlZmluZSBC RFdfRURQX1BTUl9CQVNFCTB4NmY4MDAKLSNkZWZpbmUgRURQX1BTUl9DVEwJCQkJX01NSU8oZGV2 X3ByaXYtPnBzcl9tbWlvX2Jhc2UgKyAwKQorLyoKKyAqIEhTVysgZURQIFBTUiByZWdpc3RlcnMK KyAqCisgKiBIU1cgUFNSIHJlZ2lzdGVycyBhcmUgcmVsYXRpdmUgdG8gRERJQShfRERJX0JVRl9D VExfQSArIDB4ODAwKSB3aXRoIGp1c3Qgb25lCisgKiBpbnN0YW5jZSBvZiBpdAorICovCisjZGVm aW5lIF9IU1dfRURQX1BTUl9CQVNFCQkJMHg2NDgwMAorI2RlZmluZSBfU1JEX0NUTF9BCQkJCTB4 NjA4MDAKKyNkZWZpbmUgX1NSRF9DVExfRURQCQkJCTB4NkY4MDAKKyNkZWZpbmUgX0hTV19QU1Jf QURKKHJlZykJCQkoKHJlZykgLSBfU1JEX0NUTF9BICsgX0hTV19FRFBfUFNSX0JBU0UpCisjZGVm aW5lIF9QU1JfQURKKHRyYW4sIHJlZykJCQkoSVNfSEFTV0VMTChkZXZfcHJpdikgPyBfSFNXX1BT Ul9BREoocmVnKSA6IF9UUkFOUzIodHJhbiwgcmVnKSkKKyNkZWZpbmUgX01NSU9fUFNSX0FESih0 cmFuLCByZWcpCQlfTU1JTyhfUFNSX0FESih0cmFuLCByZWcpKQorI2RlZmluZSBFRFBfUFNSX0NU TCh0cmFuKQkJCV9NTUlPX1BTUl9BREoodHJhbiwgX1NSRF9DVExfQSkKICNkZWZpbmUgICBFRFBf UFNSX0VOQUJMRQkJCSgxIDw8IDMxKQogI2RlZmluZSAgIEJEV19QU1JfU0lOR0xFX0ZSQU1FCQkJ KDEgPDwgMzApCiAjZGVmaW5lICAgRURQX1BTUl9SRVNUT1JFX1BTUl9BQ1RJVkVfQ1RYX01BU0sJ KDEgPDwgMjkpIC8qIFNXIGNhbid0IG1vZGlmeSAqLwpAQCAtNDI1MiwxNiArNDI2MSwyMiBAQCBl bnVtIHsKICNkZWZpbmUgICBFRFBfUFNSX1RSQU5TQ09ERVJfQV9TSElGVAkJOAogI2RlZmluZSAg IEVEUF9QU1JfVFJBTlNDT0RFUl9FRFBfU0hJRlQJCTAKIAotI2RlZmluZSBFRFBfUFNSX0FVWF9D VEwJCQkJX01NSU8oZGV2X3ByaXYtPnBzcl9tbWlvX2Jhc2UgKyAweDEwKQorI2RlZmluZSBfU1JE X0FVWF9DVExfQQkJCQkweDYwODEwCisjZGVmaW5lIF9TUkRfQVVYX0NUTF9FRFAJCQkweDZGODEw CisjZGVmaW5lIEVEUF9QU1JfQVVYX0NUTCh0cmFuKQkJCV9NTUlPX1BTUl9BREoodHJhbiwgX1NS RF9BVVhfQ1RMX0EpCiAjZGVmaW5lICAgRURQX1BTUl9BVVhfQ1RMX1RJTUVfT1VUX01BU0sJCSgz IDw8IDI2KQogI2RlZmluZSAgIEVEUF9QU1JfQVVYX0NUTF9NRVNTQUdFX1NJWkVfTUFTSwkoMHgx ZiA8PCAyMCkKICNkZWZpbmUgICBFRFBfUFNSX0FVWF9DVExfUFJFQ0hBUkdFXzJVU19NQVNLCSgw eGYgPDwgMTYpCiAjZGVmaW5lICAgRURQX1BTUl9BVVhfQ1RMX0VSUk9SX0lOVEVSUlVQVAkoMSA8 PCAxMSkKICNkZWZpbmUgICBFRFBfUFNSX0FVWF9DVExfQklUX0NMT0NLXzJYX01BU0sJKDB4N2Zm KQogCi0jZGVmaW5lIEVEUF9QU1JfQVVYX0RBVEEoaSkJCQlfTU1JTyhkZXZfcHJpdi0+cHNyX21t aW9fYmFzZSArIDB4MTQgKyAoaSkgKiA0KSAvKiA1IHJlZ2lzdGVycyAqLworI2RlZmluZSBfU1JE X0FVWF9EQVRBX0EJCQkJMHg2MDgxNAorI2RlZmluZSBfU1JEX0FVWF9EQVRBX0VEUAkJCTB4NkY4 MTQKKyNkZWZpbmUgRURQX1BTUl9BVVhfREFUQSh0cmFuLCBpKQkJX01NSU8oX1BTUl9BREoodHJh biwgX1NSRF9BVVhfREFUQV9BKSArIChpKSArIDQpIC8qIDUgcmVnaXN0ZXJzICovCiAKLSNkZWZp bmUgRURQX1BTUl9TVEFUVVMJCQkJX01NSU8oZGV2X3ByaXYtPnBzcl9tbWlvX2Jhc2UgKyAweDQw KQorI2RlZmluZSBfU1JEX1NUQVRVU19BCQkJCTB4NjA4NDAKKyNkZWZpbmUgX1NSRF9TVEFUVVNf RURQCQkJCTB4NkY4NDAKKyNkZWZpbmUgRURQX1BTUl9TVEFUVVModHJhbikJCQlfTU1JT19QU1Jf QURKKHRyYW4sIF9TUkRfU1RBVFVTX0EpCiAjZGVmaW5lICAgRURQX1BTUl9TVEFUVVNfU1RBVEVf TUFTSwkJKDcgPDwgMjkpCiAjZGVmaW5lICAgRURQX1BTUl9TVEFUVVNfU1RBVEVfU0hJRlQJCTI5 CiAjZGVmaW5lICAgRURQX1BTUl9TVEFUVVNfU1RBVEVfSURMRQkJKDAgPDwgMjkpCkBAIC00Mjg2 LDEwICs0MzAxLDE1IEBAIGVudW0gewogI2RlZmluZSAgIEVEUF9QU1JfU1RBVFVTX1NFTkRJTkdf VFAxCQkoMSA8PCA0KQogI2RlZmluZSAgIEVEUF9QU1JfU1RBVFVTX0lETEVfTUFTSwkJMHhmCiAK LSNkZWZpbmUgRURQX1BTUl9QRVJGX0NOVAkJX01NSU8oZGV2X3ByaXYtPnBzcl9tbWlvX2Jhc2Ug KyAweDQ0KQorI2RlZmluZSBfU1JEX1BFUkZfQ05UX0EJCQkweDYwODQ0CisjZGVmaW5lIF9TUkRf UEVSRl9DTlRfRURQCQkweDZGODQ0CisjZGVmaW5lIEVEUF9QU1JfUEVSRl9DTlQodHJhbikJCV9N TUlPX1BTUl9BREoodHJhbiwgX1NSRF9QRVJGX0NOVF9BKQogI2RlZmluZSAgIEVEUF9QU1JfUEVS Rl9DTlRfTUFTSwkJMHhmZmZmZmYKIAotI2RlZmluZSBFRFBfUFNSX0RFQlVHCQkJCV9NTUlPKGRl dl9wcml2LT5wc3JfbW1pb19iYXNlICsgMHg2MCkgLyogUFNSX01BU0sgb24gU0tMKyAqLworLyog UFNSX01BU0sgb24gU0tMKyAqLworI2RlZmluZSBfU1JEX0RFQlVHX0EJCQkJMHg2MDg2MAorI2Rl ZmluZSBfU1JEX0RFQlVHX0VEUAkJCQkweDZGODYwCisjZGVmaW5lIEVEUF9QU1JfREVCVUcodHJh bikJCQlfTU1JT19QU1JfQURKKHRyYW4sIF9TUkRfREVCVUdfQSkKICNkZWZpbmUgICBFRFBfUFNS X0RFQlVHX01BU0tfTUFYX1NMRUVQICAgICAgICAgKDEgPDwgMjgpCiAjZGVmaW5lICAgRURQX1BT Ul9ERUJVR19NQVNLX0xQU1AgICAgICAgICAgICAgICgxIDw8IDI3KQogI2RlZmluZSAgIEVEUF9Q U1JfREVCVUdfTUFTS19NRU1VUCAgICAgICAgICAgICAoMSA8PCAyNikKQEAgLTQyOTcsNyArNDMx Nyw5IEBAIGVudW0gewogI2RlZmluZSAgIEVEUF9QU1JfREVCVUdfTUFTS19ESVNQX1JFR19XUklU RSAgICAoMSA8PCAxNikgLyogUmVzZXJ2ZWQgaW4gSUNMKyAqLwogI2RlZmluZSAgIEVEUF9QU1Jf REVCVUdfRVhJVF9PTl9QSVhFTF9VTkRFUlJVTiAoMSA8PCAxNSkgLyogU0tMKyAqLwogCi0jZGVm aW5lIEVEUF9QU1IyX0NUTAkJCV9NTUlPKDB4NmY5MDApCisjZGVmaW5lIF9QU1IyX0NUTF9BCQkJ MHg2MDkwMAorI2RlZmluZSBfUFNSMl9DVExfRURQCQkJMHg2RjkwMAorI2RlZmluZSBFRFBfUFNS Ml9DVEwodHJhbikJCV9NTUlPX1RSQU5TMih0cmFuLCBfUFNSMl9DVExfQSkKICNkZWZpbmUgICBF RFBfUFNSMl9FTkFCTEUJCSgxIDw8IDMxKQogI2RlZmluZSAgIEVEUF9TVV9UUkFDS19FTkFCTEUJ CSgxIDw8IDMwKQogI2RlZmluZSAgIEVEUF9ZX0NPT1JESU5BVEVfVkFMSUQJKDEgPDwgMjYpIC8q IEdMSyBhbmQgQ05MKyAqLwpAQCAtNDMyMCw3ICs0MzQyLDcgQEAgZW51bSB7CiAjZGVmaW5lIF9Q U1JfRVZFTlRfVFJBTlNfQwkJCTB4NjI4NDgKICNkZWZpbmUgX1BTUl9FVkVOVF9UUkFOU19ECQkJ MHg2Mzg0OAogI2RlZmluZSBfUFNSX0VWRU5UX1RSQU5TX0VEUAkJCTB4NkY4NDgKLSNkZWZpbmUg UFNSX0VWRU5UKHRyYW5zKQkJCV9NTUlPX1RSQU5TMih0cmFucywgX1BTUl9FVkVOVF9UUkFOU19B KQorI2RlZmluZSBQU1JfRVZFTlQodHJhbikJCQkJX01NSU9fVFJBTlMyKHRyYW4sIF9QU1JfRVZF TlRfVFJBTlNfQSkKICNkZWZpbmUgIFBTUl9FVkVOVF9QU1IyX1dEX1RJTUVSX0VYUElSRQkJKDEg PDwgMTcpCiAjZGVmaW5lICBQU1JfRVZFTlRfUFNSMl9ESVNBQkxFRAkJKDEgPDwgMTYpCiAjZGVm aW5lICBQU1JfRVZFTlRfU1VfRElSVFlfRklGT19VTkRFUlJVTgkoMSA8PCAxNSkKQEAgLTQzMzgs MTUgKzQzNjAsMTYgQEAgZW51bSB7CiAjZGVmaW5lICBQU1JfRVZFTlRfTFBTUF9NT0RFX0VYSVQJ CSgxIDw8IDEpCiAjZGVmaW5lICBQU1JfRVZFTlRfUFNSX0RJU0FCTEUJCQkoMSA8PCAwKQogCi0j ZGVmaW5lIEVEUF9QU1IyX1NUQVRVUwkJCV9NTUlPKDB4NmY5NDApCisjZGVmaW5lIF9QU1IyX1NU QVRVU19BCQkJMHg2MDk0MAorI2RlZmluZSBfUFNSMl9TVEFUVVNfRURQCQkweDZGOTQwCisjZGVm aW5lIEVEUF9QU1IyX1NUQVRVUyh0cmFuKQkJX01NSU9fVFJBTlMyKHRyYW4sIF9QU1IyX1NUQVRV U19BKQogI2RlZmluZSBFRFBfUFNSMl9TVEFUVVNfU1RBVEVfTUFTSyAgICAgKDB4ZiA8PCAyOCkK ICNkZWZpbmUgRURQX1BTUjJfU1RBVFVTX1NUQVRFX1NISUZUICAgIDI4CiAKLSNkZWZpbmUgX1BT UjJfU1VfU1RBVFVTXzAJCTB4NkY5MTQKLSNkZWZpbmUgX1BTUjJfU1VfU1RBVFVTXzEJCTB4NkY5 MTgKLSNkZWZpbmUgX1BTUjJfU1VfU1RBVFVTXzIJCTB4NkY5MUMKLSNkZWZpbmUgX1BTUjJfU1Vf U1RBVFVTKGluZGV4KQkJX01NSU8oX1BJQ0tfRVZFTigoaW5kZXgpLCBfUFNSMl9TVV9TVEFUVVNf MCwgX1BTUjJfU1VfU1RBVFVTXzEpKQotI2RlZmluZSBQU1IyX1NVX1NUQVRVUyhmcmFtZSkJCShf UFNSMl9TVV9TVEFUVVMoKGZyYW1lKSAvIDMpKQorI2RlZmluZSBfUFNSMl9TVV9TVEFUVVNfQQkJ MHg2MDkxNAorI2RlZmluZSBfUFNSMl9TVV9TVEFUVVNfRURQCQkweDZGOTE0CisjZGVmaW5lIF9Q U1IyX1NVX1NUQVRVUyh0cmFuLCBpbmRleCkJX01NSU8oX1RSQU5TMih0cmFuLCBfUFNSMl9TVV9T VEFUVVNfQSkgKyAoaW5kZXgpICogNCkKKyNkZWZpbmUgUFNSMl9TVV9TVEFUVVModHJhbiwgZnJh bWUpCShfUFNSMl9TVV9TVEFUVVModHJhbiwgKGZyYW1lKSAvIDMpKQogI2RlZmluZSBQU1IyX1NV X1NUQVRVU19TSElGVChmcmFtZSkJKCgoZnJhbWUpICUgMykgKiAxMCkKICNkZWZpbmUgUFNSMl9T VV9TVEFUVVNfTUFTSyhmcmFtZSkJKDB4M2ZmIDw8IFBTUjJfU1VfU1RBVFVTX1NISUZUKGZyYW1l KSkKICNkZWZpbmUgUFNSMl9TVV9TVEFUVVNfRlJBTUVTCQk4CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bz ci5jCmluZGV4IDk2MzY2M2JhMGVkZi4uZmU5ODA0MTgxOWVjIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9wc3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9wc3IuYwpAQCAtMzk5LDcgKzM5OSw3IEBAIHN0YXRpYyB2b2lkIGhzd19wc3Jfc2V0dXBfYXV4 KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAKIAlCVUlMRF9CVUdfT04oc2l6ZW9mKGF1eF9t c2cpID4gMjApOwogCWZvciAoaSA9IDA7IGkgPCBzaXplb2YoYXV4X21zZyk7IGkgKz0gNCkKLQkJ STkxNV9XUklURShFRFBfUFNSX0FVWF9EQVRBKGkgPj4gMiksCisJCUk5MTVfV1JJVEUoRURQX1BT Ul9BVVhfREFUQShkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIsIGkgPj4gMiksCiAJCQkgICBpbnRl bF9kcF9wYWNrX2F1eCgmYXV4X21zZ1tpXSwgc2l6ZW9mKGF1eF9tc2cpIC0gaSkpOwogCiAJYXV4 X2Nsb2NrX2RpdmlkZXIgPSBpbnRlbF9kcC0+Z2V0X2F1eF9jbG9ja19kaXZpZGVyKGludGVsX2Rw LCAwKTsKQEAgLTQxMCw3ICs0MTAsNyBAQCBzdGF0aWMgdm9pZCBoc3dfcHNyX3NldHVwX2F1eChz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCiAJLyogU2VsZWN0IG9ubHkgdmFsaWQgYml0cyBm b3IgU1JEX0FVWF9DVEwgKi8KIAlhdXhfY3RsICY9IHBzcl9hdXhfbWFzazsKLQlJOTE1X1dSSVRF KEVEUF9QU1JfQVVYX0NUTCwgYXV4X2N0bCk7CisJSTkxNV9XUklURShFRFBfUFNSX0FVWF9DVEwo ZGV2X3ByaXYtPnBzci50cmFuc2NvZGVyKSwgYXV4X2N0bCk7CiB9CiAKIHN0YXRpYyB2b2lkIGlu dGVsX3Bzcl9lbmFibGVfc2luayhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQpAQCAtNTAwLDgg KzUwMCw5IEBAIHN0YXRpYyB2b2lkIGhzd19hY3RpdmF0ZV9wc3IxKHN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHApCiAJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOCkKIAkJdmFsIHw9IEVEUF9Q U1JfQ1JDX0VOQUJMRTsKIAotCXZhbCB8PSBJOTE1X1JFQUQoRURQX1BTUl9DVEwpICYgRURQX1BT Ul9SRVNUT1JFX1BTUl9BQ1RJVkVfQ1RYX01BU0s7Ci0JSTkxNV9XUklURShFRFBfUFNSX0NUTCwg dmFsKTsKKwl2YWwgfD0gKEk5MTVfUkVBRChFRFBfUFNSX0NUTChkZXZfcHJpdi0+cHNyLnRyYW5z Y29kZXIpKSAmCisJCUVEUF9QU1JfUkVTVE9SRV9QU1JfQUNUSVZFX0NUWF9NQVNLKTsKKwlJOTE1 X1dSSVRFKEVEUF9QU1JfQ1RMKGRldl9wcml2LT5wc3IudHJhbnNjb2RlciksIHZhbCk7CiB9CiAK IHN0YXRpYyB2b2lkIGhzd19hY3RpdmF0ZV9wc3IyKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAp CkBAIC01MzcsOSArNTM4LDkgQEAgc3RhdGljIHZvaWQgaHN3X2FjdGl2YXRlX3BzcjIoc3RydWN0 IGludGVsX2RwICppbnRlbF9kcCkKIAkgKiBQU1IyIEhXIGlzIGluY29ycmVjdGx5IHVzaW5nIEVE UF9QU1JfVFAxX1RQM19TRUwgYW5kIEJTcGVjIGlzCiAJICogcmVjb21tZW5kaW5nIGtlZXAgdGhp cyBiaXQgdW5zZXQgd2hpbGUgUFNSMiBpcyBlbmFibGVkLgogCSAqLwotCUk5MTVfV1JJVEUoRURQ X1BTUl9DVEwsIDApOworCUk5MTVfV1JJVEUoRURQX1BTUl9DVEwoZGV2X3ByaXYtPnBzci50cmFu c2NvZGVyKSwgMCk7CiAKLQlJOTE1X1dSSVRFKEVEUF9QU1IyX0NUTCwgdmFsKTsKKwlJOTE1X1dS SVRFKEVEUF9QU1IyX0NUTChkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIpLCB2YWwpOwogfQogCiBz dGF0aWMgYm9vbCBpbnRlbF9wc3IyX2NvbmZpZ192YWxpZChzdHJ1Y3QgaW50ZWxfZHAgKmludGVs X2RwLApAQCAtNjU4LDggKzY1OSw4IEBAIHN0YXRpYyB2b2lkIGludGVsX3Bzcl9hY3RpdmF0ZShz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IGRwX3RvX2k5MTUoaW50ZWxfZHApOwogCiAJaWYgKElOVEVMX0dFTihkZXZfcHJpdikg Pj0gOSkKLQkJV0FSTl9PTihJOTE1X1JFQUQoRURQX1BTUjJfQ1RMKSAmIEVEUF9QU1IyX0VOQUJM RSk7Ci0JV0FSTl9PTihJOTE1X1JFQUQoRURQX1BTUl9DVEwpICYgRURQX1BTUl9FTkFCTEUpOwor CQlXQVJOX09OKEk5MTVfUkVBRChFRFBfUFNSMl9DVEwoZGV2X3ByaXYtPnBzci50cmFuc2NvZGVy KSkgJiBFRFBfUFNSMl9FTkFCTEUpOworCVdBUk5fT04oSTkxNV9SRUFEKEVEUF9QU1JfQ1RMKGRl dl9wcml2LT5wc3IudHJhbnNjb2RlcikpICYgRURQX1BTUl9FTkFCTEUpOwogCVdBUk5fT04oZGV2 X3ByaXYtPnBzci5hY3RpdmUpOwogCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRldl9wcml2LT5wc3Iu bG9jayk7CiAKQEAgLTcyOSw3ICs3MzAsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wc3JfZW5hYmxl X3NvdXJjZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAogCWlmIChJTlRFTF9HRU4oZGV2X3By aXYpIDwgMTEpCiAJCW1hc2sgfD0gRURQX1BTUl9ERUJVR19NQVNLX0RJU1BfUkVHX1dSSVRFOwog Ci0JSTkxNV9XUklURShFRFBfUFNSX0RFQlVHLCBtYXNrKTsKKwlJOTE1X1dSSVRFKEVEUF9QU1Jf REVCVUcoZGV2X3ByaXYtPnBzci50cmFuc2NvZGVyKSwgbWFzayk7CiB9CiAKIHN0YXRpYyB2b2lk IGludGVsX3Bzcl9lbmFibGVfbG9ja2VkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKQEAgLTc0Miw2ICs3NDMsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wc3JfZW5hYmxlX2xvY2tl ZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJZGV2X3ByaXYtPnBzci5wc3Iy X2VuYWJsZWQgPSBpbnRlbF9wc3IyX2VuYWJsZWQoZGV2X3ByaXYsIGNydGNfc3RhdGUpOwogCWRl dl9wcml2LT5wc3IuYnVzeV9mcm9udGJ1ZmZlcl9iaXRzID0gMDsKIAlkZXZfcHJpdi0+cHNyLnBp cGUgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0YyktPnBpcGU7CisJZGV2X3By aXYtPnBzci50cmFuc2NvZGVyID0gY3J0Y19zdGF0ZS0+Y3B1X3RyYW5zY29kZXI7CiAKIAlEUk1f REVCVUdfS01TKCJFbmFibGluZyBQU1Ilc1xuIiwKIAkJICAgICAgZGV2X3ByaXYtPnBzci5wc3Iy X2VuYWJsZWQgPyAiMiIgOiAiMSIpOwpAQCAtNzkxLDIwICs3OTMsMjcgQEAgc3RhdGljIHZvaWQg aW50ZWxfcHNyX2V4aXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCXUzMiB2 YWw7CiAKIAlpZiAoIWRldl9wcml2LT5wc3IuYWN0aXZlKSB7Ci0JCWlmIChJTlRFTF9HRU4oZGV2 X3ByaXYpID49IDkpCi0JCQlXQVJOX09OKEk5MTVfUkVBRChFRFBfUFNSMl9DVEwpICYgRURQX1BT UjJfRU5BQkxFKTsKLQkJV0FSTl9PTihJOTE1X1JFQUQoRURQX1BTUl9DVEwpICYgRURQX1BTUl9F TkFCTEUpOworCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7CisJCQl2YWwgPSBJOTE1 X1JFQUQoRURQX1BTUjJfQ1RMKGRldl9wcml2LT5wc3IudHJhbnNjb2RlcikpOworCQkJV0FSTl9P Tih2YWwgJiBFRFBfUFNSMl9FTkFCTEUpOworCQl9CisKKwkJdmFsID0gSTkxNV9SRUFEKEVEUF9Q U1JfQ1RMKGRldl9wcml2LT5wc3IudHJhbnNjb2RlcikpOworCQlXQVJOX09OKHZhbCAmIEVEUF9Q U1JfRU5BQkxFKTsKKwogCQlyZXR1cm47CiAJfQogCiAJaWYgKGRldl9wcml2LT5wc3IucHNyMl9l bmFibGVkKSB7Ci0JCXZhbCA9IEk5MTVfUkVBRChFRFBfUFNSMl9DVEwpOworCQl2YWwgPSBJOTE1 X1JFQUQoRURQX1BTUjJfQ1RMKGRldl9wcml2LT5wc3IudHJhbnNjb2RlcikpOwogCQlXQVJOX09O KCEodmFsICYgRURQX1BTUjJfRU5BQkxFKSk7Ci0JCUk5MTVfV1JJVEUoRURQX1BTUjJfQ1RMLCB2 YWwgJiB+RURQX1BTUjJfRU5BQkxFKTsKKwkJdmFsICY9IH5FRFBfUFNSMl9FTkFCTEU7CisJCUk5 MTVfV1JJVEUoRURQX1BTUjJfQ1RMKGRldl9wcml2LT5wc3IudHJhbnNjb2RlciksIHZhbCk7CiAJ fSBlbHNlIHsKLQkJdmFsID0gSTkxNV9SRUFEKEVEUF9QU1JfQ1RMKTsKKwkJdmFsID0gSTkxNV9S RUFEKEVEUF9QU1JfQ1RMKGRldl9wcml2LT5wc3IudHJhbnNjb2RlcikpOwogCQlXQVJOX09OKCEo dmFsICYgRURQX1BTUl9FTkFCTEUpKTsKLQkJSTkxNV9XUklURShFRFBfUFNSX0NUTCwgdmFsICYg fkVEUF9QU1JfRU5BQkxFKTsKKwkJdmFsICY9IH5FRFBfUFNSX0VOQUJMRTsKKwkJSTkxNV9XUklU RShFRFBfUFNSX0NUTChkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIpLCB2YWwpOwogCX0KIAlkZXZf cHJpdi0+cHNyLmFjdGl2ZSA9IGZhbHNlOwogfQpAQCAtODI2LDEwICs4MzUsMTAgQEAgc3RhdGlj IHZvaWQgaW50ZWxfcHNyX2Rpc2FibGVfbG9ja2VkKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAp CiAJaW50ZWxfcHNyX2V4aXQoZGV2X3ByaXYpOwogCiAJaWYgKGRldl9wcml2LT5wc3IucHNyMl9l bmFibGVkKSB7Ci0JCXBzcl9zdGF0dXMgPSBFRFBfUFNSMl9TVEFUVVM7CisJCXBzcl9zdGF0dXMg PSBFRFBfUFNSMl9TVEFUVVMoZGV2X3ByaXYtPnBzci50cmFuc2NvZGVyKTsKIAkJcHNyX3N0YXR1 c19tYXNrID0gRURQX1BTUjJfU1RBVFVTX1NUQVRFX01BU0s7CiAJfSBlbHNlIHsKLQkJcHNyX3N0 YXR1cyA9IEVEUF9QU1JfU1RBVFVTOworCQlwc3Jfc3RhdHVzID0gRURQX1BTUl9TVEFUVVMoZGV2 X3ByaXYtPnBzci50cmFuc2NvZGVyKTsKIAkJcHNyX3N0YXR1c19tYXNrID0gRURQX1BTUl9TVEFU VVNfU1RBVEVfTUFTSzsKIAl9CiAKQEAgLTk1Niw3ICs5NjUsOCBAQCBpbnQgaW50ZWxfcHNyX3dh aXRfZm9yX2lkbGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm5ld19jcnRjX3N0YXRl LAogCSAqIGRlZmVuc2l2ZSBlbm91Z2ggdG8gY292ZXIgZXZlcnl0aGluZy4KIAkgKi8KIAotCXJl dHVybiBfX2ludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKCZkZXZfcHJpdi0+dW5jb3JlLCBFRFBfUFNS X1NUQVRVUywKKwlyZXR1cm4gX19pbnRlbF93YWl0X2Zvcl9yZWdpc3RlcigmZGV2X3ByaXYtPnVu Y29yZSwKKwkJCQkJIEVEUF9QU1JfU1RBVFVTKGRldl9wcml2LT5wc3IudHJhbnNjb2RlciksCiAJ CQkJCSBFRFBfUFNSX1NUQVRVU19TVEFURV9NQVNLLAogCQkJCQkgRURQX1BTUl9TVEFUVVNfU1RB VEVfSURMRSwgMiwgNTAsCiAJCQkJCSBvdXRfdmFsdWUpOwpAQCAtOTcyLDEwICs5ODIsMTAgQEAg c3RhdGljIGJvb2wgX19wc3Jfd2FpdF9mb3JfaWRsZV9sb2NrZWQoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2KQogCQlyZXR1cm4gZmFsc2U7CiAKIAlpZiAoZGV2X3ByaXYtPnBzci5w c3IyX2VuYWJsZWQpIHsKLQkJcmVnID0gRURQX1BTUjJfU1RBVFVTOworCQlyZWcgPSBFRFBfUFNS Ml9TVEFUVVMoZGV2X3ByaXYtPnBzci50cmFuc2NvZGVyKTsKIAkJbWFzayA9IEVEUF9QU1IyX1NU QVRVU19TVEFURV9NQVNLOwogCX0gZWxzZSB7Ci0JCXJlZyA9IEVEUF9QU1JfU1RBVFVTOworCQly ZWcgPSBFRFBfUFNSX1NUQVRVUyhkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIpOwogCQltYXNrID0g RURQX1BTUl9TVEFUVVNfU1RBVEVfTUFTSzsKIAl9CiAKQEAgLTEyMDYsOSArMTIxNiw2IEBAIHZv aWQgaW50ZWxfcHNyX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCWlm ICghSEFTX1BTUihkZXZfcHJpdikpCiAJCXJldHVybjsKIAotCWRldl9wcml2LT5wc3JfbW1pb19i YXNlID0gSVNfSEFTV0VMTChkZXZfcHJpdikgPwotCQlIU1dfRURQX1BTUl9CQVNFIDogQkRXX0VE UF9QU1JfQkFTRTsKLQogCWlmICghZGV2X3ByaXYtPnBzci5zaW5rX3N1cHBvcnQpCiAJCXJldHVy bjsKIAotLSAKMi4yMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZng=