From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: [PATCH 11/49] drm/amd/display: fixup DPP programming sequence Date: Fri, 9 Aug 2019 17:37:04 -0400 Message-ID: <20190809213742.30301-12-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 , Eric Yang RnJvbTogSnVuIExlaSA8SnVuLkxlaUBhbWQuY29tPgoKW3doeV0KREMgZG9lcyBub3QgY29ycmVj dCBhY2NvdW50IGZvciB0aGUgZmFjdCB0aGF0IERQUCBEVE8gaXMgZG91YmxlIGJ1ZmZlcmVkIHdo aWxlIERQUCByZWYgaXMgbm90LgpUaGlzIG1lYW5zIHRoYXQgd2hlbiBEUFAgcmVmIGNsb2NrIGlz IGxvd2VyZWQgd2hlbiBpdCdzICJzYWZlIHRvIGxvd2VyIiwgdGhlIERQUCBibG9ja3MgdGhhdCBu ZWVkCmFuIGluY3JlYXNlZCBkaXZpZGVyIHdpbGwgdGVtcG9yYXJpbHkgaGF2ZSBhY3R1YWwgRFBQ IGNsb2NrIGRyb3AgYmVsb3cgbWluaW11bSB3aGlsZSBEVE8KZG91YmxlIGJ1ZmZlcmluZyB0YWtl cyBlZmZlY3QuICBUaGlzIHJlc3VsdHMgaW4gdGVtcG9yYXJ5IHVuZGVyZmxvdy4KCltob3ddClRv IGZpeCB0aGlzLCBEUFAgY2xvY2sgY2Fubm90IGJlIHByb2dyYW1tZWQgYXRvbWljYWxseSwgYnV0 IHJhdGhlciBiZSBicm9rZW4gdXAgaW50byB0aGUgRFRPIGFuZCB0aGUKcmVmLiAgRWFjaCBoYXMg YSBzZXBhcmF0ZSAic2FmZSB0byBsb3dlciIgbG9naWMuICBXaGVuIGRvaW5nICJwcmVwYXJlIiB0 aGUgcmVmIGFuZCBkaXZpZGVycyBtYXkgb25seSBpbmNyZWFzZS4KV2hlbiBkb2luZyAib3B0aW1p emUiLCBib3RoIG1heSBkZWNyZWFzZS4gIEl0IGlzIGd1YXJhbnRlZWQgdGhhdCB3ZSB3b24ndCBl eGNlZWQgbWF4IERQUCBjbG9jayBiZWNhdXNlCndlIGRvIG5vdCB1c2UgZGl2aWRlcnMgbGFyZ2Vy IHRoYW4gMS4KClNpZ25lZC1vZmYtYnk6IEp1biBMZWkgPEp1bi5MZWlAYW1kLmNvbT4KUmV2aWV3 ZWQtYnk6IEVyaWMgWWFuZyA8ZXJpYy55YW5nMkBhbWQuY29tPgpBY2tlZC1ieTogTGVvIExpIDxz dW5wZW5nLmxpQGFtZC5jb20+Ci0tLQogLi4uL2Rpc3BsYXkvZGMvY2xrX21nci9kY24yMC9kY24y MF9jbGtfbWdyLmMgIHwgMTMzICsrKysrKysrKysrKystLS0tLQogZHJpdmVycy9ncHUvZHJtL2Ft ZC9kaXNwbGF5L2RjL2NvcmUvZGMuYyAgICAgIHwgICAzICsKIC4uLi9hbWQvZGlzcGxheS9kYy9k Y24xMC9kY24xMF9od19zZXF1ZW5jZXIuYyB8ICAgMyArLQogLi4uL2dwdS9kcm0vYW1kL2Rpc3Bs YXkvZGMvZGNuMjAvZGNuMjBfZGNjZy5jIHwgIDMxICsrKy0KIC4uLi9ncHUvZHJtL2FtZC9kaXNw bGF5L2RjL2RjbjIwL2RjbjIwX2RjY2cuaCB8ICAgMiArLQogLi4uL2RybS9hbWQvZGlzcGxheS9k Yy9kY24yMC9kY24yMF9yZXNvdXJjZS5jIHwgICAyICstCiAuLi4vZ3B1L2RybS9hbWQvZGlzcGxh eS9kYy9pbmMvY29yZV90eXBlcy5oICAgfCAgIDEgLQogLi4uL2FtZC9kaXNwbGF5L2RjL2luYy9o dy9jbGtfbWdyX2ludGVybmFsLmggIHwgIDEwICstCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3Bs YXkvZGMvaW5jL2h3L2RjY2cuaCAgfCAgIDMgKy0KIDkgZmlsZXMgY2hhbmdlZCwgMTQxIGluc2Vy dGlvbnMoKyksIDQ3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvZGlzcGxheS9kYy9jbGtfbWdyL2RjbjIwL2RjbjIwX2Nsa19tZ3IuYyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvZGlzcGxheS9kYy9jbGtfbWdyL2RjbjIwL2RjbjIwX2Nsa19tZ3IuYwppbmRleCA3 ZmYwMzk2OTU2YjMuLjI0Nzc1YWI4MTIxNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9kaXNwbGF5L2RjL2Nsa19tZ3IvZGNuMjAvZGNuMjBfY2xrX21nci5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvZGlzcGxheS9kYy9jbGtfbWdyL2RjbjIwL2RjbjIwX2Nsa19tZ3IuYwpAQCAt MTA0LDcgKzEwNCw2IEBAIHZvaWQgZGNuMjBfdXBkYXRlX2Nsb2Nrc191cGRhdGVfZHBwX2R0byhz dHJ1Y3QgY2xrX21ncl9pbnRlcm5hbCAqY2xrX21nciwKIHsKIAlpbnQgaTsKIAotCWNsa19tZ3It PmRjY2ctPnJlZl9kcHBjbGsgPSBjbGtfbWdyLT5iYXNlLmNsa3MuZHBwY2xrX2toejsKIAlmb3Ig KGkgPSAwOyBpIDwgY2xrX21nci0+YmFzZS5jdHgtPmRjLT5yZXNfcG9vbC0+cGlwZV9jb3VudDsg aSsrKSB7CiAJCWludCBkcHBfaW5zdCwgZHBwY2xrX2toejsKIApAQCAtMTE0LDI4ICsxMTMsNzUg QEAgdm9pZCBkY24yMF91cGRhdGVfY2xvY2tzX3VwZGF0ZV9kcHBfZHRvKHN0cnVjdCBjbGtfbWdy X2ludGVybmFsICpjbGtfbWdyLAogCQlkcHBfaW5zdCA9IGNvbnRleHQtPnJlc19jdHgucGlwZV9j dHhbaV0ucGxhbmVfcmVzLmRwcC0+aW5zdDsKIAkJZHBwY2xrX2toeiA9IGNvbnRleHQtPnJlc19j dHgucGlwZV9jdHhbaV0ucGxhbmVfcmVzLmJ3LmRwcGNsa19raHo7CiAJCWNsa19tZ3ItPmRjY2ct PmZ1bmNzLT51cGRhdGVfZHBwX2R0bygKLQkJCQljbGtfbWdyLT5kY2NnLCBkcHBfaW5zdCwgZHBw Y2xrX2toeik7CisJCQkJY2xrX21nci0+ZGNjZywgZHBwX2luc3QsIGRwcGNsa19raHosIGZhbHNl KTsKIAl9CiB9CiAKLXZvaWQgZGNuMjBfdXBkYXRlX2Nsb2Nrc191cGRhdGVfZGVudGlzdChzdHJ1 Y3QgY2xrX21ncl9pbnRlcm5hbCAqY2xrX21ncikKK3N0YXRpYyB2b2lkIHVwZGF0ZV9nbG9iYWxf ZHBwX2NsayhzdHJ1Y3QgY2xrX21ncl9pbnRlcm5hbCAqY2xrX21nciwgdW5zaWduZWQgaW50IGto eikKIHsKIAlpbnQgZHBwX2RpdmlkZXIgPSBERU5USVNUX0RJVklERVJfUkFOR0VfU0NBTEVfRkFD VE9SCi0JCQkqIGNsa19tZ3ItPmRlbnRpc3RfdmNvX2ZyZXFfa2h6IC8gY2xrX21nci0+YmFzZS5j bGtzLmRwcGNsa19raHo7Ci0JaW50IGRpc3BfZGl2aWRlciA9IERFTlRJU1RfRElWSURFUl9SQU5H RV9TQ0FMRV9GQUNUT1IKLQkJCSogY2xrX21nci0+ZGVudGlzdF92Y29fZnJlcV9raHogLyBjbGtf bWdyLT5iYXNlLmNsa3MuZGlzcGNsa19raHo7CisJCQkqIGNsa19tZ3ItPmRlbnRpc3RfdmNvX2Zy ZXFfa2h6IC8ga2h6OwogCiAJdWludDMyX3QgZHBwY2xrX3dkaXZpZGVyID0gZGVudGlzdF9nZXRf ZGlkX2Zyb21fZGl2aWRlcihkcHBfZGl2aWRlcik7Ci0JdWludDMyX3QgZGlzcGNsa193ZGl2aWRl ciA9IGRlbnRpc3RfZ2V0X2RpZF9mcm9tX2RpdmlkZXIoZGlzcF9kaXZpZGVyKTsKIAotCVJFR19V UERBVEUoREVOVElTVF9ESVNQQ0xLX0NOVEwsCi0JCQlERU5USVNUX0RJU1BDTEtfV0RJVklERVIs IGRpc3BjbGtfd2RpdmlkZXIpOwotLy8JUkVHX1dBSVQoREVOVElTVF9ESVNQQ0xLX0NOVEwsIERF TlRJU1RfRElTUENMS19DSEdfRE9ORSwgMSwgNSwgMTAwKTsKIAlSRUdfVVBEQVRFKERFTlRJU1Rf RElTUENMS19DTlRMLAogCQkJREVOVElTVF9EUFBDTEtfV0RJVklERVIsIGRwcGNsa193ZGl2aWRl cik7CiAJUkVHX1dBSVQoREVOVElTVF9ESVNQQ0xLX0NOVEwsIERFTlRJU1RfRFBQQ0xLX0NIR19E T05FLCAxLCA1LCAxMDApOwogfQogCitzdGF0aWMgdm9pZCB1cGRhdGVfZGlzcGxheV9jbGsoc3Ry dWN0IGNsa19tZ3JfaW50ZXJuYWwgKmNsa19tZ3IsIHVuc2lnbmVkIGludCBraHopCit7CisJaW50 IGRpc3BfZGl2aWRlciA9IERFTlRJU1RfRElWSURFUl9SQU5HRV9TQ0FMRV9GQUNUT1IKKwkJCSog Y2xrX21nci0+ZGVudGlzdF92Y29fZnJlcV9raHogLyBraHo7CisKKwl1aW50MzJfdCBkaXNwY2xr X3dkaXZpZGVyID0gZGVudGlzdF9nZXRfZGlkX2Zyb21fZGl2aWRlcihkaXNwX2RpdmlkZXIpOwor CisJUkVHX1VQREFURShERU5USVNUX0RJU1BDTEtfQ05UTCwKKwkJCURFTlRJU1RfRElTUENMS19X RElWSURFUiwgZGlzcGNsa193ZGl2aWRlcik7Cit9CisKK3N0YXRpYyB2b2lkIHJlcXVlc3Rfdm9s dGFnZV9hbmRfcHJvZ3JhbV9kaXNwX2NsayhzdHJ1Y3QgY2xrX21nciAqY2xrX21ncl9iYXNlLCB1 bnNpZ25lZCBpbnQga2h6KQoreworCXN0cnVjdCBjbGtfbWdyX2ludGVybmFsICpjbGtfbWdyID0g VE9fQ0xLX01HUl9JTlRFUk5BTChjbGtfbWdyX2Jhc2UpOworCXN0cnVjdCBkYyAqZGMgPSBjbGtf bWdyX2Jhc2UtPmN0eC0+ZGM7CisJc3RydWN0IHBwX3NtdV9mdW5jc19udiAqcHBfc211ID0gTlVM TDsKKwlib29sIGdvaW5nX3VwID0gY2xrX21nci0+YmFzZS5jbGtzLmRpc3BjbGtfa2h6IDwga2h6 OworCisJaWYgKGRjLT5yZXNfcG9vbC0+cHBfc211KQorCQlwcF9zbXUgPSAmZGMtPnJlc19wb29s LT5wcF9zbXUtPm52X2Z1bmNzOworCisJY2xrX21nci0+YmFzZS5jbGtzLmRpc3BjbGtfa2h6ID0g a2h6OworCisJaWYgKGdvaW5nX3VwICYmIHBwX3NtdSAmJiBwcF9zbXUtPnNldF92b2x0YWdlX2J5 X2ZyZXEpCisJCXBwX3NtdS0+c2V0X3ZvbHRhZ2VfYnlfZnJlcSgmcHBfc211LT5wcF9zbXUsIFBQ X1NNVV9OVl9ESVNQQ0xLLCBjbGtfbWdyX2Jhc2UtPmNsa3MuZGlzcGNsa19raHogLyAxMDAwKTsK KworCXVwZGF0ZV9kaXNwbGF5X2NsayhjbGtfbWdyLCBraHopOworCisJaWYgKCFnb2luZ191cCAm JiBwcF9zbXUgJiYgcHBfc211LT5zZXRfdm9sdGFnZV9ieV9mcmVxKQorCQlwcF9zbXUtPnNldF92 b2x0YWdlX2J5X2ZyZXEoJnBwX3NtdS0+cHBfc211LCBQUF9TTVVfTlZfRElTUENMSywgY2xrX21n cl9iYXNlLT5jbGtzLmRpc3BjbGtfa2h6IC8gMTAwMCk7Cit9CisKK3N0YXRpYyB2b2lkIHJlcXVl c3Rfdm9sdGFnZV9hbmRfcHJvZ3JhbV9nbG9iYWxfZHBwX2NsayhzdHJ1Y3QgY2xrX21nciAqY2xr X21ncl9iYXNlLCB1bnNpZ25lZCBpbnQga2h6KQoreworCXN0cnVjdCBjbGtfbWdyX2ludGVybmFs ICpjbGtfbWdyID0gVE9fQ0xLX01HUl9JTlRFUk5BTChjbGtfbWdyX2Jhc2UpOworCXN0cnVjdCBk YyAqZGMgPSBjbGtfbWdyX2Jhc2UtPmN0eC0+ZGM7CisJc3RydWN0IHBwX3NtdV9mdW5jc19udiAq cHBfc211ID0gTlVMTDsKKwlib29sIGdvaW5nX3VwID0gY2xrX21nci0+YmFzZS5jbGtzLmRwcGNs a19raHogPCBraHo7CisKKwlpZiAoZGMtPnJlc19wb29sLT5wcF9zbXUpCisJCXBwX3NtdSA9ICZk Yy0+cmVzX3Bvb2wtPnBwX3NtdS0+bnZfZnVuY3M7CisKKwljbGtfbWdyLT5iYXNlLmNsa3MuZHBw Y2xrX2toeiA9IGtoejsKKwljbGtfbWdyLT5kY2NnLT5yZWZfZHBwY2xrID0ga2h6OworCisJaWYg KGdvaW5nX3VwICYmIHBwX3NtdSAmJiBwcF9zbXUtPnNldF92b2x0YWdlX2J5X2ZyZXEpCisJCXBw X3NtdS0+c2V0X3ZvbHRhZ2VfYnlfZnJlcSgmcHBfc211LT5wcF9zbXUsIFBQX1NNVV9OVl9QSVhF TENMSywgY2xrX21ncl9iYXNlLT5jbGtzLmRwcGNsa19raHogLyAxMDAwKTsKKworCXVwZGF0ZV9n bG9iYWxfZHBwX2NsayhjbGtfbWdyLCBraHopOworCisJaWYgKCFnb2luZ191cCAmJiBwcF9zbXUg JiYgcHBfc211LT5zZXRfdm9sdGFnZV9ieV9mcmVxKQorCQlwcF9zbXUtPnNldF92b2x0YWdlX2J5 X2ZyZXEoJnBwX3NtdS0+cHBfc211LCBQUF9TTVVfTlZfUElYRUxDTEssIGNsa19tZ3JfYmFzZS0+ Y2xrcy5kcHBjbGtfa2h6IC8gMTAwMCk7Cit9CiAKIHZvaWQgZGNuMl91cGRhdGVfY2xvY2tzKHN0 cnVjdCBjbGtfbWdyICpjbGtfbWdyX2Jhc2UsCiAJCQlzdHJ1Y3QgZGNfc3RhdGUgKmNvbnRleHQs CkBAIC0xNDYsMTIgKzE5MiwxMSBAQCB2b2lkIGRjbjJfdXBkYXRlX2Nsb2NrcyhzdHJ1Y3QgY2xr X21nciAqY2xrX21ncl9iYXNlLAogCXN0cnVjdCBkYyAqZGMgPSBjbGtfbWdyX2Jhc2UtPmN0eC0+ ZGM7CiAJc3RydWN0IHBwX3NtdV9mdW5jc19udiAqcHBfc211ID0gTlVMTDsKIAlpbnQgZGlzcGxh eV9jb3VudDsKLQlib29sIHVwZGF0ZV9kcHBjbGsgPSBmYWxzZTsKIAlib29sIHVwZGF0ZV9kaXNw Y2xrID0gZmFsc2U7CiAJYm9vbCBlbnRlcl9kaXNwbGF5X29mZiA9IGZhbHNlOwotCWJvb2wgZHBw X2Nsb2NrX2xvd2VyZWQgPSBmYWxzZTsKIAlzdHJ1Y3QgZG1jdSAqZG1jdSA9IGNsa19tZ3JfYmFz ZS0+Y3R4LT5kYy0+cmVzX3Bvb2wtPmRtY3U7CiAJYm9vbCBmb3JjZV9yZXNldCA9IGZhbHNlOwor CWludCBpOwogCiAJaWYgKGNsa19tZ3JfYmFzZS0+Y2xrcy5kaXNwY2xrX2toeiA9PSAwIHx8CiAJ CWRjLT5kZWJ1Zy5mb3JjZV9jbG9ja19tb2RlICYgMHgxKSB7CkBAIC0xNzcsNiArMjIyLDcgQEAg dm9pZCBkY24yX3VwZGF0ZV9jbG9ja3Moc3RydWN0IGNsa19tZ3IgKmNsa19tZ3JfYmFzZSwKIAkJ CXBwX3NtdS0+c2V0X3ZvbHRhZ2VfYnlfZnJlcSgmcHBfc211LT5wcF9zbXUsIFBQX1NNVV9OVl9Q SFlDTEssIGNsa19tZ3JfYmFzZS0+Y2xrcy5waHljbGtfa2h6IC8gMTAwMCk7CiAJfQogCisKIAlp ZiAoZGMtPmRlYnVnLmZvcmNlX21pbl9kY2ZjbGtfbWh6ID4gMCkKIAkJbmV3X2Nsb2Nrcy0+ZGNm Y2xrX2toeiA9IChuZXdfY2xvY2tzLT5kY2ZjbGtfa2h6ID4gKGRjLT5kZWJ1Zy5mb3JjZV9taW5f ZGNmY2xrX21oeiAqIDEwMDApKSA/CiAJCQkJbmV3X2Nsb2Nrcy0+ZGNmY2xrX2toeiA6IChkYy0+ ZGVidWcuZm9yY2VfbWluX2RjZmNsa19taHogKiAxMDAwKTsKQEAgLTIwMiwxMCArMjQ4LDEyIEBA IHZvaWQgZGNuMl91cGRhdGVfY2xvY2tzKHN0cnVjdCBjbGtfbWdyICpjbGtfbWdyX2Jhc2UsCiAK IAlpZiAoc2hvdWxkX3VwZGF0ZV9wc3RhdGVfc3VwcG9ydChzYWZlX3RvX2xvd2VyLCBuZXdfY2xv Y2tzLT5wX3N0YXRlX2NoYW5nZV9zdXBwb3J0LCBjbGtfbWdyX2Jhc2UtPmNsa3MucF9zdGF0ZV9j aGFuZ2Vfc3VwcG9ydCkpIHsKIAkJY2xrX21ncl9iYXNlLT5jbGtzLnByZXZfcF9zdGF0ZV9jaGFu Z2Vfc3VwcG9ydCA9IGNsa19tZ3JfYmFzZS0+Y2xrcy5wX3N0YXRlX2NoYW5nZV9zdXBwb3J0Owor CiAJCWNsa19tZ3JfYmFzZS0+Y2xrcy5wX3N0YXRlX2NoYW5nZV9zdXBwb3J0ID0gbmV3X2Nsb2Nr cy0+cF9zdGF0ZV9jaGFuZ2Vfc3VwcG9ydDsKIAkJaWYgKHBwX3NtdSAmJiBwcF9zbXUtPnNldF9w c3RhdGVfaGFuZHNoYWtlX3N1cHBvcnQpCiAJCQlwcF9zbXUtPnNldF9wc3RhdGVfaGFuZHNoYWtl X3N1cHBvcnQoJnBwX3NtdS0+cHBfc211LCBjbGtfbWdyX2Jhc2UtPmNsa3MucF9zdGF0ZV9jaGFu Z2Vfc3VwcG9ydCk7CiAJfQorCWNsa19tZ3JfYmFzZS0+Y2xrcy5wcmV2X3Bfc3RhdGVfY2hhbmdl X3N1cHBvcnQgPSBjbGtfbWdyX2Jhc2UtPmNsa3MucF9zdGF0ZV9jaGFuZ2Vfc3VwcG9ydDsKIAog CWlmIChzaG91bGRfc2V0X2Nsb2NrKHNhZmVfdG9fbG93ZXIsIG5ld19jbG9ja3MtPmRyYW1jbGtf a2h6LCBjbGtfbWdyX2Jhc2UtPmNsa3MuZHJhbWNsa19raHopKSB7CiAJCWNsa19tZ3JfYmFzZS0+ Y2xrcy5kcmFtY2xrX2toeiA9IG5ld19jbG9ja3MtPmRyYW1jbGtfa2h6OwpAQCAtMjEzLDM1ICsy NjEsNDggQEAgdm9pZCBkY24yX3VwZGF0ZV9jbG9ja3Moc3RydWN0IGNsa19tZ3IgKmNsa19tZ3Jf YmFzZSwKIAkJCXBwX3NtdS0+c2V0X2hhcmRfbWluX3VjbGtfYnlfZnJlcSgmcHBfc211LT5wcF9z bXUsIGNsa19tZ3JfYmFzZS0+Y2xrcy5kcmFtY2xrX2toeiAvIDEwMDApOwogCX0KIAotCWlmIChz aG91bGRfc2V0X2Nsb2NrKHNhZmVfdG9fbG93ZXIsIG5ld19jbG9ja3MtPmRwcGNsa19raHosIGNs a19tZ3ItPmJhc2UuY2xrcy5kcHBjbGtfa2h6KSkgewotCQlpZiAoY2xrX21nci0+YmFzZS5jbGtz LmRwcGNsa19raHogPiBuZXdfY2xvY2tzLT5kcHBjbGtfa2h6KQotCQkJZHBwX2Nsb2NrX2xvd2Vy ZWQgPSB0cnVlOwotCQljbGtfbWdyLT5iYXNlLmNsa3MuZHBwY2xrX2toeiA9IG5ld19jbG9ja3Mt PmRwcGNsa19raHo7CisJaWYgKGRjLT5jb25maWcuZm9yY2VkX2Nsb2NrcyA9PSBmYWxzZSkgewor CQkvLyBGaXJzdCB1cGRhdGUgZGlzcGxheSBjbG9jaworCQlpZiAoc2hvdWxkX3NldF9jbG9jayhz YWZlX3RvX2xvd2VyLCBuZXdfY2xvY2tzLT5kaXNwY2xrX2toeiwgY2xrX21ncl9iYXNlLT5jbGtz LmRpc3BjbGtfa2h6KSkKKwkJCXJlcXVlc3Rfdm9sdGFnZV9hbmRfcHJvZ3JhbV9kaXNwX2Nsayhj bGtfbWdyX2Jhc2UsIG5ld19jbG9ja3MtPmRpc3BjbGtfa2h6KTsKIAotCQlpZiAocHBfc211ICYm IHBwX3NtdS0+c2V0X3ZvbHRhZ2VfYnlfZnJlcSkKLQkJCXBwX3NtdS0+c2V0X3ZvbHRhZ2VfYnlf ZnJlcSgmcHBfc211LT5wcF9zbXUsIFBQX1NNVV9OVl9QSVhFTENMSywgY2xrX21ncl9iYXNlLT5j bGtzLmRwcGNsa19raHogLyAxMDAwKTsKKwkJLy8gVXBkYXRpbmcgRFBQIGNsb2NrIHJlcXVpcmVz IHNvbWUgbW9yZSBsb2dpYworCQlpZiAoIXNhZmVfdG9fbG93ZXIpIHsKKwkJCS8vIEZvciBwcmUt cHJvZ3JhbW1pbmcsIHdlIG5lZWQgdG8gbWFrZSBzdXJlIGFueSBEUFAgY2xvY2sgdGhhdCB3aWxs IGdvIHVwIGhhcyB0byBnbyB1cAogCi0JCXVwZGF0ZV9kcHBjbGsgPSB0cnVlOwotCX0KKwkJCS8v IEZpcnN0IHJhaXNlIHRoZSBnbG9iYWwgcmVmZXJlbmNlIGlmIG5lZWRlZAorCQkJaWYgKG5ld19j bG9ja3MtPmRwcGNsa19raHogPiBjbGtfbWdyX2Jhc2UtPmNsa3MuZHBwY2xrX2toeikKKwkJCQly ZXF1ZXN0X3ZvbHRhZ2VfYW5kX3Byb2dyYW1fZ2xvYmFsX2RwcF9jbGsoY2xrX21ncl9iYXNlLCBu ZXdfY2xvY2tzLT5kcHBjbGtfa2h6KTsKIAotCWlmIChzaG91bGRfc2V0X2Nsb2NrKHNhZmVfdG9f bG93ZXIsIG5ld19jbG9ja3MtPmRpc3BjbGtfa2h6LCBjbGtfbWdyX2Jhc2UtPmNsa3MuZGlzcGNs a19raHopKSB7Ci0JCWNsa19tZ3JfYmFzZS0+Y2xrcy5kaXNwY2xrX2toeiA9IG5ld19jbG9ja3Mt PmRpc3BjbGtfa2h6OwotCQlpZiAocHBfc211ICYmIHBwX3NtdS0+c2V0X3ZvbHRhZ2VfYnlfZnJl cSkKLQkJCXBwX3NtdS0+c2V0X3ZvbHRhZ2VfYnlfZnJlcSgmcHBfc211LT5wcF9zbXUsIFBQX1NN VV9OVl9ESVNQQ0xLLCBjbGtfbWdyX2Jhc2UtPmNsa3MuZGlzcGNsa19raHogLyAxMDAwKTsKKwkJ CS8vIFRoZW4gcmFpc2UgYW55IGRpdmlkZXJzIHRoYXQgbmVlZCByYWlzaW5nCisJCQlmb3IgKGkg PSAwOyBpIDwgY2xrX21nci0+YmFzZS5jdHgtPmRjLT5yZXNfcG9vbC0+cGlwZV9jb3VudDsgaSsr KSB7CisJCQkJaW50IGRwcF9pbnN0LCBkcHBjbGtfa2h6OwogCi0JCXVwZGF0ZV9kaXNwY2xrID0g dHJ1ZTsKLQl9Ci0JaWYgKGRjLT5jb25maWcuZm9yY2VkX2Nsb2NrcyA9PSBmYWxzZSB8fCAoZm9y Y2VfcmVzZXQgJiYgc2FmZV90b19sb3dlcikpIHsKLQkJaWYgKGRwcF9jbG9ja19sb3dlcmVkKSB7 Ci0JCQkvLyBpZiBjbG9jayBpcyBiZWluZyBsb3dlcmVkLCBpbmNyZWFzZSBEVE8gYmVmb3JlIGxv d2VyaW5nIHJlZmNsawotCQkJZGNuMjBfdXBkYXRlX2Nsb2Nrc191cGRhdGVfZHBwX2R0byhjbGtf bWdyLCBjb250ZXh0KTsKLQkJCWRjbjIwX3VwZGF0ZV9jbG9ja3NfdXBkYXRlX2RlbnRpc3QoY2xr X21ncik7CisJCQkJaWYgKCFjb250ZXh0LT5yZXNfY3R4LnBpcGVfY3R4W2ldLnBsYW5lX3N0YXRl KQorCQkJCQljb250aW51ZTsKKworCQkJCWRwcF9pbnN0ID0gY29udGV4dC0+cmVzX2N0eC5waXBl X2N0eFtpXS5wbGFuZV9yZXMuZHBwLT5pbnN0OworCQkJCWRwcGNsa19raHogPSBjb250ZXh0LT5y ZXNfY3R4LnBpcGVfY3R4W2ldLnBsYW5lX3Jlcy5idy5kcHBjbGtfa2h6OworCisJCQkJY2xrX21n ci0+ZGNjZy0+ZnVuY3MtPnVwZGF0ZV9kcHBfZHRvKGNsa19tZ3ItPmRjY2csIGRwcF9pbnN0LCBk cHBjbGtfa2h6LCB0cnVlKTsKKwkJCX0KIAkJfSBlbHNlIHsKLQkJCS8vIGlmIGNsb2NrIGlzIGJl aW5nIHJhaXNlZCwgaW5jcmVhc2UgcmVmY2xrIGJlZm9yZSBsb3dlcmluZyBEVE8KLQkJCWlmICh1 cGRhdGVfZHBwY2xrIHx8IHVwZGF0ZV9kaXNwY2xrKQotCQkJCWRjbjIwX3VwZGF0ZV9jbG9ja3Nf dXBkYXRlX2RlbnRpc3QoY2xrX21ncik7Ci0JCQlpZiAodXBkYXRlX2RwcGNsaykKLQkJCQlkY24y MF91cGRhdGVfY2xvY2tzX3VwZGF0ZV9kcHBfZHRvKGNsa19tZ3IsIGNvbnRleHQpOworCQkJLy8g Rm9yIHBvc3QtcHJvZ3JhbW1pbmcsIHdlIGNhbiBsb3dlciByZWYgY2xrIGlmIG5lZWRlZCwgYW5k IHVuY29uZGl0aW9uYWxseSBzZXQgYWxsIHRoZSBEVE9zCisKKwkJCWlmIChuZXdfY2xvY2tzLT5k cHBjbGtfa2h6IDwgY2xrX21ncl9iYXNlLT5jbGtzLmRwcGNsa19raHopCisJCQkJcmVxdWVzdF92 b2x0YWdlX2FuZF9wcm9ncmFtX2dsb2JhbF9kcHBfY2xrKGNsa19tZ3JfYmFzZSwgbmV3X2Nsb2Nr cy0+ZHBwY2xrX2toeik7CisKKwkJCWZvciAoaSA9IDA7IGkgPCBjbGtfbWdyLT5iYXNlLmN0eC0+ ZGMtPnJlc19wb29sLT5waXBlX2NvdW50OyBpKyspIHsKKwkJCQlpbnQgZHBwX2luc3QsIGRwcGNs a19raHo7CisKKwkJCQlpZiAoIWNvbnRleHQtPnJlc19jdHgucGlwZV9jdHhbaV0ucGxhbmVfc3Rh dGUpCisJCQkJCWNvbnRpbnVlOworCisJCQkJZHBwX2luc3QgPSBjb250ZXh0LT5yZXNfY3R4LnBp cGVfY3R4W2ldLnBsYW5lX3Jlcy5kcHAtPmluc3Q7CisJCQkJZHBwY2xrX2toeiA9IGNvbnRleHQt PnJlc19jdHgucGlwZV9jdHhbaV0ucGxhbmVfcmVzLmJ3LmRwcGNsa19raHo7CisKKwkJCQljbGtf bWdyLT5kY2NnLT5mdW5jcy0+dXBkYXRlX2RwcF9kdG8oY2xrX21nci0+ZGNjZywgZHBwX2luc3Qs IGRwcGNsa19raHosIGZhbHNlKTsKKwkJCX0KIAkJfQogCX0KIAlpZiAodXBkYXRlX2Rpc3BjbGsg JiYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjLmMg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvY29yZS9kYy5jCmluZGV4IDg5OTVkMDZl Zjk3My4uZjdmYTcwODA2ZWNmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3Bs YXkvZGMvY29yZS9kYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3Jl L2RjLmMKQEAgLTE2MDAsNiArMTYwMCw5IEBAIGVudW0gc3VyZmFjZV91cGRhdGVfdHlwZSBkY19j aGVja191cGRhdGVfc3VyZmFjZXNfZm9yX3N0cmVhbSgKIAkJZm9yIChpID0gMDsgaSA8IHN1cmZh Y2VfY291bnQ7IGkrKykKIAkJCXVwZGF0ZXNbaV0uc3VyZmFjZS0+dXBkYXRlX2ZsYWdzLnJhdyA9 IDB4RkZGRkZGRkY7CiAKKwlpZiAodHlwZSA9PSBVUERBVEVfVFlQRV9GQVNUICYmIG1lbWNtcCgm ZGMtPmN1cnJlbnRfc3RhdGUtPmJ3X2N0eC5idy5kY24uY2xrLCAmZGMtPmNsa19tZ3ItPmNsa3Ms IG9mZnNldG9mKHN0cnVjdCBkY19jbG9ja3MsIHByZXZfcF9zdGF0ZV9jaGFuZ2Vfc3VwcG9ydCkp ICE9IDApCisJCWRjLT5vcHRpbWl6ZWRfcmVxdWlyZWQgPSB0cnVlOworCiAJcmV0dXJuIHR5cGU7 CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9k Y24xMF9od19zZXF1ZW5jZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24x MC9kY24xMF9od19zZXF1ZW5jZXIuYwppbmRleCA4ZTFkZTQyM2U1NjcuLjM3NDI0MDY1OTg3ZiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX2h3 X3NlcXVlbmNlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9k Y24xMF9od19zZXF1ZW5jZXIuYwpAQCAtMjE1NCw3ICsyMTU0LDggQEAgdm9pZCB1cGRhdGVfZGNo dWJwX2RwcCgKIAkJCWRjLT5yZXNfcG9vbC0+ZGNjZy0+ZnVuY3MtPnVwZGF0ZV9kcHBfZHRvKAog CQkJCQlkYy0+cmVzX3Bvb2wtPmRjY2csCiAJCQkJCWRwcC0+aW5zdCwKLQkJCQkJcGlwZV9jdHgt PnBsYW5lX3Jlcy5idy5kcHBjbGtfa2h6KTsKKwkJCQkJcGlwZV9jdHgtPnBsYW5lX3Jlcy5idy5k cHBjbGtfa2h6LAorCQkJCQlmYWxzZSk7CiAJCWVsc2UKIAkJCWRjLT5jbGtfbWdyLT5jbGtzLmRw cGNsa19raHogPSBzaG91bGRfZGl2aWRlZF9ieV8yID8KIAkJCQkJCWRjLT5jbGtfbWdyLT5jbGtz LmRpc3BjbGtfa2h6IC8gMiA6CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3Bs YXkvZGMvZGNuMjAvZGNuMjBfZGNjZy5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2Rj L2RjbjIwL2RjbjIwX2RjY2cuYwppbmRleCAyMzM2MmRkNGI2ZDMuLmY5Yjk5ZjhjZmMzMSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjIwL2RjbjIwX2RjY2cu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMjAvZGNuMjBfZGNjZy5j CkBAIC00MiwxMiArNDIsMTYgQEAKICNkZWZpbmUgRENfTE9HR0VSIFwKIAlkY2NnLT5jdHgtPmxv Z2dlcgogCi12b2lkIGRjY2cyX3VwZGF0ZV9kcHBfZHRvKHN0cnVjdCBkY2NnICpkY2NnLCBpbnQg ZHBwX2luc3QsIGludCByZXFfZHBwY2xrKQordm9pZCBkY2NnMl91cGRhdGVfZHBwX2R0byhzdHJ1 Y3QgZGNjZyAqZGNjZywKKwkJaW50IGRwcF9pbnN0LAorCQlpbnQgcmVxX2RwcGNsaywKKwkJYm9v bCByZWR1Y2VfZGl2aWRlcl9vbmx5KQogewogCXN0cnVjdCBkY25fZGNjZyAqZGNjZ19kY24gPSBU T19EQ05fRENDRyhkY2NnKTsKIAogCWlmIChkY2NnLT5yZWZfZHBwY2xrICYmIHJlcV9kcHBjbGsp IHsKIAkJaW50IHJlZl9kcHBjbGsgPSBkY2NnLT5yZWZfZHBwY2xrOworCQlpbnQgY3VycmVudF9w aGFzZSwgY3VycmVudF9tb2R1bG87CiAKIAkJQVNTRVJUKHJlcV9kcHBjbGsgPD0gcmVmX2RwcGNs ayk7CiAJCS8qIG5lZWQgdG8gY2xhbXAgdG8gOCBiaXRzICovCkBAIC01OSw5ICs2MywyOCBAQCB2 b2lkIGRjY2cyX3VwZGF0ZV9kcHBfZHRvKHN0cnVjdCBkY2NnICpkY2NnLCBpbnQgZHBwX2luc3Qs IGludCByZXFfZHBwY2xrKQogCQkJaWYgKHJlcV9kcHBjbGsgPiByZWZfZHBwY2xrKQogCQkJCXJl cV9kcHBjbGsgPSByZWZfZHBwY2xrOwogCQl9Ci0JCVJFR19TRVRfMihEUFBDTEtfRFRPX1BBUkFN W2RwcF9pbnN0XSwgMCwKLQkJCQlEUFBDTEswX0RUT19QSEFTRSwgcmVxX2RwcGNsaywKLQkJCQlE UFBDTEswX0RUT19NT0RVTE8sIHJlZl9kcHBjbGspOworCisJCVJFR19HRVRfMihEUFBDTEtfRFRP X1BBUkFNW2RwcF9pbnN0XSwKKwkJCQlEUFBDTEswX0RUT19QSEFTRSwgJmN1cnJlbnRfcGhhc2Us CisJCQkJRFBQQ0xLMF9EVE9fTU9EVUxPLCAmY3VycmVudF9tb2R1bG8pOworCisJCWlmIChyZWR1 Y2VfZGl2aWRlcl9vbmx5KSB7CisJCQkvLyByZXF1ZXN0ZWQgcGhhc2UvbW9kdWxvIGdyZWF0ZXIg dGhhbiBjdXJyZW50CisJCQlpZiAocmVxX2RwcGNsayAqIGN1cnJlbnRfbW9kdWxvID49IGN1cnJl bnRfcGhhc2UgKiByZWZfZHBwY2xrKSB7CisJCQkJUkVHX1NFVF8yKERQUENMS19EVE9fUEFSQU1b ZHBwX2luc3RdLCAwLAorCQkJCQkJRFBQQ0xLMF9EVE9fUEhBU0UsIHJlcV9kcHBjbGssCisJCQkJ CQlEUFBDTEswX0RUT19NT0RVTE8sIHJlZl9kcHBjbGspOworCQkJfSBlbHNlIHsKKwkJCQlSRUdf U0VUXzIoRFBQQ0xLX0RUT19QQVJBTVtkcHBfaW5zdF0sIDAsCisJCQkJCQlEUFBDTEswX0RUT19Q SEFTRSwgY3VycmVudF9waGFzZSwKKwkJCQkJCURQUENMSzBfRFRPX01PRFVMTywgY3VycmVudF9t b2R1bG8pOworCQkJfQorCQl9IGVsc2UgeworCQkJUkVHX1NFVF8yKERQUENMS19EVE9fUEFSQU1b ZHBwX2luc3RdLCAwLAorCQkJCQlEUFBDTEswX0RUT19QSEFTRSwgcmVxX2RwcGNsaywKKwkJCQkJ RFBQQ0xLMF9EVE9fTU9EVUxPLCByZWZfZHBwY2xrKTsKKwkJfQorCiAJCVJFR19VUERBVEUoRFBQ Q0xLX0RUT19DVFJMLAogCQkJCURQUENMS19EVE9fRU5BQkxFW2RwcF9pbnN0XSwgMSk7CiAJfSBl bHNlIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24yMC9k Y24yMF9kY2NnLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMjAvZGNuMjBf ZGNjZy5oCmluZGV4IDIyMDVjYjAyMDRlNy4uNzRhMDc0YTg3M2NkIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMjAvZGNuMjBfZGNjZy5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24yMC9kY24yMF9kY2NnLmgKQEAgLTk3LDcgKzk3 LDcgQEAgc3RydWN0IGRjbl9kY2NnIHsKIAljb25zdCBzdHJ1Y3QgZGNjZ19tYXNrICpkY2NnX21h c2s7CiB9OwogCi12b2lkIGRjY2cyX3VwZGF0ZV9kcHBfZHRvKHN0cnVjdCBkY2NnICpkY2NnLCBp bnQgZHBwX2luc3QsIGludCByZXFfZHBwY2xrKTsKK3ZvaWQgZGNjZzJfdXBkYXRlX2RwcF9kdG8o c3RydWN0IGRjY2cgKmRjY2csIGludCBkcHBfaW5zdCwgaW50IHJlcV9kcHBjbGssIGJvb2wgcmFp c2VfZGl2aWRlcl9vbmx5KTsKIAogdm9pZCBkY2NnMl9nZXRfZGNjZ19yZWZfZnJlcShzdHJ1Y3Qg ZGNjZyAqZGNjZywKIAkJdW5zaWduZWQgaW50IHh0YWxpbl9mcmVxX2luS2h6LApkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjIwL2RjbjIwX3Jlc291cmNlLmMg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMjAvZGNuMjBfcmVzb3VyY2UuYwpp bmRleCA0MmQzNjY2ZjIwMzcuLjkzMGFkNTRlMGZmNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjIwL2RjbjIwX3Jlc291cmNlLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjIwL2RjbjIwX3Jlc291cmNlLmMKQEAgLTI0ODAsNyAr MjQ4MCw3IEBAIHZvaWQgZGNuMjBfY2FsY3VsYXRlX2RsZ19wYXJhbXMoCiAJY29udGV4dC0+Yndf Y3R4LmJ3LmRjbi5jbGsuc29jY2xrX2toeiA9IGNvbnRleHQtPmJ3X2N0eC5kbWwudmJhLlNPQ0NM SyAqIDEwMDA7CiAJY29udGV4dC0+YndfY3R4LmJ3LmRjbi5jbGsuZHJhbWNsa19raHogPSBjb250 ZXh0LT5id19jdHguZG1sLnZiYS5EUkFNU3BlZWQgKiAxMDAwIC8gMTY7CiAJY29udGV4dC0+Yndf Y3R4LmJ3LmRjbi5jbGsuZGNmY2xrX2RlZXBfc2xlZXBfa2h6ID0gY29udGV4dC0+YndfY3R4LmRt bC52YmEuRENGQ0xLRGVlcFNsZWVwICogMTAwMDsKLQljb250ZXh0LT5id19jdHguYncuZGNuLmNs ay5mY2xrX2toeiA9IGNvbnRleHQtPmJ3X2N0eC5kbWwudmJhLkZhYnJpY0Nsb2NrICogMTAwMDsK Kwljb250ZXh0LT5id19jdHguYncuZGNuLmNsay5mY2xrX2toeiA9IDA7CiAJY29udGV4dC0+Yndf Y3R4LmJ3LmRjbi5jbGsucF9zdGF0ZV9jaGFuZ2Vfc3VwcG9ydCA9CiAJCWNvbnRleHQtPmJ3X2N0 eC5kbWwudmJhLkRSQU1DbG9ja0NoYW5nZVN1cHBvcnRbdmxldmVsXVtjb250ZXh0LT5id19jdHgu ZG1sLnZiYS5tYXhNcGNDb21iXQogCQkJCQkJCSE9IGRtX2RyYW1fY2xvY2tfY2hhbmdlX3Vuc3Vw cG9ydGVkOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2luYy9j b3JlX3R5cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaW5jL2NvcmVfdHlw ZXMuaAppbmRleCBhMTQ4ZmZkZThiMTIuLjFkNjZjNGIwOTYxMiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2luYy9jb3JlX3R5cGVzLmgKKysrIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9kaXNwbGF5L2RjL2luYy9jb3JlX3R5cGVzLmgKQEAgLTIyOCw3ICsyMjgsNiBA QCBzdHJ1Y3QgcmVzb3VyY2VfcG9vbCB7CiAKIHN0cnVjdCBkY25fZmVfYmFuZHdpZHRoIHsKIAlp bnQgZHBwY2xrX2toejsKLQogfTsKIAogc3RydWN0IHN0cmVhbV9yZXNvdXJjZSB7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaW5jL2h3L2Nsa19tZ3JfaW50ZXJu YWwuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9pbmMvaHcvY2xrX21ncl9pbnRl cm5hbC5oCmluZGV4IDIxMzA0NmRlMTY3NS4uN2RkNDZlYjk2ZDY3IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaW5jL2h3L2Nsa19tZ3JfaW50ZXJuYWwuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaW5jL2h3L2Nsa19tZ3JfaW50ZXJuYWwu aApAQCAtMjgxLDggKzI4MSwxNCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgc2hvdWxkX3NldF9jbG9j ayhib29sIHNhZmVfdG9fbG93ZXIsIGludCBjYWxjX2NsaywgaW50IGN1cl9jbAogCiBzdGF0aWMg aW5saW5lIGJvb2wgc2hvdWxkX3VwZGF0ZV9wc3RhdGVfc3VwcG9ydChib29sIHNhZmVfdG9fbG93 ZXIsIGJvb2wgY2FsY19zdXBwb3J0LCBib29sIGN1cl9zdXBwb3J0KQogewotCS8vIFdoZW5ldmVy IHdlIGFyZSB0cmFuc2l0aW9uaW5nIHBzdGF0ZSBzdXBwb3J0LCB3ZSBhbHdheXMgd2FudCB0byBu b3RpZnkgcHJpb3IgdG8gY29tbWl0dGluZyBzdGF0ZQotCXJldHVybiAoY2FsY19zdXBwb3J0ICE9 IGN1cl9zdXBwb3J0KSA/ICFzYWZlX3RvX2xvd2VyIDogZmFsc2U7CisJaWYgKGN1cl9zdXBwb3J0 ICE9IGNhbGNfc3VwcG9ydCkgeworCQlpZiAoY2FsY19zdXBwb3J0ID09IHRydWUgJiYgc2FmZV90 b19sb3dlcikKKwkJCXJldHVybiB0cnVlOworCQllbHNlIGlmIChjYWxjX3N1cHBvcnQgPT0gZmFs c2UgJiYgIXNhZmVfdG9fbG93ZXIpCisJCQlyZXR1cm4gdHJ1ZTsKKwl9CisKKwlyZXR1cm4gZmFs c2U7CiB9CiAKIGludCBjbGtfbWdyX2hlbHBlcl9nZXRfYWN0aXZlX2Rpc3BsYXlfY250KApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2luYy9ody9kY2NnLmggYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaW5jL2h3L2RjY2cuaAppbmRleCAwNWVlNTI5 NWQyYzEuLmQ4ZTc0NGYzNjZlNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNw bGF5L2RjL2luYy9ody9kY2NnLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2Rj L2luYy9ody9kY2NnLmgKQEAgLTM4LDcgKzM4LDggQEAgc3RydWN0IGRjY2cgewogc3RydWN0IGRj Y2dfZnVuY3MgewogCXZvaWQgKCp1cGRhdGVfZHBwX2R0bykoc3RydWN0IGRjY2cgKmRjY2csCiAJ CQlpbnQgZHBwX2luc3QsCi0JCQlpbnQgcmVxX2RwcGNsayk7CisJCQlpbnQgcmVxX2RwcGNsaywK KwkJCWJvb2wgcmVkdWNlX2RpdmlkZXJfb25seSk7CiAJdm9pZCAoKmdldF9kY2NnX3JlZl9mcmVx KShzdHJ1Y3QgZGNjZyAqZGNjZywKIAkJCXVuc2lnbmVkIGludCB4dGFsaW5fZnJlcV9pbktoeiwK IAkJCXVuc2lnbmVkIGludCAqZGNjZ19yZWZfZnJlcV9pbktoeik7Ci0tIAoyLjIyLjAKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGlu ZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeA==