From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= Subject: [PATCH v7 3/4] drm/i915/psr: Make PSR registers relative to transcoders Date: Tue, 30 Jul 2019 15:47:52 -0700 Message-ID: <20190730224753.14907-3-jose.souza@intel.com> References: <20190730224753.14907-1-jose.souza@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1636A89DA8 for ; Tue, 30 Jul 2019 22:47:57 +0000 (UTC) In-Reply-To: <20190730224753.14907-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 dGVyIHRvIHRoZQptYWNyb3MgKERoaW5ha2FyYW4pCgp2NjoKLSBDaGVja2luZyBmb3IgaW50ZXJy dXB0aW9uIGVycm9ycyBhZnRlciBtb2R1bGUgcmVsb2FkIGluIHRoZQp0cmFuc2NvZGVyIHRoYXQg d2lsbCBiZSB1c2VkIChEaGluYWthcmFuKQotIFVzaW5nIGxvd2VyY2FzZSB0byB0aGUgcmVnaXN0 ZXJzIG9mZnNldHMKCnY3OgotIFJlbW92aW5nIElTX0hBU1dFTEwoKSBmcm9tIHJlZ2lzdGVycyBt YWNyb3MoSmFuaSkKCkNjOiBEaGluYWthcmFuIFBhbmRpeWFuIDxkaGluYWthcmFuLnBhbmRpeWFu QGludGVsLmNvbT4KQ2M6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KQ2M6 IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBsaW51eC5pbnRlbC5jb20+CkNjOiBWaWxsZSBTeXJq w6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpDYzogWmhpIFdhbmcgPHpoaS5h LndhbmdAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBKb3PDqSBSb2JlcnRvIGRlIFNvdXphIDxq b3NlLnNvdXphQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX3Bzci5jIHwgMTA0ICsrKysrKysrKysrKystLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9ndnQvaGFuZGxlcnMuYyAgICAgIHwgICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2RlYnVnZnMuYyAgICAgIHwgIDE4ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmggICAgICAgICAgfCAgIDUgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgg ICAgICAgICAgfCAgNTcgKysrKysrKysrLS0tLQogNSBmaWxlcyBjaGFuZ2VkLCAxMTMgaW5zZXJ0 aW9ucygrKSwgNzMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9wc3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfcHNyLmMKaW5kZXggNjlkOTA4ZTZhMDUwLi5mMDZiNGEwYjllMjYgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfcHNyLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9wc3IuYwpAQCAtMzkwLDcgKzM5MCw3IEBAIHN0YXRpYyB2 b2lkIGhzd19wc3Jfc2V0dXBfYXV4KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAKIAlCVUlM RF9CVUdfT04oc2l6ZW9mKGF1eF9tc2cpID4gMjApOwogCWZvciAoaSA9IDA7IGkgPCBzaXplb2Yo YXV4X21zZyk7IGkgKz0gNCkKLQkJSTkxNV9XUklURShFRFBfUFNSX0FVWF9EQVRBKGkgPj4gMiks CisJCUk5MTVfV1JJVEUoRURQX1BTUl9BVVhfREFUQShkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIs IGkgPj4gMiksCiAJCQkgICBpbnRlbF9kcF9wYWNrX2F1eCgmYXV4X21zZ1tpXSwgc2l6ZW9mKGF1 eF9tc2cpIC0gaSkpOwogCiAJYXV4X2Nsb2NrX2RpdmlkZXIgPSBpbnRlbF9kcC0+Z2V0X2F1eF9j bG9ja19kaXZpZGVyKGludGVsX2RwLCAwKTsKQEAgLTQwMSw3ICs0MDEsNyBAQCBzdGF0aWMgdm9p ZCBoc3dfcHNyX3NldHVwX2F1eChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCiAJLyogU2Vs ZWN0IG9ubHkgdmFsaWQgYml0cyBmb3IgU1JEX0FVWF9DVEwgKi8KIAlhdXhfY3RsICY9IHBzcl9h dXhfbWFzazsKLQlJOTE1X1dSSVRFKEVEUF9QU1JfQVVYX0NUTCwgYXV4X2N0bCk7CisJSTkxNV9X UklURShFRFBfUFNSX0FVWF9DVEwoZGV2X3ByaXYtPnBzci50cmFuc2NvZGVyKSwgYXV4X2N0bCk7 CiB9CiAKIHN0YXRpYyB2b2lkIGludGVsX3Bzcl9lbmFibGVfc2luayhzdHJ1Y3QgaW50ZWxfZHAg KmludGVsX2RwKQpAQCAtNDkxLDggKzQ5MSw5IEBAIHN0YXRpYyB2b2lkIGhzd19hY3RpdmF0ZV9w c3IxKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJaWYgKElOVEVMX0dFTihkZXZfcHJpdikg Pj0gOCkKIAkJdmFsIHw9IEVEUF9QU1JfQ1JDX0VOQUJMRTsKIAotCXZhbCB8PSBJOTE1X1JFQUQo RURQX1BTUl9DVEwpICYgRURQX1BTUl9SRVNUT1JFX1BTUl9BQ1RJVkVfQ1RYX01BU0s7Ci0JSTkx NV9XUklURShFRFBfUFNSX0NUTCwgdmFsKTsKKwl2YWwgfD0gKEk5MTVfUkVBRChFRFBfUFNSX0NU TChkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIpKSAmCisJCUVEUF9QU1JfUkVTVE9SRV9QU1JfQUNU SVZFX0NUWF9NQVNLKTsKKwlJOTE1X1dSSVRFKEVEUF9QU1JfQ1RMKGRldl9wcml2LT5wc3IudHJh bnNjb2RlciksIHZhbCk7CiB9CiAKIHN0YXRpYyB2b2lkIGhzd19hY3RpdmF0ZV9wc3IyKHN0cnVj dCBpbnRlbF9kcCAqaW50ZWxfZHApCkBAIC01MjgsOSArNTI5LDkgQEAgc3RhdGljIHZvaWQgaHN3 X2FjdGl2YXRlX3BzcjIoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAkgKiBQU1IyIEhXIGlz IGluY29ycmVjdGx5IHVzaW5nIEVEUF9QU1JfVFAxX1RQM19TRUwgYW5kIEJTcGVjIGlzCiAJICog cmVjb21tZW5kaW5nIGtlZXAgdGhpcyBiaXQgdW5zZXQgd2hpbGUgUFNSMiBpcyBlbmFibGVkLgog CSAqLwotCUk5MTVfV1JJVEUoRURQX1BTUl9DVEwsIDApOworCUk5MTVfV1JJVEUoRURQX1BTUl9D VEwoZGV2X3ByaXYtPnBzci50cmFuc2NvZGVyKSwgMCk7CiAKLQlJOTE1X1dSSVRFKEVEUF9QU1Iy X0NUTCwgdmFsKTsKKwlJOTE1X1dSSVRFKEVEUF9QU1IyX0NUTChkZXZfcHJpdi0+cHNyLnRyYW5z Y29kZXIpLCB2YWwpOwogfQogCiBzdGF0aWMgYm9vbCBpbnRlbF9wc3IyX2NvbmZpZ192YWxpZChz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLApAQCAtNjA2LDEwICs2MDcsOSBAQCB2b2lkIGludGVs X3Bzcl9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAogCiAJLyoKIAkg KiBIU1cgc3BlYyBleHBsaWNpdGx5IHNheXMgUFNSIGlzIHRpZWQgdG8gcG9ydCBBLgotCSAqIEJE VysgcGxhdGZvcm1zIHdpdGggRERJIGltcGxlbWVudGF0aW9uIG9mIFBTUiBoYXZlIGRpZmZlcmVu dAotCSAqIFBTUiByZWdpc3RlcnMgcGVyIHRyYW5zY29kZXIgYW5kIHdlIG9ubHkgaW1wbGVtZW50 IHRyYW5zY29kZXIgRURQCi0JICogb25lcy4gU2luY2UgYnkgRGlzcGxheSBkZXNpZ24gdHJhbnNj b2RlciBFRFAgaXMgdGllZCB0byBwb3J0IEEKLQkgKiB3ZSBjYW4gc2FmZWx5IGVzY2FwZSBiYXNl ZCBvbiB0aGUgcG9ydCBBLgorCSAqIEJEVysgcGxhdGZvcm1zIGhhdmUgYSBpbnN0YW5jZSBvZiBQ U1IgcmVnaXN0ZXJzIHBlciB0cmFuc2NvZGVyIGJ1dAorCSAqIGZvciBub3cgaXQgb25seSBzdXBw b3J0cyBvbmUgaW5zdGFuY2Ugb2YgUFNSLCBzbyBsZXRzIGtlZXAgaXQKKwkgKiBoYXJkY29kZWQg dG8gUE9SVF9BCiAJICovCiAJaWYgKGRpZ19wb3J0LT5iYXNlLnBvcnQgIT0gUE9SVF9BKSB7CiAJ CURSTV9ERUJVR19LTVMoIlBTUiBjb25kaXRpb24gZmFpbGVkOiBQb3J0IG5vdCBzdXBwb3J0ZWRc biIpOwpAQCAtNjQ5LDggKzY0OSw4IEBAIHN0YXRpYyB2b2lkIGludGVsX3Bzcl9hY3RpdmF0ZShz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IGRwX3RvX2k5MTUoaW50ZWxfZHApOwogCiAJaWYgKElOVEVMX0dFTihkZXZfcHJpdikg Pj0gOSkKLQkJV0FSTl9PTihJOTE1X1JFQUQoRURQX1BTUjJfQ1RMKSAmIEVEUF9QU1IyX0VOQUJM RSk7Ci0JV0FSTl9PTihJOTE1X1JFQUQoRURQX1BTUl9DVEwpICYgRURQX1BTUl9FTkFCTEUpOwor CQlXQVJOX09OKEk5MTVfUkVBRChFRFBfUFNSMl9DVEwoZGV2X3ByaXYtPnBzci50cmFuc2NvZGVy KSkgJiBFRFBfUFNSMl9FTkFCTEUpOworCVdBUk5fT04oSTkxNV9SRUFEKEVEUF9QU1JfQ1RMKGRl dl9wcml2LT5wc3IudHJhbnNjb2RlcikpICYgRURQX1BTUl9FTkFCTEUpOwogCVdBUk5fT04oZGV2 X3ByaXYtPnBzci5hY3RpdmUpOwogCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRldl9wcml2LT5wc3Iu bG9jayk7CiAKQEAgLTcyMCwxOSArNzIwLDM3IEBAIHN0YXRpYyB2b2lkIGludGVsX3Bzcl9lbmFi bGVfc291cmNlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAJaWYgKElOVEVMX0dFTihkZXZf cHJpdikgPCAxMSkKIAkJbWFzayB8PSBFRFBfUFNSX0RFQlVHX01BU0tfRElTUF9SRUdfV1JJVEU7 CiAKLQlJOTE1X1dSSVRFKEVEUF9QU1JfREVCVUcsIG1hc2spOworCUk5MTVfV1JJVEUoRURQX1BT Ul9ERUJVRyhkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIpLCBtYXNrKTsKIH0KIAogc3RhdGljIHZv aWQgaW50ZWxfcHNyX2VuYWJsZV9sb2NrZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAogCQkJCSAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkK IHsKIAlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZGV2X3ByaXYtPnBzci5kcDsKKwl1MzIg dmFsOwogCiAJV0FSTl9PTihkZXZfcHJpdi0+cHNyLmVuYWJsZWQpOwogCiAJZGV2X3ByaXYtPnBz ci5wc3IyX2VuYWJsZWQgPSBpbnRlbF9wc3IyX2VuYWJsZWQoZGV2X3ByaXYsIGNydGNfc3RhdGUp OwogCWRldl9wcml2LT5wc3IuYnVzeV9mcm9udGJ1ZmZlcl9iaXRzID0gMDsKIAlkZXZfcHJpdi0+ cHNyLnBpcGUgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0YyktPnBpcGU7CisJ ZGV2X3ByaXYtPnBzci50cmFuc2NvZGVyID0gY3J0Y19zdGF0ZS0+Y3B1X3RyYW5zY29kZXI7CisK KwkvKgorCSAqIElmIGEgUFNSIGVycm9yIGhhcHBlbmVkIGFuZCB0aGUgZHJpdmVyIGlzIHJlbG9h ZGVkLCB0aGUgRURQX1BTUl9JSVIKKwkgKiB3aWxsIHN0aWxsIGtlZXAgdGhlIGVycm9yIHNldCBl dmVuIGFmdGVyIHRoZSByZXNldCBkb25lIGluIHRoZQorCSAqIGlycV9wcmVpbnN0YWxsIGFuZCBp cnFfdW5pbnN0YWxsIGhvb2tzLgorCSAqIEFuZCBlbmFibGluZyBpbiB0aGlzIHNpdHVhdGlvbiBj YXVzZSB0aGUgc2NyZWVuIHRvIGZyZWV6ZSBpbiB0aGUKKwkgKiBmaXJzdCB0aW1lIHRoYXQgUFNS IEhXIHRyaWVzIHRvIGFjdGl2YXRlIHNvIGxldHMga2VlcCBQU1IgZGlzYWJsZWQKKwkgKiB0byBh dm9pZCBhbnkgcmVuZGVyaW5nIHByb2JsZW1zLgorCSAqLworCXZhbCA9IEk5MTVfUkVBRChFRFBf UFNSX0lJUik7CisJdmFsICY9IEVEUF9QU1JfRVJST1IoZWRwX3Bzcl9zaGlmdChkZXZfcHJpdi0+ cHNyLnRyYW5zY29kZXIpKTsKKwlpZiAodmFsKSB7CisJCWRldl9wcml2LT5wc3Iuc2lua19ub3Rf cmVsaWFibGUgPSB0cnVlOworCQlEUk1fREVCVUdfS01TKCJQU1IgaW50ZXJydXB0aW9uIGVycm9y IHNldCwgbm90IGVuYWJsaW5nIFBTUlxuIik7CisJCXJldHVybjsKKwl9CiAKIAlEUk1fREVCVUdf S01TKCJFbmFibGluZyBQU1Ilc1xuIiwKIAkJICAgICAgZGV2X3ByaXYtPnBzci5wc3IyX2VuYWJs ZWQgPyAiMiIgOiAiMSIpOwpAQCAtNzgyLDIwICs4MDAsMjcgQEAgc3RhdGljIHZvaWQgaW50ZWxf cHNyX2V4aXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCXUzMiB2YWw7CiAK IAlpZiAoIWRldl9wcml2LT5wc3IuYWN0aXZlKSB7Ci0JCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYp ID49IDkpCi0JCQlXQVJOX09OKEk5MTVfUkVBRChFRFBfUFNSMl9DVEwpICYgRURQX1BTUjJfRU5B QkxFKTsKLQkJV0FSTl9PTihJOTE1X1JFQUQoRURQX1BTUl9DVEwpICYgRURQX1BTUl9FTkFCTEUp OworCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KSB7CisJCQl2YWwgPSBJOTE1X1JFQUQo RURQX1BTUjJfQ1RMKGRldl9wcml2LT5wc3IudHJhbnNjb2RlcikpOworCQkJV0FSTl9PTih2YWwg JiBFRFBfUFNSMl9FTkFCTEUpOworCQl9CisKKwkJdmFsID0gSTkxNV9SRUFEKEVEUF9QU1JfQ1RM KGRldl9wcml2LT5wc3IudHJhbnNjb2RlcikpOworCQlXQVJOX09OKHZhbCAmIEVEUF9QU1JfRU5B QkxFKTsKKwogCQlyZXR1cm47CiAJfQogCiAJaWYgKGRldl9wcml2LT5wc3IucHNyMl9lbmFibGVk KSB7Ci0JCXZhbCA9IEk5MTVfUkVBRChFRFBfUFNSMl9DVEwpOworCQl2YWwgPSBJOTE1X1JFQUQo RURQX1BTUjJfQ1RMKGRldl9wcml2LT5wc3IudHJhbnNjb2RlcikpOwogCQlXQVJOX09OKCEodmFs ICYgRURQX1BTUjJfRU5BQkxFKSk7Ci0JCUk5MTVfV1JJVEUoRURQX1BTUjJfQ1RMLCB2YWwgJiB+ RURQX1BTUjJfRU5BQkxFKTsKKwkJdmFsICY9IH5FRFBfUFNSMl9FTkFCTEU7CisJCUk5MTVfV1JJ VEUoRURQX1BTUjJfQ1RMKGRldl9wcml2LT5wc3IudHJhbnNjb2RlciksIHZhbCk7CiAJfSBlbHNl IHsKLQkJdmFsID0gSTkxNV9SRUFEKEVEUF9QU1JfQ1RMKTsKKwkJdmFsID0gSTkxNV9SRUFEKEVE UF9QU1JfQ1RMKGRldl9wcml2LT5wc3IudHJhbnNjb2RlcikpOwogCQlXQVJOX09OKCEodmFsICYg RURQX1BTUl9FTkFCTEUpKTsKLQkJSTkxNV9XUklURShFRFBfUFNSX0NUTCwgdmFsICYgfkVEUF9Q U1JfRU5BQkxFKTsKKwkJdmFsICY9IH5FRFBfUFNSX0VOQUJMRTsKKwkJSTkxNV9XUklURShFRFBf UFNSX0NUTChkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIpLCB2YWwpOwogCX0KIAlkZXZfcHJpdi0+ cHNyLmFjdGl2ZSA9IGZhbHNlOwogfQpAQCAtODE3LDEwICs4NDIsMTAgQEAgc3RhdGljIHZvaWQg aW50ZWxfcHNyX2Rpc2FibGVfbG9ja2VkKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJaW50 ZWxfcHNyX2V4aXQoZGV2X3ByaXYpOwogCiAJaWYgKGRldl9wcml2LT5wc3IucHNyMl9lbmFibGVk KSB7Ci0JCXBzcl9zdGF0dXMgPSBFRFBfUFNSMl9TVEFUVVM7CisJCXBzcl9zdGF0dXMgPSBFRFBf UFNSMl9TVEFUVVMoZGV2X3ByaXYtPnBzci50cmFuc2NvZGVyKTsKIAkJcHNyX3N0YXR1c19tYXNr ID0gRURQX1BTUjJfU1RBVFVTX1NUQVRFX01BU0s7CiAJfSBlbHNlIHsKLQkJcHNyX3N0YXR1cyA9 IEVEUF9QU1JfU1RBVFVTOworCQlwc3Jfc3RhdHVzID0gRURQX1BTUl9TVEFUVVMoZGV2X3ByaXYt PnBzci50cmFuc2NvZGVyKTsKIAkJcHNyX3N0YXR1c19tYXNrID0gRURQX1BTUl9TVEFUVVNfU1RB VEVfTUFTSzsKIAl9CiAKQEAgLTk2Myw3ICs5ODgsOCBAQCBpbnQgaW50ZWxfcHNyX3dhaXRfZm9y X2lkbGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm5ld19jcnRjX3N0YXRlLAogCSAq IGRlZmVuc2l2ZSBlbm91Z2ggdG8gY292ZXIgZXZlcnl0aGluZy4KIAkgKi8KIAotCXJldHVybiBf X2ludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKCZkZXZfcHJpdi0+dW5jb3JlLCBFRFBfUFNSX1NUQVRV UywKKwlyZXR1cm4gX19pbnRlbF93YWl0X2Zvcl9yZWdpc3RlcigmZGV2X3ByaXYtPnVuY29yZSwK KwkJCQkJIEVEUF9QU1JfU1RBVFVTKGRldl9wcml2LT5wc3IudHJhbnNjb2RlciksCiAJCQkJCSBF RFBfUFNSX1NUQVRVU19TVEFURV9NQVNLLAogCQkJCQkgRURQX1BTUl9TVEFUVVNfU1RBVEVfSURM RSwgMiwgNTAsCiAJCQkJCSBvdXRfdmFsdWUpOwpAQCAtOTc5LDEwICsxMDA1LDEwIEBAIHN0YXRp YyBib29sIF9fcHNyX3dhaXRfZm9yX2lkbGVfbG9ja2VkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKIAkJcmV0dXJuIGZhbHNlOwogCiAJaWYgKGRldl9wcml2LT5wc3IucHNyMl9l bmFibGVkKSB7Ci0JCXJlZyA9IEVEUF9QU1IyX1NUQVRVUzsKKwkJcmVnID0gRURQX1BTUjJfU1RB VFVTKGRldl9wcml2LT5wc3IudHJhbnNjb2Rlcik7CiAJCW1hc2sgPSBFRFBfUFNSMl9TVEFUVVNf U1RBVEVfTUFTSzsKIAl9IGVsc2UgewotCQlyZWcgPSBFRFBfUFNSX1NUQVRVUzsKKwkJcmVnID0g RURQX1BTUl9TVEFUVVMoZGV2X3ByaXYtPnBzci50cmFuc2NvZGVyKTsKIAkJbWFzayA9IEVEUF9Q U1JfU1RBVFVTX1NUQVRFX01BU0s7CiAJfQogCkBAIC0xMjA4LDM2ICsxMjM0LDI0IEBAIHZvaWQg aW50ZWxfcHNyX2ZsdXNoKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKICAqLwog dm9pZCBpbnRlbF9wc3JfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7 Ci0JdTMyIHZhbDsKLQogCWlmICghSEFTX1BTUihkZXZfcHJpdikpCiAJCXJldHVybjsKIAotCWRl dl9wcml2LT5wc3JfbW1pb19iYXNlID0gSVNfSEFTV0VMTChkZXZfcHJpdikgPwotCQlIU1dfRURQ X1BTUl9CQVNFIDogQkRXX0VEUF9QU1JfQkFTRTsKLQogCWlmICghZGV2X3ByaXYtPnBzci5zaW5r X3N1cHBvcnQpCiAJCXJldHVybjsKIAorCWlmIChJU19IQVNXRUxMKGRldl9wcml2KSkKKwkJLyoK KwkJICogSFNXIGRvbid0IGhhdmUgUFNSIHJlZ2lzdGVycyBvbiB0aGUgc2FtZSBzcGFjZSBhcyB0 cmFuc2NvZGVyCisJCSAqIHNvIHNldCB0aGlzIHRvIGEgdmFsdWUgdGhhdCB3aGVuIHN1YnRyYWN0 IHRvIHRoZSByZWdpc3RlcgorCQkgKiBpbiB0cmFuc2NvZGVyIHNwYWNlIHJlc3VsdHMgaW4gdGhl IHJpZ2h0IG9mZnNldCBmb3IgSFNXCisJCSAqLworCQlkZXZfcHJpdi0+aHN3X3Bzcl9tbWlvX2Fk anVzdCA9IF9TUkRfQ1RMX0VEUCAtIF9IU1dfRURQX1BTUl9CQVNFOworCiAJaWYgKGk5MTVfbW9k cGFyYW1zLmVuYWJsZV9wc3IgPT0gLTEpCiAJCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpIDwgOSB8 fCAhZGV2X3ByaXYtPnZidC5wc3IuZW5hYmxlKQogCQkJaTkxNV9tb2RwYXJhbXMuZW5hYmxlX3Bz ciA9IDA7CiAKLQkvKgotCSAqIElmIGEgUFNSIGVycm9yIGhhcHBlbmVkIGFuZCB0aGUgZHJpdmVy IGlzIHJlbG9hZGVkLCB0aGUgRURQX1BTUl9JSVIKLQkgKiB3aWxsIHN0aWxsIGtlZXAgdGhlIGVy cm9yIHNldCBldmVuIGFmdGVyIHRoZSByZXNldCBkb25lIGluIHRoZQotCSAqIGlycV9wcmVpbnN0 YWxsIGFuZCBpcnFfdW5pbnN0YWxsIGhvb2tzLgotCSAqIEFuZCBlbmFibGluZyBpbiB0aGlzIHNp dHVhdGlvbiBjYXVzZSB0aGUgc2NyZWVuIHRvIGZyZWV6ZSBpbiB0aGUKLQkgKiBmaXJzdCB0aW1l IHRoYXQgUFNSIEhXIHRyaWVzIHRvIGFjdGl2YXRlIHNvIGxldHMga2VlcCBQU1IgZGlzYWJsZWQK LQkgKiB0byBhdm9pZCBhbnkgcmVuZGVyaW5nIHByb2JsZW1zLgotCSAqLwotCXZhbCA9IEk5MTVf UkVBRChFRFBfUFNSX0lJUik7Ci0JdmFsICY9IEVEUF9QU1JfRVJST1IoZWRwX3Bzcl9zaGlmdChU UkFOU0NPREVSX0VEUCkpOwotCWlmICh2YWwpIHsKLQkJRFJNX0RFQlVHX0tNUygiUFNSIGludGVy cnVwdGlvbiBlcnJvciBzZXRcbiIpOwotCQlkZXZfcHJpdi0+cHNyLnNpbmtfbm90X3JlbGlhYmxl ID0gdHJ1ZTsKLQl9Ci0KIAkvKiBTZXQgbGlua19zdGFuZGJ5IHggbGlua19vZmYgZGVmYXVsdHMg Ki8KIAlpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikgfHwgSVNfQlJPQURXRUxMKGRldl9wcml2KSkK IAkJLyogSFNXIGFuZCBCRFcgcmVxdWlyZSB3b3JrYXJvdW5kcyB0aGF0IHdlIGRvbid0IGltcGxl bWVudC4gKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9oYW5kbGVycy5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2hhbmRsZXJzLmMKaW5kZXggMjVmNzgxOTZiOTY0 Li40NWE5MTI0ZTUzYjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9oYW5k bGVycy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9oYW5kbGVycy5jCkBAIC0yNzk2 LDcgKzI3OTYsNyBAQCBzdGF0aWMgaW50IGluaXRfYnJvYWR3ZWxsX21taW9faW5mbyhzdHJ1Y3Qg aW50ZWxfZ3Z0ICpndnQpCiAJTU1JT19EKENISUNLRU5fUElQRVNMXzEoUElQRV9DKSwgRF9CRFdf UExVUyk7CiAKIAlNTUlPX0QoV01fTUlTQywgRF9CRFcpOwotCU1NSU9fRChfTU1JTyhCRFdfRURQ X1BTUl9CQVNFKSwgRF9CRFcpOworCU1NSU9fRChfTU1JTyhfU1JEX0NUTF9FRFApLCBEX0JEVyk7 CiAKIAlNTUlPX0QoX01NSU8oMHg2NjcxYyksIERfQkRXX1BMVVMpOwogCU1NSU9fRChfTU1JTygw eDY2YzAwKSwgRF9CRFdfUExVUyk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCmluZGV4 IDI0Nzg3YmI0OGM5Zi4uZTMxZGFlMDM5YTNjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2RlYnVnZnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVn ZnMuYwpAQCAtMjIyMyw3ICsyMjIzLDcgQEAgcHNyX3NvdXJjZV9zdGF0dXMoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LCBzdHJ1Y3Qgc2VxX2ZpbGUgKm0pCiAJCQkiQlVGX09OIiwK IAkJCSJUR19PTiIKIAkJfTsKLQkJdmFsID0gSTkxNV9SRUFEKEVEUF9QU1IyX1NUQVRVUyk7CisJ CXZhbCA9IEk5MTVfUkVBRChFRFBfUFNSMl9TVEFUVVMoZGV2X3ByaXYtPnBzci50cmFuc2NvZGVy KSk7CiAJCXN0YXR1c192YWwgPSAodmFsICYgRURQX1BTUjJfU1RBVFVTX1NUQVRFX01BU0spID4+ CiAJCQkgICAgICBFRFBfUFNSMl9TVEFUVVNfU1RBVEVfU0hJRlQ7CiAJCWlmIChzdGF0dXNfdmFs IDwgQVJSQVlfU0laRShsaXZlX3N0YXR1cykpCkBAIC0yMjM5LDcgKzIyMzksNyBAQCBwc3Jfc291 cmNlX3N0YXR1cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHN0cnVjdCBzZXFf ZmlsZSAqbSkKIAkJCSJTUkRPRkZBQ0siLAogCQkJIlNSREVOVF9PTiIsCiAJCX07Ci0JCXZhbCA9 IEk5MTVfUkVBRChFRFBfUFNSX1NUQVRVUyk7CisJCXZhbCA9IEk5MTVfUkVBRChFRFBfUFNSX1NU QVRVUyhkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIpKTsKIAkJc3RhdHVzX3ZhbCA9ICh2YWwgJiBF RFBfUFNSX1NUQVRVU19TVEFURV9NQVNLKSA+PgogCQkJICAgICAgRURQX1BTUl9TVEFUVVNfU1RB VEVfU0hJRlQ7CiAJCWlmIChzdGF0dXNfdmFsIDwgQVJSQVlfU0laRShsaXZlX3N0YXR1cykpCkBA IC0yMjgyLDEwICsyMjgyLDEwIEBAIHN0YXRpYyBpbnQgaTkxNV9lZHBfcHNyX3N0YXR1cyhzdHJ1 Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCiAJCWdvdG8gdW5sb2NrOwogCiAJaWYgKHBzci0+ cHNyMl9lbmFibGVkKSB7Ci0JCXZhbCA9IEk5MTVfUkVBRChFRFBfUFNSMl9DVEwpOworCQl2YWwg PSBJOTE1X1JFQUQoRURQX1BTUjJfQ1RMKGRldl9wcml2LT5wc3IudHJhbnNjb2RlcikpOwogCQll bmFibGVkID0gdmFsICYgRURQX1BTUjJfRU5BQkxFOwogCX0gZWxzZSB7Ci0JCXZhbCA9IEk5MTVf UkVBRChFRFBfUFNSX0NUTCk7CisJCXZhbCA9IEk5MTVfUkVBRChFRFBfUFNSX0NUTChkZXZfcHJp di0+cHNyLnRyYW5zY29kZXIpKTsKIAkJZW5hYmxlZCA9IHZhbCAmIEVEUF9QU1JfRU5BQkxFOwog CX0KIAlzZXFfcHJpbnRmKG0sICJTb3VyY2UgUFNSIGN0bDogJXMgWzB4JTA4eF1cbiIsCkBAIC0y Mjk4LDcgKzIyOTgsOCBAQCBzdGF0aWMgaW50IGk5MTVfZWRwX3Bzcl9zdGF0dXMoc3RydWN0IHNl cV9maWxlICptLCB2b2lkICpkYXRhKQogCSAqIFNLTCsgUGVyZiBjb3VudGVyIGlzIHJlc2V0IHRv IDAgZXZlcnl0aW1lIERDIHN0YXRlIGlzIGVudGVyZWQKIAkgKi8KIAlpZiAoSVNfSEFTV0VMTChk ZXZfcHJpdikgfHwgSVNfQlJPQURXRUxMKGRldl9wcml2KSkgewotCQl2YWwgPSBJOTE1X1JFQUQo RURQX1BTUl9QRVJGX0NOVCkgJiBFRFBfUFNSX1BFUkZfQ05UX01BU0s7CisJCXZhbCA9IEk5MTVf UkVBRChFRFBfUFNSX1BFUkZfQ05UKGRldl9wcml2LT5wc3IudHJhbnNjb2RlcikpOworCQl2YWwg Jj0gRURQX1BTUl9QRVJGX0NOVF9NQVNLOwogCQlzZXFfcHJpbnRmKG0sICJQZXJmb3JtYW5jZSBj b3VudGVyOiAldVxuIiwgdmFsKTsKIAl9CiAKQEAgLTIzMTYsOCArMjMxNywxMSBAQCBzdGF0aWMg aW50IGk5MTVfZWRwX3Bzcl9zdGF0dXMoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQog CQkgKiBSZWFkaW5nIGFsbCAzIHJlZ2lzdGVycyBiZWZvcmUgaGFuZCB0byBtaW5pbWl6ZSBjcm9z c2luZyBhCiAJCSAqIGZyYW1lIGJvdW5kYXJ5IGJldHdlZW4gcmVnaXN0ZXIgcmVhZHMKIAkJICov Ci0JCWZvciAoZnJhbWUgPSAwOyBmcmFtZSA8IFBTUjJfU1VfU1RBVFVTX0ZSQU1FUzsgZnJhbWUg Kz0gMykKLQkJCXN1X2ZyYW1lc192YWxbZnJhbWUgLyAzXSA9IEk5MTVfUkVBRChQU1IyX1NVX1NU QVRVUyhmcmFtZSkpOworCQlmb3IgKGZyYW1lID0gMDsgZnJhbWUgPCBQU1IyX1NVX1NUQVRVU19G UkFNRVM7IGZyYW1lICs9IDMpIHsKKwkJCXZhbCA9IEk5MTVfUkVBRChQU1IyX1NVX1NUQVRVUyhk ZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIsCisJCQkJCQkgICAgICAgZnJhbWUpKTsKKwkJCXN1X2Zy YW1lc192YWxbZnJhbWUgLyAzXSA9IHZhbDsKKwkJfQogCiAJCXNlcV9wdXRzKG0sICJGcmFtZTpc dFBTUjIgU1UgYmxvY2tzOlxuIik7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDNlZWIy MWZmMDRjMi4uYmRkNTUyZmMyNjlhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTUxMCw2 ICs1MTAsNyBAQCBzdHJ1Y3QgaTkxNV9wc3IgewogCWJvb2wgZW5hYmxlZDsKIAlzdHJ1Y3QgaW50 ZWxfZHAgKmRwOwogCWVudW0gcGlwZSBwaXBlOworCWVudW0gdHJhbnNjb2RlciB0cmFuc2NvZGVy OwogCWJvb2wgYWN0aXZlOwogCXN0cnVjdCB3b3JrX3N0cnVjdCB3b3JrOwogCXVuc2lnbmVkIGJ1 c3lfZnJvbnRidWZmZXJfYml0czsKQEAgLTEzNjUsMTEgKzEzNjYsMTEgQEAgc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgewogCSAqLwogCXUzMiBncGlvX21taW9fYmFzZTsKIAorCXUzMiBoc3dfcHNy X21taW9fYWRqdXN0OworCiAJLyogTU1JTyBiYXNlIGFkZHJlc3MgZm9yIE1JUEkgcmVncyAqLwog CXUzMiBtaXBpX21taW9fYmFzZTsKIAotCXUzMiBwc3JfbW1pb19iYXNlOwotCiAJdTMyIHBwc19t bWlvX2Jhc2U7CiAKIAl3YWl0X3F1ZXVlX2hlYWRfdCBnbWJ1c193YWl0X3F1ZXVlOwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcmVnLmgKaW5kZXggZjRlMWFjYzkzNmIzLi5jMmExODJlZWM5ZWYgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZWcuaApAQCAtNDI0NywxMCArNDI0NywxNyBAQCBlbnVtIHsKICNkZWZpbmUg UElQRVNSQyh0cmFucykJCV9NTUlPX1RSQU5TMih0cmFucywgX1BJUEVBU1JDKQogI2RlZmluZSBQ SVBFX01VTFQodHJhbnMpCV9NTUlPX1RSQU5TMih0cmFucywgX1BJUEVfTVVMVF9BKQogCi0vKiBI U1crIGVEUCBQU1IgcmVnaXN0ZXJzICovCi0jZGVmaW5lIEhTV19FRFBfUFNSX0JBU0UJMHg2NDgw MAotI2RlZmluZSBCRFdfRURQX1BTUl9CQVNFCTB4NmY4MDAKLSNkZWZpbmUgRURQX1BTUl9DVEwJ CQkJX01NSU8oZGV2X3ByaXYtPnBzcl9tbWlvX2Jhc2UgKyAwKQorLyoKKyAqIEhTVysgZURQIFBT UiByZWdpc3RlcnMKKyAqCisgKiBIU1cgUFNSIHJlZ2lzdGVycyBhcmUgcmVsYXRpdmUgdG8gRERJ QShfRERJX0JVRl9DVExfQSArIDB4ODAwKSB3aXRoIGp1c3Qgb25lCisgKiBpbnN0YW5jZSBvZiBp dAorICovCisjZGVmaW5lIF9IU1dfRURQX1BTUl9CQVNFCQkJMHg2NDgwMAorI2RlZmluZSBfU1JE X0NUTF9BCQkJCTB4NjA4MDAKKyNkZWZpbmUgX1NSRF9DVExfRURQCQkJCTB4NmY4MDAKKyNkZWZp bmUgX1BTUl9BREoodHJhbiwgcmVnKQkJCShfVFJBTlMyKHRyYW4sIHJlZykgLSBkZXZfcHJpdi0+ aHN3X3Bzcl9tbWlvX2FkanVzdCkKKyNkZWZpbmUgRURQX1BTUl9DVEwodHJhbikJCQlfTU1JTyhf UFNSX0FESih0cmFuLCBfU1JEX0NUTF9BKSkKICNkZWZpbmUgICBFRFBfUFNSX0VOQUJMRQkJCSgx IDw8IDMxKQogI2RlZmluZSAgIEJEV19QU1JfU0lOR0xFX0ZSQU1FCQkJKDEgPDwgMzApCiAjZGVm aW5lICAgRURQX1BTUl9SRVNUT1JFX1BTUl9BQ1RJVkVfQ1RYX01BU0sJKDEgPDwgMjkpIC8qIFNX IGNhbid0IG1vZGlmeSAqLwpAQCAtNDI4NywxNiArNDI5NCwyMiBAQCBlbnVtIHsKICNkZWZpbmUg ICBFRFBfUFNSX1RSQU5TQ09ERVJfQV9TSElGVAkJOAogI2RlZmluZSAgIEVEUF9QU1JfVFJBTlND T0RFUl9FRFBfU0hJRlQJCTAKIAotI2RlZmluZSBFRFBfUFNSX0FVWF9DVEwJCQkJX01NSU8oZGV2 X3ByaXYtPnBzcl9tbWlvX2Jhc2UgKyAweDEwKQorI2RlZmluZSBfU1JEX0FVWF9DVExfQQkJCQkw eDYwODEwCisjZGVmaW5lIF9TUkRfQVVYX0NUTF9FRFAJCQkweDZmODEwCisjZGVmaW5lIEVEUF9Q U1JfQVVYX0NUTCh0cmFuKQkJCV9NTUlPKF9QU1JfQURKKHRyYW4sIF9TUkRfQVVYX0NUTF9BKSkK ICNkZWZpbmUgICBFRFBfUFNSX0FVWF9DVExfVElNRV9PVVRfTUFTSwkJKDMgPDwgMjYpCiAjZGVm aW5lICAgRURQX1BTUl9BVVhfQ1RMX01FU1NBR0VfU0laRV9NQVNLCSgweDFmIDw8IDIwKQogI2Rl ZmluZSAgIEVEUF9QU1JfQVVYX0NUTF9QUkVDSEFSR0VfMlVTX01BU0sJKDB4ZiA8PCAxNikKICNk ZWZpbmUgICBFRFBfUFNSX0FVWF9DVExfRVJST1JfSU5URVJSVVBUCSgxIDw8IDExKQogI2RlZmlu ZSAgIEVEUF9QU1JfQVVYX0NUTF9CSVRfQ0xPQ0tfMlhfTUFTSwkoMHg3ZmYpCiAKLSNkZWZpbmUg RURQX1BTUl9BVVhfREFUQShpKQkJCV9NTUlPKGRldl9wcml2LT5wc3JfbW1pb19iYXNlICsgMHgx NCArIChpKSAqIDQpIC8qIDUgcmVnaXN0ZXJzICovCisjZGVmaW5lIF9TUkRfQVVYX0RBVEFfQQkJ CQkweDYwODE0CisjZGVmaW5lIF9TUkRfQVVYX0RBVEFfRURQCQkJMHg2ZjgxNAorI2RlZmluZSBF RFBfUFNSX0FVWF9EQVRBKHRyYW4sIGkpCQlfTU1JTyhfUFNSX0FESih0cmFuLCBfU1JEX0FVWF9E QVRBX0EpICsgKGkpICsgNCkgLyogNSByZWdpc3RlcnMgKi8KIAotI2RlZmluZSBFRFBfUFNSX1NU QVRVUwkJCQlfTU1JTyhkZXZfcHJpdi0+cHNyX21taW9fYmFzZSArIDB4NDApCisjZGVmaW5lIF9T UkRfU1RBVFVTX0EJCQkJMHg2MDg0MAorI2RlZmluZSBfU1JEX1NUQVRVU19FRFAJCQkJMHg2Zjg0 MAorI2RlZmluZSBFRFBfUFNSX1NUQVRVUyh0cmFuKQkJCV9NTUlPKF9QU1JfQURKKHRyYW4sIF9T UkRfU1RBVFVTX0EpKQogI2RlZmluZSAgIEVEUF9QU1JfU1RBVFVTX1NUQVRFX01BU0sJCSg3IDw8 IDI5KQogI2RlZmluZSAgIEVEUF9QU1JfU1RBVFVTX1NUQVRFX1NISUZUCQkyOQogI2RlZmluZSAg IEVEUF9QU1JfU1RBVFVTX1NUQVRFX0lETEUJCSgwIDw8IDI5KQpAQCAtNDMyMSwxMCArNDMzNCwx NSBAQCBlbnVtIHsKICNkZWZpbmUgICBFRFBfUFNSX1NUQVRVU19TRU5ESU5HX1RQMQkJKDEgPDwg NCkKICNkZWZpbmUgICBFRFBfUFNSX1NUQVRVU19JRExFX01BU0sJCTB4ZgogCi0jZGVmaW5lIEVE UF9QU1JfUEVSRl9DTlQJCV9NTUlPKGRldl9wcml2LT5wc3JfbW1pb19iYXNlICsgMHg0NCkKKyNk ZWZpbmUgX1NSRF9QRVJGX0NOVF9BCQkJMHg2MDg0NAorI2RlZmluZSBfU1JEX1BFUkZfQ05UX0VE UAkJMHg2Zjg0NAorI2RlZmluZSBFRFBfUFNSX1BFUkZfQ05UKHRyYW4pCQlfTU1JTyhfUFNSX0FE Sih0cmFuLCBfU1JEX1BFUkZfQ05UX0EpKQogI2RlZmluZSAgIEVEUF9QU1JfUEVSRl9DTlRfTUFT SwkJMHhmZmZmZmYKIAotI2RlZmluZSBFRFBfUFNSX0RFQlVHCQkJCV9NTUlPKGRldl9wcml2LT5w c3JfbW1pb19iYXNlICsgMHg2MCkgLyogUFNSX01BU0sgb24gU0tMKyAqLworLyogUFNSX01BU0sg b24gU0tMKyAqLworI2RlZmluZSBfU1JEX0RFQlVHX0EJCQkJMHg2MDg2MAorI2RlZmluZSBfU1JE X0RFQlVHX0VEUAkJCQkweDZmODYwCisjZGVmaW5lIEVEUF9QU1JfREVCVUcodHJhbikJCQlfTU1J TyhfUFNSX0FESih0cmFuLCBfU1JEX0RFQlVHX0EpKQogI2RlZmluZSAgIEVEUF9QU1JfREVCVUdf TUFTS19NQVhfU0xFRVAgICAgICAgICAoMSA8PCAyOCkKICNkZWZpbmUgICBFRFBfUFNSX0RFQlVH X01BU0tfTFBTUCAgICAgICAgICAgICAgKDEgPDwgMjcpCiAjZGVmaW5lICAgRURQX1BTUl9ERUJV R19NQVNLX01FTVVQICAgICAgICAgICAgICgxIDw8IDI2KQpAQCAtNDMzMiw3ICs0MzUwLDkgQEAg ZW51bSB7CiAjZGVmaW5lICAgRURQX1BTUl9ERUJVR19NQVNLX0RJU1BfUkVHX1dSSVRFICAgICgx IDw8IDE2KSAvKiBSZXNlcnZlZCBpbiBJQ0wrICovCiAjZGVmaW5lICAgRURQX1BTUl9ERUJVR19F WElUX09OX1BJWEVMX1VOREVSUlVOICgxIDw8IDE1KSAvKiBTS0wrICovCiAKLSNkZWZpbmUgRURQ X1BTUjJfQ1RMCQkJX01NSU8oMHg2ZjkwMCkKKyNkZWZpbmUgX1BTUjJfQ1RMX0EJCQkweDYwOTAw CisjZGVmaW5lIF9QU1IyX0NUTF9FRFAJCQkweDZmOTAwCisjZGVmaW5lIEVEUF9QU1IyX0NUTCh0 cmFuKQkJX01NSU9fVFJBTlMyKHRyYW4sIF9QU1IyX0NUTF9BKQogI2RlZmluZSAgIEVEUF9QU1Iy X0VOQUJMRQkJKDEgPDwgMzEpCiAjZGVmaW5lICAgRURQX1NVX1RSQUNLX0VOQUJMRQkJKDEgPDwg MzApCiAjZGVmaW5lICAgRURQX1lfQ09PUkRJTkFURV9WQUxJRAkoMSA8PCAyNikgLyogR0xLIGFu ZCBDTkwrICovCkBAIC00MzU0LDggKzQzNzQsOCBAQCBlbnVtIHsKICNkZWZpbmUgX1BTUl9FVkVO VF9UUkFOU19CCQkJMHg2MTg0OAogI2RlZmluZSBfUFNSX0VWRU5UX1RSQU5TX0MJCQkweDYyODQ4 CiAjZGVmaW5lIF9QU1JfRVZFTlRfVFJBTlNfRAkJCTB4NjM4NDgKLSNkZWZpbmUgX1BTUl9FVkVO VF9UUkFOU19FRFAJCQkweDZGODQ4Ci0jZGVmaW5lIFBTUl9FVkVOVCh0cmFucykJCQlfTU1JT19U UkFOUzIodHJhbnMsIF9QU1JfRVZFTlRfVFJBTlNfQSkKKyNkZWZpbmUgX1BTUl9FVkVOVF9UUkFO U19FRFAJCQkweDZmODQ4CisjZGVmaW5lIFBTUl9FVkVOVCh0cmFuKQkJCQlfTU1JT19UUkFOUzIo dHJhbiwgX1BTUl9FVkVOVF9UUkFOU19BKQogI2RlZmluZSAgUFNSX0VWRU5UX1BTUjJfV0RfVElN RVJfRVhQSVJFCQkoMSA8PCAxNykKICNkZWZpbmUgIFBTUl9FVkVOVF9QU1IyX0RJU0FCTEVECQko MSA8PCAxNikKICNkZWZpbmUgIFBTUl9FVkVOVF9TVV9ESVJUWV9GSUZPX1VOREVSUlVOCSgxIDw8 IDE1KQpAQCAtNDM3MywxNSArNDM5MywxNiBAQCBlbnVtIHsKICNkZWZpbmUgIFBTUl9FVkVOVF9M UFNQX01PREVfRVhJVAkJKDEgPDwgMSkKICNkZWZpbmUgIFBTUl9FVkVOVF9QU1JfRElTQUJMRQkJ CSgxIDw8IDApCiAKLSNkZWZpbmUgRURQX1BTUjJfU1RBVFVTCQkJX01NSU8oMHg2Zjk0MCkKKyNk ZWZpbmUgX1BTUjJfU1RBVFVTX0EJCQkweDYwOTQwCisjZGVmaW5lIF9QU1IyX1NUQVRVU19FRFAJ CTB4NmY5NDAKKyNkZWZpbmUgRURQX1BTUjJfU1RBVFVTKHRyYW4pCQlfTU1JT19UUkFOUzIodHJh biwgX1BTUjJfU1RBVFVTX0EpCiAjZGVmaW5lIEVEUF9QU1IyX1NUQVRVU19TVEFURV9NQVNLICAg ICAoMHhmIDw8IDI4KQogI2RlZmluZSBFRFBfUFNSMl9TVEFUVVNfU1RBVEVfU0hJRlQgICAgMjgK IAotI2RlZmluZSBfUFNSMl9TVV9TVEFUVVNfMAkJMHg2RjkxNAotI2RlZmluZSBfUFNSMl9TVV9T VEFUVVNfMQkJMHg2RjkxOAotI2RlZmluZSBfUFNSMl9TVV9TVEFUVVNfMgkJMHg2RjkxQwotI2Rl ZmluZSBfUFNSMl9TVV9TVEFUVVMoaW5kZXgpCQlfTU1JTyhfUElDS19FVkVOKChpbmRleCksIF9Q U1IyX1NVX1NUQVRVU18wLCBfUFNSMl9TVV9TVEFUVVNfMSkpCi0jZGVmaW5lIFBTUjJfU1VfU1RB VFVTKGZyYW1lKQkJKF9QU1IyX1NVX1NUQVRVUygoZnJhbWUpIC8gMykpCisjZGVmaW5lIF9QU1Iy X1NVX1NUQVRVU19BCQkweDYwOTE0CisjZGVmaW5lIF9QU1IyX1NVX1NUQVRVU19FRFAJCTB4NmY5 MTQKKyNkZWZpbmUgX1BTUjJfU1VfU1RBVFVTKHRyYW4sIGluZGV4KQlfTU1JTyhfVFJBTlMyKHRy YW4sIF9QU1IyX1NVX1NUQVRVU19BKSArIChpbmRleCkgKiA0KQorI2RlZmluZSBQU1IyX1NVX1NU QVRVUyh0cmFuLCBmcmFtZSkJKF9QU1IyX1NVX1NUQVRVUyh0cmFuLCAoZnJhbWUpIC8gMykpCiAj ZGVmaW5lIFBTUjJfU1VfU1RBVFVTX1NISUZUKGZyYW1lKQkoKChmcmFtZSkgJSAzKSAqIDEwKQog I2RlZmluZSBQU1IyX1NVX1NUQVRVU19NQVNLKGZyYW1lKQkoMHgzZmYgPDwgUFNSMl9TVV9TVEFU VVNfU0hJRlQoZnJhbWUpKQogI2RlZmluZSBQU1IyX1NVX1NUQVRVU19GUkFNRVMJCTgKLS0gCjIu MjIuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4