From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Jos=C3=A9=20Roberto=20de=20Souza?= Subject: [PATCH v6 3/4] drm/i915/psr: Make PSR registers relative to transcoders Date: Wed, 19 Jun 2019 16:02:21 -0700 Message-ID: <20190619230222.4346-3-jose.souza@intel.com> References: <20190619230222.4346-1-jose.souza@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id C0F796E48C for ; Wed, 19 Jun 2019 23:02:25 +0000 (UTC) In-Reply-To: <20190619230222.4346-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 b3QgdXNlZCBhcyBpdAppcyB0aGUgb25seSBQU1IgcmVnaXN0ZXIgdGhhdCBHVlQgaGF2ZS4KCnY2 OgotIENoZWNraW5nIGZvciBpbnRlcnJ1cHRpb24gZXJyb3JzIGFmdGVyIG1vZHVsZSByZWxvYWQg aW4gdGhlCnRyYW5zY29kZXIgdGhhdCB3aWxsIGJlIHVzZWQgKERoaW5ha2FyYW4pCi0gVXNpbmcg bG93ZXJjYXNlIHRvIHRoZSByZWdpc3RlcnMgb2Zmc2V0cwoKdjU6Ci0gTWFjcm9zIGNoYW5nZWQg dG8gYmUgbW9yZSBleHBsaWNpdCBhYm91dCBIU1cgKERoaW5ha2FyYW4pCi0gU3F1YXNoZWQgd2l0 aCB0aGUgcGF0Y2ggdGhhdCBhZGRlZCB0aGUgdHJhbiBwYXJhbWV0ZXIgdG8gdGhlCm1hY3JvcyAo RGhpbmFrYXJhbikKCkNjOiBEaGluYWthcmFuIFBhbmRpeWFuIDxkaGluYWthcmFuLnBhbmRpeWFu QGludGVsLmNvbT4KQ2M6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KQ2M6 IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBsaW51eC5pbnRlbC5jb20+CkNjOiBWaWxsZSBTeXJq w6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgpDYzogWmhpIFdhbmcgPHpoaS5h LndhbmdAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBKb3PDqSBSb2JlcnRvIGRlIFNvdXphIDxq b3NlLnNvdXphQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX3Bzci5jIHwgODkgKysrKysrKysrKysrKy0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9ndnQvaGFuZGxlcnMuYyAgICAgIHwgIDEgLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kZWJ1Z2ZzLmMgICAgICB8IDE4ICsrKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oICAgICAgICAgIHwgIDMgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAg ICAgICAgfCA1OCArKysrKysrKysrLS0tLS0KIDUgZmlsZXMgY2hhbmdlZCwgMTAwIGluc2VydGlv bnMoKyksIDY5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfcHNyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X3Bzci5jCmluZGV4IDY5ZDkwOGU2YTA1MC4uZWQ0MjJiNzg4ZDg4IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX3Bzci5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfcHNyLmMKQEAgLTM5MCw3ICszOTAsNyBAQCBzdGF0aWMgdm9p ZCBoc3dfcHNyX3NldHVwX2F1eChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCiAJQlVJTERf QlVHX09OKHNpemVvZihhdXhfbXNnKSA+IDIwKTsKIAlmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mKGF1 eF9tc2cpOyBpICs9IDQpCi0JCUk5MTVfV1JJVEUoRURQX1BTUl9BVVhfREFUQShpID4+IDIpLAor CQlJOTE1X1dSSVRFKEVEUF9QU1JfQVVYX0RBVEEoZGV2X3ByaXYtPnBzci50cmFuc2NvZGVyLCBp ID4+IDIpLAogCQkJICAgaW50ZWxfZHBfcGFja19hdXgoJmF1eF9tc2dbaV0sIHNpemVvZihhdXhf bXNnKSAtIGkpKTsKIAogCWF1eF9jbG9ja19kaXZpZGVyID0gaW50ZWxfZHAtPmdldF9hdXhfY2xv Y2tfZGl2aWRlcihpbnRlbF9kcCwgMCk7CkBAIC00MDEsNyArNDAxLDcgQEAgc3RhdGljIHZvaWQg aHN3X3Bzcl9zZXR1cF9hdXgoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAogCS8qIFNlbGVj dCBvbmx5IHZhbGlkIGJpdHMgZm9yIFNSRF9BVVhfQ1RMICovCiAJYXV4X2N0bCAmPSBwc3JfYXV4 X21hc2s7Ci0JSTkxNV9XUklURShFRFBfUFNSX0FVWF9DVEwsIGF1eF9jdGwpOworCUk5MTVfV1JJ VEUoRURQX1BTUl9BVVhfQ1RMKGRldl9wcml2LT5wc3IudHJhbnNjb2RlciksIGF1eF9jdGwpOwog fQogCiBzdGF0aWMgdm9pZCBpbnRlbF9wc3JfZW5hYmxlX3Npbmsoc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCkKQEAgLTQ5MSw4ICs0OTEsOSBAQCBzdGF0aWMgdm9pZCBoc3dfYWN0aXZhdGVfcHNy MShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQogCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49 IDgpCiAJCXZhbCB8PSBFRFBfUFNSX0NSQ19FTkFCTEU7CiAKLQl2YWwgfD0gSTkxNV9SRUFEKEVE UF9QU1JfQ1RMKSAmIEVEUF9QU1JfUkVTVE9SRV9QU1JfQUNUSVZFX0NUWF9NQVNLOwotCUk5MTVf V1JJVEUoRURQX1BTUl9DVEwsIHZhbCk7CisJdmFsIHw9IChJOTE1X1JFQUQoRURQX1BTUl9DVEwo ZGV2X3ByaXYtPnBzci50cmFuc2NvZGVyKSkgJgorCQlFRFBfUFNSX1JFU1RPUkVfUFNSX0FDVElW RV9DVFhfTUFTSyk7CisJSTkxNV9XUklURShFRFBfUFNSX0NUTChkZXZfcHJpdi0+cHNyLnRyYW5z Y29kZXIpLCB2YWwpOwogfQogCiBzdGF0aWMgdm9pZCBoc3dfYWN0aXZhdGVfcHNyMihzdHJ1Y3Qg aW50ZWxfZHAgKmludGVsX2RwKQpAQCAtNTI4LDkgKzUyOSw5IEBAIHN0YXRpYyB2b2lkIGhzd19h Y3RpdmF0ZV9wc3IyKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJICogUFNSMiBIVyBpcyBp bmNvcnJlY3RseSB1c2luZyBFRFBfUFNSX1RQMV9UUDNfU0VMIGFuZCBCU3BlYyBpcwogCSAqIHJl Y29tbWVuZGluZyBrZWVwIHRoaXMgYml0IHVuc2V0IHdoaWxlIFBTUjIgaXMgZW5hYmxlZC4KIAkg Ki8KLQlJOTE1X1dSSVRFKEVEUF9QU1JfQ1RMLCAwKTsKKwlJOTE1X1dSSVRFKEVEUF9QU1JfQ1RM KGRldl9wcml2LT5wc3IudHJhbnNjb2RlciksIDApOwogCi0JSTkxNV9XUklURShFRFBfUFNSMl9D VEwsIHZhbCk7CisJSTkxNV9XUklURShFRFBfUFNSMl9DVEwoZGV2X3ByaXYtPnBzci50cmFuc2Nv ZGVyKSwgdmFsKTsKIH0KIAogc3RhdGljIGJvb2wgaW50ZWxfcHNyMl9jb25maWdfdmFsaWQoc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCwKQEAgLTY0OSw4ICs2NTAsOCBAQCBzdGF0aWMgdm9pZCBp bnRlbF9wc3JfYWN0aXZhdGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkcF90b19pOTE1KGludGVsX2RwKTsKIAogCWlmIChJ TlRFTF9HRU4oZGV2X3ByaXYpID49IDkpCi0JCVdBUk5fT04oSTkxNV9SRUFEKEVEUF9QU1IyX0NU TCkgJiBFRFBfUFNSMl9FTkFCTEUpOwotCVdBUk5fT04oSTkxNV9SRUFEKEVEUF9QU1JfQ1RMKSAm IEVEUF9QU1JfRU5BQkxFKTsKKwkJV0FSTl9PTihJOTE1X1JFQUQoRURQX1BTUjJfQ1RMKGRldl9w cml2LT5wc3IudHJhbnNjb2RlcikpICYgRURQX1BTUjJfRU5BQkxFKTsKKwlXQVJOX09OKEk5MTVf UkVBRChFRFBfUFNSX0NUTChkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIpKSAmIEVEUF9QU1JfRU5B QkxFKTsKIAlXQVJOX09OKGRldl9wcml2LT5wc3IuYWN0aXZlKTsKIAlsb2NrZGVwX2Fzc2VydF9o ZWxkKCZkZXZfcHJpdi0+cHNyLmxvY2spOwogCkBAIC03MjAsMTkgKzcyMSwzNyBAQCBzdGF0aWMg dm9pZCBpbnRlbF9wc3JfZW5hYmxlX3NvdXJjZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAog CWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpIDwgMTEpCiAJCW1hc2sgfD0gRURQX1BTUl9ERUJVR19N QVNLX0RJU1BfUkVHX1dSSVRFOwogCi0JSTkxNV9XUklURShFRFBfUFNSX0RFQlVHLCBtYXNrKTsK KwlJOTE1X1dSSVRFKEVEUF9QU1JfREVCVUcoZGV2X3ByaXYtPnBzci50cmFuc2NvZGVyKSwgbWFz ayk7CiB9CiAKIHN0YXRpYyB2b2lkIGludGVsX3Bzcl9lbmFibGVfbG9ja2VkKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQkgICAgY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUpCiB7CiAJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGRldl9w cml2LT5wc3IuZHA7CisJdTMyIHZhbDsKIAogCVdBUk5fT04oZGV2X3ByaXYtPnBzci5lbmFibGVk KTsKIAogCWRldl9wcml2LT5wc3IucHNyMl9lbmFibGVkID0gaW50ZWxfcHNyMl9lbmFibGVkKGRl dl9wcml2LCBjcnRjX3N0YXRlKTsKIAlkZXZfcHJpdi0+cHNyLmJ1c3lfZnJvbnRidWZmZXJfYml0 cyA9IDA7CiAJZGV2X3ByaXYtPnBzci5waXBlID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5i YXNlLmNydGMpLT5waXBlOworCWRldl9wcml2LT5wc3IudHJhbnNjb2RlciA9IGNydGNfc3RhdGUt PmNwdV90cmFuc2NvZGVyOworCisJLyoKKwkgKiBJZiBhIFBTUiBlcnJvciBoYXBwZW5lZCBhbmQg dGhlIGRyaXZlciBpcyByZWxvYWRlZCwgdGhlIEVEUF9QU1JfSUlSCisJICogd2lsbCBzdGlsbCBr ZWVwIHRoZSBlcnJvciBzZXQgZXZlbiBhZnRlciB0aGUgcmVzZXQgZG9uZSBpbiB0aGUKKwkgKiBp cnFfcHJlaW5zdGFsbCBhbmQgaXJxX3VuaW5zdGFsbCBob29rcy4KKwkgKiBBbmQgZW5hYmxpbmcg aW4gdGhpcyBzaXR1YXRpb24gY2F1c2UgdGhlIHNjcmVlbiB0byBmcmVlemUgaW4gdGhlCisJICog Zmlyc3QgdGltZSB0aGF0IFBTUiBIVyB0cmllcyB0byBhY3RpdmF0ZSBzbyBsZXRzIGtlZXAgUFNS IGRpc2FibGVkCisJICogdG8gYXZvaWQgYW55IHJlbmRlcmluZyBwcm9ibGVtcy4KKwkgKi8KKwl2 YWwgPSBJOTE1X1JFQUQoRURQX1BTUl9JSVIpOworCXZhbCAmPSBFRFBfUFNSX0VSUk9SKGVkcF9w c3Jfc2hpZnQoZGV2X3ByaXYtPnBzci50cmFuc2NvZGVyKSk7CisJaWYgKHZhbCkgeworCQlkZXZf cHJpdi0+cHNyLnNpbmtfbm90X3JlbGlhYmxlID0gdHJ1ZTsKKwkJRFJNX0RFQlVHX0tNUygiUFNS IGludGVycnVwdGlvbiBlcnJvciBzZXQsIG5vdCBlbmFibGluZyBQU1JcbiIpOworCQlyZXR1cm47 CisJfQogCiAJRFJNX0RFQlVHX0tNUygiRW5hYmxpbmcgUFNSJXNcbiIsCiAJCSAgICAgIGRldl9w cml2LT5wc3IucHNyMl9lbmFibGVkID8gIjIiIDogIjEiKTsKQEAgLTc4MiwyMCArODAxLDI3IEBA IHN0YXRpYyB2b2lkIGludGVsX3Bzcl9leGl0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKIAl1MzIgdmFsOwogCiAJaWYgKCFkZXZfcHJpdi0+cHNyLmFjdGl2ZSkgewotCQlpZiAo SU5URUxfR0VOKGRldl9wcml2KSA+PSA5KQotCQkJV0FSTl9PTihJOTE1X1JFQUQoRURQX1BTUjJf Q1RMKSAmIEVEUF9QU1IyX0VOQUJMRSk7Ci0JCVdBUk5fT04oSTkxNV9SRUFEKEVEUF9QU1JfQ1RM KSAmIEVEUF9QU1JfRU5BQkxFKTsKKwkJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkgewor CQkJdmFsID0gSTkxNV9SRUFEKEVEUF9QU1IyX0NUTChkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIp KTsKKwkJCVdBUk5fT04odmFsICYgRURQX1BTUjJfRU5BQkxFKTsKKwkJfQorCisJCXZhbCA9IEk5 MTVfUkVBRChFRFBfUFNSX0NUTChkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIpKTsKKwkJV0FSTl9P Tih2YWwgJiBFRFBfUFNSX0VOQUJMRSk7CisKIAkJcmV0dXJuOwogCX0KIAogCWlmIChkZXZfcHJp di0+cHNyLnBzcjJfZW5hYmxlZCkgewotCQl2YWwgPSBJOTE1X1JFQUQoRURQX1BTUjJfQ1RMKTsK KwkJdmFsID0gSTkxNV9SRUFEKEVEUF9QU1IyX0NUTChkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIp KTsKIAkJV0FSTl9PTighKHZhbCAmIEVEUF9QU1IyX0VOQUJMRSkpOwotCQlJOTE1X1dSSVRFKEVE UF9QU1IyX0NUTCwgdmFsICYgfkVEUF9QU1IyX0VOQUJMRSk7CisJCXZhbCAmPSB+RURQX1BTUjJf RU5BQkxFOworCQlJOTE1X1dSSVRFKEVEUF9QU1IyX0NUTChkZXZfcHJpdi0+cHNyLnRyYW5zY29k ZXIpLCB2YWwpOwogCX0gZWxzZSB7Ci0JCXZhbCA9IEk5MTVfUkVBRChFRFBfUFNSX0NUTCk7CisJ CXZhbCA9IEk5MTVfUkVBRChFRFBfUFNSX0NUTChkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIpKTsK IAkJV0FSTl9PTighKHZhbCAmIEVEUF9QU1JfRU5BQkxFKSk7Ci0JCUk5MTVfV1JJVEUoRURQX1BT Ul9DVEwsIHZhbCAmIH5FRFBfUFNSX0VOQUJMRSk7CisJCXZhbCAmPSB+RURQX1BTUl9FTkFCTEU7 CisJCUk5MTVfV1JJVEUoRURQX1BTUl9DVEwoZGV2X3ByaXYtPnBzci50cmFuc2NvZGVyKSwgdmFs KTsKIAl9CiAJZGV2X3ByaXYtPnBzci5hY3RpdmUgPSBmYWxzZTsKIH0KQEAgLTgxNywxMCArODQz LDEwIEBAIHN0YXRpYyB2b2lkIGludGVsX3Bzcl9kaXNhYmxlX2xvY2tlZChzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwKQogCWludGVsX3Bzcl9leGl0KGRldl9wcml2KTsKIAogCWlmIChkZXZfcHJp di0+cHNyLnBzcjJfZW5hYmxlZCkgewotCQlwc3Jfc3RhdHVzID0gRURQX1BTUjJfU1RBVFVTOwor CQlwc3Jfc3RhdHVzID0gRURQX1BTUjJfU1RBVFVTKGRldl9wcml2LT5wc3IudHJhbnNjb2Rlcik7 CiAJCXBzcl9zdGF0dXNfbWFzayA9IEVEUF9QU1IyX1NUQVRVU19TVEFURV9NQVNLOwogCX0gZWxz ZSB7Ci0JCXBzcl9zdGF0dXMgPSBFRFBfUFNSX1NUQVRVUzsKKwkJcHNyX3N0YXR1cyA9IEVEUF9Q U1JfU1RBVFVTKGRldl9wcml2LT5wc3IudHJhbnNjb2Rlcik7CiAJCXBzcl9zdGF0dXNfbWFzayA9 IEVEUF9QU1JfU1RBVFVTX1NUQVRFX01BU0s7CiAJfQogCkBAIC05NjMsNyArOTg5LDggQEAgaW50 IGludGVsX3Bzcl93YWl0X2Zvcl9pZGxlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpu ZXdfY3J0Y19zdGF0ZSwKIAkgKiBkZWZlbnNpdmUgZW5vdWdoIHRvIGNvdmVyIGV2ZXJ5dGhpbmcu CiAJICovCiAKLQlyZXR1cm4gX19pbnRlbF93YWl0X2Zvcl9yZWdpc3RlcigmZGV2X3ByaXYtPnVu Y29yZSwgRURQX1BTUl9TVEFUVVMsCisJcmV0dXJuIF9faW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIo JmRldl9wcml2LT51bmNvcmUsCisJCQkJCSBFRFBfUFNSX1NUQVRVUyhkZXZfcHJpdi0+cHNyLnRy YW5zY29kZXIpLAogCQkJCQkgRURQX1BTUl9TVEFUVVNfU1RBVEVfTUFTSywKIAkJCQkJIEVEUF9Q U1JfU1RBVFVTX1NUQVRFX0lETEUsIDIsIDUwLAogCQkJCQkgb3V0X3ZhbHVlKTsKQEAgLTk3OSwx MCArMTAwNiwxMCBAQCBzdGF0aWMgYm9vbCBfX3Bzcl93YWl0X2Zvcl9pZGxlX2xvY2tlZChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJCXJldHVybiBmYWxzZTsKIAogCWlmIChk ZXZfcHJpdi0+cHNyLnBzcjJfZW5hYmxlZCkgewotCQlyZWcgPSBFRFBfUFNSMl9TVEFUVVM7CisJ CXJlZyA9IEVEUF9QU1IyX1NUQVRVUyhkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIpOwogCQltYXNr ID0gRURQX1BTUjJfU1RBVFVTX1NUQVRFX01BU0s7CiAJfSBlbHNlIHsKLQkJcmVnID0gRURQX1BT Ul9TVEFUVVM7CisJCXJlZyA9IEVEUF9QU1JfU1RBVFVTKGRldl9wcml2LT5wc3IudHJhbnNjb2Rl cik7CiAJCW1hc2sgPSBFRFBfUFNSX1NUQVRVU19TVEFURV9NQVNLOwogCX0KIApAQCAtMTIwOCwx NCArMTIzNSw5IEBAIHZvaWQgaW50ZWxfcHNyX2ZsdXNoKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwKICAqLwogdm9pZCBpbnRlbF9wc3JfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCiB7Ci0JdTMyIHZhbDsKLQogCWlmICghSEFTX1BTUihkZXZfcHJpdikp CiAJCXJldHVybjsKIAotCWRldl9wcml2LT5wc3JfbW1pb19iYXNlID0gSVNfSEFTV0VMTChkZXZf cHJpdikgPwotCQlIU1dfRURQX1BTUl9CQVNFIDogQkRXX0VEUF9QU1JfQkFTRTsKLQogCWlmICgh ZGV2X3ByaXYtPnBzci5zaW5rX3N1cHBvcnQpCiAJCXJldHVybjsKIApAQCAtMTIyMywyMSArMTI0 NSw2IEBAIHZvaWQgaW50ZWxfcHNyX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQogCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA8IDkgfHwgIWRldl9wcml2LT52YnQucHNy LmVuYWJsZSkKIAkJCWk5MTVfbW9kcGFyYW1zLmVuYWJsZV9wc3IgPSAwOwogCi0JLyoKLQkgKiBJ ZiBhIFBTUiBlcnJvciBoYXBwZW5lZCBhbmQgdGhlIGRyaXZlciBpcyByZWxvYWRlZCwgdGhlIEVE UF9QU1JfSUlSCi0JICogd2lsbCBzdGlsbCBrZWVwIHRoZSBlcnJvciBzZXQgZXZlbiBhZnRlciB0 aGUgcmVzZXQgZG9uZSBpbiB0aGUKLQkgKiBpcnFfcHJlaW5zdGFsbCBhbmQgaXJxX3VuaW5zdGFs bCBob29rcy4KLQkgKiBBbmQgZW5hYmxpbmcgaW4gdGhpcyBzaXR1YXRpb24gY2F1c2UgdGhlIHNj cmVlbiB0byBmcmVlemUgaW4gdGhlCi0JICogZmlyc3QgdGltZSB0aGF0IFBTUiBIVyB0cmllcyB0 byBhY3RpdmF0ZSBzbyBsZXRzIGtlZXAgUFNSIGRpc2FibGVkCi0JICogdG8gYXZvaWQgYW55IHJl bmRlcmluZyBwcm9ibGVtcy4KLQkgKi8KLQl2YWwgPSBJOTE1X1JFQUQoRURQX1BTUl9JSVIpOwot CXZhbCAmPSBFRFBfUFNSX0VSUk9SKGVkcF9wc3Jfc2hpZnQoVFJBTlNDT0RFUl9FRFApKTsKLQlp ZiAodmFsKSB7Ci0JCURSTV9ERUJVR19LTVMoIlBTUiBpbnRlcnJ1cHRpb24gZXJyb3Igc2V0XG4i KTsKLQkJZGV2X3ByaXYtPnBzci5zaW5rX25vdF9yZWxpYWJsZSA9IHRydWU7Ci0JfQotCiAJLyog U2V0IGxpbmtfc3RhbmRieSB4IGxpbmtfb2ZmIGRlZmF1bHRzICovCiAJaWYgKElTX0hBU1dFTEwo ZGV2X3ByaXYpIHx8IElTX0JST0FEV0VMTChkZXZfcHJpdikpCiAJCS8qIEhTVyBhbmQgQkRXIHJl cXVpcmUgd29ya2Fyb3VuZHMgdGhhdCB3ZSBkb24ndCBpbXBsZW1lbnQuICovCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvaGFuZGxlcnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d2dC9oYW5kbGVycy5jCmluZGV4IDI1Zjc4MTk2Yjk2NC4uNTAxNjRmZGY5MTRjIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvaGFuZGxlcnMuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9ndnQvaGFuZGxlcnMuYwpAQCAtMjc5Niw3ICsyNzk2LDYgQEAgc3RhdGlj IGludCBpbml0X2Jyb2Fkd2VsbF9tbWlvX2luZm8oc3RydWN0IGludGVsX2d2dCAqZ3Z0KQogCU1N SU9fRChDSElDS0VOX1BJUEVTTF8xKFBJUEVfQyksIERfQkRXX1BMVVMpOwogCiAJTU1JT19EKFdN X01JU0MsIERfQkRXKTsKLQlNTUlPX0QoX01NSU8oQkRXX0VEUF9QU1JfQkFTRSksIERfQkRXKTsK IAogCU1NSU9fRChfTU1JTygweDY2NzFjKSwgRF9CRFdfUExVUyk7CiAJTU1JT19EKF9NTUlPKDB4 NjZjMDApLCBEX0JEV19QTFVTKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKaW5kZXgg NjJjZjM0ZGI5MjgwLi42NTlmMWQzZDkxNjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZGVidWdmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdm cy5jCkBAIC0yMjU4LDcgKzIyNTgsNyBAQCBwc3Jfc291cmNlX3N0YXR1cyhzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHN0cnVjdCBzZXFfZmlsZSAqbSkKIAkJCSJCVUZfT04iLAog CQkJIlRHX09OIgogCQl9OwotCQl2YWwgPSBJOTE1X1JFQUQoRURQX1BTUjJfU1RBVFVTKTsKKwkJ dmFsID0gSTkxNV9SRUFEKEVEUF9QU1IyX1NUQVRVUyhkZXZfcHJpdi0+cHNyLnRyYW5zY29kZXIp KTsKIAkJc3RhdHVzX3ZhbCA9ICh2YWwgJiBFRFBfUFNSMl9TVEFUVVNfU1RBVEVfTUFTSykgPj4K IAkJCSAgICAgIEVEUF9QU1IyX1NUQVRVU19TVEFURV9TSElGVDsKIAkJaWYgKHN0YXR1c192YWwg PCBBUlJBWV9TSVpFKGxpdmVfc3RhdHVzKSkKQEAgLTIyNzQsNyArMjI3NCw3IEBAIHBzcl9zb3Vy Y2Vfc3RhdHVzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgc3RydWN0IHNlcV9m aWxlICptKQogCQkJIlNSRE9GRkFDSyIsCiAJCQkiU1JERU5UX09OIiwKIAkJfTsKLQkJdmFsID0g STkxNV9SRUFEKEVEUF9QU1JfU1RBVFVTKTsKKwkJdmFsID0gSTkxNV9SRUFEKEVEUF9QU1JfU1RB VFVTKGRldl9wcml2LT5wc3IudHJhbnNjb2RlcikpOwogCQlzdGF0dXNfdmFsID0gKHZhbCAmIEVE UF9QU1JfU1RBVFVTX1NUQVRFX01BU0spID4+CiAJCQkgICAgICBFRFBfUFNSX1NUQVRVU19TVEFU RV9TSElGVDsKIAkJaWYgKHN0YXR1c192YWwgPCBBUlJBWV9TSVpFKGxpdmVfc3RhdHVzKSkKQEAg LTIzMTcsMTAgKzIzMTcsMTAgQEAgc3RhdGljIGludCBpOTE1X2VkcF9wc3Jfc3RhdHVzKHN0cnVj dCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKIAkJZ290byB1bmxvY2s7CiAKIAlpZiAocHNyLT5w c3IyX2VuYWJsZWQpIHsKLQkJdmFsID0gSTkxNV9SRUFEKEVEUF9QU1IyX0NUTCk7CisJCXZhbCA9 IEk5MTVfUkVBRChFRFBfUFNSMl9DVEwoZGV2X3ByaXYtPnBzci50cmFuc2NvZGVyKSk7CiAJCWVu YWJsZWQgPSB2YWwgJiBFRFBfUFNSMl9FTkFCTEU7CiAJfSBlbHNlIHsKLQkJdmFsID0gSTkxNV9S RUFEKEVEUF9QU1JfQ1RMKTsKKwkJdmFsID0gSTkxNV9SRUFEKEVEUF9QU1JfQ1RMKGRldl9wcml2 LT5wc3IudHJhbnNjb2RlcikpOwogCQllbmFibGVkID0gdmFsICYgRURQX1BTUl9FTkFCTEU7CiAJ fQogCXNlcV9wcmludGYobSwgIlNvdXJjZSBQU1IgY3RsOiAlcyBbMHglMDh4XVxuIiwKQEAgLTIz MzMsNyArMjMzMyw4IEBAIHN0YXRpYyBpbnQgaTkxNV9lZHBfcHNyX3N0YXR1cyhzdHJ1Y3Qgc2Vx X2ZpbGUgKm0sIHZvaWQgKmRhdGEpCiAJICogU0tMKyBQZXJmIGNvdW50ZXIgaXMgcmVzZXQgdG8g MCBldmVyeXRpbWUgREMgc3RhdGUgaXMgZW50ZXJlZAogCSAqLwogCWlmIChJU19IQVNXRUxMKGRl dl9wcml2KSB8fCBJU19CUk9BRFdFTEwoZGV2X3ByaXYpKSB7Ci0JCXZhbCA9IEk5MTVfUkVBRChF RFBfUFNSX1BFUkZfQ05UKSAmIEVEUF9QU1JfUEVSRl9DTlRfTUFTSzsKKwkJdmFsID0gSTkxNV9S RUFEKEVEUF9QU1JfUEVSRl9DTlQoZGV2X3ByaXYtPnBzci50cmFuc2NvZGVyKSk7CisJCXZhbCAm PSBFRFBfUFNSX1BFUkZfQ05UX01BU0s7CiAJCXNlcV9wcmludGYobSwgIlBlcmZvcm1hbmNlIGNv dW50ZXI6ICV1XG4iLCB2YWwpOwogCX0KIApAQCAtMjM1MSw4ICsyMzUyLDExIEBAIHN0YXRpYyBp bnQgaTkxNV9lZHBfcHNyX3N0YXR1cyhzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCiAJ CSAqIFJlYWRpbmcgYWxsIDMgcmVnaXN0ZXJzIGJlZm9yZSBoYW5kIHRvIG1pbmltaXplIGNyb3Nz aW5nIGEKIAkJICogZnJhbWUgYm91bmRhcnkgYmV0d2VlbiByZWdpc3RlciByZWFkcwogCQkgKi8K LQkJZm9yIChmcmFtZSA9IDA7IGZyYW1lIDwgUFNSMl9TVV9TVEFUVVNfRlJBTUVTOyBmcmFtZSAr PSAzKQotCQkJc3VfZnJhbWVzX3ZhbFtmcmFtZSAvIDNdID0gSTkxNV9SRUFEKFBTUjJfU1VfU1RB VFVTKGZyYW1lKSk7CisJCWZvciAoZnJhbWUgPSAwOyBmcmFtZSA8IFBTUjJfU1VfU1RBVFVTX0ZS QU1FUzsgZnJhbWUgKz0gMykgeworCQkJdmFsID0gSTkxNV9SRUFEKFBTUjJfU1VfU1RBVFVTKGRl dl9wcml2LT5wc3IudHJhbnNjb2RlciwKKwkJCQkJCSAgICAgICBmcmFtZSkpOworCQkJc3VfZnJh bWVzX3ZhbFtmcmFtZSAvIDNdID0gdmFsOworCQl9CiAKIAkJc2VxX3B1dHMobSwgIkZyYW1lOlx0 UFNSMiBTVSBibG9ja3M6XG4iKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggYmM5MDll YzVkOWMzLi4yYThhODAzNmZhY2IgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtNTA0LDYg KzUwNCw3IEBAIHN0cnVjdCBpOTE1X3BzciB7CiAJYm9vbCBlbmFibGVkOwogCXN0cnVjdCBpbnRl bF9kcCAqZHA7CiAJZW51bSBwaXBlIHBpcGU7CisJZW51bSB0cmFuc2NvZGVyIHRyYW5zY29kZXI7 CiAJYm9vbCBhY3RpdmU7CiAJc3RydWN0IHdvcmtfc3RydWN0IHdvcms7CiAJdW5zaWduZWQgYnVz eV9mcm9udGJ1ZmZlcl9iaXRzOwpAQCAtMTM2Nyw4ICsxMzY4LDYgQEAgc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgewogCS8qIE1NSU8gYmFzZSBhZGRyZXNzIGZvciBNSVBJIHJlZ3MgKi8KIAl1MzIg bWlwaV9tbWlvX2Jhc2U7CiAKLQl1MzIgcHNyX21taW9fYmFzZTsKLQogCXUzMiBwcHNfbW1pb19i YXNlOwogCiAJd2FpdF9xdWV1ZV9oZWFkX3QgZ21idXNfd2FpdF9xdWV1ZTsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3JlZy5oCmluZGV4IDRmYzhkYzA4Mzc2Ni4uMzFmYjRkZTUwODFjIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcmVnLmgKQEAgLTQyMjUsMTAgKzQyMjUsMTggQEAgZW51bSB7CiAjZGVmaW5lIFBJUEVT UkModHJhbnMpCQlfTU1JT19UUkFOUzIodHJhbnMsIF9QSVBFQVNSQykKICNkZWZpbmUgUElQRV9N VUxUKHRyYW5zKQlfTU1JT19UUkFOUzIodHJhbnMsIF9QSVBFX01VTFRfQSkKIAotLyogSFNXKyBl RFAgUFNSIHJlZ2lzdGVycyAqLwotI2RlZmluZSBIU1dfRURQX1BTUl9CQVNFCTB4NjQ4MDAKLSNk ZWZpbmUgQkRXX0VEUF9QU1JfQkFTRQkweDZmODAwCi0jZGVmaW5lIEVEUF9QU1JfQ1RMCQkJCV9N TUlPKGRldl9wcml2LT5wc3JfbW1pb19iYXNlICsgMCkKKy8qCisgKiBIU1crIGVEUCBQU1IgcmVn aXN0ZXJzCisgKgorICogSFNXIFBTUiByZWdpc3RlcnMgYXJlIHJlbGF0aXZlIHRvIERESUEoX0RE SV9CVUZfQ1RMX0EgKyAweDgwMCkgd2l0aCBqdXN0IG9uZQorICogaW5zdGFuY2Ugb2YgaXQKKyAq LworI2RlZmluZSBfSFNXX0VEUF9QU1JfQkFTRQkJCTB4NjQ4MDAKKyNkZWZpbmUgX1NSRF9DVExf QQkJCQkweDYwODAwCisjZGVmaW5lIF9TUkRfQ1RMX0VEUAkJCQkweDZmODAwCisjZGVmaW5lIF9I U1dfUFNSX0FESihyZWcpCQkJKChyZWcpIC0gX1NSRF9DVExfQSArIF9IU1dfRURQX1BTUl9CQVNF KQorI2RlZmluZSBfUFNSX0FESih0cmFuLCByZWcpCQkJKElTX0hBU1dFTEwoZGV2X3ByaXYpID8g X0hTV19QU1JfQURKKHJlZykgOiBfVFJBTlMyKHRyYW4sIHJlZykpCisjZGVmaW5lIEVEUF9QU1Jf Q1RMKHRyYW4pCQkJX01NSU8oX1BTUl9BREoodHJhbiwgX1NSRF9DVExfQSkpCiAjZGVmaW5lICAg RURQX1BTUl9FTkFCTEUJCQkoMSA8PCAzMSkKICNkZWZpbmUgICBCRFdfUFNSX1NJTkdMRV9GUkFN RQkJCSgxIDw8IDMwKQogI2RlZmluZSAgIEVEUF9QU1JfUkVTVE9SRV9QU1JfQUNUSVZFX0NUWF9N QVNLCSgxIDw8IDI5KSAvKiBTVyBjYW4ndCBtb2RpZnkgKi8KQEAgLTQyNjUsMTYgKzQyNzMsMjIg QEAgZW51bSB7CiAjZGVmaW5lICAgRURQX1BTUl9UUkFOU0NPREVSX0FfU0hJRlQJCTgKICNkZWZp bmUgICBFRFBfUFNSX1RSQU5TQ09ERVJfRURQX1NISUZUCQkwCiAKLSNkZWZpbmUgRURQX1BTUl9B VVhfQ1RMCQkJCV9NTUlPKGRldl9wcml2LT5wc3JfbW1pb19iYXNlICsgMHgxMCkKKyNkZWZpbmUg X1NSRF9BVVhfQ1RMX0EJCQkJMHg2MDgxMAorI2RlZmluZSBfU1JEX0FVWF9DVExfRURQCQkJMHg2 ZjgxMAorI2RlZmluZSBFRFBfUFNSX0FVWF9DVEwodHJhbikJCQlfTU1JTyhfUFNSX0FESih0cmFu LCBfU1JEX0FVWF9DVExfQSkpCiAjZGVmaW5lICAgRURQX1BTUl9BVVhfQ1RMX1RJTUVfT1VUX01B U0sJCSgzIDw8IDI2KQogI2RlZmluZSAgIEVEUF9QU1JfQVVYX0NUTF9NRVNTQUdFX1NJWkVfTUFT SwkoMHgxZiA8PCAyMCkKICNkZWZpbmUgICBFRFBfUFNSX0FVWF9DVExfUFJFQ0hBUkdFXzJVU19N QVNLCSgweGYgPDwgMTYpCiAjZGVmaW5lICAgRURQX1BTUl9BVVhfQ1RMX0VSUk9SX0lOVEVSUlVQ VAkoMSA8PCAxMSkKICNkZWZpbmUgICBFRFBfUFNSX0FVWF9DVExfQklUX0NMT0NLXzJYX01BU0sJ KDB4N2ZmKQogCi0jZGVmaW5lIEVEUF9QU1JfQVVYX0RBVEEoaSkJCQlfTU1JTyhkZXZfcHJpdi0+ cHNyX21taW9fYmFzZSArIDB4MTQgKyAoaSkgKiA0KSAvKiA1IHJlZ2lzdGVycyAqLworI2RlZmlu ZSBfU1JEX0FVWF9EQVRBX0EJCQkJMHg2MDgxNAorI2RlZmluZSBfU1JEX0FVWF9EQVRBX0VEUAkJ CTB4NmY4MTQKKyNkZWZpbmUgRURQX1BTUl9BVVhfREFUQSh0cmFuLCBpKQkJX01NSU8oX1BTUl9B REoodHJhbiwgX1NSRF9BVVhfREFUQV9BKSArIChpKSArIDQpIC8qIDUgcmVnaXN0ZXJzICovCiAK LSNkZWZpbmUgRURQX1BTUl9TVEFUVVMJCQkJX01NSU8oZGV2X3ByaXYtPnBzcl9tbWlvX2Jhc2Ug KyAweDQwKQorI2RlZmluZSBfU1JEX1NUQVRVU19BCQkJCTB4NjA4NDAKKyNkZWZpbmUgX1NSRF9T VEFUVVNfRURQCQkJCTB4NmY4NDAKKyNkZWZpbmUgRURQX1BTUl9TVEFUVVModHJhbikJCQlfTU1J TyhfUFNSX0FESih0cmFuLCBfU1JEX1NUQVRVU19BKSkKICNkZWZpbmUgICBFRFBfUFNSX1NUQVRV U19TVEFURV9NQVNLCQkoNyA8PCAyOSkKICNkZWZpbmUgICBFRFBfUFNSX1NUQVRVU19TVEFURV9T SElGVAkJMjkKICNkZWZpbmUgICBFRFBfUFNSX1NUQVRVU19TVEFURV9JRExFCQkoMCA8PCAyOSkK QEAgLTQyOTksMTAgKzQzMTMsMTUgQEAgZW51bSB7CiAjZGVmaW5lICAgRURQX1BTUl9TVEFUVVNf U0VORElOR19UUDEJCSgxIDw8IDQpCiAjZGVmaW5lICAgRURQX1BTUl9TVEFUVVNfSURMRV9NQVNL CQkweGYKIAotI2RlZmluZSBFRFBfUFNSX1BFUkZfQ05UCQlfTU1JTyhkZXZfcHJpdi0+cHNyX21t aW9fYmFzZSArIDB4NDQpCisjZGVmaW5lIF9TUkRfUEVSRl9DTlRfQQkJCTB4NjA4NDQKKyNkZWZp bmUgX1NSRF9QRVJGX0NOVF9FRFAJCTB4NmY4NDQKKyNkZWZpbmUgRURQX1BTUl9QRVJGX0NOVCh0 cmFuKQkJX01NSU8oX1BTUl9BREoodHJhbiwgX1NSRF9QRVJGX0NOVF9BKSkKICNkZWZpbmUgICBF RFBfUFNSX1BFUkZfQ05UX01BU0sJCTB4ZmZmZmZmCiAKLSNkZWZpbmUgRURQX1BTUl9ERUJVRwkJ CQlfTU1JTyhkZXZfcHJpdi0+cHNyX21taW9fYmFzZSArIDB4NjApIC8qIFBTUl9NQVNLIG9uIFNL TCsgKi8KKy8qIFBTUl9NQVNLIG9uIFNLTCsgKi8KKyNkZWZpbmUgX1NSRF9ERUJVR19BCQkJCTB4 NjA4NjAKKyNkZWZpbmUgX1NSRF9ERUJVR19FRFAJCQkJMHg2Zjg2MAorI2RlZmluZSBFRFBfUFNS X0RFQlVHKHRyYW4pCQkJX01NSU8oX1BTUl9BREoodHJhbiwgX1NSRF9ERUJVR19BKSkKICNkZWZp bmUgICBFRFBfUFNSX0RFQlVHX01BU0tfTUFYX1NMRUVQICAgICAgICAgKDEgPDwgMjgpCiAjZGVm aW5lICAgRURQX1BTUl9ERUJVR19NQVNLX0xQU1AgICAgICAgICAgICAgICgxIDw8IDI3KQogI2Rl ZmluZSAgIEVEUF9QU1JfREVCVUdfTUFTS19NRU1VUCAgICAgICAgICAgICAoMSA8PCAyNikKQEAg LTQzMTAsNyArNDMyOSw5IEBAIGVudW0gewogI2RlZmluZSAgIEVEUF9QU1JfREVCVUdfTUFTS19E SVNQX1JFR19XUklURSAgICAoMSA8PCAxNikgLyogUmVzZXJ2ZWQgaW4gSUNMKyAqLwogI2RlZmlu ZSAgIEVEUF9QU1JfREVCVUdfRVhJVF9PTl9QSVhFTF9VTkRFUlJVTiAoMSA8PCAxNSkgLyogU0tM KyAqLwogCi0jZGVmaW5lIEVEUF9QU1IyX0NUTAkJCV9NTUlPKDB4NmY5MDApCisjZGVmaW5lIF9Q U1IyX0NUTF9BCQkJMHg2MDkwMAorI2RlZmluZSBfUFNSMl9DVExfRURQCQkJMHg2ZjkwMAorI2Rl ZmluZSBFRFBfUFNSMl9DVEwodHJhbikJCV9NTUlPX1RSQU5TMih0cmFuLCBfUFNSMl9DVExfQSkK ICNkZWZpbmUgICBFRFBfUFNSMl9FTkFCTEUJCSgxIDw8IDMxKQogI2RlZmluZSAgIEVEUF9TVV9U UkFDS19FTkFCTEUJCSgxIDw8IDMwKQogI2RlZmluZSAgIEVEUF9ZX0NPT1JESU5BVEVfVkFMSUQJ KDEgPDwgMjYpIC8qIEdMSyBhbmQgQ05MKyAqLwpAQCAtNDMzMiw4ICs0MzUzLDggQEAgZW51bSB7 CiAjZGVmaW5lIF9QU1JfRVZFTlRfVFJBTlNfQgkJCTB4NjE4NDgKICNkZWZpbmUgX1BTUl9FVkVO VF9UUkFOU19DCQkJMHg2Mjg0OAogI2RlZmluZSBfUFNSX0VWRU5UX1RSQU5TX0QJCQkweDYzODQ4 Ci0jZGVmaW5lIF9QU1JfRVZFTlRfVFJBTlNfRURQCQkJMHg2Rjg0OAotI2RlZmluZSBQU1JfRVZF TlQodHJhbnMpCQkJX01NSU9fVFJBTlMyKHRyYW5zLCBfUFNSX0VWRU5UX1RSQU5TX0EpCisjZGVm aW5lIF9QU1JfRVZFTlRfVFJBTlNfRURQCQkJMHg2Zjg0OAorI2RlZmluZSBQU1JfRVZFTlQodHJh bikJCQkJX01NSU9fVFJBTlMyKHRyYW4sIF9QU1JfRVZFTlRfVFJBTlNfQSkKICNkZWZpbmUgIFBT Ul9FVkVOVF9QU1IyX1dEX1RJTUVSX0VYUElSRQkJKDEgPDwgMTcpCiAjZGVmaW5lICBQU1JfRVZF TlRfUFNSMl9ESVNBQkxFRAkJKDEgPDwgMTYpCiAjZGVmaW5lICBQU1JfRVZFTlRfU1VfRElSVFlf RklGT19VTkRFUlJVTgkoMSA8PCAxNSkKQEAgLTQzNTEsMTUgKzQzNzIsMTYgQEAgZW51bSB7CiAj ZGVmaW5lICBQU1JfRVZFTlRfTFBTUF9NT0RFX0VYSVQJCSgxIDw8IDEpCiAjZGVmaW5lICBQU1Jf RVZFTlRfUFNSX0RJU0FCTEUJCQkoMSA8PCAwKQogCi0jZGVmaW5lIEVEUF9QU1IyX1NUQVRVUwkJ CV9NTUlPKDB4NmY5NDApCisjZGVmaW5lIF9QU1IyX1NUQVRVU19BCQkJMHg2MDk0MAorI2RlZmlu ZSBfUFNSMl9TVEFUVVNfRURQCQkweDZmOTQwCisjZGVmaW5lIEVEUF9QU1IyX1NUQVRVUyh0cmFu KQkJX01NSU9fVFJBTlMyKHRyYW4sIF9QU1IyX1NUQVRVU19BKQogI2RlZmluZSBFRFBfUFNSMl9T VEFUVVNfU1RBVEVfTUFTSyAgICAgKDB4ZiA8PCAyOCkKICNkZWZpbmUgRURQX1BTUjJfU1RBVFVT X1NUQVRFX1NISUZUICAgIDI4CiAKLSNkZWZpbmUgX1BTUjJfU1VfU1RBVFVTXzAJCTB4NkY5MTQK LSNkZWZpbmUgX1BTUjJfU1VfU1RBVFVTXzEJCTB4NkY5MTgKLSNkZWZpbmUgX1BTUjJfU1VfU1RB VFVTXzIJCTB4NkY5MUMKLSNkZWZpbmUgX1BTUjJfU1VfU1RBVFVTKGluZGV4KQkJX01NSU8oX1BJ Q0tfRVZFTigoaW5kZXgpLCBfUFNSMl9TVV9TVEFUVVNfMCwgX1BTUjJfU1VfU1RBVFVTXzEpKQot I2RlZmluZSBQU1IyX1NVX1NUQVRVUyhmcmFtZSkJCShfUFNSMl9TVV9TVEFUVVMoKGZyYW1lKSAv IDMpKQorI2RlZmluZSBfUFNSMl9TVV9TVEFUVVNfQQkJMHg2MDkxNAorI2RlZmluZSBfUFNSMl9T VV9TVEFUVVNfRURQCQkweDZmOTE0CisjZGVmaW5lIF9QU1IyX1NVX1NUQVRVUyh0cmFuLCBpbmRl eCkJX01NSU8oX1RSQU5TMih0cmFuLCBfUFNSMl9TVV9TVEFUVVNfQSkgKyAoaW5kZXgpICogNCkK KyNkZWZpbmUgUFNSMl9TVV9TVEFUVVModHJhbiwgZnJhbWUpCShfUFNSMl9TVV9TVEFUVVModHJh biwgKGZyYW1lKSAvIDMpKQogI2RlZmluZSBQU1IyX1NVX1NUQVRVU19TSElGVChmcmFtZSkJKCgo ZnJhbWUpICUgMykgKiAxMCkKICNkZWZpbmUgUFNSMl9TVV9TVEFUVVNfTUFTSyhmcmFtZSkJKDB4 M2ZmIDw8IFBTUjJfU1VfU1RBVFVTX1NISUZUKGZyYW1lKSkKICNkZWZpbmUgUFNSMl9TVV9TVEFU VVNfRlJBTUVTCQk4Ci0tIAoyLjIyLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeA==