From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: Re: [v2 5/6] i915/dp/fec: Configure the Forward Error Correction bits. Date: Mon, 22 Oct 2018 11:27:21 -0700 Message-ID: <20181022182720.GA17333@intel.com> References: <20181015215037.13901-1-anusha.srivatsa@intel.com> <20181015215037.13901-6-anusha.srivatsa@intel.com> <20181019183911.GW9144@intel.com> <20181019192442.GN8224@intel.com> <20181019195829.GE9144@intel.com> <20181019202905.GA31686@intel.com> <20181019231146.GG9144@intel.com> <83F5C7385F545743AD4FB2A62F75B07347F7AC05@ORSMSX108.amr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 070FE89AC9 for ; Mon, 22 Oct 2018 18:24:48 +0000 (UTC) Content-Disposition: inline In-Reply-To: <83F5C7385F545743AD4FB2A62F75B07347F7AC05@ORSMSX108.amr.corp.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Srivatsa, Anusha" Cc: "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBPY3QgMjIsIDIwMTggYXQgMTE6MDQ6MjhBTSAtMDcwMCwgU3JpdmF0c2EsIEFudXNo YSB3cm90ZToKPiAKPiAKPiA+LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiA+RnJvbTogVmls bGUgU3lyasOkbMOkIFttYWlsdG86dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb21dCj4gPlNl bnQ6IEZyaWRheSwgT2N0b2JlciAxOSwgMjAxOCA0OjEyIFBNCj4gPlRvOiBOYXZhcmUsIE1hbmFz aSBEIDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPgo+ID5DYzogU3JpdmF0c2EsIEFudXNoYSA8 YW51c2hhLnNyaXZhdHNhQGludGVsLmNvbT47IGludGVsLQo+ID5nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnOyBTaW5naCwgR2F1cmF2IEsgPGdhdXJhdi5rLnNpbmdoQGludGVsLmNvbT47IEphbmkK PiA+TmlrdWxhIDxqYW5pLm5pa3VsYUBsaW51eC5pbnRlbC5jb20+Cj4gPlN1YmplY3Q6IFJlOiBb djIgNS82XSBpOTE1L2RwL2ZlYzogQ29uZmlndXJlIHRoZSBGb3J3YXJkIEVycm9yIENvcnJlY3Rp b24gYml0cy4KPiA+Cj4gPk9uIEZyaSwgT2N0IDE5LCAyMDE4IGF0IDAxOjI5OjA1UE0gLTA3MDAs IE1hbmFzaSBOYXZhcmUgd3JvdGU6Cj4gPj4gT24gRnJpLCBPY3QgMTksIDIwMTggYXQgMTA6NTg6 MjlQTSArMDMwMCwgVmlsbGUgU3lyasOkbMOkIHdyb3RlOgo+ID4+ID4gT24gRnJpLCBPY3QgMTks IDIwMTggYXQgMTI6MjQ6NDNQTSAtMDcwMCwgTWFuYXNpIE5hdmFyZSB3cm90ZToKPiA+PiA+ID4g T24gRnJpLCBPY3QgMTksIDIwMTggYXQgMDk6Mzk6MTFQTSArMDMwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+ID4+ID4gPiA+IE9uIE1vbiwgT2N0IDE1LCAyMDE4IGF0IDAyOjUwOjM2UE0gLTA3 MDAsIEFudXNoYSBTcml2YXRzYSB3cm90ZToKPiA+PiA+ID4gPiA+IElmIEZFQyBpcyBzdXBwb3J0 ZWQsIHRoZSBjb3JyZXNwb25kaW5nIERQX1RQX0NUTCByZWdpc3RlciBiaXRzCj4gPj4gPiA+ID4g PiBoYXZlIHRvIGJlIGNvbmZpZ3VyZWQuCj4gPj4gPiA+ID4gPgo+ID4+ID4gPiA+ID4gVGhlIGRy aXZlciBoYXMgdG8gcHJvZ3JhbSB0aGUgRkVDX0VOQUJMRSBpbiBEUF9UUF9DVExbMzBdCj4gPj4g PiA+ID4gPiByZWdpc3RlciBhbmQgd2FpdCB0aWxsIEZFQ19TVEFUVVMgaW4gRFBfVFBfQ1RMWzI4 XSBpcyAxLgo+ID4+ID4gPiA+ID4gQWxzbyBhZGQgdGhlIHdhcm4gbWVzc2FnZSB0byBtYWtlIHN1 cmUgdGhhdCB0aGUgY29udHJvbAo+ID4+ID4gPiA+ID4gcmVnaXN0ZXIgaXMgYWxyZWFkeSBhY3Rp dmUgd2hpbGUgZW5hYmxpbmcgRkVDLgo+ID4+ID4gPiA+ID4KPiA+PiA+ID4gPiA+IHYyOgo+ID4+ ID4gPiA+ID4gLSBDaGFuZ2UgY29tbWl0IG1lc3NhZ2UuIENvbmZpZ3VyZSBmZWMgc3RhdGUgYWZ0 ZXIKPiA+PiA+ID4gPiA+ICAgbGluayB0cmFpbmluZyAoTWFuYXNpLCBHYXVyYXYpCj4gPj4gPiA+ ID4gPiAtIFJlbW92ZSByZWR1bmRlbnQgY2hlY2tzIChNYW5hc2kpCj4gPj4gPiA+ID4gPiAtIFJl bW92ZSB0aGUgcmVnaXN0ZXJzIHRoYXQgZ2V0IGFkZGVkIGF1dG9tYWdpY2FsbHkgKEFudXNoYSkK PiA+PiA+ID4gPiA+Cj4gPj4gPiA+ID4gPiB2Mzogcy9pbnRlbF9kcF9zZXRfZmVjX3N0YXRlKCkv aW50ZWxfZHBfZW5hYmxlX2ZlY19zdGF0ZSgpCj4gPj4gPiA+ID4gPiAoR2F1cmF2KQo+ID4+ID4g PiA+ID4KPiA+PiA+ID4gPiA+IHY0OiByZWJhc2VkLgo+ID4+ID4gPiA+ID4KPiA+PiA+ID4gPiA+ IENjOiBHYXVyYXYgSyBTaW5naCA8Z2F1cmF2Lmsuc2luZ2hAaW50ZWwuY29tPgo+ID4+ID4gPiA+ ID4gQ2M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBsaW51eC5pbnRlbC5jb20+Cj4gPj4gPiA+ ID4gPiBDYzogVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4g Pj4gPiA+ID4gPiBDYzogTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4K PiA+PiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IEFudXNoYSBTcml2YXRzYSA8YW51c2hhLnNyaXZh dHNhQGludGVsLmNvbT4KPiA+PiA+ID4gPiA+IC0tLQo+ID4+ID4gPiA+ID4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcmVnLmggIHwgIDIgKysKPiA+PiA+ID4gPiA+IGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RkaS5jIHwgIDIgKysKPiA+PiA+ID4gPiA+IGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwLmMgIHwgMjcKPiA+PiA+ID4gPiA+ICsrKysrKysrKysrKysrKysrKysrKysr KysrKyAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+PiA+ID4gPiA+IHwgIDMg KystCj4gPj4gPiA+ID4gPiAgNCBmaWxlcyBjaGFuZ2VkLCAzMyBpbnNlcnRpb25zKCspLCAxIGRl bGV0aW9uKC0pCj4gPj4gPiA+ID4gPgo+ID4+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiA+PiA+ID4gPiA+IGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9yZWcuaCBpbmRleAo+ID4+ID4gPiA+ID4gYmNkZTc4YmMwMDI3Li5jOGQ3ZmRjZDc4 MjMgMTAwNjQ0Cj4gPj4gPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Jl Zy5oCj4gPj4gPiA+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4g Pj4gPiA+ID4gPiBAQCAtOTA5Myw2ICs5MDkzLDcgQEAgZW51bSBza2xfcG93ZXJfZ2F0ZSB7Cj4g Pj4gPiA+ID4gPiAgI2RlZmluZSBfRFBfVFBfQ1RMX0IJCQkweDY0MTQwCj4gPj4gPiA+ID4gPiAg I2RlZmluZSBEUF9UUF9DVEwocG9ydCkgX01NSU9fUE9SVChwb3J0LCBfRFBfVFBfQ1RMX0EsCj4g Pl9EUF9UUF9DVExfQikKPiA+PiA+ID4gPiA+ICAjZGVmaW5lICBEUF9UUF9DVExfRU5BQkxFCQkJ KDEgPDwgMzEpCj4gPj4gPiA+ID4gPiArI2RlZmluZSAgRFBfVFBfQ1RMX0ZFQ19FTkFCTEUJCQko MSA8PCAzMCkKPiA+PiA+ID4gPiA+ICAjZGVmaW5lICBEUF9UUF9DVExfTU9ERV9TU1QJCQkoMCA8 PCAyNykKPiA+PiA+ID4gPiA+ICAjZGVmaW5lICBEUF9UUF9DVExfTU9ERV9NU1QJCQkoMSA8PCAy NykKPiA+PiA+ID4gPiA+ICAjZGVmaW5lICBEUF9UUF9DVExfRk9SQ0VfQUNUCQkJKDEgPDwgMjUp Cj4gPj4gPiA+ID4gPiBAQCAtOTExMSw2ICs5MTEyLDcgQEAgZW51bSBza2xfcG93ZXJfZ2F0ZSB7 Cj4gPj4gPiA+ID4gPiAgI2RlZmluZSBfRFBfVFBfU1RBVFVTX0EJCQkweDY0MDQ0Cj4gPj4gPiA+ ID4gPiAgI2RlZmluZSBfRFBfVFBfU1RBVFVTX0IJCQkweDY0MTQ0Cj4gPj4gPiA+ID4gPiAgI2Rl ZmluZSBEUF9UUF9TVEFUVVMocG9ydCkgX01NSU9fUE9SVChwb3J0LCBfRFBfVFBfU1RBVFVTX0Es Cj4gPj4gPiA+ID4gPiBfRFBfVFBfU1RBVFVTX0IpCj4gPj4gPiA+ID4gPiArI2RlZmluZSAgRFBf VFBfU1RBVFVTX0ZFQ19FTkFCTEVfTElWRQkJKDEgPDwgMjgpCj4gPj4gPiA+ID4gPiAgI2RlZmlu ZSAgRFBfVFBfU1RBVFVTX0lETEVfRE9ORQkJCSgxIDw8IDI1KQo+ID4+ID4gPiA+ID4gICNkZWZp bmUgIERQX1RQX1NUQVRVU19BQ1RfU0VOVAkJCSgxIDw8IDI0KQo+ID4+ID4gPiA+ID4gICNkZWZp bmUgIERQX1RQX1NUQVRVU19NT0RFX1NUQVRVU19NU1QJCSgxIDw8IDIzKQo+ID4+ID4gPiA+ID4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gPj4gPiA+ID4g PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gPj4gPiA+ID4gPiBpbmRleCBm NTMxOTAwMTY1YmYuLjY3YzAxM2VhNGQzOSAxMDA2NDQKPiA+PiA+ID4gPiA+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gPj4gPiA+ID4gPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ID4+ID4gPiA+ID4gQEAgLTI5MTEsNiArMjkxMSw4IEBA IHN0YXRpYyB2b2lkIGludGVsX2RkaV9wcmVfZW5hYmxlX2RwKHN0cnVjdAo+ID5pbnRlbF9lbmNv ZGVyICplbmNvZGVyLAo+ID4+ID4gPiA+ID4gIAkJCQkJICAgICAgRFBfREVDT01QUkVTU0lPTl9F Tik7Cj4gPj4gPiA+ID4gPiAgCWludGVsX2RwX3Npbmtfc2V0X2ZlY19yZWFkeShpbnRlbF9kcCwg Y3J0Y19zdGF0ZSwKPiA+RFBfRkVDX1JFQURZKTsKPiA+PiA+ID4gPiA+ICAJaW50ZWxfZHBfc3Rh cnRfbGlua190cmFpbihpbnRlbF9kcCk7Cj4gPj4gPiA+ID4gPiArCWludGVsX2RwX2VuYWJsZV9m ZWNfc3RhdGUoaW50ZWxfZHAsIGNydGNfc3RhdGUpOwo+ID4+ID4gPiA+Cj4gPj4gPiA+ID4gVGhp cyBkb2Vzbid0IGxvb2sgbGlrZSB0aGUgY29ycmVjdCBzcG90LiBBY2NvcmRpbmcgdG8gdGhlIHNw ZWMKPiA+PiA+ID4gPiBpdCBzaG91bGQgYmUgYWZ0ZXIgc3RvcF9saW5rX3RyYWluKCkgKHdoZXJl IHdlIHNldCBEUF9UUF9DVEwgdG8KPiA+PiA+ID4gPiB0byBub3JtYWwpLgo+ID4+ID4gPiA+Cj4g Pj4gPiA+Cj4gPj4gPiA+IFllcyBJIHNlZSBpbiB0aGUgZGlzcGxheSBwb3J0IGVuYWJsaW5nIHNl cXVlbmNlIHBhZ2Ugb2YgdGhlIHNwZWMsCj4gPj4gPiA+IHRoYXQgaXQgc2F5cyBlbmFibGUgRkVD IGFmdGVyIERQX1RQX0NUTCBpcyBzZXQgdG8gTm9ybWFsLiBBbHNvIHRoZQo+ID4+ID4gPiBGRUMg cGFnZSBzYXlzIHRoYXQgdGhpcyBzaG91bGQgYmUgZW5hYmxlZCBvbmx5IGFmdGVyIGVuc3VyaW5n IHRoYXQKPiA+PiA+ID4gbGluayB0cmFpbmluZyBjb21wbGV0ZWQuIFNvIGFjY29yZGluZyB0byB0 aGF0IHRoaXMgY2FsbCBzaG91bGQgaGFwcGVuIGFmdGVyCj4gPmludGVsX2RwX3N0b3BfbGlua190 cmFpbigpLgo+ID4+ID4gPiBTbyB5ZXMgbW92ZSB0aGlzIHRvIGFmdGVyIGludGVsX2RwX3N0b3Bf bGlua190cmFpbmluZygpLgo+ID4+ID4gPgo+ID4+ID4gPiA+ID4gKwo+ID4+ID4gPiA+ID4gIAlp ZiAocG9ydCAhPSBQT1JUX0EgfHwgSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KQo+ID4+ID4gPiA+ ID4gIAkJaW50ZWxfZHBfc3RvcF9saW5rX3RyYWluKGludGVsX2RwKTsKPiA+PiA+ID4gPiA+Cj4g Pj4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ ID4+ID4gPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGluZGV4Cj4gPj4g PiA+ID4gPiBiNGU4YWYzMTQyYTIuLmI5Zjg1NTAyZDlmZiAxMDA2NDQKPiA+PiA+ID4gPiA+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiA+PiA+ID4gPiA+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiA+PiA+ID4gPiA+IEBAIC0zMDE3LDYgKzMw MTcsMzMgQEAgdm9pZCBpbnRlbF9kcF9zaW5rX3NldF9mZWNfcmVhZHkoc3RydWN0Cj4gPmludGVs X2RwICppbnRlbF9kcCwKPiA+PiA+ID4gPiA+ICAJCURSTV9ERUJVR19LTVMoIkZhaWxlZCB0byBn ZXQgRkVDIGVuYWJsZWQgaW4KPiA+c2lua1xuIik7ICB9Cj4gPj4gPiA+ID4gPgo+ID4+ID4gPiA+ ID4gK3ZvaWQgaW50ZWxfZHBfZW5hYmxlX2ZlY19zdGF0ZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVs X2RwLAo+ID4+ID4gPiA+ID4gKwkJCSAgICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSkgewo+ID4+ID4gPiA+ID4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSBkcF90b19pOTE1KGludGVsX2RwKTsKPiA+PiA+ID4gPiA+ICsJc3RydWN0IGlu dGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPQo+ID5kcF90b19kaWdfcG9ydChpbnRl bF9kcCk7Cj4gPj4gPiA+ID4gPiArCWVudW0gcG9ydCBwb3J0ID0gaW50ZWxfZGlnX3BvcnQtPmJh c2UucG9ydDsKPiA+PiA+ID4gPiA+ICsJdTMyIHZhbDsKPiA+PiA+ID4gPiA+ICsKPiA+PiA+ID4g PiA+ICsJLyogRkVDIHN1cHBvcnQgZXhpc3RzIGZvciBEUCAxLjQgb25seSAqLwo+ID4+ID4gPiA+ ID4gKwlpZiAoaW50ZWxfZHBfaXNfZWRwKGludGVsX2RwKSkKPiA+PiA+ID4gPiA+ICsJCXJldHVy bjsKPiA+PiA+ID4gPiA+ICsKPiA+PiA+ID4gPiA+ICsJLyogSWYgRGlzcGxheSBDb21wcmVzc2lv biBpcyBub3QgZW5hYmxlZCwgRkVDIG5lZWQgbm90IGJlCj4gPmNvbmZpZ3VyZWQgKi8KPiA+PiA+ ID4gPiA+ICsJaWYgKCFjcnRjX3N0YXRlLT5kc2NfcGFyYW1zLmNvbXByZXNzaW9uX2VuYWJsZSkK PiA+PiA+ID4gPiA+ICsJCXJldHVybjsKPiA+PiA+ID4gPiA+ICsKPiA+PiA+ID4gPiA+ICsJdmFs ID0gSTkxNV9SRUFEKERQX1RQX0NUTChwb3J0KSk7Cj4gPj4gPiA+ID4gPiArCXZhbCB8PSBEUF9U UF9DVExfRkVDX0VOQUJMRTsKPiA+PiA+ID4gPiA+ICsJSTkxNV9XUklURShEUF9UUF9DVEwocG9y dCksIHZhbCk7Cj4gPj4gPiA+ID4gPiArCj4gPj4gPiA+ID4gPiArCWlmIChpbnRlbF93YWl0X2Zv cl9yZWdpc3RlcihkZXZfcHJpdiwgRFBfVFBfU1RBVFVTKHBvcnQpLAo+ID4+ID4gPiA+ID4gKwkJ CQkgICAgRFBfVFBfU1RBVFVTX0ZFQ19FTkFCTEVfTElWRSwKPiA+PiA+ID4gPiA+ICsJCQkJICAg IERQX1RQX1NUQVRVU19GRUNfRU5BQkxFX0xJVkUsCj4gPj4gPiA+ID4gPiArCQkJCSAgICAxKSkK PiA+PiA+ID4gPiA+ICsJCURSTV9FUlJPUigiVGltZWQgb3V0IHdhaXRpbmcgZm9yIEZFQyBFbmFi bGUKPiA+U3RhdHVzXG4iKTsgfQo+ID4+ID4gPiA+Cj4gPj4gPiA+ID4gVGhlcmUgaXMgbm8gcmVh c29uIHRvIHN0aWNrIHRoZXNlIGludG8gaW50ZWxfZHAuYyB3aGVuIHRoZSBvbmx5Cj4gPj4gPiA+ ID4gY2FsbGVyIGlzIGluIGludGVsX2RkaS5jLgo+ID4+ID4gPiA+Cj4gPj4gPiA+Cj4gPj4gPiA+ IFNvIG1heSBiZSBtb3ZlIHRoZSBzZXRfZHNjX3N0YXRlIGZ1bmN0aW9uIGFsc28gZnJvbSBpbnRl bF9kcC5jIHRvCj4gPj4gPiA+IGludGVsX2RkaS5jIE9yIGRvZXMgaXQgbWFrZSBzZW5zZSB0byBt b3ZlIGFsbCB0aGVzZSBEU0MgcmVsYXRlZCBmdW5jdGlvbnMKPiA+aW5jbHVkaW5nIGZlYyB0byBp bnRlbF9kc2MuYz8KPiA+PiA+ID4KPiA+PiA+ID4gPiBXZSBhbHNvIHNlZW0gdG8gYmUgbWlzc2lu ZyBwbGF0Zm9ybSBjaGVja3MuIEZFQyBkb2Vzbid0IGFwcGVhcgo+ID4+ID4gPiA+IHRvIGJlIGEg dGhpbmcgcHJpb3IgdG8gSUNMLiBJIGd1ZXNzIHRoZSBlZHArY29tcHJlc3Npb25fZW5hYmxlCj4g Pj4gPiA+ID4gdGFrZXMgY2FyZSBvZiB0aGlzLCBidXQgSSB0aGluayBJJ2QgcmF0aGVyIHN0aWNr IGEgbmV3Cj4gPj4gPiA+ID4gZmVjX2VuYWJsZSBib29sIGludG8gdGhlIGNydGMgc3RhdGUuIFRo YXQgd2F5IHdlIGdldCBjYW4gYWRkIGl0IHRvIHRoZQo+ID5zdGF0ZSBjaGVja2VyIGFzIHdlbGwu Cj4gPj4gPiA+ID4KPiA+PiA+ID4KPiA+PiA+ID4gZmVjX2VuYWJsZSBjYW4gYmUgYWRkZWQgdG8g Y3J0Y19zdGF0ZS0+ZHNjX3BhcmFtcyBtYXkgYmU/Cj4gPj4gPgo+ID4+ID4gSXNuJ3QgRkVDIHNv bWV0aGluZyB0aGF0IGNhbiBiZSB1c2VkIHcvbyBEU0MgdG9vPwo+ID4+ID4KPiA+Pgo+ID4+IE5v cGUsIEZFQyBhbHdheXMgZ29lcyBoYW5kIGluIGhhbmQgd2l0aCBEU0Mgb24gZXh0ZXJuYWwgRFAg YW5kIHRoYXQKPiA+PiBEU0Mgb24gZXh0ZXJuYWwgRFAgY2Fubm90IGJlIGVuYWJsZWQgd2l0aG91 dCBGRUMuCj4gPgo+ID5TdXJlLCBEU0MgbmVlZHMgRkVDLiBCdXQgRkVDIGRvZXNuJ3QgbmVlZCBE U0MuIEF0IGxlYXN0IGlmIEknbSByZWFkaW5nIHRoZSBzcGVjCj4gPmNvcnJlY3RseS4KPiA+Cj4g PkZFQyBpcyBlbmFibGVkIGZvciB0aGUgZW50aXJlIG1haW4gbGluaywgc28gZXZlcnl0aGluZyBn ZXR0aW5nIHRyYW5zcG9ydGVkIG92ZXIgaXQKPiA+Z2V0IEZFQ2NlZC4gRFNDIG9uIHRoZSBvdGhl ciBoYW5kIG9wZXJhdGVzIG9uIG9uIGEgc3RyZWFtIGxldmVsLiBTbyBhc3N1bWluZyBhCj4gPk1T VCBicmFuY2ggZGV2aWNlIHRoYXQgY2FuIGRvIEZFQyBidXQgY2FuJ3QgZG8gRFNDIHlvdSBzaG91 bGQgYmUgYWJsZSB0cmFuc3BvcnQKPiA+Ym90aCBjb21wcmVzc2VkIGFuZCB1bmNvbXByZXNzZWQg c3RyZWFtcyB0aHJvdWdoIGl0IHNpbXVsdGFuZW91c2x5LiBLaW5kYQo+ID5tYWtlcyBtZSB0aGlu ayB0aGF0IHdlIHdhbnQgdG8gZW5hYmxlIEZFQyBmb3IgTVNUIHdoZW5ldmVyIHRoZSBkb3duc3Ry ZWFtCj4gPmRldmljZSBzdXBwb3J0cyBpdC4KPiAKPiBGRUMgZm9yIE1TVCBtb2RlcyBpcyBub3Qg c3VwcG9ydGVkIGZvciBJQ0wgcGxhdGZvcm0uIFdlIGNvdWxkIGV4dGVuZCB0aGlzIGZvciBmdXR1 cmUgcGxhdGZvcm1zICBmb3IgYnJhbmNoIGRldmljZXMgdGhhdCBzdXBwb3J0IEZFQy4KPiAKPiA+ QW5kIEkgc3VwcG9zZSB3ZSBjb3VsZCBhbHNvIGNvbnNpZGVyIHVzaW5nIEZFQyBvcHBvcnR1bmlz dGljYWxseSBmb3IKPiA+dW5jb21wcmVzc2VkIFNTVCB3aGVuIHdlIGhhdmUgdGhlIGV4dHJhIGxp bmsgYmFuZHdpZHRoIHRvIGhhbmRsZSB0aGUgZXh0cmEKPiA+b3ZlcmhlYWQuCgpCdXQgSSBzdGls bCBkb250IHVuZGVyc3RhbmQgdGhlIHVzZSBvZiBlbmFibGluZyBGRUMgb24gdW5jb21wcmVzc2Vk IHN0cmVhbXMuIFdoYXQgZXJyb3JzIGFyZSB3ZSB0cnlpbmcgdG8gY29ycmVjdCB3aGVuIHRoZSBz dHJlYW0KaXMgc2VudCBhcyBpcz8gV2lsbCBpdCBiZSB1c2VkIHRvIGNvcnJlY3QgdGhlIGNoYW5u ZWwgZXJyb3JzIGluIHRoYXQgY2FzZT8KCk1hbmFzaQoKPiAKPiBZZXMuIFRoZSByZXF1aXJlbWVu dCB0aG91Z2ggaXMgZm9yIGNvbXByZXNzZWQgc3RyZWFtcy4gSSBhbSBub3Qgc3VyZSBpZiB3ZSB3 aWxsIGhhdmUgdG8gcGF5IGFueSBwb3dlciBwZW5hbHR5IGZvciBTU1QuIEFsc28gbXkgdW5kZXJz dGFuZGluZyBpcyB0aGF0IGlmIGEgZmV3IHN5bWJvbHMgaW4gYSBub24tY29tcHJlc3NlZCBzdHJl YW0gYXJlIGluIGVycm9yLCB0aGVuIG9ubHkgdGhvc2Ugc3ltYm9scyB3aWxsIGJlIGluIGVycm9y LiBUaGVzZSBlcnJvcnMgZG8gbm90IGNhdXNlIG90aGVyIHBpeGVscyB0byBnZXQgY29ycnVwdGVk LiBJbiBjb21wcmVzc2VkIHN0cmVhbXMsIGlmIGEgZmV3IHN5bWJvbHMgYXJlIGluIGVycm9yLCBp dCBjYW4gY2F1c2UgdGhlIGVudGlyZSBzbGljZSB0byBnZXQgY29ycnVwdGVkLiBXaWxsIHdlIGJl IGdldHRpbmcgYW55IG11Y2ggcmV0dXJuIG9uIG5vbi1jb21wcmVzc2VkIHN0cmVhbXM/Cj4gCj4g QW51c2hhIAo+ID4+Cj4gPj4gTWFuYXNpCj4gPj4KPiA+PiA+ID4KPiA+PiA+ID4gTWFuYXNpCj4g Pj4gPiA+Cj4gPj4gPiA+ID4gPiArCj4gPj4gPiA+ID4gPiAgLyogSWYgdGhlIHNpbmsgc3VwcG9y dHMgaXQsIHRyeSB0byBzZXQgdGhlIHBvd2VyIHN0YXRlCj4gPj4gPiA+ID4gPiBhcHByb3ByaWF0 ZWx5ICovICB2b2lkIGludGVsX2RwX3NpbmtfZHBtcyhzdHJ1Y3QgaW50ZWxfZHAKPiA+PiA+ID4g PiA+ICppbnRlbF9kcCwgaW50IG1vZGUpICB7IGRpZmYgLS1naXQKPiA+PiA+ID4gPiA+IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+PiA+ID4gPiA+IGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+PiA+ID4gPiA+IGluZGV4IGZiYzlmYTA2ZThiZS4uZTUx ZDYxMmE5ZjQyIDEwMDY0NAo+ID4+ID4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmgKPiA+PiA+ID4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi5oCj4gPj4gPiA+ID4gPiBAQCAtMTUzMiw3ICsxNTMyLDYgQEAgaW50ZWxfZW5jb2Rlcl9j dXJyZW50X21vZGUoc3RydWN0Cj4gPj4gPiA+ID4gPiBpbnRlbF9lbmNvZGVyICplbmNvZGVyKTsg IGJvb2wgaW50ZWxfcG9ydF9pc190YyhzdHJ1Y3QKPiA+PiA+ID4gPiA+IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LCBlbnVtIHBvcnQgcG9ydCk7ICBlbnVtIHRjX3BvcnQKPiA+aW50ZWxfcG9y dF90b190YyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPj4gPiA+ID4gPiAg CQkJICAgICAgZW51bSBwb3J0IHBvcnQpOwo+ID4+ID4gPiA+ID4gLQo+ID4+ID4gPiA+ID4gIGVu dW0gcGlwZSBpbnRlbF9nZXRfcGlwZV9mcm9tX2Nvbm5lY3RvcihzdHJ1Y3QKPiA+PiA+ID4gPiA+ IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsgIGludAo+ID5pbnRlbF9nZXRfcGlwZV9mcm9t X2NydGNfaWRfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKPiA+PiA+ ID4gPiA+ICAJCQkJICAgICAgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpOyBAQCAtCj4gPjE3 MTIsNiArMTcxMSw4IEBACj4gPj4gPiA+ID4gPiB2b2lkIGludGVsX2RwX3Npbmtfc2V0X2RlY29t cHJlc3Npb25fc3RhdGUoc3RydWN0IGludGVsX2RwCj4gPj4gPiA+ID4gPiAqaW50ZWxfZHAsICB2 b2lkIGludGVsX2RwX3Npbmtfc2V0X2ZlY19yZWFkeShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2Rw LAo+ID4+ID4gPiA+ID4gIAkJCQkgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUKPiA+KmNy dGNfc3RhdGUsCj4gPj4gPiA+ID4gPiAgCQkJCSBpbnQgc3RhdGUpOwo+ID4+ID4gPiA+ID4gK3Zv aWQgaW50ZWxfZHBfZW5hYmxlX2ZlY19zdGF0ZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+ ID4+ID4gPiA+ID4gKwkJCSAgICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSk7Cj4gPj4gPiA+ID4gPiAgdm9pZCBpbnRlbF9kcF9lbmNvZGVyX3Jlc2V0KHN0cnVj dCBkcm1fZW5jb2RlciAqZW5jb2Rlcik7Cj4gPj4gPiA+ID4gPiB2b2lkIGludGVsX2RwX2VuY29k ZXJfc3VzcGVuZChzdHJ1Y3QgaW50ZWxfZW5jb2Rlcgo+ID4+ID4gPiA+ID4gKmludGVsX2VuY29k ZXIpOyAgdm9pZCBpbnRlbF9kcF9lbmNvZGVyX2Rlc3Ryb3koc3RydWN0Cj4gPj4gPiA+ID4gPiBk cm1fZW5jb2RlciAqZW5jb2Rlcik7Cj4gPj4gPiA+ID4gPiAtLQo+ID4+ID4gPiA+ID4gMi4xNy4x Cj4gPj4gPiA+ID4KPiA+PiA+ID4gPiAtLQo+ID4+ID4gPiA+IFZpbGxlIFN5cmrDpGzDpAo+ID4+ ID4gPiA+IEludGVsCj4gPj4gPgo+ID4+ID4gLS0KPiA+PiA+IFZpbGxlIFN5cmrDpGzDpAo+ID4+ ID4gSW50ZWwKPiA+Cj4gPi0tCj4gPlZpbGxlIFN5cmrDpGzDpAo+ID5JbnRlbApfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK