From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulo Zanoni Subject: Re: [PATCH 1/5] drm/i915/icl: use tc_port in MG_PLL macros Date: Thu, 24 Jan 2019 12:40:40 -0800 Message-ID: References: <20190117202113.5190-1-lucas.demarchi@intel.com> <20190117202113.5190-2-lucas.demarchi@intel.com> <20190124185245.dwvmybcir7splbgs@ldmartin-desk.jf.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 89DE86E2AB for ; Thu, 24 Jan 2019 20:40:41 +0000 (UTC) In-Reply-To: <20190124185245.dwvmybcir7splbgs@ldmartin-desk.jf.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 Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RW0gcXVpLCAyMDE5LTAxLTI0IMOgcyAxMDo1MiAtMDgwMCwgTHVjYXMgRGUgTWFyY2hpIGVzY3Jl dmV1Ogo+IE9uIFdlZCwgSmFuIDIzLCAyMDE5IGF0IDA1OjE1OjI2UE0gLTA4MDAsIFBhdWxvIFph bm9uaSB3cm90ZToKPiA+IEVtIHF1aSwgMjAxOS0wMS0xNyDDoHMgMTI6MjEgLTA4MDAsIEx1Y2Fz IERlIE1hcmNoaSBlc2NyZXZldToKPiA+ID4gRml4IHRoZSBUT0RPIGxlZnRvdmVyIGluIHRoZSBj b2RlIGJ5IGNoYW5naW5nIHRoZSBhcmd1bWVudCBpbiBNR19QTEwKPiA+ID4gbWFjcm9zLiBUaGUg TUdfUExMIGlkcyB1c2VkIHRvIGFjY2VzcyB0aGUgcmVnaXN0ZXIgdmFsdWVzIGNhbiBiZQo+ID4g PiBjb252ZXJ0ZWQgZnJvbSB0Y19wb3J0IHJhdGhlciB0aGFuIHBvcnQuCj4gPiA+IAo+ID4gCj4g PiBBbiBleHBsYW5hdGlvbiBvbiB3aHkgdGhlIG5ldyBtb2RlbCBpcyBiZXR0ZXIgd291bGQgYmUg YW1hemluZy4gSXQgbWF5Cj4gPiBiZSBvYnZpb3VzIHRvIHlvdSwgYnV0IGl0J3Mgbm90IHRvIG90 aGVyIHBlb3BsZS4KPiAKPiBXaGF0IGFib3V0Ogo+IAo+IEFsbCB0aGVzZSByZWdpc3RlcnMgY2Fu IHVzZSB0aGUgVEMgcG9ydCB0byBjYWxjdWxhdGUgdGhlIHJpZ2h0IG9mZnNldHMKPiBiZWNhdXNl IHRoZXkgYXJlIG9ubHkgYXZhaWxhYmxlIGZvciBUQyBwb3J0cy4gVGhlIHJhbmdlIChQT1JUX0Mg b253YXJkcykKPiBtYXkgbm90IGJlIHN0YWJsZSBhbmQgY2hhbmdlIGZyb20gcGxhdGZvcm0gdG8g cGxhdGZvcm0uIFNvIGJ5IHVzaW5nIHRoZQo+IFRDIGlkIGRpcmVjdGx5IHdlIGF2b2lkIGhhdmlu ZyB0byBjaGVjayBmb3IgdGhlIHBsYXRmb3JtIGluIHRoZSAibGVhZgo+IGZ1bmN0aW9ucyIgYW5k IHRodXMgcGFzc2luZyBkZXZfcHJpdiBhcm91bmQuCgpXb3JrcyBmb3IgbWUuIFRoYW5rcy4KCj4g Cj4gCj4gPiAKPiA+ID4gVGhlIGhlbHBlciBmdW5jdGlvbnMgd2VyZSBhbHNvIHJlbmFtZWQgdG8g dXNlICJ0YyIgYXMgcHJlZml4IHRvIG1ha2UKPiA+ID4gdGhlbSBtb3JlIGdlbmVyaWMuCj4gPiA+ IAo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBMdWNhcyBEZSBNYXJjaGkgPGx1Y2FzLmRlbWFyY2hpQGlu dGVsLmNvbT4KPiA+ID4gLS0tCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5o ICAgICAgIHwgNTIgKysrKysrKysrLS0tLS0tLS0tCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kZGkuYyAgICAgIHwgIDcgKystCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMgIHwgIDMgKy0KPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwbGxfbWdyLmMgfCA3OSArKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KPiA+ID4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmggfCAgMiArLQo+ID4gPiAgNSBmaWxlcyBj aGFuZ2VkLCA3MiBpbnNlcnRpb25zKCspLCA3MSBkZWxldGlvbnMoLSkKPiA+ID4gCj4gPiA+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9yZWcuaAo+ID4gPiBpbmRleCA5YTEzNDBjZmRhNmMuLmRlMjA5ZTBmZGMw MSAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ID4g PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPiA+IEBAIC05NTQ1LDcg Kzk1NDUsNyBAQCBlbnVtIHNrbF9wb3dlcl9nYXRlIHsKPiA+ID4gICNkZWZpbmUgX01HX1BMTDNf RU5BQkxFCQkweDQ2MDM4Cj4gPiA+ICAjZGVmaW5lIF9NR19QTEw0X0VOQUJMRQkJMHg0NjAzQwo+ ID4gPiAgLyogQml0cyBhcmUgdGhlIHNhbWUgYXMgRFBMTDBfRU5BQkxFICovCj4gPiA+IC0jZGVm aW5lIE1HX1BMTF9FTkFCTEUocG9ydCkJX01NSU9fUE9SVCgocG9ydCkgLSBQT1JUX0MsIF9NR19Q TEwxX0VOQUJMRSwgXAo+ID4gPiArI2RlZmluZSBNR19QTExfRU5BQkxFKHRjX3BvcnQpCV9NTUlP X1BPUlQoKHRjX3BvcnQpLCBfTUdfUExMMV9FTkFCTEUsIFwKPiA+ID4gIAkJCQkJICAgX01HX1BM TDJfRU5BQkxFKQo+ID4gPiAKPiA+ID4gICNkZWZpbmUgX01HX1JFRkNMS0lOX0NUTF9QT1JUMQkJ CQkweDE2ODkyQwo+ID4gPiBAQCAtOTU1NCw5ICs5NTU0LDkgQEAgZW51bSBza2xfcG93ZXJfZ2F0 ZSB7Cj4gPiA+ICAjZGVmaW5lIF9NR19SRUZDTEtJTl9DVExfUE9SVDQJCQkJMHgxNkI5MkMKPiA+ ID4gICNkZWZpbmUgICBNR19SRUZDTEtJTl9DVExfT0RfMl9NVVgoeCkJCQkoKHgpIDw8IDgpCj4g PiA+ICAjZGVmaW5lICAgTUdfUkVGQ0xLSU5fQ1RMX09EXzJfTVVYX01BU0sJCQkoMHg3IDw8IDgp Cj4gPiA+IC0jZGVmaW5lIE1HX1JFRkNMS0lOX0NUTChwb3J0KSBfTU1JT19QT1JUKChwb3J0KSAt IFBPUlRfQywgXAo+ID4gPiAtCQkJCQkgX01HX1JFRkNMS0lOX0NUTF9QT1JUMSwgXAo+ID4gPiAt CQkJCQkgX01HX1JFRkNMS0lOX0NUTF9QT1JUMikKPiA+ID4gKyNkZWZpbmUgTUdfUkVGQ0xLSU5f Q1RMKHRjX3BvcnQpIF9NTUlPX1BPUlQoKHRjX3BvcnQpLCBcCj4gPiA+ICsJCQkJCSAgICBfTUdf UkVGQ0xLSU5fQ1RMX1BPUlQxLCBcCj4gPiA+ICsJCQkJCSAgICBfTUdfUkVGQ0xLSU5fQ1RMX1BP UlQyKQo+ID4gPiAKPiA+ID4gICNkZWZpbmUgX01HX0NMS1RPUDJfQ09SRUNMS0NUTDFfUE9SVDEJ CQkweDE2ODhEOAo+ID4gPiAgI2RlZmluZSBfTUdfQ0xLVE9QMl9DT1JFQ0xLQ1RMMV9QT1JUMgkJ CTB4MTY5OEQ4Cj4gPiA+IEBAIC05NTY2LDkgKzk1NjYsOSBAQCBlbnVtIHNrbF9wb3dlcl9nYXRl IHsKPiA+ID4gICNkZWZpbmUgICBNR19DTEtUT1AyX0NPUkVDTEtDVEwxX0JfRElWUkFUSU9fTUFT SwkoMHhmZiA8PCAxNikKPiA+ID4gICNkZWZpbmUgICBNR19DTEtUT1AyX0NPUkVDTEtDVEwxX0Ff RElWUkFUSU8oeCkJCSgoeCkgPDwgOCkKPiA+ID4gICNkZWZpbmUgICBNR19DTEtUT1AyX0NPUkVD TEtDVEwxX0FfRElWUkFUSU9fTUFTSwkoMHhmZiA8PCA4KQo+ID4gPiAtI2RlZmluZSBNR19DTEtU T1AyX0NPUkVDTEtDVEwxKHBvcnQpIF9NTUlPX1BPUlQoKHBvcnQpIC0gUE9SVF9DLCBcCj4gPiA+ IC0JCQkJCQlfTUdfQ0xLVE9QMl9DT1JFQ0xLQ1RMMV9QT1JUMSwgXAo+ID4gPiAtCQkJCQkJX01H X0NMS1RPUDJfQ09SRUNMS0NUTDFfUE9SVDIpCj4gPiA+ICsjZGVmaW5lIE1HX0NMS1RPUDJfQ09S RUNMS0NUTDEodGNfcG9ydCkgX01NSU9fUE9SVCgodGNfcG9ydCksIFwKPiA+ID4gKwkJCQkJCSAg IF9NR19DTEtUT1AyX0NPUkVDTEtDVEwxX1BPUlQxLCBcCj4gPiA+ICsJCQkJCQkgICBfTUdfQ0xL VE9QMl9DT1JFQ0xLQ1RMMV9QT1JUMikKPiA+ID4gCj4gPiA+ICAjZGVmaW5lIF9NR19DTEtUT1Ay X0hTQ0xLQ1RMX1BPUlQxCQkJMHgxNjg4RDQKPiA+ID4gICNkZWZpbmUgX01HX0NMS1RPUDJfSFND TEtDVExfUE9SVDIJCQkweDE2OThENAo+ID4gPiBAQCAtOTU4Niw5ICs5NTg2LDkgQEAgZW51bSBz a2xfcG93ZXJfZ2F0ZSB7Cj4gPiA+ICAjZGVmaW5lICAgTUdfQ0xLVE9QMl9IU0NMS0NUTF9EU0RJ Vl9SQVRJTyh4KQkJKCh4KSA8PCA4KQo+ID4gPiAgI2RlZmluZSAgIE1HX0NMS1RPUDJfSFNDTEtD VExfRFNESVZfUkFUSU9fU0hJRlQJCTgKPiA+ID4gICNkZWZpbmUgICBNR19DTEtUT1AyX0hTQ0xL Q1RMX0RTRElWX1JBVElPX01BU0sJCSgweGYgPDwgOCkKPiA+ID4gLSNkZWZpbmUgTUdfQ0xLVE9Q Ml9IU0NMS0NUTChwb3J0KSBfTU1JT19QT1JUKChwb3J0KSAtIFBPUlRfQywgXAo+ID4gPiAtCQkJ CQkgICAgIF9NR19DTEtUT1AyX0hTQ0xLQ1RMX1BPUlQxLCBcCj4gPiA+IC0JCQkJCSAgICAgX01H X0NMS1RPUDJfSFNDTEtDVExfUE9SVDIpCj4gPiA+ICsjZGVmaW5lIE1HX0NMS1RPUDJfSFNDTEtD VEwodGNfcG9ydCkgX01NSU9fUE9SVCgodGNfcG9ydCksIFwKPiA+ID4gKwkJCQkJCV9NR19DTEtU T1AyX0hTQ0xLQ1RMX1BPUlQxLCBcCj4gPiA+ICsJCQkJCQlfTUdfQ0xLVE9QMl9IU0NMS0NUTF9Q T1JUMikKPiA+ID4gCj4gPiA+ICAjZGVmaW5lIF9NR19QTExfRElWMF9QT1JUMQkJCQkweDE2OEEw MAo+ID4gPiAgI2RlZmluZSBfTUdfUExMX0RJVjBfUE9SVDIJCQkJMHgxNjlBMDAKPiA+ID4gQEAg LTk2MDAsOCArOTYwMCw4IEBAIGVudW0gc2tsX3Bvd2VyX2dhdGUgewo+ID4gPiAgI2RlZmluZSAg IE1HX1BMTF9ESVYwX0ZCRElWX0ZSQUMoeCkJCQkoKHgpIDw8IDgpCj4gPiA+ICAjZGVmaW5lICAg TUdfUExMX0RJVjBfRkJESVZfSU5UX01BU0sJCQkoMHhmZiA8PCAwKQo+ID4gPiAgI2RlZmluZSAg IE1HX1BMTF9ESVYwX0ZCRElWX0lOVCh4KQkJCSgoeCkgPDwgMCkKPiA+ID4gLSNkZWZpbmUgTUdf UExMX0RJVjAocG9ydCkgX01NSU9fUE9SVCgocG9ydCkgLSBQT1JUX0MsIF9NR19QTExfRElWMF9Q T1JUMSwgXAo+ID4gPiAtCQkJCSAgICAgX01HX1BMTF9ESVYwX1BPUlQyKQo+ID4gPiArI2RlZmlu ZSBNR19QTExfRElWMCh0Y19wb3J0KSBfTU1JT19QT1JUKCh0Y19wb3J0KSwgX01HX1BMTF9ESVYw X1BPUlQxLCBcCj4gPiA+ICsJCQkJCV9NR19QTExfRElWMF9QT1JUMikKPiA+ID4gCj4gPiA+ICAj ZGVmaW5lIF9NR19QTExfRElWMV9QT1JUMQkJCQkweDE2OEEwNAo+ID4gPiAgI2RlZmluZSBfTUdf UExMX0RJVjFfUE9SVDIJCQkJMHgxNjlBMDQKPiA+ID4gQEAgLTk2MTUsOCArOTYxNSw4IEBAIGVu dW0gc2tsX3Bvd2VyX2dhdGUgewo+ID4gPiAgI2RlZmluZSAgIE1HX1BMTF9ESVYxX05ESVZSQVRJ Tyh4KQkJCSgoeCkgPDwgNCkKPiA+ID4gICNkZWZpbmUgICBNR19QTExfRElWMV9GQlBSRURJVl9N QVNLCQkJKDB4ZiA8PCAwKQo+ID4gPiAgI2RlZmluZSAgIE1HX1BMTF9ESVYxX0ZCUFJFRElWKHgp CQkJKCh4KSA8PCAwKQo+ID4gPiAtI2RlZmluZSBNR19QTExfRElWMShwb3J0KSBfTU1JT19QT1JU KChwb3J0KSAtIFBPUlRfQywgX01HX1BMTF9ESVYxX1BPUlQxLCBcCj4gPiA+IC0JCQkJICAgICBf TUdfUExMX0RJVjFfUE9SVDIpCj4gPiA+ICsjZGVmaW5lIE1HX1BMTF9ESVYxKHRjX3BvcnQpIF9N TUlPX1BPUlQoKHRjX3BvcnQpLCBfTUdfUExMX0RJVjFfUE9SVDEsIFwKPiA+ID4gKwkJCQkJX01H X1BMTF9ESVYxX1BPUlQyKQo+ID4gPiAKPiA+ID4gICNkZWZpbmUgX01HX1BMTF9MRl9QT1JUMQkJ CQkweDE2OEEwOAo+ID4gPiAgI2RlZmluZSBfTUdfUExMX0xGX1BPUlQyCQkJCTB4MTY5QTA4Cj4g PiA+IEBAIC05NjI4LDggKzk2MjgsOCBAQCBlbnVtIHNrbF9wb3dlcl9nYXRlIHsKPiA+ID4gICNk ZWZpbmUgICBNR19QTExfTEZfR0FJTkNUUkwoeCkJCQkJKCh4KSA8PCAxNikKPiA+ID4gICNkZWZp bmUgICBNR19QTExfTEZfSU5UX0NPRUZGKHgpCQkJKCh4KSA8PCA4KQo+ID4gPiAgI2RlZmluZSAg IE1HX1BMTF9MRl9QUk9QX0NPRUZGKHgpCQkJKCh4KSA8PCAwKQo+ID4gPiAtI2RlZmluZSBNR19Q TExfTEYocG9ydCkgX01NSU9fUE9SVCgocG9ydCkgLSBQT1JUX0MsIF9NR19QTExfTEZfUE9SVDEs IFwKPiA+ID4gLQkJCQkgICBfTUdfUExMX0xGX1BPUlQyKQo+ID4gPiArI2RlZmluZSBNR19QTExf TEYodGNfcG9ydCkgX01NSU9fUE9SVCgodGNfcG9ydCksIF9NR19QTExfTEZfUE9SVDEsIFwKPiA+ ID4gKwkJCQkgICAgICBfTUdfUExMX0xGX1BPUlQyKQo+ID4gPiAKPiA+ID4gICNkZWZpbmUgX01H X1BMTF9GUkFDX0xPQ0tfUE9SVDEJCQkJMHgxNjhBMEMKPiA+ID4gICNkZWZpbmUgX01HX1BMTF9G UkFDX0xPQ0tfUE9SVDIJCQkJMHgxNjlBMEMKPiA+ID4gQEAgLTk2NDEsOSArOTY0MSw5IEBAIGVu dW0gc2tsX3Bvd2VyX2dhdGUgewo+ID4gPiAgI2RlZmluZSAgIE1HX1BMTF9GUkFDX0xPQ0tfRENP RElUSEVSRU4JCQkoMSA8PCAxMCkKPiA+ID4gICNkZWZpbmUgICBNR19QTExfRlJBQ19MT0NLX0ZF RURGV1JEQ0FMX0VOCQkoMSA8PCA4KQo+ID4gPiAgI2RlZmluZSAgIE1HX1BMTF9GUkFDX0xPQ0tf RkVFREZXUkRHQUlOKHgpCQkoKHgpIDw8IDApCj4gPiA+IC0jZGVmaW5lIE1HX1BMTF9GUkFDX0xP Q0socG9ydCkgX01NSU9fUE9SVCgocG9ydCkgLSBQT1JUX0MsIFwKPiA+ID4gLQkJCQkJICBfTUdf UExMX0ZSQUNfTE9DS19QT1JUMSwgXAo+ID4gPiAtCQkJCQkgIF9NR19QTExfRlJBQ19MT0NLX1BP UlQyKQo+ID4gPiArI2RlZmluZSBNR19QTExfRlJBQ19MT0NLKHRjX3BvcnQpIF9NTUlPX1BPUlQo KHRjX3BvcnQpLCBcCj4gPiA+ICsJCQkJCSAgICAgX01HX1BMTF9GUkFDX0xPQ0tfUE9SVDEsIFwK PiA+ID4gKwkJCQkJICAgICBfTUdfUExMX0ZSQUNfTE9DS19QT1JUMikKPiA+ID4gCj4gPiA+ICAj ZGVmaW5lIF9NR19QTExfU1NDX1BPUlQxCQkJCTB4MTY4QTEwCj4gPiA+ICAjZGVmaW5lIF9NR19Q TExfU1NDX1BPUlQyCQkJCTB4MTY5QTEwCj4gPiA+IEBAIC05NjU1LDggKzk2NTUsOCBAQCBlbnVt IHNrbF9wb3dlcl9nYXRlIHsKPiA+ID4gICNkZWZpbmUgICBNR19QTExfU1NDX1NURVBOVU0oeCkJ CQkJKCh4KSA8PCAxMCkKPiA+ID4gICNkZWZpbmUgICBNR19QTExfU1NDX0ZMTEVOCQkJCSgxIDw8 IDkpCj4gPiA+ICAjZGVmaW5lICAgTUdfUExMX1NTQ19TVEVQU0laRSh4KQkJCSgoeCkgPDwgMCkK PiA+ID4gLSNkZWZpbmUgTUdfUExMX1NTQyhwb3J0KSBfTU1JT19QT1JUKChwb3J0KSAtIFBPUlRf QywgX01HX1BMTF9TU0NfUE9SVDEsIFwKPiA+ID4gLQkJCQkgICAgX01HX1BMTF9TU0NfUE9SVDIp Cj4gPiA+ICsjZGVmaW5lIE1HX1BMTF9TU0ModGNfcG9ydCkgX01NSU9fUE9SVCgodGNfcG9ydCks IF9NR19QTExfU1NDX1BPUlQxLCBcCj4gPiA+ICsJCQkJICAgICAgIF9NR19QTExfU1NDX1BPUlQy KQo+ID4gPiAKPiA+ID4gICNkZWZpbmUgX01HX1BMTF9CSUFTX1BPUlQxCQkJCTB4MTY4QTE0Cj4g PiA+ICAjZGVmaW5lIF9NR19QTExfQklBU19QT1JUMgkJCQkweDE2OUExNAo+ID4gPiBAQCAtOTY3 NSw4ICs5Njc1LDggQEAgZW51bSBza2xfcG93ZXJfZ2F0ZSB7Cj4gPiA+ICAjZGVmaW5lICAgTUdf UExMX0JJQVNfVlJFRl9SREFDX01BU0sJCQkoMHg3IDw8IDUpCj4gPiA+ICAjZGVmaW5lICAgTUdf UExMX0JJQVNfSVJFRlRSSU0oeCkJCQkoKHgpIDw8IDApCj4gPiA+ICAjZGVmaW5lICAgTUdfUExM X0JJQVNfSVJFRlRSSU1fTUFTSwkJCSgweDFmIDw8IDApCj4gPiA+IC0jZGVmaW5lIE1HX1BMTF9C SUFTKHBvcnQpIF9NTUlPX1BPUlQoKHBvcnQpIC0gUE9SVF9DLCBfTUdfUExMX0JJQVNfUE9SVDEs IFwKPiA+ID4gLQkJCQkgICAgIF9NR19QTExfQklBU19QT1JUMikKPiA+ID4gKyNkZWZpbmUgTUdf UExMX0JJQVModGNfcG9ydCkgX01NSU9fUE9SVCgodGNfcG9ydCksIF9NR19QTExfQklBU19QT1JU MSwgXAo+ID4gPiArCQkJCQlfTUdfUExMX0JJQVNfUE9SVDIpCj4gPiA+IAo+ID4gPiAgI2RlZmlu ZSBfTUdfUExMX1REQ19DT0xEU1RfQklBU19QT1JUMQkJCTB4MTY4QTE4Cj4gPiA+ICAjZGVmaW5l IF9NR19QTExfVERDX0NPTERTVF9CSUFTX1BPUlQyCQkJMHgxNjlBMTgKPiA+ID4gQEAgLTk2ODcs OSArOTY4Nyw5IEBAIGVudW0gc2tsX3Bvd2VyX2dhdGUgewo+ID4gPiAgI2RlZmluZSAgIE1HX1BM TF9URENfQ09MRFNUX0NPTERTVEFSVAkJCSgxIDw8IDE2KQo+ID4gPiAgI2RlZmluZSAgIE1HX1BM TF9URENfVERDT1ZDQ09SUl9FTgkJCSgxIDw8IDIpCj4gPiA+ICAjZGVmaW5lICAgTUdfUExMX1RE Q19URENTRUwoeCkJCQkJKCh4KSA8PCAwKQo+ID4gPiAtI2RlZmluZSBNR19QTExfVERDX0NPTERT VF9CSUFTKHBvcnQpIF9NTUlPX1BPUlQoKHBvcnQpIC0gUE9SVF9DLCBcCj4gPiA+IC0JCQkJCQlf TUdfUExMX1REQ19DT0xEU1RfQklBU19QT1JUMSwgXAo+ID4gPiAtCQkJCQkJX01HX1BMTF9URENf Q09MRFNUX0JJQVNfUE9SVDIpCj4gPiA+ICsjZGVmaW5lIE1HX1BMTF9URENfQ09MRFNUX0JJQVMo dGNfcG9ydCkgX01NSU9fUE9SVCgodGNfcG9ydCksIFwKPiA+ID4gKwkJCQkJCSAgIF9NR19QTExf VERDX0NPTERTVF9CSUFTX1BPUlQxLCBcCj4gPiA+ICsJCQkJCQkgICBfTUdfUExMX1REQ19DT0xE U1RfQklBU19QT1JUMikKPiA+ID4gCj4gPiA+ICAjZGVmaW5lIF9DTkxfRFBMTDBfQ0ZHQ1IwCQkw eDZDMDAwCj4gPiA+ICAjZGVmaW5lIF9DTkxfRFBMTDFfQ0ZHQ1IwCQkweDZDMDgwCj4gPiA+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gPiA+IGluZGV4IGNlNDQ3NDRhNWY5ZC4uOGRiZjZjOWUy MmZiIDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ID4gPiBAQCAtMTM5 MSwxNiArMTM5MSwxNyBAQCBzdGF0aWMgaW50IGljbF9jYWxjX3RidF9wbGxfbGluayhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiA+ICBzdGF0aWMgaW50IGljbF9jYWxjX21n X3BsbF9saW5rKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ID4gIAkJCQll bnVtIHBvcnQgcG9ydCkKPiA+ID4gIHsKPiA+ID4gKwllbnVtIHRjX3BvcnQgdGNfcG9ydCA9IGlu dGVsX3BvcnRfdG9fdGMoZGV2X3ByaXYsIHBvcnQpOwo+ID4gPiAgCXUzMiBtZ19wbGxfZGl2MCwg bWdfY2xrdG9wX2hzY2xrY3RsOwo+ID4gPiAgCXUzMiBtMSwgbTJfaW50LCBtMl9mcmFjLCBkaXYx LCBkaXYyLCByZWZjbGs7Cj4gPiA+ICAJdTY0IHRtcDsKPiA+ID4gCj4gPiA+ICAJcmVmY2xrID0g ZGV2X3ByaXYtPmNkY2xrLmh3LnJlZjsKPiA+ID4gCj4gPiA+IC0JbWdfcGxsX2RpdjAgPSBJOTE1 X1JFQUQoTUdfUExMX0RJVjAocG9ydCkpOwo+ID4gPiAtCW1nX2Nsa3RvcF9oc2Nsa2N0bCA9IEk5 MTVfUkVBRChNR19DTEtUT1AyX0hTQ0xLQ1RMKHBvcnQpKTsKPiA+ID4gKwltZ19wbGxfZGl2MCA9 IEk5MTVfUkVBRChNR19QTExfRElWMCh0Y19wb3J0KSk7Cj4gPiA+ICsJbWdfY2xrdG9wX2hzY2xr Y3RsID0gSTkxNV9SRUFEKE1HX0NMS1RPUDJfSFNDTEtDVEwodGNfcG9ydCkpOwo+ID4gPiAKPiA+ ID4gLQltMSA9IEk5MTVfUkVBRChNR19QTExfRElWMShwb3J0KSkgJiBNR19QTExfRElWMV9GQlBS RURJVl9NQVNLOwo+ID4gPiArCW0xID0gSTkxNV9SRUFEKE1HX1BMTF9ESVYxKHRjX3BvcnQpKSAm IE1HX1BMTF9ESVYxX0ZCUFJFRElWX01BU0s7Cj4gPiA+ICAJbTJfaW50ID0gbWdfcGxsX2RpdjAg JiBNR19QTExfRElWMF9GQkRJVl9JTlRfTUFTSzsKPiA+ID4gIAltMl9mcmFjID0gKG1nX3BsbF9k aXYwICYgTUdfUExMX0RJVjBfRlJBQ05FTl9IKSA/Cj4gPiA+ICAJCSAgKG1nX3BsbF9kaXYwICYg TUdfUExMX0RJVjBfRkJESVZfRlJBQ19NQVNLKSA+Pgo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCj4gPiA+IGluZGV4IDYyZDYxZmNhZDg5Yy4uYTVkZTcwZTZiZjU5IDEwMDY0 NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ID4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPiA+IEBAIC05NDE1 LDcgKzk0MTUsOCBAQCBzdGF0aWMgdm9pZCBpY2VsYWtlX2dldF9kZGlfcGxsKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ID4gIAkJaWYgKFdBUk5fT04oIWludGVsX2RwbGxf aXNfY29tYm9waHkoaWQpKSkKPiA+ID4gIAkJCXJldHVybjsKPiA+ID4gIAl9IGVsc2UgaWYgKGlu dGVsX3BvcnRfaXNfdGMoZGV2X3ByaXYsIHBvcnQpKSB7Cj4gPiA+IC0JCWlkID0gaWNsX3BvcnRf dG9fbWdfcGxsX2lkKHBvcnQpOwo+ID4gPiArCQllbnVtIHRjX3BvcnQgdGNfcG9ydCA9IGludGVs X3BvcnRfdG9fdGMoZGV2X3ByaXYsIHBvcnQpOwo+ID4gPiArCQlpZCA9IGljbF90Y19wb3J0X3Rv X3BsbF9pZCh0Y19wb3J0KTsKPiA+IAo+ID4gQ2hlY2twYXRjaCdzIGNvbXBsYWludCBtYWtlcyBz ZW5zZSBoZXJlLiBZb3UgY291bGQgYWxzbyBvcHQgdG8gc2ltcGx5Cj4gPiB0bzoKPiA+IAo+ID4g aWQgPSBpY2xfdGNfcG9ydF90b19wbGxfaWQoaW50ZWxfcG9ydF90b190YyhkZXZfcHJpdiwgcG9y dCkpOwo+IAo+IHllYWgsIEkgd2lsbCByZXNlbmQsIGJ1dCBqdXN0IGFkZGluZyBhIGJsYW5rIGxp bmUuCj4gCj4gPiA+ICAJfSBlbHNlIHsKPiA+ID4gIAkJV0FSTigxLCAiSW52YWxpZCBwb3J0ICV4 XG4iLCBwb3J0KTsKPiA+ID4gIAkJcmV0dXJuOwo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwbGxfbWdyLmMKPiA+ID4gaW5kZXggNjA2ZjU0ZGRlMDg2Li4yMTFiM2ZmYTViZWQgMTAwNjQ0 Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmMKPiA+ID4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuYwo+ID4gPiBAQCAtMjYz OSwxNCArMjYzOSwxNCBAQCBpbnQgaWNsX2NhbGNfZHBfY29tYm9fcGxsX2xpbmsoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gPiAgCXJldHVybiBsaW5rX2Nsb2NrOwo+ID4g PiAgfQo+ID4gPiAKPiA+ID4gLXN0YXRpYyBlbnVtIHBvcnQgaWNsX21nX3BsbF9pZF90b19wb3J0 KGVudW0gaW50ZWxfZHBsbF9pZCBpZCkKPiA+ID4gK3N0YXRpYyBlbnVtIHRjX3BvcnQgaWNsX3Bs bF9pZF90b190Y19wb3J0KGVudW0gaW50ZWxfZHBsbF9pZCBpZCkKPiA+ID4gIHsKPiA+ID4gLQly ZXR1cm4gaWQgLSBEUExMX0lEX0lDTF9NR1BMTDEgKyBQT1JUX0M7Cj4gPiA+ICsJcmV0dXJuIGlk IC0gRFBMTF9JRF9JQ0xfTUdQTEwxOwo+ID4gPiAgfQo+ID4gPiAKPiA+ID4gLWVudW0gaW50ZWxf ZHBsbF9pZCBpY2xfcG9ydF90b19tZ19wbGxfaWQoZW51bSBwb3J0IHBvcnQpCj4gPiA+ICtlbnVt IGludGVsX2RwbGxfaWQgaWNsX3RjX3BvcnRfdG9fcGxsX2lkKGVudW0gdGNfcG9ydCB0Y19wb3J0 KQo+ID4gPiAgewo+ID4gPiAtCXJldHVybiBwb3J0IC0gUE9SVF9DICsgRFBMTF9JRF9JQ0xfTUdQ TEwxOwo+ID4gPiArCXJldHVybiB0Y19wb3J0ICsgRFBMTF9JRF9JQ0xfTUdQTEwxOwo+ID4gPiAg fQo+ID4gCj4gPiBUaGUgIl9tZ18iIGluIHRoZSBuYW1lIHdhcyBzdXBwb3NlZCB0byBoZWxwIGNh bGxlcnMgZWFzaWx5IHJlYWxpemUgdGhhdAo+ID4gdGhlc2UgZnVuY3Rpb25zIGRvbid0IG1ha2Ug c2Vuc2Ugd2l0aG91dCBtZyBwbGxzLiBJIGtpbmRhIGxpa2VkIHRoZW0sCj4gPiBlc3BlY2lhbGx5 IGluIHRoZSBmaXJzdCBjYXNlIHdoZXJlIHlvdSBjYW4gcGFzcyBhbnkgaWQsIHdoaWNoIHdvdWxk Cj4gPiByZXN1bHQgaW4gd3JvbmcgY29kZS4KPiAKPiB3ZWxsLCB5ZWFoLCBidXQgYmVjYXVzZSB0 aGUgYXJndW1lbnQgd2FzICpwb3J0Ki4gTm93IEkgcmVtb3ZlZCB0aGUgIm1nIgo+IGZyb20gdGhl IG5hbWUgYW5kIGFkZGVkICJ0YyIsIGNoYW5naW5nIHRoZSBhcmd1bWVudCBhY2NvcmRpbmdseTog aXQncwo+IGltcGxpY2l0IHRoYXQgbWcgcGxscyBvbmx5IG1ha2Ugc2Vuc2UgZm9yIFRDIHBvcnRz LgoKQWRkaW5nIF9tZ18gYmFjayB3YXMgbm90IGEgcmVxdWlyZW1lbnQgZm9yIHRoZSBSLUIsIHNv IGl0J3MgZmluZSB0bwprZWVwIGl0IHRoaXMgd2F5IGlmIHlvdSBwcmVmZXIuCgoKPiAKPiA+IFNv LCBvbmUgb2YgbXkgZmVhcnMgaXMgdGhhdCB0aGVyZSBtYXkgYmUgb3RoZXIgcGF0Y2hlcyBpbi1m bGlnaHQgd2hpY2gKPiA+IHRvdWNoIHRoZXNlIHJlZ2lzdGVycyBhbmQgd2lsbCBzaWxlbnRseSBt YWtlIG91ciBjb2RlIHVzZSBwb3J0IGFnYWluLgo+ID4gVGhlIGNoZXJyeSBvbiB0b3Agb2YgdGhp cyBwYXRjaCB3b3VsZCBiZSB0byBwdXQgdGhvc2UgZW51bXMgaW5zaWRlCj4gPiBzaW5nbGUtZWxl bWVudCBzdHJ1Y3RzIGluIGEgd2F5IHRoYXQgd291bGQgbWFrZSBnY2MgY29tcGxhaW4gd2hlbiB5 b3UKPiA+IGFjY2Vzc2VkIG9uZSBpbnN0ZWFkIG9mIHRoZSBvdGhlciAoaW5jbHVkaW5nIGluc2lk ZSBtYWNyb3MpLiBGZWVsIGZyZWUKPiA+IHRvIGltcGxlbWVudCB0aGlzIGlmIHlvdSBsaWtlIHRo ZSBpZGVhLgo+IAo+IHllYWgsIHRoYXQgd291bGQgYmUgYSBuaWNlIHdheSB0byBwcmV2ZW50IGNh bGxlcnMgcGFzc2luZyBpbiB0aGUgd3JvbmcKPiBhcmd1bWVudC4gS2luZCBvZiB3aGF0ICJlbnVt IGNsYXNzIiBkb2VzIGZvciBDKysuIEJ1dCBhcyB5b3Ugbm90ZWQsIGl0J3MKPiBhIGNoZXJyeSBv biAqdG9wKiA6KQoKWWVzLCBhbmQgd2UgZXZlbiBhbHJlYWR5IGhhdmUgdGhlIHByZWNlZGVudCBm cm9tIGk5MTVfcmVnX3QuCgo+IAo+IAo+ID4gV2l0aCB0aGUgY2hlY2twYXRjaCBlcnJvciBhZGRy ZXNzZWQgYW5kIHRoZSBpbXByb3ZlZCBjb21taXQgbWVzc2FnZToKPiA+IFJldmlld2VkLWJ5OiBQ YXVsbyBaYW5vbmkgPHBhdWxvLnIuemFub25pQGludGVsLmNvbT4KPiAKPiB0aGFua3MKPiBMdWNh cyBEZSBNYXJjaGkKPiAKPiA+ID4gIGJvb2wgaW50ZWxfZHBsbF9pc19jb21ib3BoeShlbnVtIGlu dGVsX2RwbGxfaWQgaWQpCj4gPiA+IEBAIC0yOTI1LDcgKzI5MjUsMTAgQEAgaWNsX2dldF9kcGxs KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSwKPiA+ID4gIAkJCXJldCA9IGljbF9jYWxjX2RwbGxfc3RhdGUoY3J0Y19zdGF0ZSwgZW5j b2RlciwgY2xvY2ssCj4gPiA+ICAJCQkJCQkgICZwbGxfc3RhdGUpOwo+ID4gPiAgCQl9IGVsc2Ug ewo+ID4gPiAtCQkJbWluID0gaWNsX3BvcnRfdG9fbWdfcGxsX2lkKHBvcnQpOwo+ID4gPiArCQkJ ZW51bSB0Y19wb3J0IHRjX3BvcnQ7Cj4gPiA+ICsKPiA+ID4gKwkJCXRjX3BvcnQgPSBpbnRlbF9w b3J0X3RvX3RjKGRldl9wcml2LCBwb3J0KTsKPiA+ID4gKwkJCW1pbiA9IGljbF90Y19wb3J0X3Rv X3BsbF9pZCh0Y19wb3J0KTsKPiA+ID4gIAkJCW1heCA9IG1pbjsKPiA+ID4gIAkJCXJldCA9IGlj bF9jYWxjX21nX3BsbF9zdGF0ZShjcnRjX3N0YXRlLCBlbmNvZGVyLCBjbG9jaywKPiA+ID4gIAkJ CQkJCSAgICAmcGxsX3N0YXRlKTsKPiA+ID4gQEAgLTI5NTksMTIgKzI5NjIsOCBAQCBzdGF0aWMg aTkxNV9yZWdfdCBpY2xfcGxsX2lkX3RvX2VuYWJsZV9yZWcoZW51bSBpbnRlbF9kcGxsX2lkIGlk KQo+ID4gPiAgCQlyZXR1cm4gQ05MX0RQTExfRU5BQkxFKGlkKTsKPiA+ID4gIAllbHNlIGlmIChp ZCA9PSBEUExMX0lEX0lDTF9UQlRQTEwpCj4gPiA+ICAJCXJldHVybiBUQlRfUExMX0VOQUJMRTsK PiA+ID4gLQllbHNlCj4gPiA+IC0JCS8qCj4gPiA+IC0JCSAqIFRPRE86IE1ha2UgTUdfUExMIG1h Y3JvcyB1c2UKPiA+ID4gLQkJICogdGMgcG9ydCBpZCBpbnN0ZWFkIG9mIHBvcnQgaWQKPiA+ID4g LQkJICovCj4gPiA+IC0JCXJldHVybiBNR19QTExfRU5BQkxFKGljbF9tZ19wbGxfaWRfdG9fcG9y dChpZCkpOwo+ID4gPiArCj4gPiA+ICsJcmV0dXJuIE1HX1BMTF9FTkFCTEUoaWNsX3BsbF9pZF90 b190Y19wb3J0KGlkKSk7Cj4gPiA+ICB9Cj4gPiA+IAo+ID4gPiAgc3RhdGljIGJvb2wgaWNsX3Bs bF9nZXRfaHdfc3RhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gPiBA QCAtMjk3NCw3ICsyOTczLDYgQEAgc3RhdGljIGJvb2wgaWNsX3BsbF9nZXRfaHdfc3RhdGUoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gPiAgCWNvbnN0IGVudW0gaW50ZWxf ZHBsbF9pZCBpZCA9IHBsbC0+aW5mby0+aWQ7Cj4gPiA+ICAJaW50ZWxfd2FrZXJlZl90IHdha2Vy ZWY7Cj4gPiA+ICAJYm9vbCByZXQgPSBmYWxzZTsKPiA+ID4gLQllbnVtIHBvcnQgcG9ydDsKPiA+ ID4gIAl1MzIgdmFsOwo+ID4gPiAKPiA+ID4gIAl3YWtlcmVmID0gaW50ZWxfZGlzcGxheV9wb3dl cl9nZXRfaWZfZW5hYmxlZChkZXZfcHJpdiwKPiA+ID4gQEAgLTI5OTEsMzIgKzI5ODksMzMgQEAg c3RhdGljIGJvb2wgaWNsX3BsbF9nZXRfaHdfc3RhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAo+ID4gPiAgCQlod19zdGF0ZS0+Y2ZnY3IwID0gSTkxNV9SRUFEKElDTF9EUExM X0NGR0NSMChpZCkpOwo+ID4gPiAgCQlod19zdGF0ZS0+Y2ZnY3IxID0gSTkxNV9SRUFEKElDTF9E UExMX0NGR0NSMShpZCkpOwo+ID4gPiAgCX0gZWxzZSB7Cj4gPiA+IC0JCXBvcnQgPSBpY2xfbWdf cGxsX2lkX3RvX3BvcnQoaWQpOwo+ID4gPiAtCQlod19zdGF0ZS0+bWdfcmVmY2xraW5fY3RsID0g STkxNV9SRUFEKE1HX1JFRkNMS0lOX0NUTChwb3J0KSk7Cj4gPiA+ICsJCWVudW0gdGNfcG9ydCB0 Y19wb3J0ID0gaWNsX3BsbF9pZF90b190Y19wb3J0KGlkKTsKPiA+ID4gKwo+ID4gPiArCQlod19z dGF0ZS0+bWdfcmVmY2xraW5fY3RsID0gSTkxNV9SRUFEKE1HX1JFRkNMS0lOX0NUTCh0Y19wb3J0 KSk7Cj4gPiA+ICAJCWh3X3N0YXRlLT5tZ19yZWZjbGtpbl9jdGwgJj0gTUdfUkVGQ0xLSU5fQ1RM X09EXzJfTVVYX01BU0s7Cj4gPiA+IAo+ID4gPiAgCQlod19zdGF0ZS0+bWdfY2xrdG9wMl9jb3Jl Y2xrY3RsMSA9Cj4gPiA+IC0JCQlJOTE1X1JFQUQoTUdfQ0xLVE9QMl9DT1JFQ0xLQ1RMMShwb3J0 KSk7Cj4gPiA+ICsJCQlJOTE1X1JFQUQoTUdfQ0xLVE9QMl9DT1JFQ0xLQ1RMMSh0Y19wb3J0KSk7 Cj4gPiA+ICAJCWh3X3N0YXRlLT5tZ19jbGt0b3AyX2NvcmVjbGtjdGwxICY9Cj4gPiA+ICAJCQlN R19DTEtUT1AyX0NPUkVDTEtDVEwxX0FfRElWUkFUSU9fTUFTSzsKPiA+ID4gCj4gPiA+ICAJCWh3 X3N0YXRlLT5tZ19jbGt0b3AyX2hzY2xrY3RsID0KPiA+ID4gLQkJCUk5MTVfUkVBRChNR19DTEtU T1AyX0hTQ0xLQ1RMKHBvcnQpKTsKPiA+ID4gKwkJCUk5MTVfUkVBRChNR19DTEtUT1AyX0hTQ0xL Q1RMKHRjX3BvcnQpKTsKPiA+ID4gIAkJaHdfc3RhdGUtPm1nX2Nsa3RvcDJfaHNjbGtjdGwgJj0K PiA+ID4gIAkJCU1HX0NMS1RPUDJfSFNDTEtDVExfVExJTkVEUlZfQ0xLU0VMX01BU0sgfAo+ID4g PiAgCQkJTUdfQ0xLVE9QMl9IU0NMS0NUTF9DT1JFX0lOUFVUU0VMX01BU0sgfAo+ID4gPiAgCQkJ TUdfQ0xLVE9QMl9IU0NMS0NUTF9IU0RJVl9SQVRJT19NQVNLIHwKPiA+ID4gIAkJCU1HX0NMS1RP UDJfSFNDTEtDVExfRFNESVZfUkFUSU9fTUFTSzsKPiA+ID4gCj4gPiA+IC0JCWh3X3N0YXRlLT5t Z19wbGxfZGl2MCA9IEk5MTVfUkVBRChNR19QTExfRElWMChwb3J0KSk7Cj4gPiA+IC0JCWh3X3N0 YXRlLT5tZ19wbGxfZGl2MSA9IEk5MTVfUkVBRChNR19QTExfRElWMShwb3J0KSk7Cj4gPiA+IC0J CWh3X3N0YXRlLT5tZ19wbGxfbGYgPSBJOTE1X1JFQUQoTUdfUExMX0xGKHBvcnQpKTsKPiA+ID4g LQkJaHdfc3RhdGUtPm1nX3BsbF9mcmFjX2xvY2sgPSBJOTE1X1JFQUQoTUdfUExMX0ZSQUNfTE9D Syhwb3J0KSk7Cj4gPiA+IC0JCWh3X3N0YXRlLT5tZ19wbGxfc3NjID0gSTkxNV9SRUFEKE1HX1BM TF9TU0MocG9ydCkpOwo+ID4gPiArCQlod19zdGF0ZS0+bWdfcGxsX2RpdjAgPSBJOTE1X1JFQUQo TUdfUExMX0RJVjAodGNfcG9ydCkpOwo+ID4gPiArCQlod19zdGF0ZS0+bWdfcGxsX2RpdjEgPSBJ OTE1X1JFQUQoTUdfUExMX0RJVjEodGNfcG9ydCkpOwo+ID4gPiArCQlod19zdGF0ZS0+bWdfcGxs X2xmID0gSTkxNV9SRUFEKE1HX1BMTF9MRih0Y19wb3J0KSk7Cj4gPiA+ICsJCWh3X3N0YXRlLT5t Z19wbGxfZnJhY19sb2NrID0gSTkxNV9SRUFEKE1HX1BMTF9GUkFDX0xPQ0sodGNfcG9ydCkpOwo+ ID4gPiArCQlod19zdGF0ZS0+bWdfcGxsX3NzYyA9IEk5MTVfUkVBRChNR19QTExfU1NDKHRjX3Bv cnQpKTsKPiA+ID4gCj4gPiA+IC0JCWh3X3N0YXRlLT5tZ19wbGxfYmlhcyA9IEk5MTVfUkVBRChN R19QTExfQklBUyhwb3J0KSk7Cj4gPiA+ICsJCWh3X3N0YXRlLT5tZ19wbGxfYmlhcyA9IEk5MTVf UkVBRChNR19QTExfQklBUyh0Y19wb3J0KSk7Cj4gPiA+ICAJCWh3X3N0YXRlLT5tZ19wbGxfdGRj X2NvbGRzdF9iaWFzID0KPiA+ID4gLQkJCUk5MTVfUkVBRChNR19QTExfVERDX0NPTERTVF9CSUFT KHBvcnQpKTsKPiA+ID4gKwkJCUk5MTVfUkVBRChNR19QTExfVERDX0NPTERTVF9CSUFTKHRjX3Bv cnQpKTsKPiA+ID4gCj4gPiA+ICAJCWlmIChkZXZfcHJpdi0+Y2RjbGsuaHcucmVmID09IDM4NDAw KSB7Cj4gPiA+ICAJCQlod19zdGF0ZS0+bWdfcGxsX3RkY19jb2xkc3RfYmlhc19tYXNrID0gTUdf UExMX1REQ19DT0xEU1RfQ09MRFNUQVJUOwo+ID4gPiBAQCAtMzA1MSw3ICszMDUwLDcgQEAgc3Rh dGljIHZvaWQgaWNsX21nX3BsbF93cml0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCj4gPiA+ICAJCQkgICAgIHN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxsKQo+ID4gPiAg ewo+ID4gPiAgCXN0cnVjdCBpbnRlbF9kcGxsX2h3X3N0YXRlICpod19zdGF0ZSA9ICZwbGwtPnN0 YXRlLmh3X3N0YXRlOwo+ID4gPiAtCWVudW0gcG9ydCBwb3J0ID0gaWNsX21nX3BsbF9pZF90b19w b3J0KHBsbC0+aW5mby0+aWQpOwo+ID4gPiArCWVudW0gdGNfcG9ydCB0Y19wb3J0ID0gaWNsX3Bs bF9pZF90b190Y19wb3J0KHBsbC0+aW5mby0+aWQpOwo+ID4gPiAgCXUzMiB2YWw7Cj4gPiA+IAo+ ID4gPiAgCS8qCj4gPiA+IEBAIC0zMDYwLDQxICszMDU5LDQxIEBAIHN0YXRpYyB2b2lkIGljbF9t Z19wbGxfd3JpdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gPiAgCSAq IGR1cmluZyB0aGUgY2FsYy9yZWFkb3V0IHBoYXNlIGlmIHRoZSBtYXNrIGRlcGVuZHMgb24gc29t ZSBvdGhlciBIVwo+ID4gPiAgCSAqIHN0YXRlIGxpa2UgcmVmY2xrLCBzZWUgaWNsX2NhbGNfbWdf cGxsX3N0YXRlKCkuCj4gPiA+ICAJICovCj4gPiA+IC0JdmFsID0gSTkxNV9SRUFEKE1HX1JFRkNM S0lOX0NUTChwb3J0KSk7Cj4gPiA+ICsJdmFsID0gSTkxNV9SRUFEKE1HX1JFRkNMS0lOX0NUTCh0 Y19wb3J0KSk7Cj4gPiA+ICAJdmFsICY9IH5NR19SRUZDTEtJTl9DVExfT0RfMl9NVVhfTUFTSzsK PiA+ID4gIAl2YWwgfD0gaHdfc3RhdGUtPm1nX3JlZmNsa2luX2N0bDsKPiA+ID4gLQlJOTE1X1dS SVRFKE1HX1JFRkNMS0lOX0NUTChwb3J0KSwgdmFsKTsKPiA+ID4gKwlJOTE1X1dSSVRFKE1HX1JF RkNMS0lOX0NUTCh0Y19wb3J0KSwgdmFsKTsKPiA+ID4gCj4gPiA+IC0JdmFsID0gSTkxNV9SRUFE KE1HX0NMS1RPUDJfQ09SRUNMS0NUTDEocG9ydCkpOwo+ID4gPiArCXZhbCA9IEk5MTVfUkVBRChN R19DTEtUT1AyX0NPUkVDTEtDVEwxKHRjX3BvcnQpKTsKPiA+ID4gIAl2YWwgJj0gfk1HX0NMS1RP UDJfQ09SRUNMS0NUTDFfQV9ESVZSQVRJT19NQVNLOwo+ID4gPiAgCXZhbCB8PSBod19zdGF0ZS0+ bWdfY2xrdG9wMl9jb3JlY2xrY3RsMTsKPiA+ID4gLQlJOTE1X1dSSVRFKE1HX0NMS1RPUDJfQ09S RUNMS0NUTDEocG9ydCksIHZhbCk7Cj4gPiA+ICsJSTkxNV9XUklURShNR19DTEtUT1AyX0NPUkVD TEtDVEwxKHRjX3BvcnQpLCB2YWwpOwo+ID4gPiAKPiA+ID4gLQl2YWwgPSBJOTE1X1JFQUQoTUdf Q0xLVE9QMl9IU0NMS0NUTChwb3J0KSk7Cj4gPiA+ICsJdmFsID0gSTkxNV9SRUFEKE1HX0NMS1RP UDJfSFNDTEtDVEwodGNfcG9ydCkpOwo+ID4gPiAgCXZhbCAmPSB+KE1HX0NMS1RPUDJfSFNDTEtD VExfVExJTkVEUlZfQ0xLU0VMX01BU0sgfAo+ID4gPiAgCQkgTUdfQ0xLVE9QMl9IU0NMS0NUTF9D T1JFX0lOUFVUU0VMX01BU0sgfAo+ID4gPiAgCQkgTUdfQ0xLVE9QMl9IU0NMS0NUTF9IU0RJVl9S QVRJT19NQVNLIHwKPiA+ID4gIAkJIE1HX0NMS1RPUDJfSFNDTEtDVExfRFNESVZfUkFUSU9fTUFT Syk7Cj4gPiA+ICAJdmFsIHw9IGh3X3N0YXRlLT5tZ19jbGt0b3AyX2hzY2xrY3RsOwo+ID4gPiAt CUk5MTVfV1JJVEUoTUdfQ0xLVE9QMl9IU0NMS0NUTChwb3J0KSwgdmFsKTsKPiA+ID4gKwlJOTE1 X1dSSVRFKE1HX0NMS1RPUDJfSFNDTEtDVEwodGNfcG9ydCksIHZhbCk7Cj4gPiA+IAo+ID4gPiAt CUk5MTVfV1JJVEUoTUdfUExMX0RJVjAocG9ydCksIGh3X3N0YXRlLT5tZ19wbGxfZGl2MCk7Cj4g PiA+IC0JSTkxNV9XUklURShNR19QTExfRElWMShwb3J0KSwgaHdfc3RhdGUtPm1nX3BsbF9kaXYx KTsKPiA+ID4gLQlJOTE1X1dSSVRFKE1HX1BMTF9MRihwb3J0KSwgaHdfc3RhdGUtPm1nX3BsbF9s Zik7Cj4gPiA+IC0JSTkxNV9XUklURShNR19QTExfRlJBQ19MT0NLKHBvcnQpLCBod19zdGF0ZS0+ bWdfcGxsX2ZyYWNfbG9jayk7Cj4gPiA+IC0JSTkxNV9XUklURShNR19QTExfU1NDKHBvcnQpLCBo d19zdGF0ZS0+bWdfcGxsX3NzYyk7Cj4gPiA+ICsJSTkxNV9XUklURShNR19QTExfRElWMCh0Y19w b3J0KSwgaHdfc3RhdGUtPm1nX3BsbF9kaXYwKTsKPiA+ID4gKwlJOTE1X1dSSVRFKE1HX1BMTF9E SVYxKHRjX3BvcnQpLCBod19zdGF0ZS0+bWdfcGxsX2RpdjEpOwo+ID4gPiArCUk5MTVfV1JJVEUo TUdfUExMX0xGKHRjX3BvcnQpLCBod19zdGF0ZS0+bWdfcGxsX2xmKTsKPiA+ID4gKwlJOTE1X1dS SVRFKE1HX1BMTF9GUkFDX0xPQ0sodGNfcG9ydCksIGh3X3N0YXRlLT5tZ19wbGxfZnJhY19sb2Nr KTsKPiA+ID4gKwlJOTE1X1dSSVRFKE1HX1BMTF9TU0ModGNfcG9ydCksIGh3X3N0YXRlLT5tZ19w bGxfc3NjKTsKPiA+ID4gCj4gPiA+IC0JdmFsID0gSTkxNV9SRUFEKE1HX1BMTF9CSUFTKHBvcnQp KTsKPiA+ID4gKwl2YWwgPSBJOTE1X1JFQUQoTUdfUExMX0JJQVModGNfcG9ydCkpOwo+ID4gPiAg CXZhbCAmPSB+aHdfc3RhdGUtPm1nX3BsbF9iaWFzX21hc2s7Cj4gPiA+ICAJdmFsIHw9IGh3X3N0 YXRlLT5tZ19wbGxfYmlhczsKPiA+ID4gLQlJOTE1X1dSSVRFKE1HX1BMTF9CSUFTKHBvcnQpLCB2 YWwpOwo+ID4gPiArCUk5MTVfV1JJVEUoTUdfUExMX0JJQVModGNfcG9ydCksIHZhbCk7Cj4gPiA+ IAo+ID4gPiAtCXZhbCA9IEk5MTVfUkVBRChNR19QTExfVERDX0NPTERTVF9CSUFTKHBvcnQpKTsK PiA+ID4gKwl2YWwgPSBJOTE1X1JFQUQoTUdfUExMX1REQ19DT0xEU1RfQklBUyh0Y19wb3J0KSk7 Cj4gPiA+ICAJdmFsICY9IH5od19zdGF0ZS0+bWdfcGxsX3RkY19jb2xkc3RfYmlhc19tYXNrOwo+ ID4gPiAgCXZhbCB8PSBod19zdGF0ZS0+bWdfcGxsX3RkY19jb2xkc3RfYmlhczsKPiA+ID4gLQlJ OTE1X1dSSVRFKE1HX1BMTF9URENfQ09MRFNUX0JJQVMocG9ydCksIHZhbCk7Cj4gPiA+ICsJSTkx NV9XUklURShNR19QTExfVERDX0NPTERTVF9CSUFTKHRjX3BvcnQpLCB2YWwpOwo+ID4gPiAKPiA+ ID4gLQlQT1NUSU5HX1JFQUQoTUdfUExMX1REQ19DT0xEU1RfQklBUyhwb3J0KSk7Cj4gPiA+ICsJ UE9TVElOR19SRUFEKE1HX1BMTF9URENfQ09MRFNUX0JJQVModGNfcG9ydCkpOwo+ID4gPiAgfQo+ ID4gPiAKPiA+ID4gIHN0YXRpYyB2b2lkIGljbF9wbGxfZW5hYmxlKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RwbGxfbWdyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5o Cj4gPiA+IGluZGV4IGU5NmU3OTQxM2I1NC4uNDBlODM5MWE5MmYyIDEwMDY0NAo+ID4gPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5oCj4gPiA+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmgKPiA+ID4gQEAgLTM0NCw3ICszNDQsNyBA QCB2b2lkIGludGVsX2RwbGxfZHVtcF9od19zdGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsCj4gPiA+ICBpbnQgaWNsX2NhbGNfZHBfY29tYm9fcGxsX2xpbmsoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gPiAgCQkJICAgICAgIHUzMiBwbGxfaWQpOwo+ ID4gPiAgaW50IGNubF9oZG1pX3BsbF9yZWZfY2xvY2soc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KTsKPiA+ID4gLWVudW0gaW50ZWxfZHBsbF9pZCBpY2xfcG9ydF90b19tZ19wbGxf aWQoZW51bSBwb3J0IHBvcnQpOwo+ID4gPiArZW51bSBpbnRlbF9kcGxsX2lkIGljbF90Y19wb3J0 X3RvX3BsbF9pZChlbnVtIHRjX3BvcnQgdGNfcG9ydCk7Cj4gPiA+ICBib29sIGludGVsX2RwbGxf aXNfY29tYm9waHkoZW51bSBpbnRlbF9kcGxsX2lkIGlkKTsKPiA+ID4gCj4gPiA+ICAjZW5kaWYg LyogX0lOVEVMX0RQTExfTUdSX0hfICovCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK