From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: [PATCH 18/49] drm/amd/display: enabling seamless boot sequence for dcn2 Date: Fri, 9 Aug 2019 17:37:11 -0400 Message-ID: <20190809213742.30301-19-sunpeng.li@amd.com> References: <20190809213742.30301-1-sunpeng.li@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190809213742.30301-1-sunpeng.li-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Leo Li , Jun Lei , Martin Leung RnJvbTogTWFydGluIExldW5nIDxtYXJ0aW4ubGV1bmdAYW1kLmNvbT4KCltXaHldClNlYW1sZXNz IGJvb3QgKGJ1aWxkaW5nIFNXIHN0YXRlIGluaGVyaXRpbmcgQklPUy1pbml0aWFsaXplZCB0aW1p bmcpIHdhcwplbmFibGVkIG9uIERDTjIsIGluY2x1ZGluZyBmaXhlcwoKW0hvd10KSW5jbHVkZXMg Zml4ZXMgZm9yIE1QQywgRFBQQ0xLLCBhbmQgRElHIEZFIG1hcHBpbmcvT1RHIHNvdXJjZSBzZWxl Y3QvClBpeGVsIGNsb2NrLgoKVGhpcyBpcyBwYXJ0IDIgb2YgMiBmb3Igc2VhbWxlc3MgYm9vdCBO VjEwCgpTaWduZWQtb2ZmLWJ5OiBNYXJ0aW4gTGV1bmcgPG1hcnRpbi5sZXVuZ0BhbWQuY29tPgpS ZXZpZXdlZC1ieTogSnVuIExlaSA8SnVuLkxlaUBhbWQuY29tPgpBY2tlZC1ieTogTGVvIExpIDxz dW5wZW5nLmxpQGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2Nv cmUvZGMuYyAgICAgIHwgMjYgKysrKysrKy0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5 L2RjL2NvcmUvZGNfbGluay5jIHwgMTMgKysrKy0KIC4uLi9ncHUvZHJtL2FtZC9kaXNwbGF5L2Rj L2NvcmUvZGNfcmVzb3VyY2UuYyB8IDM5ICsrKysrKysrKy0tLS0tLQogLi4uL2RybS9hbWQvZGlz cGxheS9kYy9kY2UvZGNlX2Nsb2NrX3NvdXJjZS5jIHwgIDMgKy0KIC4uLi9hbWQvZGlzcGxheS9k Yy9kY2UvZGNlX3N0cmVhbV9lbmNvZGVyLmMgICB8IDEyICsrKysrCiAuLi4vYW1kL2Rpc3BsYXkv ZGMvZGNuMTAvZGNuMTBfaHdfc2VxdWVuY2VyLmMgfCAxMyArKystLQogLi4uL2FtZC9kaXNwbGF5 L2RjL2RjbjEwL2RjbjEwX2xpbmtfZW5jb2Rlci5jIHwgNDkgKysrKysrKysrKysrKysrLS0tLQog Li4uL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBfbXBjLmMgIHwgMTkgKysrKysr KwogLi4uL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBfbXBjLmggIHwgIDQgKysK IC4uLi9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX29wdGMuaCB8ICA0ICsrCiAu Li4vZGlzcGxheS9kYy9kY24xMC9kY24xMF9zdHJlYW1fZW5jb2Rlci5jICAgfCAxMiArKysrKwog Li4uL2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBfc3RyZWFtX2VuY29kZXIuaCAgIHwgIDMgKysKIC4u Li9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjIwL2RjbjIwX21wYy5jICB8ICAxICsKIC4uLi9n cHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjIwL2RjbjIwX29wdGMuYyB8ICAzICstCiAuLi4vZGlz cGxheS9kYy9kY24yMC9kY24yMF9zdHJlYW1fZW5jb2Rlci5jICAgfCAgMSArCiBkcml2ZXJzL2dw dS9kcm0vYW1kL2Rpc3BsYXkvZGMvaW5jL2h3L21wYy5oICAgfCAgMyArKwogLi4uL2FtZC9kaXNw bGF5L2RjL2luYy9ody9zdHJlYW1fZW5jb2Rlci5oICAgIHwgIDMgKysKIDE3IGZpbGVzIGNoYW5n ZWQsIDE3MiBpbnNlcnRpb25zKCspLCAzNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kYy5jIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9kaXNwbGF5L2RjL2NvcmUvZGMuYwppbmRleCBmN2ZhNzA4MDZlY2YuLmY3YTNkNjUyYmU1ZiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGMuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kYy5jCkBAIC05NTcsNyArOTU3 LDcgQEAgYm9vbCBkY192YWxpZGF0ZV9zZWFtbGVzc19ib290X3RpbWluZyhjb25zdCBzdHJ1Y3Qg ZGMgKmRjLAogewogCXN0cnVjdCB0aW1pbmdfZ2VuZXJhdG9yICp0ZzsKIAlzdHJ1Y3QgZGNfbGlu ayAqbGluayA9IHNpbmstPmxpbms7Ci0JdW5zaWduZWQgaW50IGluc3Q7CisJdW5zaWduZWQgaW50 IGVuY19pbnN0LCB0Z19pbnN0OwogCiAJLyogQ2hlY2sgZm9yIGVuYWJsZWQgRElHIHRvIGlkZW50 aWZ5IGVuYWJsZWQgZGlzcGxheSAqLwogCWlmICghbGluay0+bGlua19lbmMtPmZ1bmNzLT5pc19k aWdfZW5hYmxlZChsaW5rLT5saW5rX2VuYykpCkBAIC05NjksMTMgKzk2OSwyMiBAQCBib29sIGRj X3ZhbGlkYXRlX3NlYW1sZXNzX2Jvb3RfdGltaW5nKGNvbnN0IHN0cnVjdCBkYyAqZGMsCiAJICog Y3VycmVudCBpbXBsZW1lbnRhdGlvbiBhbHdheXMgbWFwIDEtdG8tMSwgc28gdGhpcyBjb2RlIG1h a2VzCiAJICogdGhlIHNhbWUgYXNzdW1wdGlvbiBhbmQgZG9lc24ndCBjaGVjayBPVEcgc291cmNl LgogCSAqLwotCWluc3QgPSBsaW5rLT5saW5rX2VuYy0+ZnVuY3MtPmdldF9kaWdfZnJvbnRlbmQo bGluay0+bGlua19lbmMpIC0gMTsKKwllbmNfaW5zdCA9IGxpbmstPmxpbmtfZW5jLT5mdW5jcy0+ Z2V0X2RpZ19mcm9udGVuZChsaW5rLT5saW5rX2VuYyk7CiAKIAkvKiBJbnN0YW5jZSBzaG91bGQg YmUgd2l0aGluIHRoZSByYW5nZSBvZiB0aGUgcG9vbCAqLwotCWlmIChpbnN0ID49IGRjLT5yZXNf cG9vbC0+cGlwZV9jb3VudCkKKwlpZiAoZW5jX2luc3QgPj0gZGMtPnJlc19wb29sLT5waXBlX2Nv dW50KQogCQlyZXR1cm4gZmFsc2U7CiAKLQl0ZyA9IGRjLT5yZXNfcG9vbC0+dGltaW5nX2dlbmVy YXRvcnNbaW5zdF07CisJaWYgKGVuY19pbnN0ID49IGRjLT5yZXNfcG9vbC0+c3RyZWFtX2VuY19j b3VudCkKKwkJcmV0dXJuIGZhbHNlOworCisJdGdfaW5zdCA9IGRjLT5yZXNfcG9vbC0+c3RyZWFt X2VuY1tlbmNfaW5zdF0tPmZ1bmNzLT5kaWdfc291cmNlX290ZygKKwkJZGMtPnJlc19wb29sLT5z dHJlYW1fZW5jW2VuY19pbnN0XSk7CisKKwlpZiAodGdfaW5zdCA+PSBkYy0+cmVzX3Bvb2wtPnRp bWluZ19nZW5lcmF0b3JfY291bnQpCisJCXJldHVybiBmYWxzZTsKKworCXRnID0gZGMtPnJlc19w b29sLT50aW1pbmdfZ2VuZXJhdG9yc1t0Z19pbnN0XTsKIAogCWlmICghdGctPmZ1bmNzLT5pc19t YXRjaGluZ190aW1pbmcpCiAJCXJldHVybiBmYWxzZTsKQEAgLTk4OCwxMCArOTk3LDExIEBAIGJv b2wgZGNfdmFsaWRhdGVfc2VhbWxlc3NfYm9vdF90aW1pbmcoY29uc3Qgc3RydWN0IGRjICpkYywK IAogCQlkYy0+cmVzX3Bvb2wtPmRwX2Nsb2NrX3NvdXJjZS0+ZnVuY3MtPmdldF9waXhlbF9jbGtf ZnJlcXVlbmN5XzEwMGh6KAogCQkJZGMtPnJlc19wb29sLT5kcF9jbG9ja19zb3VyY2UsCi0JCQlp bnN0LCAmcGl4X2Nsa18xMDBoeik7CisJCQl0Z19pbnN0LCAmcGl4X2Nsa18xMDBoeik7CiAKIAkJ aWYgKGNydGNfdGltaW5nLT5waXhfY2xrXzEwMGh6ICE9IHBpeF9jbGtfMTAwaHopCiAJCQlyZXR1 cm4gZmFsc2U7CisKIAl9CiAKIAlyZXR1cm4gdHJ1ZTsKQEAgLTE5MDEsMTMgKzE5MTEsMTcgQEAg c3RhdGljIHZvaWQgY29tbWl0X3BsYW5lc19kb19zdHJlYW1fdXBkYXRlKHN0cnVjdCBkYyAqZGMs CiAKIAkJCWlmIChzdHJlYW1fdXBkYXRlLT5kcG1zX29mZikgewogCQkJCWRjLT5od3NzLnBpcGVf Y29udHJvbF9sb2NrKGRjLCBwaXBlX2N0eCwgdHJ1ZSk7CisKIAkJCQlpZiAoKnN0cmVhbV91cGRh dGUtPmRwbXNfb2ZmKSB7CiAJCQkJCWNvcmVfbGlua19kaXNhYmxlX3N0cmVhbShwaXBlX2N0eCwg S0VFUF9BQ1FVSVJFRF9SRVNPVVJDRSk7CiAJCQkJCWRjLT5od3NzLm9wdGltaXplX2JhbmR3aWR0 aChkYywgZGMtPmN1cnJlbnRfc3RhdGUpOwogCQkJCX0gZWxzZSB7Ci0JCQkJCWRjLT5od3NzLnBy ZXBhcmVfYmFuZHdpZHRoKGRjLCBkYy0+Y3VycmVudF9zdGF0ZSk7CisJCQkJCWlmICghZGMtPm9w dGltaXplX3NlYW1sZXNzX2Jvb3QpCisJCQkJCQlkYy0+aHdzcy5wcmVwYXJlX2JhbmR3aWR0aChk YywgZGMtPmN1cnJlbnRfc3RhdGUpOworCiAJCQkJCWNvcmVfbGlua19lbmFibGVfc3RyZWFtKGRj LT5jdXJyZW50X3N0YXRlLCBwaXBlX2N0eCk7CiAJCQkJfQorCiAJCQkJZGMtPmh3c3MucGlwZV9j b250cm9sX2xvY2soZGMsIHBpcGVfY3R4LCBmYWxzZSk7CiAJCQl9CiAKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjX2xpbmsuYyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjX2xpbmsuYwppbmRleCA5ZDY3YTZkNzYyMWMuLjU2 YmViYTY1N2NhYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2Nv cmUvZGNfbGluay5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2Rj X2xpbmsuYwpAQCAtMTQxOSw2ICsxNDE5LDE2IEBAIHN0YXRpYyBlbnVtIGRjX3N0YXR1cyBlbmFi bGVfbGlua19kcCgKICNpZmRlZiBDT05GSUdfRFJNX0FNRF9EQ19EU0NfU1VQUE9SVAogCWJvb2wg ZmVjX2VuYWJsZTsKICNlbmRpZgorCWludCBpOworCWJvb2wgYXBwbHlfc2VhbWxlc3NfYm9vdF9v cHRpbWl6YXRpb24gPSBmYWxzZTsKKworCS8vIGNoZWNrIGZvciBzZWFtbGVzcyBib290CisJZm9y IChpID0gMDsgaSA8IHN0YXRlLT5zdHJlYW1fY291bnQ7IGkrKykgeworCQlpZiAoc3RhdGUtPnN0 cmVhbXNbaV0tPmFwcGx5X3NlYW1sZXNzX2Jvb3Rfb3B0aW1pemF0aW9uKSB7CisJCQlhcHBseV9z ZWFtbGVzc19ib290X29wdGltaXphdGlvbiA9IHRydWU7CisJCQlicmVhazsKKwkJfQorCX0KIAog CS8qIGdldCBsaW5rIHNldHRpbmdzIGZvciB2aWRlbyBtb2RlIHRpbWluZyAqLwogCWRlY2lkZV9s aW5rX3NldHRpbmdzKHN0cmVhbSwgJmxpbmtfc2V0dGluZ3MpOwpAQCAtMTQ0MCw3ICsxNDUwLDgg QEAgc3RhdGljIGVudW0gZGNfc3RhdHVzIGVuYWJsZV9saW5rX2RwKAogCiAJcGlwZV9jdHgtPnN0 cmVhbV9yZXMucGl4X2Nsa19wYXJhbXMucmVxdWVzdGVkX3N5bV9jbGsgPQogCQkJbGlua19zZXR0 aW5ncy5saW5rX3JhdGUgKiBMSU5LX1JBVEVfUkVGX0ZSRVFfSU5fS0haOwotCXN0YXRlLT5jbGtf bWdyLT5mdW5jcy0+dXBkYXRlX2Nsb2NrcyhzdGF0ZS0+Y2xrX21nciwgc3RhdGUsIGZhbHNlKTsK KwlpZiAoIWFwcGx5X3NlYW1sZXNzX2Jvb3Rfb3B0aW1pemF0aW9uKQorCQlzdGF0ZS0+Y2xrX21n ci0+ZnVuY3MtPnVwZGF0ZV9jbG9ja3Moc3RhdGUtPmNsa19tZ3IsIHN0YXRlLCBmYWxzZSk7CiAK IAlkcF9lbmFibGVfbGlua19waHkoCiAJCWxpbmssCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kY19yZXNvdXJjZS5jIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9kaXNwbGF5L2RjL2NvcmUvZGNfcmVzb3VyY2UuYwppbmRleCA1ZjJmMmM3ZTc0NDUuLmZhOTRk ZmMwNGRjZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUv ZGNfcmVzb3VyY2UuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9k Y19yZXNvdXJjZS5jCkBAIC0xODkwLDcgKzE4OTAsNyBAQCBzdGF0aWMgaW50IGFjcXVpcmVfcmVz b3VyY2VfZnJvbV9od19lbmFibGVkX3N0YXRlKAogCQlzdHJ1Y3QgZGNfc3RyZWFtX3N0YXRlICpz dHJlYW0pCiB7CiAJc3RydWN0IGRjX2xpbmsgKmxpbmsgPSBzdHJlYW0tPmxpbms7Ci0JdW5zaWdu ZWQgaW50IGluc3Q7CisJdW5zaWduZWQgaW50IGluc3QsIHRnX2luc3Q7CiAKIAkvKiBDaGVjayBm b3IgZW5hYmxlZCBESUcgdG8gaWRlbnRpZnkgZW5hYmxlZCBkaXNwbGF5ICovCiAJaWYgKCFsaW5r LT5saW5rX2VuYy0+ZnVuY3MtPmlzX2RpZ19lbmFibGVkKGxpbmstPmxpbmtfZW5jKSkKQEAgLTE5 MDIsMjggKzE5MDIsMzcgQEAgc3RhdGljIGludCBhY3F1aXJlX3Jlc291cmNlX2Zyb21faHdfZW5h YmxlZF9zdGF0ZSgKIAkgKiBjdXJyZW50IGltcGxlbWVudGF0aW9uIGFsd2F5cyBtYXAgMS10by0x LCBzbyB0aGlzIGNvZGUgbWFrZXMKIAkgKiB0aGUgc2FtZSBhc3N1bXB0aW9uIGFuZCBkb2Vzbid0 IGNoZWNrIE9URyBzb3VyY2UuCiAJICovCi0JaW5zdCA9IGxpbmstPmxpbmtfZW5jLT5mdW5jcy0+ Z2V0X2RpZ19mcm9udGVuZChsaW5rLT5saW5rX2VuYykgLSAxOworCWluc3QgPSBsaW5rLT5saW5r X2VuYy0+ZnVuY3MtPmdldF9kaWdfZnJvbnRlbmQobGluay0+bGlua19lbmMpOwogCiAJLyogSW5z dGFuY2Ugc2hvdWxkIGJlIHdpdGhpbiB0aGUgcmFuZ2Ugb2YgdGhlIHBvb2wgKi8KIAlpZiAoaW5z dCA+PSBwb29sLT5waXBlX2NvdW50KQogCQlyZXR1cm4gLTE7CiAKLQlpZiAoIXJlc19jdHgtPnBp cGVfY3R4W2luc3RdLnN0cmVhbSkgewotCQlzdHJ1Y3QgcGlwZV9jdHggKnBpcGVfY3R4ID0gJnJl c19jdHgtPnBpcGVfY3R4W2luc3RdOworCWlmIChpbnN0ID49IHBvb2wtPnN0cmVhbV9lbmNfY291 bnQpCisJCXJldHVybiAtMTsKKworCXRnX2luc3QgPSBwb29sLT5zdHJlYW1fZW5jW2luc3RdLT5m dW5jcy0+ZGlnX3NvdXJjZV9vdGcocG9vbC0+c3RyZWFtX2VuY1tpbnN0XSk7CisKKwlpZiAodGdf aW5zdCA+PSBwb29sLT50aW1pbmdfZ2VuZXJhdG9yX2NvdW50KQorCQlyZXR1cm4gZmFsc2U7CisK KwlpZiAoIXJlc19jdHgtPnBpcGVfY3R4W3RnX2luc3RdLnN0cmVhbSkgeworCQlzdHJ1Y3QgcGlw ZV9jdHggKnBpcGVfY3R4ID0gJnJlc19jdHgtPnBpcGVfY3R4W3RnX2luc3RdOworCisJCXBpcGVf Y3R4LT5zdHJlYW1fcmVzLnRnID0gcG9vbC0+dGltaW5nX2dlbmVyYXRvcnNbdGdfaW5zdF07CisJ CXBpcGVfY3R4LT5wbGFuZV9yZXMubWkgPSBwb29sLT5taXNbdGdfaW5zdF07CisJCXBpcGVfY3R4 LT5wbGFuZV9yZXMuaHVicCA9IHBvb2wtPmh1YnBzW3RnX2luc3RdOworCQlwaXBlX2N0eC0+cGxh bmVfcmVzLmlwcCA9IHBvb2wtPmlwcHNbdGdfaW5zdF07CisJCXBpcGVfY3R4LT5wbGFuZV9yZXMu eGZtID0gcG9vbC0+dHJhbnNmb3Jtc1t0Z19pbnN0XTsKKwkJcGlwZV9jdHgtPnBsYW5lX3Jlcy5k cHAgPSBwb29sLT5kcHBzW3RnX2luc3RdOworCQlwaXBlX2N0eC0+c3RyZWFtX3Jlcy5vcHAgPSBw b29sLT5vcHBzW3RnX2luc3RdOwogCi0JCXBpcGVfY3R4LT5zdHJlYW1fcmVzLnRnID0gcG9vbC0+ dGltaW5nX2dlbmVyYXRvcnNbaW5zdF07Ci0JCXBpcGVfY3R4LT5wbGFuZV9yZXMubWkgPSBwb29s LT5taXNbaW5zdF07Ci0JCXBpcGVfY3R4LT5wbGFuZV9yZXMuaHVicCA9IHBvb2wtPmh1YnBzW2lu c3RdOwotCQlwaXBlX2N0eC0+cGxhbmVfcmVzLmlwcCA9IHBvb2wtPmlwcHNbaW5zdF07Ci0JCXBp cGVfY3R4LT5wbGFuZV9yZXMueGZtID0gcG9vbC0+dHJhbnNmb3Jtc1tpbnN0XTsKLQkJcGlwZV9j dHgtPnBsYW5lX3Jlcy5kcHAgPSBwb29sLT5kcHBzW2luc3RdOwotCQlwaXBlX2N0eC0+c3RyZWFt X3Jlcy5vcHAgPSBwb29sLT5vcHBzW2luc3RdOwotCQlpZiAocG9vbC0+ZHBwc1tpbnN0XSkKLQkJ CXBpcGVfY3R4LT5wbGFuZV9yZXMubXBjY19pbnN0ID0gcG9vbC0+ZHBwc1tpbnN0XS0+aW5zdDsK LQkJcGlwZV9jdHgtPnBpcGVfaWR4ID0gaW5zdDsKKwkJaWYgKHBvb2wtPmRwcHNbdGdfaW5zdF0p CisJCQlwaXBlX2N0eC0+cGxhbmVfcmVzLm1wY2NfaW5zdCA9IHBvb2wtPmRwcHNbdGdfaW5zdF0t Pmluc3Q7CisJCXBpcGVfY3R4LT5waXBlX2lkeCA9IHRnX2luc3Q7CiAKIAkJcGlwZV9jdHgtPnN0 cmVhbSA9IHN0cmVhbTsKLQkJcmV0dXJuIGluc3Q7CisJCXJldHVybiB0Z19pbnN0OwogCX0KIAog CXJldHVybiAtMTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9k Y2UvZGNlX2Nsb2NrX3NvdXJjZS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2Rj ZS9kY2VfY2xvY2tfc291cmNlLmMKaW5kZXggNDY0ZDdjMzgzMGVmLi45OTA0ODFiMzU2ODIgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY2UvZGNlX2Nsb2NrX3Nv dXJjZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY2UvZGNlX2Nsb2Nr X3NvdXJjZS5jCkBAIC0xMDU5LDcgKzEwNTksOCBAQCBzdGF0aWMgYm9vbCBkY24yMF9wcm9ncmFt X3BpeF9jbGsoCiBzdGF0aWMgY29uc3Qgc3RydWN0IGNsb2NrX3NvdXJjZV9mdW5jcyBkY24yMF9j bGtfc3JjX2Z1bmNzID0gewogCS5jc19wb3dlcl9kb3duID0gZGNlMTEwX2Nsb2NrX3NvdXJjZV9w b3dlcl9kb3duLAogCS5wcm9ncmFtX3BpeF9jbGsgPSBkY24yMF9wcm9ncmFtX3BpeF9jbGssCi0J LmdldF9waXhfY2xrX2RpdmlkZXJzID0gZGNlMTEyX2dldF9waXhfY2xrX2RpdmlkZXJzCisJLmdl dF9waXhfY2xrX2RpdmlkZXJzID0gZGNlMTEyX2dldF9waXhfY2xrX2RpdmlkZXJzLAorCS5nZXRf cGl4ZWxfY2xrX2ZyZXF1ZW5jeV8xMDBoeiA9IGdldF9waXhlbF9jbGtfZnJlcXVlbmN5XzEwMGh6 CiB9OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9k Yy9kY2UvZGNlX3N0cmVhbV9lbmNvZGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkv ZGMvZGNlL2RjZV9zdHJlYW1fZW5jb2Rlci5jCmluZGV4IGM4ZmVhMDc5ZTkxNy4uMTIxYzhkM2Q2 NDc2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNlL2RjZV9z dHJlYW1fZW5jb2Rlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY2Uv ZGNlX3N0cmVhbV9lbmNvZGVyLmMKQEAgLTE2MDAsNiArMTYwMCwxNyBAQCBzdGF0aWMgdm9pZCBk aWdfY29ubmVjdF90b19vdGcoCiAJUkVHX1VQREFURShESUdfRkVfQ05UTCwgRElHX1NPVVJDRV9T RUxFQ1QsIHRnX2luc3QpOwogfQogCitzdGF0aWMgdW5zaWduZWQgaW50IGRpZ19zb3VyY2Vfb3Rn KAorCXN0cnVjdCBzdHJlYW1fZW5jb2RlciAqZW5jKQoreworCXVpbnQzMl90IHRnX2luc3QgPSAw OworCXN0cnVjdCBkY2UxMTBfc3RyZWFtX2VuY29kZXIgKmVuYzExMCA9IERDRTExMFNUUkVOQ19G Uk9NX1NUUkVOQyhlbmMpOworCisJUkVHX0dFVChESUdfRkVfQ05UTCwgRElHX1NPVVJDRV9TRUxF Q1QsICZ0Z19pbnN0KTsKKworCXJldHVybiB0Z19pbnN0OworfQorCiBzdGF0aWMgY29uc3Qgc3Ry dWN0IHN0cmVhbV9lbmNvZGVyX2Z1bmNzIGRjZTExMF9zdHJfZW5jX2Z1bmNzID0gewogCS5kcF9z ZXRfc3RyZWFtX2F0dHJpYnV0ZSA9CiAJCWRjZTExMF9zdHJlYW1fZW5jb2Rlcl9kcF9zZXRfc3Ry ZWFtX2F0dHJpYnV0ZSwKQEAgLTE2MzUsNiArMTY0Niw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg c3RyZWFtX2VuY29kZXJfZnVuY3MgZGNlMTEwX3N0cl9lbmNfZnVuY3MgPSB7CiAJLnNldF9hdm11 dGUgPSBkY2UxMTBfc3RyZWFtX2VuY29kZXJfc2V0X2F2bXV0ZSwKIAkuZGlnX2Nvbm5lY3RfdG9f b3RnICA9IGRpZ19jb25uZWN0X3RvX290ZywKIAkuaGRtaV9yZXNldF9zdHJlYW1fYXR0cmlidXRl ID0gZGNlMTEwX3Jlc2V0X2hkbWlfc3RyZWFtX2F0dHJpYnV0ZSwKKwkuZGlnX3NvdXJjZV9vdGcg PSBkaWdfc291cmNlX290ZywKIH07CiAKIHZvaWQgZGNlMTEwX3N0cmVhbV9lbmNvZGVyX2NvbnN0 cnVjdCgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9k Y24xMF9od19zZXF1ZW5jZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24x MC9kY24xMF9od19zZXF1ZW5jZXIuYwppbmRleCA2NGE1Njg5YjMwYjEuLjg5ZjdhMjYwNTQ4YiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX2h3 X3NlcXVlbmNlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9k Y24xMF9od19zZXF1ZW5jZXIuYwpAQCAtMTA5Nyw5ICsxMDk3LDE2IEBAIHN0YXRpYyB2b2lkIGRj bjEwX2luaXRfcGlwZXMoc3RydWN0IGRjICpkYywgc3RydWN0IGRjX3N0YXRlICpjb250ZXh0KQog CQl9CiAJfQogCi0JLyogQ2Fubm90IHJlc2V0IHRoZSBNUEMgbXV4IGlmIHNlYW1sZXNzIGJvb3Qg Ki8KLQlpZiAoIWNhbl9hcHBseV9zZWFtbGVzc19ib290KQotCQlkYy0+cmVzX3Bvb2wtPm1wYy0+ ZnVuY3MtPm1wY19pbml0KGRjLT5yZXNfcG9vbC0+bXBjKTsKKwlmb3IgKGkgPSAwOyBpIDwgZGMt PnJlc19wb29sLT5waXBlX2NvdW50OyBpKyspIHsKKwkJc3RydWN0IHBpcGVfY3R4ICpwaXBlX2N0 eCA9ICZjb250ZXh0LT5yZXNfY3R4LnBpcGVfY3R4W2ldOworCisJCS8qIENhbm5vdCByZXNldCB0 aGUgTVBDIG11eCBpZiBzZWFtbGVzcyBib290ICovCisJCWlmIChwaXBlX2N0eC0+c3RyZWFtICE9 IE5VTEwgJiYgY2FuX2FwcGx5X3NlYW1sZXNzX2Jvb3QpCisJCQljb250aW51ZTsKKworCQlkYy0+ cmVzX3Bvb2wtPm1wYy0+ZnVuY3MtPm1wY19pbml0X3NpbmdsZV9pbnN0KAorCQkJCWRjLT5yZXNf cG9vbC0+bXBjLCBpKTsKKwl9CiAKIAlmb3IgKGkgPSAwOyBpIDwgZGMtPnJlc19wb29sLT5waXBl X2NvdW50OyBpKyspIHsKIAkJc3RydWN0IHRpbWluZ19nZW5lcmF0b3IgKnRnID0gZGMtPnJlc19w b29sLT50aW1pbmdfZ2VuZXJhdG9yc1tpXTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9saW5rX2VuY29kZXIuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9saW5rX2VuY29kZXIuYwppbmRleCA5NDI3YTQ2 MWJiMjYuLmU0YzdlY2Q4N2RlNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNw bGF5L2RjL2RjbjEwL2RjbjEwX2xpbmtfZW5jb2Rlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9saW5rX2VuY29kZXIuYwpAQCAtNDQzLDYgKzQ0Myw0 NiBAQCBzdGF0aWMgdWludDhfdCBnZXRfZnJvbnRlbmRfc291cmNlKAogCX0KIH0KIAordW5zaWdu ZWQgaW50IGRjbjEwX2dldF9kaWdfZnJvbnRlbmQoc3RydWN0IGxpbmtfZW5jb2RlciAqZW5jKQor eworCXN0cnVjdCBkY24xMF9saW5rX2VuY29kZXIgKmVuYzEwID0gVE9fRENOMTBfTElOS19FTkMo ZW5jKTsKKwlpbnQzMl90IHZhbHVlOworCWVudW0gZW5naW5lX2lkIHJlc3VsdDsKKworCVJFR19H RVQoRElHX0JFX0NOVEwsIERJR19GRV9TT1VSQ0VfU0VMRUNULCAmdmFsdWUpOworCisJc3dpdGNo ICh2YWx1ZSkgeworCWNhc2UgRENOMTBfRElHX0ZFX1NPVVJDRV9TRUxFQ1RfRElHQToKKwkJcmVz dWx0ID0gRU5HSU5FX0lEX0RJR0E7CisJCWJyZWFrOworCWNhc2UgRENOMTBfRElHX0ZFX1NPVVJD RV9TRUxFQ1RfRElHQjoKKwkJcmVzdWx0ID0gRU5HSU5FX0lEX0RJR0I7CisJCWJyZWFrOworCWNh c2UgRENOMTBfRElHX0ZFX1NPVVJDRV9TRUxFQ1RfRElHQzoKKwkJcmVzdWx0ID0gRU5HSU5FX0lE X0RJR0M7CisJCWJyZWFrOworCWNhc2UgRENOMTBfRElHX0ZFX1NPVVJDRV9TRUxFQ1RfRElHRDoK KwkJcmVzdWx0ID0gRU5HSU5FX0lEX0RJR0Q7CisJCWJyZWFrOworCWNhc2UgRENOMTBfRElHX0ZF X1NPVVJDRV9TRUxFQ1RfRElHRToKKwkJcmVzdWx0ID0gRU5HSU5FX0lEX0RJR0U7CisJCWJyZWFr OworCWNhc2UgRENOMTBfRElHX0ZFX1NPVVJDRV9TRUxFQ1RfRElHRjoKKwkJcmVzdWx0ID0gRU5H SU5FX0lEX0RJR0Y7CisJCWJyZWFrOworCWNhc2UgRENOMTBfRElHX0ZFX1NPVVJDRV9TRUxFQ1Rf RElHRzoKKwkJcmVzdWx0ID0gRU5HSU5FX0lEX0RJR0c7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJ CS8vIGludmFsaWQgc291cmNlIHNlbGVjdCBESUcKKwkJQVNTRVJUKGZhbHNlKTsKKwkJcmVzdWx0 ID0gRU5HSU5FX0lEX1VOS05PV047CisJfQorCisJcmV0dXJuIHJlc3VsdDsKKworfQorCiB2b2lk IGVuYzFfY29uZmlndXJlX2VuY29kZXIoCiAJc3RydWN0IGRjbjEwX2xpbmtfZW5jb2RlciAqZW5j MTAsCiAJY29uc3Qgc3RydWN0IGRjX2xpbmtfc2V0dGluZ3MgKmxpbmtfc2V0dGluZ3MpCkBAIC00 OTgsMTUgKzUzOCw2IEBAIGJvb2wgZGNuMTBfaXNfZGlnX2VuYWJsZWQoc3RydWN0IGxpbmtfZW5j b2RlciAqZW5jKQogCXJldHVybiB2YWx1ZTsKIH0KIAotdW5zaWduZWQgaW50IGRjbjEwX2dldF9k aWdfZnJvbnRlbmQoc3RydWN0IGxpbmtfZW5jb2RlciAqZW5jKQotewotCXN0cnVjdCBkY24xMF9s aW5rX2VuY29kZXIgKmVuYzEwID0gVE9fRENOMTBfTElOS19FTkMoZW5jKTsKLQl1aW50MzJfdCB2 YWx1ZTsKLQotCVJFR19HRVQoRElHX0JFX0NOVEwsIERJR19GRV9TT1VSQ0VfU0VMRUNULCAmdmFs dWUpOwotCXJldHVybiB2YWx1ZTsKLX0KLQogc3RhdGljIHZvaWQgbGlua19lbmNvZGVyX2Rpc2Fi bGUoc3RydWN0IGRjbjEwX2xpbmtfZW5jb2RlciAqZW5jMTApCiB7CiAJLyogcmVzZXQgdHJhaW5p bmcgcGF0dGVybiAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2Rj L2RjbjEwL2RjbjEwX21wYy5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEw L2RjbjEwX21wYy5jCmluZGV4IDRmN2ExMDM5MGM1Ny4uOGIyZjI5ZjZkYWJkIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBfbXBjLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX21wYy5jCkBAIC0zNjQs NiArMzY0LDI0IEBAIHZvaWQgbXBjMV9tcGNfaW5pdChzdHJ1Y3QgbXBjICptcGMpCiAJfQogfQog Cit2b2lkIG1wYzFfbXBjX2luaXRfc2luZ2xlX2luc3Qoc3RydWN0IG1wYyAqbXBjLCB1bnNpZ25l ZCBpbnQgbXBjY19pZCkKK3sKKwlzdHJ1Y3QgZGNuMTBfbXBjICptcGMxMCA9IFRPX0RDTjEwX01Q QyhtcGMpOworCWludCBvcHBfaWQ7CisKKwlSRUdfR0VUKE1QQ0NfT1BQX0lEW21wY2NfaWRdLCBN UENDX09QUF9JRCwgJm9wcF9pZCk7CisKKwlSRUdfU0VUKE1QQ0NfVE9QX1NFTFttcGNjX2lkXSwg MCwgTVBDQ19UT1BfU0VMLCAweGYpOworCVJFR19TRVQoTVBDQ19CT1RfU0VMW21wY2NfaWRdLCAw LCBNUENDX0JPVF9TRUwsIDB4Zik7CisJUkVHX1NFVChNUENDX09QUF9JRFttcGNjX2lkXSwgIDAs IE1QQ0NfT1BQX0lELCAgMHhmKTsKKworCW1wYzFfaW5pdF9tcGNjKCYobXBjLT5tcGNjX2FycmF5 W21wY2NfaWRdKSwgbXBjY19pZCk7CisKKwlpZiAob3BwX2lkIDwgTUFYX09QUCAmJiBSRUcoTVVY W29wcF9pZF0pKQorCQlSRUdfVVBEQVRFKE1VWFtvcHBfaWRdLCBNUENfT1VUX01VWCwgMHhmKTsK K30KKworCiB2b2lkIG1wYzFfaW5pdF9tcGNjX2xpc3RfZnJvbV9odygKIAlzdHJ1Y3QgbXBjICpt cGMsCiAJc3RydWN0IG1wY190cmVlICp0cmVlKQpAQCAtNDMzLDYgKzQ1MSw3IEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgbXBjX2Z1bmNzIGRjbjEwX21wY19mdW5jcyA9IHsKIAkuaW5zZXJ0X3BsYW5l ID0gbXBjMV9pbnNlcnRfcGxhbmUsCiAJLnJlbW92ZV9tcGNjID0gbXBjMV9yZW1vdmVfbXBjYywK IAkubXBjX2luaXQgPSBtcGMxX21wY19pbml0LAorCS5tcGNfaW5pdF9zaW5nbGVfaW5zdCA9IG1w YzFfbXBjX2luaXRfc2luZ2xlX2luc3QsCiAJLmdldF9tcGNjX2Zvcl9kcHAgPSBtcGMxX2dldF9t cGNjX2Zvcl9kcHAsCiAJLndhaXRfZm9yX2lkbGUgPSBtcGMxX2Fzc2VydF9pZGxlX21wY2MsCiAJ LmFzc2VydF9tcGNjX2lkbGVfYmVmb3JlX2Nvbm5lY3QgPSBtcGMxX2Fzc2VydF9tcGNjX2lkbGVf YmVmb3JlX2Nvbm5lY3QsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkv ZGMvZGNuMTAvZGNuMTBfbXBjLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNu MTAvZGNuMTBfbXBjLmgKaW5kZXggZDNkMTZjNGNiZWEzLi45NjJhNjhlMzIyZWUgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9tcGMuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBfbXBjLmgKQEAgLTE0 OSw2ICsxNDksMTAgQEAgdm9pZCBtcGMxX3JlbW92ZV9tcGNjKAogdm9pZCBtcGMxX21wY19pbml0 KAogCXN0cnVjdCBtcGMgKm1wYyk7CiAKK3ZvaWQgbXBjMV9tcGNfaW5pdF9zaW5nbGVfaW5zdCgK KwlzdHJ1Y3QgbXBjICptcGMsCisJdW5zaWduZWQgaW50IG1wY2NfaWQpOworCiB2b2lkIG1wYzFf YXNzZXJ0X2lkbGVfbXBjYygKIAlzdHJ1Y3QgbXBjICptcGMsCiAJaW50IGlkKTsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9vcHRjLmggYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBfb3B0Yy5oCmluZGV4IDAy NTk5ZWI5MmNhNi4uNjZjMDhkMDVkYTBlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBfb3B0Yy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv ZGlzcGxheS9kYy9kY24xMC9kY24xMF9vcHRjLmgKQEAgLTUzOSw2ICs1MzksMTAgQEAgc3RydWN0 IGRjbl9vdGdfc3RhdGUgewogdm9pZCBvcHRjMV9yZWFkX290Z19zdGF0ZShzdHJ1Y3Qgb3B0YyAq b3B0YzEsCiAJCXN0cnVjdCBkY25fb3RnX3N0YXRlICpzKTsKIAorYm9vbCBvcHRjMV9pc19tYXRj aGluZ190aW1pbmcoCisJc3RydWN0IHRpbWluZ19nZW5lcmF0b3IgKnRnLAorCWNvbnN0IHN0cnVj dCBkY19jcnRjX3RpbWluZyAqb3RnX3RpbWluZyk7CisKIGJvb2wgb3B0YzFfdmFsaWRhdGVfdGlt aW5nKAogCXN0cnVjdCB0aW1pbmdfZ2VuZXJhdG9yICpvcHRjLAogCWNvbnN0IHN0cnVjdCBkY19j cnRjX3RpbWluZyAqdGltaW5nKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlz cGxheS9kYy9kY24xMC9kY24xMF9zdHJlYW1fZW5jb2Rlci5jIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX3N0cmVhbV9lbmNvZGVyLmMKaW5kZXggMDBhYTlkZGU1 NTM4Li42ODAwYjkwNmE4NmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxh eS9kYy9kY24xMC9kY24xMF9zdHJlYW1fZW5jb2Rlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9zdHJlYW1fZW5jb2Rlci5jCkBAIC0xNTQxLDYgKzE1 NDEsMTcgQEAgdm9pZCBlbmMxX2RpZ19jb25uZWN0X3RvX290ZygKIAlSRUdfVVBEQVRFKERJR19G RV9DTlRMLCBESUdfU09VUkNFX1NFTEVDVCwgdGdfaW5zdCk7CiB9CiAKK3Vuc2lnbmVkIGludCBl bmMxX2RpZ19zb3VyY2Vfb3RnKAorCXN0cnVjdCBzdHJlYW1fZW5jb2RlciAqZW5jKQoreworCXVp bnQzMl90IHRnX2luc3QgPSAwOworCXN0cnVjdCBkY24xMF9zdHJlYW1fZW5jb2RlciAqZW5jMSA9 IERDTjEwU1RSRU5DX0ZST01fU1RSRU5DKGVuYyk7CisKKwlSRUdfR0VUKERJR19GRV9DTlRMLCBE SUdfU09VUkNFX1NFTEVDVCwgJnRnX2luc3QpOworCisJcmV0dXJuIHRnX2luc3Q7Cit9CisKIHN0 YXRpYyBjb25zdCBzdHJ1Y3Qgc3RyZWFtX2VuY29kZXJfZnVuY3MgZGNuMTBfc3RyX2VuY19mdW5j cyA9IHsKIAkuZHBfc2V0X3N0cmVhbV9hdHRyaWJ1dGUgPQogCQllbmMxX3N0cmVhbV9lbmNvZGVy X2RwX3NldF9zdHJlYW1fYXR0cmlidXRlLApAQCAtMTU3Niw2ICsxNTg3LDcgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCBzdHJlYW1fZW5jb2Rlcl9mdW5jcyBkY24xMF9zdHJfZW5jX2Z1bmNzID0gewog CS5zZXRfYXZtdXRlID0gZW5jMV9zdHJlYW1fZW5jb2Rlcl9zZXRfYXZtdXRlLAogCS5kaWdfY29u bmVjdF90b19vdGcgID0gZW5jMV9kaWdfY29ubmVjdF90b19vdGcsCiAJLmhkbWlfcmVzZXRfc3Ry ZWFtX2F0dHJpYnV0ZSA9IGVuYzFfcmVzZXRfaGRtaV9zdHJlYW1fYXR0cmlidXRlLAorCS5kaWdf c291cmNlX290ZyA9IGVuYzFfZGlnX3NvdXJjZV9vdGcsCiB9OwogCiB2b2lkIGRjbjEwX3N0cmVh bV9lbmNvZGVyX2NvbnN0cnVjdCgKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlz cGxheS9kYy9kY24xMC9kY24xMF9zdHJlYW1fZW5jb2Rlci5oIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX3N0cmVhbV9lbmNvZGVyLmgKaW5kZXggOGI4OTIxZTc1 OTg0Li5hNTEyY2JlYTAwZDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxh eS9kYy9kY24xMC9kY24xMF9zdHJlYW1fZW5jb2Rlci5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9zdHJlYW1fZW5jb2Rlci5oCkBAIC01OTgsNiArNTk4 LDkgQEAgdm9pZCBlbmMxX2RpZ19jb25uZWN0X3RvX290ZygKIAlzdHJ1Y3Qgc3RyZWFtX2VuY29k ZXIgKmVuYywKIAlpbnQgdGdfaW5zdCk7CiAKK3Vuc2lnbmVkIGludCBlbmMxX2RpZ19zb3VyY2Vf b3RnKAorCXN0cnVjdCBzdHJlYW1fZW5jb2RlciAqZW5jKTsKKwogdm9pZCBlbmMxX3N0cmVhbV9l bmNvZGVyX3NldF9zdHJlYW1fYXR0cmlidXRlX2hlbHBlcigKIAlzdHJ1Y3QgZGNuMTBfc3RyZWFt X2VuY29kZXIgKmVuYzEsCiAJc3RydWN0IGRjX2NydGNfdGltaW5nICpjcnRjX3RpbWluZyk7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMjAvZGNuMjBfbXBj LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMjAvZGNuMjBfbXBjLmMKaW5k ZXggNjdmMDEyOGYwYjM4Li4xNzk1MGQ5ZTUzY2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvZGlzcGxheS9kYy9kY24yMC9kY24yMF9tcGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2Rpc3BsYXkvZGMvZGNuMjAvZGNuMjBfbXBjLmMKQEAgLTQ5OCw2ICs0OTgsNyBAQCBjb25z dCBzdHJ1Y3QgbXBjX2Z1bmNzIGRjbjIwX21wY19mdW5jcyA9IHsKIAkuaW5zZXJ0X3BsYW5lID0g bXBjMV9pbnNlcnRfcGxhbmUsCiAJLnJlbW92ZV9tcGNjID0gbXBjMV9yZW1vdmVfbXBjYywKIAku bXBjX2luaXQgPSBtcGMxX21wY19pbml0LAorCS5tcGNfaW5pdF9zaW5nbGVfaW5zdCA9IG1wYzFf bXBjX2luaXRfc2luZ2xlX2luc3QsCiAJLnVwZGF0ZV9ibGVuZGluZyA9IG1wYzJfdXBkYXRlX2Js ZW5kaW5nLAogCS5nZXRfbXBjY19mb3JfZHBwID0gbXBjMl9nZXRfbXBjY19mb3JfZHBwLAogCS53 YWl0X2Zvcl9pZGxlID0gbXBjMl9hc3NlcnRfaWRsZV9tcGNjLApkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjIwL2RjbjIwX29wdGMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvZGlzcGxheS9kYy9kY24yMC9kY24yMF9vcHRjLmMKaW5kZXggMWFlOTczOTYyZDUz Li42ZGVkZTQ5NWQwZmQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9k Yy9kY24yMC9kY24yMF9vcHRjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2Rj L2RjbjIwL2RjbjIwX29wdGMuYwpAQCAtNTIyLDcgKzUyMiw4IEBAIHN0YXRpYyBzdHJ1Y3QgdGlt aW5nX2dlbmVyYXRvcl9mdW5jcyBkY24yMF90Z19mdW5jcyA9IHsKIAkJLnNldF9nc2xfc291cmNl X3NlbGVjdCA9IG9wdGMyX3NldF9nc2xfc291cmNlX3NlbGVjdCwKIAkJLnNldF92dGdfcGFyYW1z ID0gb3B0YzFfc2V0X3Z0Z19wYXJhbXMsCiAJCS5wcm9ncmFtX21hbnVhbF90cmlnZ2VyID0gb3B0 YzJfcHJvZ3JhbV9tYW51YWxfdHJpZ2dlciwKLQkJLnNldHVwX21hbnVhbF90cmlnZ2VyID0gb3B0 YzJfc2V0dXBfbWFudWFsX3RyaWdnZXIKKwkJLnNldHVwX21hbnVhbF90cmlnZ2VyID0gb3B0YzJf c2V0dXBfbWFudWFsX3RyaWdnZXIsCisJCS5pc19tYXRjaGluZ190aW1pbmcgPSBvcHRjMV9pc19t YXRjaGluZ190aW1pbmcKIH07CiAKIHZvaWQgZGNuMjBfdGltaW5nX2dlbmVyYXRvcl9pbml0KHN0 cnVjdCBvcHRjICpvcHRjMSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxh eS9kYy9kY24yMC9kY24yMF9zdHJlYW1fZW5jb2Rlci5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9k aXNwbGF5L2RjL2RjbjIwL2RjbjIwX3N0cmVhbV9lbmNvZGVyLmMKaW5kZXggYjJjMWNhZDNjOTRm Li5hMmYxNTM4N2U5NDYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9k Yy9kY24yMC9kY24yMF9zdHJlYW1fZW5jb2Rlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv ZGlzcGxheS9kYy9kY24yMC9kY24yMF9zdHJlYW1fZW5jb2Rlci5jCkBAIC01NzgsNiArNTc4LDcg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBzdHJlYW1fZW5jb2Rlcl9mdW5jcyBkY24yMF9zdHJfZW5j X2Z1bmNzID0gewogCS5zZXR1cF9zdGVyZW9fc3luYyAgPSBlbmMxX3NldHVwX3N0ZXJlb19zeW5j LAogCS5zZXRfYXZtdXRlID0gZW5jMV9zdHJlYW1fZW5jb2Rlcl9zZXRfYXZtdXRlLAogCS5kaWdf Y29ubmVjdF90b19vdGcgID0gZW5jMV9kaWdfY29ubmVjdF90b19vdGcsCisJLmRpZ19zb3VyY2Vf b3RnID0gZW5jMV9kaWdfc291cmNlX290ZywKICNpZmRlZiBDT05GSUdfRFJNX0FNRF9EQ19EU0Nf U1VQUE9SVAogCS5lbmNfcmVhZF9zdGF0ZSA9IGVuYzJfcmVhZF9zdGF0ZSwKICNlbmRpZgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2luYy9ody9tcGMuaCBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pbmMvaHcvbXBjLmgKaW5kZXggOWYwMDI4OWJk YTc4Li45ZGRlODhkNDU3MWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxh eS9kYy9pbmMvaHcvbXBjLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2lu Yy9ody9tcGMuaApAQCAtMTk5LDYgKzE5OSw5IEBAIHN0cnVjdCBtcGNfZnVuY3MgewogCSAqIFJl dHVybjogIHZvaWQKIAkgKi8KIAl2b2lkICgqbXBjX2luaXQpKHN0cnVjdCBtcGMgKm1wYyk7CisJ dm9pZCAoKm1wY19pbml0X3NpbmdsZV9pbnN0KSgKKwkJCXN0cnVjdCBtcGMgKm1wYywKKwkJCXVu c2lnbmVkIGludCBtcGNjX2lkKTsKIAogCS8qCiAJICogVXBkYXRlIHRoZSBibGVuZGluZyBjb25m aWd1cmF0aW9uIGZvciBhIHNwZWNpZmllZCBNUENDLgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9kaXNwbGF5L2RjL2luYy9ody9zdHJlYW1fZW5jb2Rlci5oIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9kaXNwbGF5L2RjL2luYy9ody9zdHJlYW1fZW5jb2Rlci5oCmluZGV4IDM4ZTJjM2U3 NDEyZS4uMDY3YmE2ZmMwNGMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3Bs YXkvZGMvaW5jL2h3L3N0cmVhbV9lbmNvZGVyLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9k aXNwbGF5L2RjL2luYy9ody9zdHJlYW1fZW5jb2Rlci5oCkBAIC0yMTQsNiArMjE0LDkgQEAgc3Ry dWN0IHN0cmVhbV9lbmNvZGVyX2Z1bmNzIHsKIAl2b2lkICgqaGRtaV9yZXNldF9zdHJlYW1fYXR0 cmlidXRlKSgKIAkJc3RydWN0IHN0cmVhbV9lbmNvZGVyICplbmMpOwogCisJdW5zaWduZWQgaW50 ICgqZGlnX3NvdXJjZV9vdGcpKAorCQlzdHJ1Y3Qgc3RyZWFtX2VuY29kZXIgKmVuYyk7CisKICNp ZiBkZWZpbmVkKENPTkZJR19EUk1fQU1EX0RDX0RDTjJfMCkKICNpZmRlZiBDT05GSUdfRFJNX0FN RF9EQ19EU0NfU1VQUE9SVAogCXZvaWQgKCpkcF9zZXRfZHNjX2NvbmZpZykoCi0tIAoyLjIyLjAK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZngg bWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeA==