From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: Re: [PATCH] drm/i915: Adaptive backoff delay on link training Date: Wed, 16 Mar 2016 17:07:46 +0200 Message-ID: <87twk6fol9.fsf@gaia.fi.intel.com> References: <1456484096-7372-1-git-send-email-mika.kuoppala@intel.com> <1456997226.2724.12.camel@gmail.com> <20160304125947.GQ10446@intel.com> <1457099458.2668.35.camel@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id 30F1C6E954 for ; Wed, 16 Mar 2016 15:10:10 +0000 (UTC) In-Reply-To: <1457099458.2668.35.camel@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ander Conselvan De Oliveira , Ville =?utf-8?B?U3lyasOkbMOk?= Cc: intel-gfx@lists.freedesktop.org, Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org QW5kZXIgQ29uc2VsdmFuIERlIE9saXZlaXJhIDxjb25zZWx2YW4yQGdtYWlsLmNvbT4gd3JpdGVz OgoKPiBbIHRleHQvcGxhaW4gXQo+IE9uIEZyaSwgMjAxNi0wMy0wNCBhdCAxNDo1OSArMDIwMCwg VmlsbGUgU3lyasOkbMOkIHdyb3RlOgo+PiBPbiBUaHUsIE1hciAwMywgMjAxNiBhdCAxMToyNzow NkFNICswMjAwLCBBbmRlciBDb25zZWx2YW4gRGUgT2xpdmVpcmEgd3JvdGU6Cj4+ID4gKENjJ2lu ZyBTaXZha3VtYXIsIGFzIGhlIG1pZ2h0IGhhdmUgc29tZSBpZGVhcyBvbiB0aGlzKQo+PiA+IAo+ PiA+IE9uIEZyaSwgMjAxNi0wMi0yNiBhdCAxMjo1NCArMDIwMCwgTWlrYSBLdW9wcGFsYSB3cm90 ZToKPj4gPiA+IElmIHRoZSBwYW5lbCBkb24ndCBnaXZlIHVzIHRoZSBpbmZvcm1hdGlvbiBob3cg bG9uZyB0byB3YWl0Cj4+ID4gPiBiZWZvcmUgc3RhcnRpbmcgYSBuZXcgbGluayB0cmFpbmluZyBw aGFzZSwgaXQgaXMgbm90IHByb2R1Y3RpdmUKPj4gPiA+IHRvIHBva2UgaXQgYXQgMTAwdXMgb3Ig NDAwdXMgaW50ZXJ2YWxzIGFuZCB0aGVuIGdpdmUgdXAgaWYgaXQKPj4gPiA+IGZhaWxzIHRvIHJl c3BvbmQgaW4gdGltZS4gSW5zdGVhZCBncmFkdWFsbHkgaW5jcmVhc2UgdGhlIHRyYWluaW5nCj4+ ID4gPiBkZWxheSBzbyB0aGF0IHdlIHJlYWNoIHRoZSBzbG93ZXIga2luZCBhbmQgZ2V0IGRpc3Bs YXkgdXAuCj4+ID4gPiAKPj4gPiA+IFRoaXMgd2FzIG5lZWRlZCB0byByZWFjaCBwYW5lbDoKPj4g PiA+IAo+PiA+ID4gMDAwMDogMTIgMTQgYzQgNDEgMDAgMDAgMDEgYzAgMDIgMDAgMDAgMDAgMWYg MGIgMDAKPj4gPiA+IDAwNzA6IDAxIDAwCj4+ID4gPiAwMDgwOiAwMCAwMCAwMCAwMCAwMCAwMCAw MCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAo+PiA+ID4gMDEwMDogMTQgODQgMDAgMDAgMDAg MDAgMDAgMDAgMDEgMTAgMDAKPj4gPiA+IDAyMDA6IDAxIDAwIDAwIDAwIDgwIDAwIDAwIDAwCj4+ ID4gPiAwNjAwOiAwMQo+PiA+ID4gMDcwMDogMDIKPj4gPiA+IDA3MDE6IGI3IGY2IDAwIDAwCj4+ ID4gPiAwNzIwOiAwMCAwNCAwMiAwMCAwYSAwNCAwYSAwMCAxYiAwMCAwMCAwMSAwMCBmZiBmZiAw Mwo+PiA+ID4gMDczMjogMDQgMTAKPj4gPiA+IAo+PiA+ID4gb24ga2JsICg4MDg2OjU5MWUpCj4+ ID4gCj4+ID4gSSBwb2tlZCBhdCB0aGUgbWFjaGluZSBpbiBxdWVzdGlvbi4gSGVyZSdzIHdoYXQg SSBmb3VuZCBvdXQ6Cj4+ID4gCj4+ID4gLSBoYXZpbmcgdGhlIGRlbGF5IGZpeGVkIGF0IDE2bXMg d2l0aCBhbGwgdGhlIHJldHJpZXMgaW4gdGhpcyBwYXRjaCBpcwo+PiA+IGVub3VnaCB0bwo+PiA+ IGFjaGlldmUgY2xvY2sgcmVjb3Zlcnk7Cj4+ID4gLSBmb3JjaW5nIGRpZmZlcmVudCBpYm9vc3Qg bGV2ZWxzIGRvZXNuJ3QgcmVkdWNlIHRoZSBudW1iZXIgb2YgdHJpZXMgZG9uZQo+PiA+IHdpdGgK Pj4gPiB0aGUgY29kZSBpbiB0aGlzIHBhdGNoOwo+PiAKPj4gRGlkIHlvdSB0cnkgbG93IHZzd2lu ZyB2cy4gbm90Pwo+Cj4gSSBjb21wbGV0ZWx5IG1pc3NlZCB0aGF0LiBKdWRnaW5nIGZyb20gdGhl IGxvZyBiZWxvdywgZGV2X3ByaXYtPmVkcF9sb3dfdnN3aW5nCj4gd2FzIHNldCBieSB0aGUgYmlv cywgc2luY2UgdnN3aW5nIGxldmVsIDMgaXMgYmVpbmcgdXNlZC4gU2hvdWxkIHRyeSBib290aW5n IHdpdGgKPiBpOTE1LmVkcF92c3dpbmc9Mi4KPgoKV2l0aCB0b2RheXMgbmlnaHRseSBhbmQgaTkx NS5lZHBfdnN3aW5nPTIgd2UgZ2V0IGRpc3BsYXkuIAoKVGhpcyBwYXRjaCBjYW4gYmUgdGh1cyBp Z25vcmVkLgoKLU1pa2EKCj4gQW5kZXIKPgo+PiA+IC0gY2xvY2sgcmVjb3ZlcnkgZmFpbHMgYmVj YXVzZSBsYW5lIDAgZmFpbHMgdG8gYWNoaWV2ZSBjbG9jayByZWNvdmVyeSBtb3N0Cj4+ID4gb2YK Pj4gPiB0aGUgdGltZSwgd2hpbGUgdGhlIG90aGVyIGxhbmVzIHN1Y2NlZWQuCj4+ID4gCj4+ID4g VGhlIGxvZyBiZWxvdyB3YXMgb2J0YWluZWQgd2l0aCBhIHBhdGNoIHRvIGxvZyB0aGUgbGluayBz dGF0dXMgYWZ0ZXIgZWFjaAo+PiA+IGNsb2NrCj4+ID4gcmVjb3ZlcnkgZGVsYXkuCj4+ID4gCj4+ ID4gCj4+ID4gIFtkcm06aW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHNdIFVzaW5nIHNpZ25hbCBs ZXZlbHMgMDAwMDAwMDAKPj4gPiAgW2RybTppbnRlbF9kcF9zZXRfc2lnbmFsX2xldmVsc10gVXNp bmcgdnN3aW5nIGxldmVsIDAKPj4gPiAgW2RybTppbnRlbF9kcF9zZXRfc2lnbmFsX2xldmVsc10g VXNpbmcgcHJlLWVtcGhhc2lzIGxldmVsIDAKPj4gPiAgW2RybTppbnRlbF9kcF9saW5rX3RyYWlu aW5nX2Nsb2NrX3JlY292ZXJ5XSBsaW5rIHN0YXR1czogMDAgMDAgODAgMDAgMTEgMTEKPj4gPiAg W2RybTppbnRlbF9kcF9zZXRfc2lnbmFsX2xldmVsc10gVXNpbmcgc2lnbmFsIGxldmVscyAwNDAw MDAwMAo+PiA+ICBbZHJtOmludGVsX2RwX3NldF9zaWduYWxfbGV2ZWxzXSBVc2luZyB2c3dpbmcg bGV2ZWwgMQo+PiA+ICBbZHJtOmludGVsX2RwX3NldF9zaWduYWxfbGV2ZWxzXSBVc2luZyBwcmUt ZW1waGFzaXMgbGV2ZWwgMAo+PiA+ICBbZHJtOmludGVsX2RwX2xpbmtfdHJhaW5pbmdfY2xvY2tf cmVjb3ZlcnldIGxpbmsgc3RhdHVzOiAxMCAxMSA4MCAwMCAxMiAxMQo+PiA+ICBbZHJtOmludGVs X2RwX3NldF9zaWduYWxfbGV2ZWxzXSBVc2luZyBzaWduYWwgbGV2ZWxzIDA3MDAwMDAwCj4+ID4g IFtkcm06aW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHNdIFVzaW5nIHZzd2luZyBsZXZlbCAyCj4+ ID4gIFtkcm06aW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHNdIFVzaW5nIHByZS1lbXBoYXNpcyBs ZXZlbCAwCj4+ID4gIFtkcm06aW50ZWxfZHBfbGlua190cmFpbmluZ19jbG9ja19yZWNvdmVyeV0g bGluayBzdGF0dXM6IDEwIDExIDgwIDAwIDIzIDIyCj4+ID4gIFtkcm06aW50ZWxfZHBfc2V0X3Np Z25hbF9sZXZlbHNdIFVzaW5nIHNpZ25hbCBsZXZlbHMgMDkwMDAwMDAKPj4gPiAgW2RybTppbnRl bF9kcF9zZXRfc2lnbmFsX2xldmVsc10gVXNpbmcgdnN3aW5nIGxldmVsIDMKPj4gPiAgW2RybTpp bnRlbF9kcF9zZXRfc2lnbmFsX2xldmVsc10gVXNpbmcgcHJlLWVtcGhhc2lzIGxldmVsIDAKPj4g PiAgW2RybTppbnRlbF9kcF9saW5rX3RyYWluaW5nX2Nsb2NrX3JlY292ZXJ5XSBsaW5rIHN0YXR1 czogMTAgMTAgODAgMDAgMzMgMzMKPj4gPiAKPj4gPiAgW2RybTppbnRlbF9kcF9zZXRfc2lnbmFs X2xldmVsc10gVXNpbmcgc2lnbmFsIGxldmVscyAwMDAwMDAwMAo+PiA+ICBbZHJtOmludGVsX2Rw X3NldF9zaWduYWxfbGV2ZWxzXSBVc2luZyB2c3dpbmcgbGV2ZWwgMAo+PiA+ICBbZHJtOmludGVs X2RwX3NldF9zaWduYWxfbGV2ZWxzXSBVc2luZyBwcmUtZW1waGFzaXMgbGV2ZWwgMAo+PiA+ICBb ZHJtOmludGVsX2RwX2xpbmtfdHJhaW5pbmdfY2xvY2tfcmVjb3ZlcnldIGxpbmsgc3RhdHVzOiAw MCAwMCA4MCAwMCAxMSAxMQo+PiA+ICBbZHJtOmludGVsX2RwX3NldF9zaWduYWxfbGV2ZWxzXSBV c2luZyBzaWduYWwgbGV2ZWxzIDA0MDAwMDAwCj4+ID4gIFtkcm06aW50ZWxfZHBfc2V0X3NpZ25h bF9sZXZlbHNdIFVzaW5nIHZzd2luZyBsZXZlbCAxCj4+ID4gIFtkcm06aW50ZWxfZHBfc2V0X3Np Z25hbF9sZXZlbHNdIFVzaW5nIHByZS1lbXBoYXNpcyBsZXZlbCAwCj4+ID4gIFtkcm06aW50ZWxf ZHBfbGlua190cmFpbmluZ19jbG9ja19yZWNvdmVyeV0gbGluayBzdGF0dXM6IDEwIDEwIDgwIDAw IDEyIDEyCj4+ID4gIFtkcm06aW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHNdIFVzaW5nIHNpZ25h bCBsZXZlbHMgMDcwMDAwMDAKPj4gPiAgW2RybTppbnRlbF9kcF9zZXRfc2lnbmFsX2xldmVsc10g VXNpbmcgdnN3aW5nIGxldmVsIDIKPj4gPiAgW2RybTppbnRlbF9kcF9zZXRfc2lnbmFsX2xldmVs c10gVXNpbmcgcHJlLWVtcGhhc2lzIGxldmVsIDAKPj4gPiAgW2RybTppbnRlbF9kcF9saW5rX3Ry YWluaW5nX2Nsb2NrX3JlY292ZXJ5XSBsaW5rIHN0YXR1czogMTAgMTEgODAgMDAgMjMgMjIKPj4g PiAgW2RybTppbnRlbF9kcF9zZXRfc2lnbmFsX2xldmVsc10gVXNpbmcgc2lnbmFsIGxldmVscyAw OTAwMDAwMAo+PiA+ICBbZHJtOmludGVsX2RwX3NldF9zaWduYWxfbGV2ZWxzXSBVc2luZyB2c3dp bmcgbGV2ZWwgMwo+PiA+ICBbZHJtOmludGVsX2RwX3NldF9zaWduYWxfbGV2ZWxzXSBVc2luZyBw cmUtZW1waGFzaXMgbGV2ZWwgMAo+PiA+ICBbZHJtOmludGVsX2RwX2xpbmtfdHJhaW5pbmdfY2xv Y2tfcmVjb3ZlcnldIGxpbmsgc3RhdHVzOiAxMCAxMCA4MCAwMCAzMyAzMwo+PiA+IAo+PiA+ICBb ZHJtOmludGVsX2RwX3NldF9zaWduYWxfbGV2ZWxzXSBVc2luZyBzaWduYWwgbGV2ZWxzIDAwMDAw MDAwCj4+ID4gIFtkcm06aW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHNdIFVzaW5nIHZzd2luZyBs ZXZlbCAwCj4+ID4gIFtkcm06aW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHNdIFVzaW5nIHByZS1l bXBoYXNpcyBsZXZlbCAwCj4+ID4gIFtkcm06aW50ZWxfZHBfbGlua190cmFpbmluZ19jbG9ja19y ZWNvdmVyeV0gbGluayBzdGF0dXM6IDAwIDAwIDgwIDAwIDExIDExCj4+ID4gIFtkcm06aW50ZWxf ZHBfc2V0X3NpZ25hbF9sZXZlbHNdIFVzaW5nIHNpZ25hbCBsZXZlbHMgMDQwMDAwMDAKPj4gPiAg W2RybTppbnRlbF9kcF9zZXRfc2lnbmFsX2xldmVsc10gVXNpbmcgdnN3aW5nIGxldmVsIDEKPj4g PiAgW2RybTppbnRlbF9kcF9zZXRfc2lnbmFsX2xldmVsc10gVXNpbmcgcHJlLWVtcGhhc2lzIGxl dmVsIDAKPj4gPiAgW2RybTppbnRlbF9kcF9saW5rX3RyYWluaW5nX2Nsb2NrX3JlY292ZXJ5XSBs aW5rIHN0YXR1czogMTAgMTAgODAgMDAgMTIgMTIKPj4gPiAgW2RybTppbnRlbF9kcF9zZXRfc2ln bmFsX2xldmVsc10gVXNpbmcgc2lnbmFsIGxldmVscyAwNzAwMDAwMAo+PiA+ICBbZHJtOmludGVs X2RwX3NldF9zaWduYWxfbGV2ZWxzXSBVc2luZyB2c3dpbmcgbGV2ZWwgMgo+PiA+ICBbZHJtOmlu dGVsX2RwX3NldF9zaWduYWxfbGV2ZWxzXSBVc2luZyBwcmUtZW1waGFzaXMgbGV2ZWwgMAo+PiA+ ICBbZHJtOmludGVsX2RwX2xpbmtfdHJhaW5pbmdfY2xvY2tfcmVjb3ZlcnldIGxpbmsgc3RhdHVz OiAxMCAxMSA4MCAwMCAyMyAyMgo+PiA+ICBbZHJtOmludGVsX2RwX3NldF9zaWduYWxfbGV2ZWxz XSBVc2luZyBzaWduYWwgbGV2ZWxzIDA5MDAwMDAwCj4+ID4gIFtkcm06aW50ZWxfZHBfc2V0X3Np Z25hbF9sZXZlbHNdIFVzaW5nIHZzd2luZyBsZXZlbCAzCj4+ID4gIFtkcm06aW50ZWxfZHBfc2V0 X3NpZ25hbF9sZXZlbHNdIFVzaW5nIHByZS1lbXBoYXNpcyBsZXZlbCAwCj4+ID4gIFtkcm06aW50 ZWxfZHBfbGlua190cmFpbmluZ19jbG9ja19yZWNvdmVyeV0gbGluayBzdGF0dXM6IDEwIDEwIDgw IDAwIDMzIDMzCj4+ID4gCj4+ID4gIFtkcm06aW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHNdIFVz aW5nIHNpZ25hbCBsZXZlbHMgMDAwMDAwMDAKPj4gPiAgW2RybTppbnRlbF9kcF9zZXRfc2lnbmFs X2xldmVsc10gVXNpbmcgdnN3aW5nIGxldmVsIDAKPj4gPiAgW2RybTppbnRlbF9kcF9zZXRfc2ln bmFsX2xldmVsc10gVXNpbmcgcHJlLWVtcGhhc2lzIGxldmVsIDAKPj4gPiAgW2RybTppbnRlbF9k cF9saW5rX3RyYWluaW5nX2Nsb2NrX3JlY292ZXJ5XSBsaW5rIHN0YXR1czogMDAgMDAgODAgMDAg MTEgMTEKPj4gPiAgW2RybTppbnRlbF9kcF9zZXRfc2lnbmFsX2xldmVsc10gVXNpbmcgc2lnbmFs IGxldmVscyAwNDAwMDAwMAo+PiA+ICBbZHJtOmludGVsX2RwX3NldF9zaWduYWxfbGV2ZWxzXSBV c2luZyB2c3dpbmcgbGV2ZWwgMQo+PiA+ICBbZHJtOmludGVsX2RwX3NldF9zaWduYWxfbGV2ZWxz XSBVc2luZyBwcmUtZW1waGFzaXMgbGV2ZWwgMAo+PiA+ICBbZHJtOmludGVsX2RwX2xpbmtfdHJh aW5pbmdfY2xvY2tfcmVjb3ZlcnldIGxpbmsgc3RhdHVzOiAxMCAxMCA4MCAwMCAxMiAxMgo+PiA+ ICBbZHJtOmludGVsX2RwX3NldF9zaWduYWxfbGV2ZWxzXSBVc2luZyBzaWduYWwgbGV2ZWxzIDA3 MDAwMDAwCj4+ID4gIFtkcm06aW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHNdIFVzaW5nIHZzd2lu ZyBsZXZlbCAyCj4+ID4gIFtkcm06aW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHNdIFVzaW5nIHBy ZS1lbXBoYXNpcyBsZXZlbCAwCj4+ID4gIFtkcm06aW50ZWxfZHBfbGlua190cmFpbmluZ19jbG9j a19yZWNvdmVyeV0gbGluayBzdGF0dXM6IDEwIDExIDgwIDAwIDIzIDIyCj4+ID4gIFtkcm06aW50 ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHNdIFVzaW5nIHNpZ25hbCBsZXZlbHMgMDkwMDAwMDAKPj4g PiAgW2RybTppbnRlbF9kcF9zZXRfc2lnbmFsX2xldmVsc10gVXNpbmcgdnN3aW5nIGxldmVsIDMK Pj4gPiAgW2RybTppbnRlbF9kcF9zZXRfc2lnbmFsX2xldmVsc10gVXNpbmcgcHJlLWVtcGhhc2lz IGxldmVsIDAKPj4gPiAgW2RybTppbnRlbF9kcF9saW5rX3RyYWluaW5nX2Nsb2NrX3JlY292ZXJ5 XSBsaW5rIHN0YXR1czogMTAgMTAgODAgMDAgMzMgMzMKPj4gPiAKPj4gPiAgW2RybTppbnRlbF9k cF9zZXRfc2lnbmFsX2xldmVsc10gVXNpbmcgc2lnbmFsIGxldmVscyAwMDAwMDAwMAo+PiA+ICBb ZHJtOmludGVsX2RwX3NldF9zaWduYWxfbGV2ZWxzXSBVc2luZyB2c3dpbmcgbGV2ZWwgMAo+PiA+ ICBbZHJtOmludGVsX2RwX3NldF9zaWduYWxfbGV2ZWxzXSBVc2luZyBwcmUtZW1waGFzaXMgbGV2 ZWwgMAo+PiA+ICBbZHJtOmludGVsX2RwX2xpbmtfdHJhaW5pbmdfY2xvY2tfcmVjb3ZlcnldIGxp bmsgc3RhdHVzOiAwMCAwMCA4MCAwMCAxMSAxMQo+PiA+ICBbZHJtOmludGVsX2RwX3NldF9zaWdu YWxfbGV2ZWxzXSBVc2luZyBzaWduYWwgbGV2ZWxzIDA0MDAwMDAwCj4+ID4gIFtkcm06aW50ZWxf ZHBfc2V0X3NpZ25hbF9sZXZlbHNdIFVzaW5nIHZzd2luZyBsZXZlbCAxCj4+ID4gIFtkcm06aW50 ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHNdIFVzaW5nIHByZS1lbXBoYXNpcyBsZXZlbCAwCj4+ID4g IFtkcm06aW50ZWxfZHBfbGlua190cmFpbmluZ19jbG9ja19yZWNvdmVyeV0gbGluayBzdGF0dXM6 IDEwIDEwIDgwIDAwIDEyIDEyCj4+ID4gIFtkcm06aW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHNd IFVzaW5nIHNpZ25hbCBsZXZlbHMgMDcwMDAwMDAKPj4gPiAgW2RybTppbnRlbF9kcF9zZXRfc2ln bmFsX2xldmVsc10gVXNpbmcgdnN3aW5nIGxldmVsIDIKPj4gPiAgW2RybTppbnRlbF9kcF9zZXRf c2lnbmFsX2xldmVsc10gVXNpbmcgcHJlLWVtcGhhc2lzIGxldmVsIDAKPj4gPiAgW2RybTppbnRl bF9kcF9saW5rX3RyYWluaW5nX2Nsb2NrX3JlY292ZXJ5XSBsaW5rIHN0YXR1czogMTAgMTEgODAg MDAgMjMgMjIKPj4gPiAgW2RybTppbnRlbF9kcF9zZXRfc2lnbmFsX2xldmVsc10gVXNpbmcgc2ln bmFsIGxldmVscyAwOTAwMDAwMAo+PiA+ICBbZHJtOmludGVsX2RwX3NldF9zaWduYWxfbGV2ZWxz XSBVc2luZyB2c3dpbmcgbGV2ZWwgMwo+PiA+ICBbZHJtOmludGVsX2RwX3NldF9zaWduYWxfbGV2 ZWxzXSBVc2luZyBwcmUtZW1waGFzaXMgbGV2ZWwgMAo+PiA+ICBbZHJtOmludGVsX2RwX2xpbmtf dHJhaW5pbmdfY2xvY2tfcmVjb3ZlcnldIGxpbmsgc3RhdHVzOiAxMCAxMCA4MCAwMCAzMyAzMwo+ PiA+IAo+PiA+ICBbZHJtOmludGVsX2RwX3NldF9zaWduYWxfbGV2ZWxzXSBVc2luZyBzaWduYWwg bGV2ZWxzIDAwMDAwMDAwCj4+ID4gIFtkcm06aW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHNdIFVz aW5nIHZzd2luZyBsZXZlbCAwCj4+ID4gIFtkcm06aW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHNd IFVzaW5nIHByZS1lbXBoYXNpcyBsZXZlbCAwCj4+ID4gIFtkcm06aW50ZWxfZHBfbGlua190cmFp bmluZ19jbG9ja19yZWNvdmVyeV0gbGluayBzdGF0dXM6IDAwIDAwIDgwIDAwIDExIDExCj4+ID4g IFtkcm06aW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHNdIFVzaW5nIHNpZ25hbCBsZXZlbHMgMDQw MDAwMDAKPj4gPiAgW2RybTppbnRlbF9kcF9zZXRfc2lnbmFsX2xldmVsc10gVXNpbmcgdnN3aW5n IGxldmVsIDEKPj4gPiAgW2RybTppbnRlbF9kcF9zZXRfc2lnbmFsX2xldmVsc10gVXNpbmcgcHJl LWVtcGhhc2lzIGxldmVsIDAKPj4gPiAgW2RybTppbnRlbF9kcF9saW5rX3RyYWluaW5nX2Nsb2Nr X3JlY292ZXJ5XSBsaW5rIHN0YXR1czogMTAgMTAgODAgMDAgMTIgMTIKPj4gPiAgW2RybTppbnRl bF9kcF9zZXRfc2lnbmFsX2xldmVsc10gVXNpbmcgc2lnbmFsIGxldmVscyAwNzAwMDAwMAo+PiA+ ICBbZHJtOmludGVsX2RwX3NldF9zaWduYWxfbGV2ZWxzXSBVc2luZyB2c3dpbmcgbGV2ZWwgMgo+ PiA+ICBbZHJtOmludGVsX2RwX3NldF9zaWduYWxfbGV2ZWxzXSBVc2luZyBwcmUtZW1waGFzaXMg bGV2ZWwgMAo+PiA+ICBbZHJtOmludGVsX2RwX2xpbmtfdHJhaW5pbmdfY2xvY2tfcmVjb3Zlcnld IGxpbmsgc3RhdHVzOiAxMCAxMSA4MCAwMCAyMyAyMgo+PiA+ICBbZHJtOmludGVsX2RwX3NldF9z aWduYWxfbGV2ZWxzXSBVc2luZyBzaWduYWwgbGV2ZWxzIDA5MDAwMDAwCj4+ID4gIFtkcm06aW50 ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHNdIFVzaW5nIHZzd2luZyBsZXZlbCAzCj4+ID4gIFtkcm06 aW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHNdIFVzaW5nIHByZS1lbXBoYXNpcyBsZXZlbCAwCj4+ ID4gIFtkcm06aW50ZWxfZHBfbGlua190cmFpbmluZ19jbG9ja19yZWNvdmVyeV0gbGluayBzdGF0 dXM6IDEwIDEwIDgwIDAwIDMzIDMzCj4+ID4gCj4+ID4gIFtkcm06aW50ZWxfZHBfc2V0X3NpZ25h bF9sZXZlbHNdIFVzaW5nIHNpZ25hbCBsZXZlbHMgMDAwMDAwMDAKPj4gPiAgW2RybTppbnRlbF9k cF9zZXRfc2lnbmFsX2xldmVsc10gVXNpbmcgdnN3aW5nIGxldmVsIDAKPj4gPiAgW2RybTppbnRl bF9kcF9zZXRfc2lnbmFsX2xldmVsc10gVXNpbmcgcHJlLWVtcGhhc2lzIGxldmVsIDAKPj4gPiAg W2RybTppbnRlbF9kcF9saW5rX3RyYWluaW5nX2Nsb2NrX3JlY292ZXJ5XSBsaW5rIHN0YXR1czog MDAgMDAgODAgMDAgMTEgMTEKPj4gPiAgW2RybTppbnRlbF9kcF9zZXRfc2lnbmFsX2xldmVsc10g VXNpbmcgc2lnbmFsIGxldmVscyAwNDAwMDAwMAo+PiA+ICBbZHJtOmludGVsX2RwX3NldF9zaWdu YWxfbGV2ZWxzXSBVc2luZyB2c3dpbmcgbGV2ZWwgMQo+PiA+ICBbZHJtOmludGVsX2RwX3NldF9z aWduYWxfbGV2ZWxzXSBVc2luZyBwcmUtZW1waGFzaXMgbGV2ZWwgMAo+PiA+ICBbZHJtOmludGVs X2RwX2xpbmtfdHJhaW5pbmdfY2xvY2tfcmVjb3ZlcnldIGxpbmsgc3RhdHVzOiAxMCAxMCA4MCAw MCAxMiAxMgo+PiA+ICBbZHJtOmludGVsX2RwX3NldF9zaWduYWxfbGV2ZWxzXSBVc2luZyBzaWdu YWwgbGV2ZWxzIDA3MDAwMDAwCj4+ID4gIFtkcm06aW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHNd IFVzaW5nIHZzd2luZyBsZXZlbCAyCj4+ID4gIFtkcm06aW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZl bHNdIFVzaW5nIHByZS1lbXBoYXNpcyBsZXZlbCAwCj4+ID4gIFtkcm06aW50ZWxfZHBfbGlua190 cmFpbmluZ19jbG9ja19yZWNvdmVyeV0gbGluayBzdGF0dXM6IDEwIDExIDgwIDAwIDIzIDIyCj4+ ID4gIFtkcm06aW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHNdIFVzaW5nIHNpZ25hbCBsZXZlbHMg MDkwMDAwMDAKPj4gPiAgW2RybTppbnRlbF9kcF9zZXRfc2lnbmFsX2xldmVsc10gVXNpbmcgdnN3 aW5nIGxldmVsIDMKPj4gPiAgW2RybTppbnRlbF9kcF9zZXRfc2lnbmFsX2xldmVsc10gVXNpbmcg cHJlLWVtcGhhc2lzIGxldmVsIDAKPj4gPiAgW2RybTppbnRlbF9kcF9saW5rX3RyYWluaW5nX2Ns b2NrX3JlY292ZXJ5XSBsaW5rIHN0YXR1czogMTAgMTAgODAgMDAgMzMgMzMKPj4gPiAKPj4gPiAg W2RybTppbnRlbF9kcF9zZXRfc2lnbmFsX2xldmVsc10gVXNpbmcgc2lnbmFsIGxldmVscyAwMDAw MDAwMAo+PiA+ICBbZHJtOmludGVsX2RwX3NldF9zaWduYWxfbGV2ZWxzXSBVc2luZyB2c3dpbmcg bGV2ZWwgMAo+PiA+ICBbZHJtOmludGVsX2RwX3NldF9zaWduYWxfbGV2ZWxzXSBVc2luZyBwcmUt ZW1waGFzaXMgbGV2ZWwgMAo+PiA+ICBbZHJtOmludGVsX2RwX2xpbmtfdHJhaW5pbmdfY2xvY2tf cmVjb3ZlcnldIGxpbmsgc3RhdHVzOiAwMCAwMCA4MCAwMCAxMSAxMQo+PiA+ICBbZHJtOmludGVs X2RwX3NldF9zaWduYWxfbGV2ZWxzXSBVc2luZyBzaWduYWwgbGV2ZWxzIDA0MDAwMDAwCj4+ID4g IFtkcm06aW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHNdIFVzaW5nIHZzd2luZyBsZXZlbCAxCj4+ ID4gIFtkcm06aW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHNdIFVzaW5nIHByZS1lbXBoYXNpcyBs ZXZlbCAwCj4+ID4gIFtkcm06aW50ZWxfZHBfbGlua190cmFpbmluZ19jbG9ja19yZWNvdmVyeV0g bGluayBzdGF0dXM6IDAwIDEwIDgwIDAwIDIyIDEyCj4+ID4gIFtkcm06aW50ZWxfZHBfc2V0X3Np Z25hbF9sZXZlbHNdIFVzaW5nIHNpZ25hbCBsZXZlbHMgMDcwMDAwMDAKPj4gPiAgW2RybTppbnRl bF9kcF9zZXRfc2lnbmFsX2xldmVsc10gVXNpbmcgdnN3aW5nIGxldmVsIDIKPj4gPiAgW2RybTpp bnRlbF9kcF9zZXRfc2lnbmFsX2xldmVsc10gVXNpbmcgcHJlLWVtcGhhc2lzIGxldmVsIDAKPj4g PiAgW2RybTppbnRlbF9kcF9saW5rX3RyYWluaW5nX2Nsb2NrX3JlY292ZXJ5XSBsaW5rIHN0YXR1 czogMTAgMTEgODAgMDAgMjMgMjIKPj4gPiAgW2RybTppbnRlbF9kcF9zZXRfc2lnbmFsX2xldmVs c10gVXNpbmcgc2lnbmFsIGxldmVscyAwOTAwMDAwMAo+PiA+ICBbZHJtOmludGVsX2RwX3NldF9z aWduYWxfbGV2ZWxzXSBVc2luZyB2c3dpbmcgbGV2ZWwgMwo+PiA+ICBbZHJtOmludGVsX2RwX3Nl dF9zaWduYWxfbGV2ZWxzXSBVc2luZyBwcmUtZW1waGFzaXMgbGV2ZWwgMAo+PiA+ICBbZHJtOmlu dGVsX2RwX2xpbmtfdHJhaW5pbmdfY2xvY2tfcmVjb3ZlcnldIGxpbmsgc3RhdHVzOiAxMCAxMCA4 MCAwMCAzMyAzMwo+PiA+IAo+PiA+ICBbZHJtOmludGVsX2RwX3NldF9zaWduYWxfbGV2ZWxzXSBV c2luZyBzaWduYWwgbGV2ZWxzIDAwMDAwMDAwCj4+ID4gIFtkcm06aW50ZWxfZHBfc2V0X3NpZ25h bF9sZXZlbHNdIFVzaW5nIHZzd2luZyBsZXZlbCAwCj4+ID4gIFtkcm06aW50ZWxfZHBfc2V0X3Np Z25hbF9sZXZlbHNdIFVzaW5nIHByZS1lbXBoYXNpcyBsZXZlbCAwCj4+ID4gIFtkcm06aW50ZWxf ZHBfbGlua190cmFpbmluZ19jbG9ja19yZWNvdmVyeV0gbGluayBzdGF0dXM6IDAwIDAwIDgwIDAw IDExIDExCj4+ID4gIFtkcm06aW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHNdIFVzaW5nIHNpZ25h bCBsZXZlbHMgMDQwMDAwMDAKPj4gPiAgW2RybTppbnRlbF9kcF9zZXRfc2lnbmFsX2xldmVsc10g VXNpbmcgdnN3aW5nIGxldmVsIDEKPj4gPiAgW2RybTppbnRlbF9kcF9zZXRfc2lnbmFsX2xldmVs c10gVXNpbmcgcHJlLWVtcGhhc2lzIGxldmVsIDAKPj4gPiAgW2RybTppbnRlbF9kcF9saW5rX3Ry YWluaW5nX2Nsb2NrX3JlY292ZXJ5XSBsaW5rIHN0YXR1czogMTEgMTAgODAgMDAgMTEgMTIKPj4g PiAgW2RybTppbnRlbF9kcF9zZXRfc2lnbmFsX2xldmVsc10gVXNpbmcgc2lnbmFsIGxldmVscyAw NzAwMDAwMAo+PiA+ICBbZHJtOmludGVsX2RwX3NldF9zaWduYWxfbGV2ZWxzXSBVc2luZyB2c3dp bmcgbGV2ZWwgMgo+PiA+ICBbZHJtOmludGVsX2RwX3NldF9zaWduYWxfbGV2ZWxzXSBVc2luZyBw cmUtZW1waGFzaXMgbGV2ZWwgMAo+PiA+ICBbZHJtOmludGVsX2RwX2xpbmtfdHJhaW5pbmdfY2xv Y2tfcmVjb3ZlcnldIGxpbmsgc3RhdHVzOiAxMSAxMSA4MCAwMCAyMiAyMgo+PiA+ICBbZHJtOmlu dGVsX2RwX2xpbmtfdHJhaW5pbmdfY2xvY2tfcmVjb3ZlcnldIGNsb2NrIHJlY292ZXJ5IE9LCj4+ ID4gIFtkcm06aW50ZWxfZHBfbGlua190cmFpbmluZ19jaGFubmVsX2VxdWFsaXphdGlvbl0gbGlu ayBzdGF0dXM6IDExIDExIDgwIDAwCj4+ID4gNjYKPj4gPiA2Ngo+PiA+ICBbZHJtOmludGVsX2Rw X3NldF9zaWduYWxfbGV2ZWxzXSBVc2luZyBzaWduYWwgbGV2ZWxzIDA4MDAwMDAwCj4+ID4gIFtk cm06aW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHNdIFVzaW5nIHZzd2luZyBsZXZlbCAyCj4+ID4g IFtkcm06aW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHNdIFVzaW5nIHByZS1lbXBoYXNpcyBsZXZl bCAxCj4+ID4gIFtkcm06aW50ZWxfZHBfbGlua190cmFpbmluZ19jaGFubmVsX2VxdWFsaXphdGlv bl0gbGluayBzdGF0dXM6IDc3IDc3IDgxIDAxCj4+ID4gNjYKPj4gPiA2Ngo+PiA+ICBbZHJtOmlu dGVsX2RwX2xpbmtfdHJhaW5pbmdfY2hhbm5lbF9lcXVhbGl6YXRpb25dIENoYW5uZWwgRVEgZG9u ZS4gRFAKPj4gPiBUcmFpbmluZwo+PiA+IHN1Y2Nlc3NmdWwKPj4gPiAKPj4gPiAKPj4gPiBBbmRl cgo+PiA+IAo+PiA+ID4gCj4+ID4gPiBDYzogQW5kZXIgQ29uc2VsdmFuIGRlIE9saXZlaXJhIDxj b25zZWx2YW4yQGdtYWlsLmNvbT4KPj4gPiA+IENjOiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2 aUBpbnRlbC5jb20+Cj4+ID4gPiBDYzogTWlrYSBLYWhvbGEgPG1pa2Eua2Fob2xhQGludGVsLmNv bT4KPj4gPiA+IFNpZ25lZC1vZmYtYnk6IE1pa2EgS3VvcHBhbGEgPG1pa2Eua3VvcHBhbGFAaW50 ZWwuY29tPgo+PiA+ID4gLS0tCj4+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBf bGlua190cmFpbmluZy5jIHwgMjEgKysrKysrKysrKysrKysrKysrLS0tCj4+ID4gPiAgMSBmaWxl IGNoYW5nZWQsIDE4IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCj4+ID4gPiAKPj4gPiA+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9saW5rX3RyYWluaW5n LmMKPj4gPiA+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbGlua190cmFpbmluZy5j Cj4+ID4gPiBpbmRleCAwYjhlZWZjMmFjYzUuLmFlYzgxZTI4ZTM0NyAxMDA2NDQKPj4gPiA+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX2xpbmtfdHJhaW5pbmcuYwo+PiA+ID4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbGlua190cmFpbmluZy5jCj4+ID4g PiBAQCAtMTA0LDYgKzEwNCwxOSBAQCBpbnRlbF9kcF91cGRhdGVfbGlua190cmFpbihzdHJ1Y3Qg aW50ZWxfZHAgKmludGVsX2RwKQo+PiA+ID4gIAlyZXR1cm4gcmV0ID09IGludGVsX2RwLT5sYW5l X2NvdW50Owo+PiA+ID4gIH0KPj4gPiA+ICAKPj4gPiA+ICtzdGF0aWMgdm9pZCBpbnRlbF9kcF9s aW5rX3RyYWluaW5nX2RlbGF5KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCj4+ID4gPiArCQkJ CQkgaW50IHJldHJ5X2NvdW50KQo+PiA+ID4gK3sKPj4gPiA+ICsJaWYgKGludGVsX2RwLT5kcGNk W0RQX1RSQUlOSU5HX0FVWF9SRF9JTlRFUlZBTF0pIHsKPj4gPiA+ICsJCW1kZWxheShpbnRlbF9k cC0+ZHBjZFtEUF9UUkFJTklOR19BVVhfUkRfSU5URVJWQUxdICogNCk7Cj4+ID4gPiArCX0gZWxz ZSB7Cj4+ID4gPiArCQlpZiAocmV0cnlfY291bnQpCj4+ID4gPiArCQkJbWRlbGF5KHJldHJ5X2Nv dW50ICogNCk7Cj4+ID4gPiArCQllbHNlCj4+ID4gPiArCQkJdWRlbGF5KDQwMCk7Cj4+ID4gPiAr CX0KPj4gPiA+ICt9Cj4+ID4gPiArCj4+ID4gPiAgLyogRW5hYmxlIGNvcnJlc3BvbmRpbmcgcG9y dCBhbmQgc3RhcnQgdHJhaW5pbmcgcGF0dGVybiAxICovCj4+ID4gPiAgc3RhdGljIHZvaWQKPj4g PiA+ICBpbnRlbF9kcF9saW5rX3RyYWluaW5nX2Nsb2NrX3JlY292ZXJ5KHN0cnVjdCBpbnRlbF9k cCAqaW50ZWxfZHApCj4+ID4gPiBAQCAtMTUwLDcgKzE2Myw4IEBAIGludGVsX2RwX2xpbmtfdHJh aW5pbmdfY2xvY2tfcmVjb3Zlcnkoc3RydWN0IGludGVsX2RwCj4+ID4gPiAqaW50ZWxfZHApCj4+ ID4gPiAgCWZvciAoOzspIHsKPj4gPiA+ICAJCXVpbnQ4X3QgbGlua19zdGF0dXNbRFBfTElOS19T VEFUVVNfU0laRV07Cj4+ID4gPiAgCj4+ID4gPiAtCQlkcm1fZHBfbGlua190cmFpbl9jbG9ja19y ZWNvdmVyeV9kZWxheShpbnRlbF9kcC0+ZHBjZCk7Cj4+ID4gPiArCQlpbnRlbF9kcF9saW5rX3Ry YWluaW5nX2RlbGF5KGludGVsX2RwLCBsb29wX3RyaWVzKTsKPj4gPiA+ICsKPj4gPiA+ICAJCWlm ICghaW50ZWxfZHBfZ2V0X2xpbmtfc3RhdHVzKGludGVsX2RwLCBsaW5rX3N0YXR1cykpIHsKPj4g PiA+ICAJCQlEUk1fRVJST1IoImZhaWxlZCB0byBnZXQgbGluayBzdGF0dXNcbiIpOwo+PiA+ID4g IAkJCWJyZWFrOwo+PiA+ID4gQEAgLTE4NCw3ICsxOTgsNyBAQCBpbnRlbF9kcF9saW5rX3RyYWlu aW5nX2Nsb2NrX3JlY292ZXJ5KHN0cnVjdCBpbnRlbF9kcAo+PiA+ID4gKmludGVsX2RwKQo+PiA+ ID4gIAkJCQlicmVhazsKPj4gPiA+ICAJCWlmIChpID09IGludGVsX2RwLT5sYW5lX2NvdW50KSB7 Cj4+ID4gPiAgCQkJKytsb29wX3RyaWVzOwo+PiA+ID4gLQkJCWlmIChsb29wX3RyaWVzID09IDUp IHsKPj4gPiA+ICsJCQlpZiAobG9vcF90cmllcyA9PSAxMCkgewo+PiA+ID4gIAkJCQlEUk1fRVJS T1IoInRvbyBtYW55IGZ1bGwgcmV0cmllcywgZ2l2ZQo+PiA+ID4gdXBcbiIpOwo+PiA+ID4gIAkJ CQlicmVhazsKPj4gPiA+ICAJCQl9Cj4+ID4gPiBAQCAtMjc1LDcgKzI4OSw4IEBAIGludGVsX2Rw X2xpbmtfdHJhaW5pbmdfY2hhbm5lbF9lcXVhbGl6YXRpb24oc3RydWN0Cj4+ID4gPiBpbnRlbF9k cCAqaW50ZWxfZHApCj4+ID4gPiAgCQkJYnJlYWs7Cj4+ID4gPiAgCQl9Cj4+ID4gPiAgCj4+ID4g PiAtCQlkcm1fZHBfbGlua190cmFpbl9jaGFubmVsX2VxX2RlbGF5KGludGVsX2RwLT5kcGNkKTsK Pj4gPiA+ICsJCWludGVsX2RwX2xpbmtfdHJhaW5pbmdfZGVsYXkoaW50ZWxfZHAsIGNyX3RyaWVz KTsKPj4gPiA+ICsKPj4gPiA+ICAJCWlmICghaW50ZWxfZHBfZ2V0X2xpbmtfc3RhdHVzKGludGVs X2RwLCBsaW5rX3N0YXR1cykpIHsKPj4gPiA+ICAJCQlEUk1fRVJST1IoImZhaWxlZCB0byBnZXQg bGluayBzdGF0dXNcbiIpOwo+PiA+ID4gIAkJCWJyZWFrOwo+PiA+IF9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+ID4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dAo+PiA+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4gPiBodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+PiAKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==