From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v2 19/40] drm/i915/tgl: Select master transcoder in DP MST Date: Thu, 22 Aug 2019 15:43:07 +0300 Message-ID: <871rxdcqw4.fsf@intel.com> References: <20190817093902.2171-1-lucas.demarchi@intel.com> <20190817093902.2171-20-lucas.demarchi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id F18E66EB13 for ; Thu, 22 Aug 2019 12:43:09 +0000 (UTC) In-Reply-To: <20190817093902.2171-20-lucas.demarchi@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Lucas De Marchi , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gU2F0LCAxNyBBdWcgMjAxOSwgTHVjYXMgRGUgTWFyY2hpIDxsdWNhcy5kZW1hcmNoaUBpbnRl bC5jb20+IHdyb3RlOgo+IEZyb206IEpvc8OpIFJvYmVydG8gZGUgU291emEgPGpvc2Uuc291emFA aW50ZWwuY29tPgo+Cj4gT24gVEdMIHRoZSBibGVuZGluZyBvZiBhbGwgdGhlIHN0cmVhbXMgaGF2 ZSBtb3ZlZCBmcm9tIERESSB0bwo+IHRyYW5zY29kZXIsIHNvIG5vdyBldmVyeSB0cmFuc2NvZGVy IHdvcmtpbmcgb3ZlciB0aGUgc2FtZSBNU1QgcG9ydCBtdXN0Cj4gc2VuZCBpdHMgc3RyZWFtIHRv IGEgbWFzdGVyIHRyYW5zY29kZXIgYW5kIG1hc3RlciB3aWxsIHNlbmQgdG8gRERJCj4gcmVzcGVj dGluZyB0aGUgdGltZSBzbG90cy4KPgo+IFNvIGhlcmUgaXQgaXMgcGlja2luZyB0aGUgbG93ZXN0 IHBpcGUvdHJhbnNjb2RlciBhcyBpdCB3aWxsIGJlCj4gZW5hYmxlZCBmaXJzdCBhbmQgZGlzYWJs ZWQgbGFzdC4KPiBCU3BlYzogNTA0OTMKPiBCU3BlYzogNDkxOTAKPgo+IHYyOiBNaXNzZWQgc2V0 IG1zdF9tYXN0ZXJfdHJhbnMgdG8gVFJBTlNDT0RFUl9JTlZBTElEIHdoZW4gY29tcHV0aW5nIEhT Vwo+ICAgICBlbmNvZGVyIGNvbmZpZy4gSFNXIENSVCBodyBzdGF0ZSByZWFkb3V0IGNhbGxzCj4g ICAgIGhzd19jcnRfZ2V0X2NvbmZpZygpLT5pbnRlbF9kZGlfZ2V0X2NvbmZpZygpIHRoYXQgd2ls bCBzZXQKPiAgICAgbXN0X21hc3Rlcl90cmFucyB0byBUUkFOU0NPREVSX0lOVkFMSUQgY2F1c2lu ZyB0aGUgbWlzbWF0Y2ggd2hlbgo+ICAgICB2ZXJpZnlpbmcgQ1JUQyBzdGF0ZSBhZnRlciBhIG1v ZGVzZXQuIChKb3PDqSkKPgo+IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGlu dXguaW50ZWwuY29tPgo+IENjOiBNYW5hc2kgTmF2YXJlIDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwu Y29tPgo+IENjOiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+Cj4gU2lnbmVk LW9mZi1ieTogSm9zw6kgUm9iZXJ0byBkZSBTb3V6YSA8am9zZS5zb3V6YUBpbnRlbC5jb20+Cj4g U2lnbmVkLW9mZi1ieTogTHVjYXMgRGUgTWFyY2hpIDxsdWNhcy5kZW1hcmNoaUBpbnRlbC5jb20+ Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY3J0LmMgICAgICB8 ICAgMiArCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMgICAgICB8 ICAxNyArKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYyAg fCAgMTUgKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5Lmgg IHwgICAzICsKPiAgLi4uL2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5oICAg IHwgICAzICsKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcF9tc3QuYyAg IHwgMTU5ICsrKysrKysrKysrKysrKysrLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2RwX21zdC5oICAgfCAgIDIgKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Jl Zy5oICAgICAgICAgICAgICAgfCAgIDMgKwo+ICA4IGZpbGVzIGNoYW5nZWQsIDIwMSBpbnNlcnRp b25zKCspLCAzIGRlbGV0aW9ucygtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfY3J0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2NydC5jCj4gaW5kZXggZTZlOGQ0YTgyMDQ0Li41MDMxMzUyMDBjYjMgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jcnQuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfY3J0LmMKPiBAQCAtNDE2LDYgKzQxNiw4IEBA IHN0YXRpYyBpbnQgaHN3X2NydF9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlciwKPiAgCS8qIEZESSBtdXN0IGFsd2F5cyBiZSAyLjcgR0h6ICovCj4gIAlwaXBlX2Nv bmZpZy0+cG9ydF9jbG9jayA9IDEzNTAwMCAqIDI7Cj4gIAo+ICsJcGlwZV9jb25maWctPm1zdF9t YXN0ZXJfdHJhbnMgPSBUUkFOU0NPREVSX0lOVkFMSUQ7Cj4gKwo+ICAJcmV0dXJuIDA7Cj4gIH0K PiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRp LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jCj4gaW5kZXggMWY1 OTFlNjliNzQyLi41MGEyNmJlYThjZGUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kZGkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfZGRpLmMKPiBAQCAtMTg0MCw2ICsxODQwLDEyIEBAIHZvaWQgaW50ZWxfZGRpX2Vu YWJsZV90cmFuc2NvZGVyX2Z1bmMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUpCj4gIAl9IGVsc2UgaWYgKGludGVsX2NydGNfaGFzX3R5cGUoY3J0Y19zdGF0ZSwgSU5U RUxfT1VUUFVUX0RQX01TVCkpIHsKPiAgCQl0ZW1wIHw9IFRSQU5TX0RESV9NT0RFX1NFTEVDVF9E UF9NU1Q7Cj4gIAkJdGVtcCB8PSBERElfUE9SVF9XSURUSChjcnRjX3N0YXRlLT5sYW5lX2NvdW50 KTsKPiArCj4gKwkJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTIpIHsKPiArCQkJZW51bSB0 cmFuc2NvZGVyIG1hc3RlciA9IGNydGNfc3RhdGUtPm1zdF9tYXN0ZXJfdHJhbnM7Cj4gKwo+ICsJ CQl0ZW1wIHw9IFRSQU5TX0RESV9NU1RfVFJBTlNQT1JUX1NFTEVDVF9EUFRQKG1hc3Rlcik7CgpG b3Igc29tZSByZWFzb24gSSdkIGZlZWwgc2FmZXIgaWYgd2UgaGFkIGEgV0FSTl9PTihtYXN0ZXIg PT0KVFJBTlNDT0RFUl9JTlZBTElEKSBzb21ld2hlcmUgYXJvdW5kIGhlcmUuCgoKPiArCQl9Cj4g IAl9IGVsc2Ugewo+ICAJCXRlbXAgfD0gVFJBTlNfRERJX01PREVfU0VMRUNUX0RQX1NTVDsKPiAg CQl0ZW1wIHw9IERESV9QT1JUX1dJRFRIKGNydGNfc3RhdGUtPmxhbmVfY291bnQpOwo+IEBAIC0z ODYxLDYgKzM4NjcsOCBAQCB2b2lkIGludGVsX2RkaV9nZXRfY29uZmlnKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyLAo+ICAJCWJyZWFrOwo+ICAJfQo+ICAKPiArCXBpcGVfY29uZmlnLT5t c3RfbWFzdGVyX3RyYW5zID0gVFJBTlNDT0RFUl9JTlZBTElEOwo+ICsKPiAgCXN3aXRjaCAodGVt cCAmIFRSQU5TX0RESV9NT0RFX1NFTEVDVF9NQVNLKSB7Cj4gIAljYXNlIFRSQU5TX0RESV9NT0RF X1NFTEVDVF9IRE1JOgo+ICAJCXBpcGVfY29uZmlnLT5oYXNfaGRtaV9zaW5rID0gdHJ1ZTsKPiBA QCAtMzg5Niw2ICszOTA0LDEzIEBAIHZvaWQgaW50ZWxfZGRpX2dldF9jb25maWcoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJcGlwZV9jb25maWctPm91dHB1dF90eXBlcyB8PSBC SVQoSU5URUxfT1VUUFVUX0RQX01TVCk7Cj4gIAkJcGlwZV9jb25maWctPmxhbmVfY291bnQgPQo+ ICAJCQkoKHRlbXAgJiBERElfUE9SVF9XSURUSF9NQVNLKSA+PiBERElfUE9SVF9XSURUSF9TSElG VCkgKyAxOwo+ICsKPiArCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMikgewo+ICsJCQl0 ZW1wID0gdGVtcCAmIFRSQU5TX0RESV9NU1RfVFJBTlNQT1JUX1NFTEVDVF9NQVNLOwo+ICsJCQl0 ZW1wID0gdGVtcCA+PiBUUkFOU19ERElfTVNUX1RSQU5TUE9SVF9TRUxFQ1RfU0hJRlQ7Cj4gKwkJ CXBpcGVfY29uZmlnLT5tc3RfbWFzdGVyX3RyYW5zID0gdGVtcDsKPiArCQl9Cj4gKwo+ICAJCWlu dGVsX2RwX2dldF9tX24oaW50ZWxfY3J0YywgcGlwZV9jb25maWcpOwo+ICAJCWJyZWFrOwo+ICAJ ZGVmYXVsdDoKPiBAQCAtMzk5OCw2ICs0MDEzLDggQEAgc3RhdGljIGludCBpbnRlbF9kZGlfY29t cHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAo+ICAJaW50ZWxf ZGRpX2NvbXB1dGVfbWluX3ZvbHRhZ2VfbGV2ZWwoZGV2X3ByaXYsIHBpcGVfY29uZmlnKTsKPiAg Cj4gKwlwaXBlX2NvbmZpZy0+bXN0X21hc3Rlcl90cmFucyA9IFRSQU5TQ09ERVJfSU5WQUxJRDsK PiArCj4gIAlyZXR1cm4gMDsKPiAgfQo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4IGRkYjg0MzZlMjIwOC4uMTA5ZDRmZDk2MWM2IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5j Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKPiBA QCAtNDcsNiArNDcsNyBAQAo+ICAjaW5jbHVkZSAiZGlzcGxheS9pbnRlbF9jcnQuaCIKPiAgI2lu Y2x1ZGUgImRpc3BsYXkvaW50ZWxfZGRpLmgiCj4gICNpbmNsdWRlICJkaXNwbGF5L2ludGVsX2Rw LmgiCj4gKyNpbmNsdWRlICJkaXNwbGF5L2ludGVsX2RwX21zdC5oIgo+ICAjaW5jbHVkZSAiZGlz cGxheS9pbnRlbF9kc2kuaCIKPiAgI2luY2x1ZGUgImRpc3BsYXkvaW50ZWxfZHZvLmgiCj4gICNp bmNsdWRlICJkaXNwbGF5L2ludGVsX2dtYnVzLmgiCj4gQEAgLTEyMTM4LDYgKzEyMTM5LDE0IEBA IHN0YXRpYyB2b2lkIGludGVsX2R1bXBfcGlwZV9jb25maWcoY29uc3Qgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKnBpcGVfY29uZmlnLAo+ICAKPiAgCWludGVsX2RwbGxfZHVtcF9od19zdGF0ZShk ZXZfcHJpdiwgJnBpcGVfY29uZmlnLT5kcGxsX2h3X3N0YXRlKTsKPiAgCj4gKwlpZiAoSU5URUxf R0VOKGRldl9wcml2KSA+PSAxMiAmJgo+ICsJICAgIGludGVsX2NydGNfaGFzX3R5cGUocGlwZV9j b25maWcsIElOVEVMX09VVFBVVF9EUF9NU1QpKSB7Cj4gKwkJZW51bSB0cmFuc2NvZGVyIG1hc3Rl ciA9IHBpcGVfY29uZmlnLT5tc3RfbWFzdGVyX3RyYW5zOwo+ICsKPiArCQlEUk1fREVCVUdfS01T KCJtYXN0ZXIgbXN0IGNwdV90cmFuc2NvZGVyOiAlc1xuIiwKPiArCQkJICAgICAgdHJhbnNjb2Rl cl9uYW1lKG1hc3RlcikpOwo+ICsJfQo+ICsKPiAgZHVtcF9wbGFuZXM6Cj4gIAlpZiAoIXN0YXRl KQo+ICAJCXJldHVybjsKPiBAQCAtMTI4MjEsNiArMTI4MzAsOCBAQCBpbnRlbF9waXBlX2NvbmZp Z19jb21wYXJlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjdXJyZW50X2NvbmZpZywK PiAgCVBJUEVfQ09ORl9DSEVDS19JTkZPRlJBTUUoaGRtaSk7Cj4gIAlQSVBFX0NPTkZfQ0hFQ0tf SU5GT0ZSQU1FKGRybSk7Cj4gIAo+ICsJUElQRV9DT05GX0NIRUNLX0kobXN0X21hc3Rlcl90cmFu cyk7CgpUaGlzIGlzIGFjdHVhbGx5IG1vcmUgc3VidGxlIHRoYW4gaXQgbG9va3MuIFdlIG5vdyBj aGVjayBpdCBmb3IgYWxsCnBsYXRmb3JtcyBhbmQgTVNUIGFuZCBub24tTVNUIGFsaWtlLiBXaGlj aCBtZWFucyBub24tTVNUIGFuZCBwcmUgZ2VuIDEyCm11c3Qgc2V0IGl0IHRvIFRSQU5TQ09ERVJf SU5WQUxJRCBvbiBjb21wdXRlIGNvbmZpZyAqYW5kKiByZWFkb3V0LgoKSSB0aGluayBJJ2xsIGxl dCBpdCBzbGlkZSBoZXJlLCBidXQgSSB0aGluayB3ZSBuZWVkIHRvIGNvbnNpZGVyIHRoaXMgYW5k CmRlY2lkZSB3aGV0aGVyIHdlIHdhbnQgdGhpcyBpbiBnZW5lcmFsLiBJbmRlZWQgVFJBTlNDT0RF Ul9JTlZBTElEIGlzCmNyZWF0ZWQganVzdCBmb3IgdGhpcywgYW5kIGl0IGlzIGFjdHVhbGx5IG5v dCByZWFsbHkgdXNlZCBhcyBhIHZhbHVlCmFueXdoZXJlIGV4Y2VwdCBoZXJlLCBidXQgZ2VuZXJh dGVzIHdvcnJ5IGFsbCBvdmVyIHRoZSBwbGFjZSwgIndoYXQgaWYKdGhpcyBpcyAtMSIuCgpQZXJo YXBzIGluIGdlbmVyYWwgSSdkIGxpa2UgdGhlIGFwcHJvYWNoIG9mIG9ubHkgZG9pbmcgdGhlIHJl YWRvdXQgd2hlbgppdCdzIHJlbGV2YW50LCBhbmQgb25seSBjaGVja2luZyB0aGUgdmFsdWUgd2hl biBpdCdzIHJlbGV2YW50LgoKQlIsCkphbmkuCgoKPiArCj4gICN1bmRlZiBQSVBFX0NPTkZfQ0hF Q0tfWAo+ICAjdW5kZWYgUElQRV9DT05GX0NIRUNLX0kKPiAgI3VuZGVmIFBJUEVfQ09ORl9DSEVD S19CT09MCj4gQEAgLTEzNTk3LDYgKzEzNjA4LDEwIEBAIHN0YXRpYyBpbnQgaW50ZWxfYXRvbWlj X2NoZWNrKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAlpbnQgcmV0LCBpOwo+ICAJYm9vbCBh bnlfbXMgPSBzdGF0ZS0+Y2RjbGsuZm9yY2VfbWluX2NkY2xrX2NoYW5nZWQ7Cj4gIAo+ICsJcmV0 ID0gaW50ZWxfZHBfbXN0X2F0b21pY19hZGRfYWZmZWN0ZWRfY3J0Y3Moc3RhdGUpOwo+ICsJaWYg KHJldCkKPiArCQlyZXR1cm4gcmV0Owo+ICsKPiAgCS8qIENhdGNoIEk5MTVfTU9ERV9GTEFHX0lO SEVSSVRFRCAqLwo+ICAJZm9yX2VhY2hfb2xkbmV3X2ludGVsX2NydGNfaW5fc3RhdGUoc3RhdGUs IGNydGMsIG9sZF9jcnRjX3N0YXRlLAo+ICAJCQkJCSAgICBuZXdfY3J0Y19zdGF0ZSwgaSkgewo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXku aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5oCj4gaW5kZXgg YjYzZmI3YTQ1OTllLi4yODJlOGQ4ZjFjYzEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuaAo+IEBAIC05MSw2ICs5MSw4IEBAIGVudW0gcGlwZSB7 Cj4gICNkZWZpbmUgcGlwZV9uYW1lKHApICgocCkgKyAnQScpCj4gIAo+ICBlbnVtIHRyYW5zY29k ZXIgewo+ICsJVFJBTlNDT0RFUl9JTlZBTElEID0gLTEsCj4gKwo+ICAJLyoKPiAgCSAqIFRoZSBm b2xsb3dpbmcgdHJhbnNjb2RlcnMgaGF2ZSBhIDE6MSB0cmFuc2NvZGVyIC0+IHBpcGUgbWFwcGlu ZywKPiAgCSAqIGtlZXAgdGhlaXIgdmFsdWVzIGZpeGVkOiB0aGUgY29kZSBhc3N1bWVzIHRoYXQg VFJBTlNDT0RFUl9BPTAsIHRoZQo+IEBAIC0xMzIsNiArMTM0LDcgQEAgc3RhdGljIGlubGluZSBj b25zdCBjaGFyICp0cmFuc2NvZGVyX25hbWUoZW51bSB0cmFuc2NvZGVyIHRyYW5zY29kZXIpCj4g IAkJcmV0dXJuICJEU0kgQSI7Cj4gIAljYXNlIFRSQU5TQ09ERVJfRFNJX0M6Cj4gIAkJcmV0dXJu ICJEU0kgQyI7Cj4gKwljYXNlIFRSQU5TQ09ERVJfSU5WQUxJRDoKPiAgCWRlZmF1bHQ6Cj4gIAkJ cmV0dXJuICI8aW52YWxpZD4iOwo+ICAJfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5oCj4gaW5kZXggM2MxYTVmM2UxZDIyLi5iN2Rh OTU1OTU0YjcgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kaXNwbGF5X3R5cGVzLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2Rpc3BsYXlfdHlwZXMuaAo+IEBAIC05ODQsNiArOTg0LDkgQEAgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgewo+ICAKPiAgCS8qIEZvcndhcmQgRXJyb3IgY29ycmVjdGlvbiBTdGF0ZSAqLwo+ ICAJYm9vbCBmZWNfZW5hYmxlOwo+ICsKPiArCS8qIE1hc3RlciB0cmFuc2NvZGVyIGZvciBhbGwg c3RyZWFtcywgb25seSB1c2VkIG9uIFRHTCsgKi8KPiArCWVudW0gdHJhbnNjb2RlciBtc3RfbWFz dGVyX3RyYW5zOwo+ICB9Owo+ICAKPiAgc3RydWN0IGludGVsX2NydGMgewo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwX21zdC5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcF9tc3QuYwo+IGluZGV4IGY1MmNkZDRjYTg3Ny4u NjcwYTEyZmQyZjI3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfZHBfbXN0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2RwX21zdC5jCj4gQEAgLTg3LDYgKzg3LDUwIEBAIHN0YXRpYyBpbnQgaW50ZWxfZHBfbXN0X2Nv bXB1dGVfbGlua19jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAlyZXR1 cm4gMDsKPiAgfQo+ICAKPiArLyoKPiArICogSXRlcmF0ZSBvdmVyIGFsbCB0aGUgQ1JUQ3MgYW5k IHJldHVybiB0aGUgdHJhbnNjb2RlciBvZiB0aGUgbG93ZXN0IENSVEMgdGhhdAo+ICsgKiBzaGFy ZSB0aGUgc2FtZSBNU1QgY29ubmVjdG9yLgo+ICsgKi8KPiArc3RhdGljIGVudW0gdHJhbnNjb2Rl cgo+ICttc3RfY29tcHV0ZV9tYXN0ZXJfdHJhbnMoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0 YXRlLAo+ICsJCQkgc3RydWN0IGRybV9jb25uZWN0b3IgKm1zdF9jb25uKQo+ICt7Cj4gKwlzdHJ1 Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9tc3RfY29ubiA9IHRvX2ludGVsX2Nvbm5lY3Rvciht c3RfY29ubik7Cj4gKwlzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICppbnRlbF9zdGF0ZSA9IHRv X2ludGVsX2F0b21pY19zdGF0ZShzdGF0ZSk7Cj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSB0b19pOTE1KHN0YXRlLT5kZXYpOwo+ICsJc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmludGVsX2NydGNfc3RhdGU7Cj4gKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YzsK PiArCWludCBpOwo+ICsKPiArCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpIDwgMTIpCj4gKwkJcmV0 dXJuIFRSQU5TQ09ERVJfSU5WQUxJRDsKPiArCj4gKwkvKiBJdGVyYXRlIGZyb20gdGhlIGxvd2Vz dCB0byB0aGUgaGlnaGVzdCBwaXBlICovCj4gKwlmb3JfZWFjaF9uZXdfaW50ZWxfY3J0Y19pbl9z dGF0ZShpbnRlbF9zdGF0ZSwgaW50ZWxfY3J0YywgaW50ZWxfY3J0Y19zdGF0ZSwgaSkgewo+ICsJ CXN0cnVjdCBpbnRlbF9kaWdpdGFsX2Nvbm5lY3Rvcl9zdGF0ZSAqaW50ZWxfY29ubl9zdGF0ZTsK PiArCQlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uOwo+ICsJCWludCBqOwo+ICsK PiArCQlpZiAoIWludGVsX2NydGNfc3RhdGUtPmJhc2UuYWN0aXZlKQo+ICsJCQljb250aW51ZTsK PiArCj4gKwkJZm9yX2VhY2hfbmV3X2ludGVsX2Nvbm5lY3Rvcl9pbl9zdGF0ZShpbnRlbF9zdGF0 ZSwgaW50ZWxfY29ubiwKPiArCQkJCQkJICAgICAgaW50ZWxfY29ubl9zdGF0ZSwgaikgewo+ICsJ CQkvKiBPbmx5IGNhcmUgYWJvdXQgY29ubmVjdG9ycyBvZiB0aGlzIENSVEMgKi8KPiArCQkJaWYg KGludGVsX2Nvbm5fc3RhdGUtPmJhc2UuY3J0YyAhPQo+ICsJCQkgICAgaW50ZWxfY3J0Y19zdGF0 ZS0+YmFzZS5jcnRjKQo+ICsJCQkJY29udGludWU7Cj4gKwo+ICsJCQlpZiAoaW50ZWxfY29ubi0+ bXN0X3BvcnQgIT0gaW50ZWxfbXN0X2Nvbm4tPm1zdF9wb3J0KQo+ICsJCQkJY29udGludWU7Cj4g Kwo+ICsJCQlyZXR1cm4gaW50ZWxfY3J0Y19zdGF0ZS0+Y3B1X3RyYW5zY29kZXI7Cj4gKwkJfQo+ ICsJfQo+ICsKPiArCXJldHVybiBUUkFOU0NPREVSX0lOVkFMSUQ7Cj4gK30KPiArCj4gIHN0YXRp YyBpbnQgaW50ZWxfZHBfbXN0X2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyLAo+ICAJCQkJICAgICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZp ZywKPiAgCQkJCSAgICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkK PiBAQCAtOTQsMTQgKzEzOCwxNSBAQCBzdGF0aWMgaW50IGludGVsX2RwX21zdF9jb21wdXRlX2Nv bmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+ICAJc3RydWN0 IGludGVsX2RwX21zdF9lbmNvZGVyICppbnRlbF9tc3QgPSBlbmNfdG9fbXN0KCZlbmNvZGVyLT5i YXNlKTsKPiAgCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSAmaW50ZWxfbXN0LT5wcmltYXJ5 LT5kcDsKPiAtCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciA9Cj4gLQkJdG9faW50 ZWxfY29ubmVjdG9yKGNvbm5fc3RhdGUtPmNvbm5lY3Rvcik7Cj4gKwlzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yID0gY29ubl9zdGF0ZS0+Y29ubmVjdG9yOwo+ICsJc3RydWN0IGludGVs X2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yID0gdG9faW50ZWxfY29ubmVjdG9yKGNvbm5lY3Rv cik7Cj4gIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9jb25uZWN0b3Jfc3RhdGUgKmludGVsX2Nvbm5f c3RhdGUgPQo+ICAJCXRvX2ludGVsX2RpZ2l0YWxfY29ubmVjdG9yX3N0YXRlKGNvbm5fc3RhdGUp Owo+ICAJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPQo+ICAJ CSZwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlOwo+IC0Jdm9pZCAqcG9ydCA9IGNvbm5l Y3Rvci0+cG9ydDsKPiArCXZvaWQgKnBvcnQgPSBpbnRlbF9jb25uZWN0b3ItPnBvcnQ7Cj4gIAlz dHJ1Y3QgbGlua19jb25maWdfbGltaXRzIGxpbWl0czsKPiArCWVudW0gdHJhbnNjb2RlciBtYXN0 ZXI7Cj4gIAlpbnQgcmV0Owo+ICAKPiAgCWlmIChhZGp1c3RlZF9tb2RlLT5mbGFncyAmIERSTV9N T0RFX0ZMQUdfREJMU0NBTikKPiBAQCAtMTQ2LDYgKzE5MSw1MSBAQCBzdGF0aWMgaW50IGludGVs X2RwX21zdF9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAg Cj4gIAlpbnRlbF9kZGlfY29tcHV0ZV9taW5fdm9sdGFnZV9sZXZlbChkZXZfcHJpdiwgcGlwZV9j b25maWcpOwo+ICAKPiArCW1hc3RlciA9IG1zdF9jb21wdXRlX21hc3Rlcl90cmFucyhjb25uX3N0 YXRlLT5zdGF0ZSwgY29ubmVjdG9yKTsKPiArCXBpcGVfY29uZmlnLT5tc3RfbWFzdGVyX3RyYW5z ID0gbWFzdGVyOwo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW50Cj4gK2lu dGVsX2RwX21zdF9tYXN0ZXJfdHJhbnNfY2hlY2soc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm4s Cj4gKwkJCQlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqbmV3X2Nvbm5fc3RhdGUpCj4gK3sK PiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY29ubi0+ZGV2 KTsKPiArCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSA9IG5ld19jb25uX3N0YXRlLT5z dGF0ZTsKPiArCXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpvbGRfY29ubl9zdGF0ZSA9Cj4g KwkJZHJtX2F0b21pY19nZXRfb2xkX2Nvbm5lY3Rvcl9zdGF0ZShzdGF0ZSwgY29ubik7Cj4gKwlz dHJ1Y3QgZHJtX2NydGMgKm5ld19jcnRjID0gbmV3X2Nvbm5fc3RhdGUtPmNydGM7Cj4gKwlzdHJ1 Y3QgZHJtX2NydGMgKm9sZF9jcnRjID0gb2xkX2Nvbm5fc3RhdGUtPmNydGM7Cj4gKwllbnVtIHRy YW5zY29kZXIgb2xkX21hc3Rlcl90cmFucyA9IFRSQU5TQ09ERVJfSU5WQUxJRDsKPiArCWVudW0g dHJhbnNjb2RlciBuZXdfbWFzdGVyX3RyYW5zID0gVFJBTlNDT0RFUl9JTlZBTElEOwo+ICsJc3Ry dWN0IGRybV9jcnRjX3N0YXRlICpuZXdfY3J0Y19zdGF0ZSwgKm9sZF9jcnRjX3N0YXRlOwo+ICsK PiArCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpIDwgMTIpCj4gKwkJcmV0dXJuIDA7Cj4gKwo+ICsJ aWYgKG9sZF9jcnRjKSB7Cj4gKwkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmludGVsX2NydGNf c3RhdGU7Cj4gKwo+ICsJCW9sZF9jcnRjX3N0YXRlID0gZHJtX2F0b21pY19nZXRfbmV3X2NydGNf c3RhdGUoc3RhdGUsIG9sZF9jcnRjKTsKPiArCQlpbnRlbF9jcnRjX3N0YXRlID0gdG9faW50ZWxf Y3J0Y19zdGF0ZShvbGRfY3J0Y19zdGF0ZSk7Cj4gKwkJb2xkX21hc3Rlcl90cmFucyA9IGludGVs X2NydGNfc3RhdGUtPm1zdF9tYXN0ZXJfdHJhbnM7Cj4gKwl9Cj4gKwo+ICsJaWYgKG5ld19jcnRj KSB7Cj4gKwkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmludGVsX2NydGNfc3RhdGU7Cj4gKwo+ ICsJCW5ld19jcnRjX3N0YXRlID0gZHJtX2F0b21pY19nZXRfbmV3X2NydGNfc3RhdGUoc3RhdGUs IG5ld19jcnRjKTsKPiArCQlpbnRlbF9jcnRjX3N0YXRlID0gdG9faW50ZWxfY3J0Y19zdGF0ZShu ZXdfY3J0Y19zdGF0ZSk7Cj4gKwkJbmV3X21hc3Rlcl90cmFucyA9IG1zdF9jb21wdXRlX21hc3Rl cl90cmFucyhzdGF0ZSwgY29ubik7Cj4gKwl9Cj4gKwo+ICsJaWYgKG9sZF9jcnRjICYmIG9sZF9t YXN0ZXJfdHJhbnMgIT0gbmV3X21hc3Rlcl90cmFucykKPiArCQlvbGRfY3J0Y19zdGF0ZS0+bW9k ZV9jaGFuZ2VkID0gdHJ1ZTsKPiArCj4gKwlpZiAobmV3X2NydGMgJiYgb2xkX21hc3Rlcl90cmFu cyAhPSBuZXdfbWFzdGVyX3RyYW5zKQo+ICsJCW5ld19jcnRjX3N0YXRlLT5tb2RlX2NoYW5nZWQg PSB0cnVlOwo+ICsKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+IEBAIC0xNjgsNiArMjU4LDEwIEBA IGludGVsX2RwX21zdF9hdG9taWNfY2hlY2soc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv ciwKPiAgCWlmIChyZXQpCj4gIAkJcmV0dXJuIHJldDsKPiAgCj4gKwlyZXQgPSBpbnRlbF9kcF9t c3RfbWFzdGVyX3RyYW5zX2NoZWNrKGNvbm5lY3RvciwgbmV3X2Nvbm5fc3RhdGUpOwo+ICsJaWYg KHJldCkKPiArCQlyZXR1cm4gcmV0Owo+ICsKPiAgCWlmICghb2xkX2Nvbm5fc3RhdGUtPmNydGMp Cj4gIAkJcmV0dXJuIDA7Cj4gIAo+IEBAIC02NjYsMyArNzYwLDYyIEBAIGludGVsX2RwX21zdF9l bmNvZGVyX2NsZWFudXAoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQp Cj4gIAlkcm1fZHBfbXN0X3RvcG9sb2d5X21ncl9kZXN0cm95KCZpbnRlbF9kcC0+bXN0X21ncik7 Cj4gIAkvKiBlbmNvZGVycyB3aWxsIGdldCBraWxsZWQgYnkgbm9ybWFsIGNsZWFudXAgKi8KPiAg fQo+ICsKPiArLyoqCj4gKyAqIGludGVsX2RwX21zdF9hdG9taWNfYWRkX2FmZmVjdGVkX2NydGNz IC0gQWRkIGFsbCBDUlRDcyB0aGF0IHNoYXJlIHRoZSBNU1QKPiArICogc3RyZWFtIHdpdGggdGhl IENSVENzIGluIHRoZSBjdXJyZW50IGF0b21pYyBzdGF0ZS4KPiArICogQHN0YXRlOiBzdGF0ZSB0 byBhZGQgQ1JUQ3MKPiArICoKPiArICogSXQgaXMgbmVlZGVkIGFkZCB0aGUgQ1JUQ3MgdHJpZ2dl ciBhIGNhbGwgdG8gYXRvbWljX2NoZWNrKCkgdG8KPiArICogZXZlcnkgY29ubmVjdG9yIGF0dGFj aGVkIHRvIHRoZSBDUlRDIGluIGNhc2UgYSBuZXcgbWFzdGVyIHRyYW5zY29kZXIgd2lsbAo+ICsg KiBiZSBuZWVkZWQuCj4gKyAqLwo+ICtpbnQgaW50ZWxfZHBfbXN0X2F0b21pY19hZGRfYWZmZWN0 ZWRfY3J0Y3Moc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gK3sKPiArCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoc3RhdGUtPmJhc2UuZGV2KTsK PiArCXN0cnVjdCBpbnRlbF9kaWdpdGFsX2Nvbm5lY3Rvcl9zdGF0ZSAqaW50ZWxfY29ubl9zdGF0 ZTsKPiArCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBzdGF0ZS0+YmFzZS5kZXY7Cj4gKwlzdHJ1 Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uOwo+ICsJaW50IGk7Cj4gKwo+ICsJaWYgKElO VEVMX0dFTihkZXZfcHJpdikgPCAxMikKPiArCQlyZXR1cm4gMDsKPiArCj4gKwlmb3JfZWFjaF9u ZXdfaW50ZWxfY29ubmVjdG9yX2luX3N0YXRlKHN0YXRlLCBpbnRlbF9jb25uLCBpbnRlbF9jb25u X3N0YXRlLCBpKSB7Cj4gKwkJc3RydWN0IGRybV9jb25uZWN0b3JfbGlzdF9pdGVyIGNvbm5fbGlz dF9pdGVyOwo+ICsJCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uX2l0ZXI7Cj4gKwo+ICsJCWlm ICghaW50ZWxfY29ubi0+bXN0X3BvcnQpCj4gKwkJCWNvbnRpbnVlOwo+ICsKPiArCQlkcm1fY29u bmVjdG9yX2xpc3RfaXRlcl9iZWdpbihkZXYsICZjb25uX2xpc3RfaXRlcik7Cj4gKwkJZHJtX2Zv cl9lYWNoX2Nvbm5lY3Rvcl9pdGVyKGNvbm5faXRlciwgJmNvbm5fbGlzdF9pdGVyKSB7Cj4gKwkJ CXN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX2l0ZXJfc3RhdGU7Cj4gKwkJCXN0cnVj dCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5faXRlcjsKPiArCQkJc3RydWN0IGRybV9jcnRj X3N0YXRlICpjcnRjX3N0YXRlOwo+ICsKPiArCQkJaW50ZWxfY29ubl9pdGVyID0gdG9faW50ZWxf Y29ubmVjdG9yKGNvbm5faXRlcik7Cj4gKwo+ICsJCQlpZiAoaW50ZWxfY29ubl9pdGVyLT5tc3Rf cG9ydCAhPSBpbnRlbF9jb25uLT5tc3RfcG9ydCkKPiArCQkJCWNvbnRpbnVlOwo+ICsKPiArCQkJ Y29ubl9pdGVyX3N0YXRlID0gZHJtX2F0b21pY19nZXRfY29ubmVjdG9yX3N0YXRlKCZzdGF0ZS0+ YmFzZSwgY29ubl9pdGVyKTsKPiArCQkJaWYgKElTX0VSUihjb25uX2l0ZXJfc3RhdGUpKSB7Cj4g KwkJCQlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9lbmQoJmNvbm5fbGlzdF9pdGVyKTsKPiArCQkJ CXJldHVybiBQVFJfRVJSKGNvbm5faXRlcl9zdGF0ZSk7Cj4gKwkJCX0KPiArCQkJaWYgKCFjb25u X2l0ZXJfc3RhdGUtPmNydGMpCj4gKwkJCQljb250aW51ZTsKPiArCj4gKwkJCWNydGNfc3RhdGUg PSBkcm1fYXRvbWljX2dldF9jcnRjX3N0YXRlKCZzdGF0ZS0+YmFzZSwKPiArCQkJCQkJCSAgICAg ICBjb25uX2l0ZXJfc3RhdGUtPmNydGMpOwo+ICsJCQlpZiAoSVNfRVJSKGNydGNfc3RhdGUpKSB7 Cj4gKwkJCQlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9lbmQoJmNvbm5fbGlzdF9pdGVyKTsKPiAr CQkJCXJldHVybiBQVFJfRVJSKGNydGNfc3RhdGUpOwo+ICsJCQl9Cj4gKwkJfQo+ICsJCWRybV9j b25uZWN0b3JfbGlzdF9pdGVyX2VuZCgmY29ubl9saXN0X2l0ZXIpOwo+ICsJfQo+ICsKPiArCXJl dHVybiAwOwo+ICt9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfZHBfbXN0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwX21z dC5oCj4gaW5kZXggZjY2MGFkODBkYjA0Li4xNzM1OThhYTgxZDIgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcF9tc3QuaAo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHBfbXN0LmgKPiBAQCAtNiwxMCArNiwxMiBAQAo+ ICAjaWZuZGVmIF9fSU5URUxfRFBfTVNUX0hfXwo+ICAjZGVmaW5lIF9fSU5URUxfRFBfTVNUX0hf Xwo+ICAKPiArc3RydWN0IGludGVsX2F0b21pY19zdGF0ZTsKPiAgc3RydWN0IGludGVsX2RpZ2l0 YWxfcG9ydDsKPiAgCj4gIGludCBpbnRlbF9kcF9tc3RfZW5jb2Rlcl9pbml0KHN0cnVjdCBpbnRl bF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LCBpbnQgY29ubl9pZCk7Cj4gIHZvaWQgaW50 ZWxfZHBfbXN0X2VuY29kZXJfY2xlYW51cChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRl bF9kaWdfcG9ydCk7Cj4gK2ludCBpbnRlbF9kcF9tc3RfYXRvbWljX2FkZF9hZmZlY3RlZF9jcnRj cyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSk7Cj4gIGludCBpbnRlbF9kcF9tc3Rf ZW5jb2Rlcl9hY3RpdmVfbGlua3Moc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGln X3BvcnQpOwo+ICAKPiAgI2VuZGlmIC8qIF9fSU5URUxfRFBfTVNUX0hfXyAqLwo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9yZWcuaAo+IGluZGV4IDA0NWQ0MjFlOWE3YS4uYTU1ZjE1ZWI2MTc1IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gQEAgLTk0MTksNiArOTQxOSw5IEBAIGVudW0gc2tsX3Bv d2VyX2dhdGUgewo+ICAjZGVmaW5lICBUUkFOU19ERElfRURQX0lOUFVUX0FfT05PRkYJKDQgPDwg MTIpCj4gICNkZWZpbmUgIFRSQU5TX0RESV9FRFBfSU5QVVRfQl9PTk9GRgkoNSA8PCAxMikKPiAg I2RlZmluZSAgVFJBTlNfRERJX0VEUF9JTlBVVF9DX09OT0ZGCSg2IDw8IDEyKQo+ICsjZGVmaW5l ICBUUkFOU19ERElfTVNUX1RSQU5TUE9SVF9TRUxFQ1RfU0hJRlQJCTEwIC8qIFRHTCsgKi8KPiAr I2RlZmluZSAgVFJBTlNfRERJX01TVF9UUkFOU1BPUlRfU0VMRUNUX01BU0sJCSgweDMgPDwgMTAp Cj4gKyNkZWZpbmUgIFRSQU5TX0RESV9NU1RfVFJBTlNQT1JUX1NFTEVDVF9EUFRQKHRyYW5zKQko KHRyYW5zKSA8PCAxMCkKPiAgI2RlZmluZSAgVFJBTlNfRERJX0hEQ1BfU0lHTkFMTElORwkoMSA8 PCA5KQo+ICAjZGVmaW5lICBUUkFOU19ERElfRFBfVkNfUEFZTE9BRF9BTExPQwkoMSA8PCA4KQo+ ICAjZGVmaW5lICBUUkFOU19ERElfSERNSV9TQ1JBTUJMRVJfQ1RTX0VOQUJMRSAoMSA8PCA3KQoK LS0gCkphbmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBHcmFwaGljcyBDZW50ZXIKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4