From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Thulasimani, Sivakumar" Subject: Re: [PATCH] drm/i915: Use SWF06 to figure out max cdclk for BDW Date: Tue, 23 Feb 2016 18:40:37 +0530 Message-ID: <56CC5A4D.6080709@intel.com> References: <1455289567-30451-1-git-send-email-ville.syrjala@linux.intel.com> <56C27EA9.9030502@intel.com> <20160216100521.GD23290@intel.com> <56CC39D1.2030503@intel.com> <20160223110547.GF23290@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id A452B6E566 for ; Tue, 23 Feb 2016 13:10:40 +0000 (UTC) In-Reply-To: <20160223110547.GF23290@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org CgpPbiAyLzIzLzIwMTYgNDozNSBQTSwgVmlsbGUgU3lyasOkbMOkIHdyb3RlOgo+IE9uIFR1ZSwg RmViIDIzLCAyMDE2IGF0IDA0OjIyOjAxUE0gKzA1MzAsIFRodWxhc2ltYW5pLCBTaXZha3VtYXIg d3JvdGU6Cj4+Cj4+IE9uIDIvMTYvMjAxNiAzOjM1IFBNLCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6 Cj4+PiBPbiBUdWUsIEZlYiAxNiwgMjAxNiBhdCAwNzoxMzowNUFNICswNTMwLCBUaHVsYXNpbWFu aSwgU2l2YWt1bWFyIHdyb3RlOgo+Pj4+IE9uIDIvMTIvMjAxNiA4OjM2IFBNLCB2aWxsZS5zeXJq YWxhQGxpbnV4LmludGVsLmNvbSB3cm90ZToKPj4+Pj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2 aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPj4+Pj4KPj4+Pj4gQnNwZWMgdGVsbHMgdXMg dGhhdCB3ZSBjYW4gYWxsb3cgY2RjbGsgdXAgdG8gNTQwTWh6IG9uIEJEVyBVTFgsIG9yCj4+Pj4+ IHVwIHRvIDY3NSBNSHogb24gVUxULCBidSBvbmx5IGlmIGV4dHJhIGNvb2xpbmcgaXMgcHJvdmlk ZWQuIFRoZXJlCj4+Pj4+IGRvbid0IHNlZW0gdG8gYmUgYW55IHN0cmFwIG9yIFZCVCBiaXRzIHRv IHRlbGxzIHVzIHRoaXMgaG93ZXZlci4KPj4+Pj4KPj4+Pj4gQnV0IEkgZGlkIHNwb3Qgc29tZXRo aW5nIHBvdGVudGlhbGx5IHJlbGV2YW50IGluCj4+Pj4+IFZCSU9TX0dPUF9Ecml2ZXJfU1dGX1Jl Z2lzdGVycy5wZGYuIEFwcGFyZW50bHkgVkJJT1MvR09QIGNhbiBwYXNzCj4+Pj4+IHRoZSBtYXgg Y2RjbGsgZnJlcXVlbnkgaW4gU1dGMDYgdG8gdGhlIGRyaXZlci4gTGV0J3MgYXNzdW1lIHRoZSBm aXJtd2FyZQo+Pj4+PiBrbm93cyB3aGF0IGl0cyBkb2luZyBhbmQgdHJ1c3QgdGhlIG1heCBjZGNs ayBpbiBTV0YwNiBpZiBpdCdzIGhpZ2hlcgo+Pj4+PiB0aGFuIHRoZSBiYXNpYyBsaW1pdCBzcGVj aWZpZWQgaW4gQnNwZWMuIFRvIGF2b2lkIHJlZ3Jlc3NpbmcgYW55dGhpbmcKPj4+Pj4gbGV0J3Mg aWdub3JlIFNXRjA2IGlmIGl0IGluZGljYXRlcyBhIGxvd2VyIGxpbWl0IHRoYW4gQnNwZWMuCj4+ Pj4+Cj4+Pj4+IENjOiBDbGludCBUYXlsb3IgPGNsaW50b24uYS50YXlsb3JAaW50ZWwuY29tPgo+ Pj4+PiBDYzogIlRodWxhc2ltYW5pLCBTaXZha3VtYXIiIDxzaXZha3VtYXIudGh1bGFzaW1hbmlA aW50ZWwuY29tPgo+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5 cmphbGFAbGludXguaW50ZWwuY29tPgo+Pj4+PiAtLS0KPj4+Pj4KPj4+Pj4gSSdtIG5vdCBhdCBh bGwgc3VyZSBpZiB0aGlzIGlzIHRoZSByaWdodCB3YXkgdG8gZ28gYWJvdXQgaXQuIFNpdmFrdW1h ciwKPj4+Pj4gc2luY2UgeW91IHNlZW0gdG8gaGF2ZSBzb21lIGlkZWFzIG9uIHRoaXMgbWF5YmUg eW91IGNhbiBoYXZlIGEgbG9vay4KPj4+Pj4gSSdtIG5vdCBhd2FyZSBvZiBhbnkgY29tcGxhaW50 cyBzbyBmYXIgdGhhdCBwZW9wbGUgY2FuJ3QgZ2V0IHRoZSBjZGNsawo+Pj4+PiBhcyBoaWdoIGlz IHRoZXkgc2hvdWxkIG9uIHNwZWNpZmljIG1hY2hpbmVzLCBzbyBub3Qgc3VyZSBpZiB0aGlzIGlz IHJlYWxseQo+Pj4+PiBldmVuIG5lZWRlZC4KPj4+Pj4KPj4+Pj4gVGhlIG90aGVyIG9wZW4gcXVl c3Rpb24gaXMgd2hhdCB3ZSBzaG91bGQgZG8gaWYgdGhlIFZCSU9TIGxpbWl0IGlzCj4+Pj4+IGxv d2VyIHRoYW4gd2hhdCB3ZSdkIGV4cGVjdCBiYXNlZCBvbiBCU3BlYy4gU2hvdWxkIHdlIHN0aWxs IHRydXN0IGl0Pwo+Pj4+PiBTYWRseSB3ZSBjYW4ndCB2ZXJpZnkgdGhlIFNXRjA2IGNkY2xrIHZh bHVlIGluIGFueSB3YXkgc2luY2UgaXQKPj4+Pj4gb25seSBoYXMgdHdvIGJpdHMgYW5kIHdlIGhh dmUgZm91ciBwb3NzaWJsZSBjZGNsayB2YWx1ZXMuCj4+Pj4gVGhlIHZhbHVlIHN0b3JlZCBpbiBT V0YwNiBpcyB0aGUgQ0QgQ2xvY2sgVkJJT1MvR09QIHNlZXMgZHVyaW5nIGJvb3QuIHNvCj4+Pj4g aXQganVzdCBiYWNrcyB1cCB0aGUgQ0QgQ2xvY2sgYmVmb3JlIGl0IG9wdGltaXplcyBmb3IgdGhl IGF2YWlsYWJsZSBMRlAuCj4+Pj4gaWYgd2UKPj4+PiBhcmUgdHJ1c3RpbmcgZm9yIGhpZ2hlciB2 YWx1ZSB3ZSBzaG91bGQgdHJ1c3QgaXQgZm9yIGxvd2VyIHZhbHVlIHRvby4KPj4+PiBUaGUgT0VN IG1pZ2h0IGhhdmUgZGlkIHRoaXMgdG8gZWl0aGVyIHJlZHVjZSBtYXggcmVzb2x1dGlvbiBmb3Ig Y2hlYXBlcgo+Pj4+IHByb2R1Y3RzIG9yIG1pZ2h0IGhhdmUgcmVtb3ZlZCBzb21lIGNvb2xpbmcg bWVjaGFuaXNtcyBmb3IgdGhpbm5lcgo+Pj4+IGRlc2lnbnMgc2luY2Ugd2UgY2Fubm90IHNheSB3 aGljaCBvZiB0aGUgcmVhc29ucyB3ZSBzaG91bGQgdHJ1c3QgdGhlCj4+Pj4gbG93ZXIgdmFsdWUg dG9vLgo+Pj4+Cj4+Pj4gbm93IGNvbWVzIHRvIHRvdWdoIHBhcnQgOigsIHRoaXMgU1dGMDYgaXMg c2F2ZWQgYnkgVkJJT1MvR09QIGRyaXZlcgo+Pj4+IGZyb20gaW50ZWwgYWxvbmUoaXQgaXMgbm90 IHByb2dyYW1tZWQgZnJvbSBWQlQpLAo+Pj4+IHNpbmNlIEdPUCBkcml2ZXIgY2FuIGJlIGltcGxl bWVudGVkIGJ5IGFueW9uZSBhbmQKPj4+PiBpZiBhbnlvbmUgaW1wbGVtZW50cyB0aGVpciBvd24g R09QIGRyaXZlciB3ZSBjYW5ub3QgYmUgc3VyZSBpZiB0aGUKPj4+PiB2YWx1ZSBpcyB2YWxpZCBv ciBub3QuIHBsZWFzZSBjaGVjayBpZiB3ZSBjYW4gY2hlY2sgZm9yICJJbnRlbCBHT1AgZHJpdmVy Ii4KPj4+PiBBbmQgaWYgIkludGVsIEdPUCBkcml2ZXIiIHdhcyB1c2VkIGR1cmluZyBib290LCB3 ZSBjYW4gdHJ1c3QgdGhlIHZhbHVlCj4+Pj4gMTAwJS4gIGkgYW0gbm90IHN1cmUgaG93IHRoaXMg Y2FuIGJlIGRvbmUsIHNvIGkgd291bGQgcmVjb21tZW5kCj4+Pj4gdHJ1c3RpbmcgdGhlIHZhbHVl cyB3aXRoIGNsZWFyIGRlYnVnIG1lc3NhZ2VzIGFzIGRvbmUgYmVsb3cgYWxyZWFkeS4KPj4+IFdl IGRlZmluaXRlbHkgbmVlZCBhIHdheSB0byB2YWxpZGF0ZSB0aGUgcmVnaXN0ZXIgdmFsdWUgYmVm b3JlIHdlIHRydXN0Cj4+PiBpdCBmb3IgbG93ZXIgdmFsdWVzLiBJIHN1cHBvc2Ugd2UgbWlnaHQg YmUgYWJsZSB0byBsb29rIGF0IGJpdHMgMzE6MTYKPj4+IHNpbmNlIHRob3NlIHNob3VsZCBzdG9y ZSB0aGUgY3VycmVudCBjZGNsayAiZGVjaW1hbCIgdmFsdWUuIElmIHRoYXQgcGFydAo+Pj4gbG9v a3MgcmVhc29uYWJsZSwgd2UgbWlnaHQgYmUgYWJsZSB0byB0cnVzdCB0aGUgIm1heCBjZGNsayIg Yml0cyBhcyB3ZWxsLgo+PiBpdCBzZWVtcyB0aGUgYml0cyAzMToxNiBhcmUgdXNlZCBvbmx5IGJ5 IFZCSU9TIGFuZCBub3QgR09QLCBzbyB0aGF0IHdvbnQKPj4gaGVscC4KPj4gd2UgbmVlZCB0byBj b21lIHVwIHdpdGggc29tZSBvdGhlciBtZXRob2QgdG8gY29uZmlybSB0aGUgdmFsdWUgb3IgdmVy aWZ5Cj4+IGlmIGludGVsIGdvcCBpcyBsb2FkZWQuIGkgd2lsbCBnZXQgYmFjayBpZiBpIGNhbiBm aW5kIHN1Y2ggYSBtZWNoYW5pc20uCj4gT2gsIHRoYXQncyB1bmZvcnR1bmF0ZS4gSUlSQyB3ZSB1 c2Ugc29tZSBvdGhlciBTV0YgcmVnaXN0ZXIgdG8gY2hlY2sgaWYKPiBzb21ldGhpbmcgYWxyZWFk eSBpbml0aWFsaXplZCB0aGluZ3MgaW4gdGhlIGNkY2xrIHNhbml0YXRpb24gcGF0aC4KPiBOb3Qg c3VyZSBpZiB0aGUgc2FtZSBjb3VsZCBiZSB1c2VkIGhlcmUuCmkgYW0gbm90IGF3YXJlIG9mIGFu eSBvdGhlciBTV0YgcmVnaXN0ZXIgdXNlZCBmb3IgY2RjbGsgcmVsYXRlZCBmbG93IHNvIApjYW50 IGhlbHAgdGhlcmUuCmhhZCBhIGRpc2N1c3Npb24gd2l0aCBsb2NhbCBmb2xrcyBhbmQgaXQgc2Vl bXMgbGlrZSAgdGhlcmUgaXMKbm8gZWFzeSB3YXkgb3V0IGF0bGVhc3QgZm9yIEJEVy4KClNLTCBy ZWdpc3RlciB1c2luZyBsaXRlcmFsIHZhbHVlcyBpcyBoZWxwZnVsIGluCnZlcmlmeWluZyBhZ2Fp bnN0IGF2YWlsYWJsZSBzZXQuCgpteSBiZXN0IGd1ZXNzIHdvdWxkIGJlIHRvIGhhbmRsZSBpdCBm b3IgQkRXIGlzIGFzIGZvbGxvd3MKaWYgQklUMDoxID09IDAgJiYgY3VycmVudF9jZGNsayAhPSA0 NTBNSHoKICAgICAgICAgICB3ZSBhcmUgbm90IGluIGludGVsIEdPUCBkcml2ZXIgc28gdGFrZSB0 aGUgY3VycmVudCBjbG9jayBhcyBtYXgKaWYgQklUMDoxID09IDAgJiYgY3VycmVudF9jZGNsayA9 PSA0NTBNSHoKICAgICAgICAgY2FudCBzYXkgd2hpY2ggR09QIGRyaXZlciB3YXMgdXNlZCwgc28g bGltaXQgdG8gY3VycmVudCBjbG9jayAKYXMgbWF4CmlmIEJJVDA6MSAhPSAwCiAgICAgICAgcHJv YmFiaWxpdHkgb2Ygc29tZSBvdGhlciBjb21wb25lbnQgc2V0dGluZyB0aGVzZSB0d28gYml0cyBp cyAKdmVyeSBsb3cgOikKICAgICAgICBzbyBhc3N1bWUgdGhhdCB3ZSBhcmUgaW4gaW50ZWwgZ29w IGRyaXZlciBhbmQgdHJ1c3QgdGhlIHZhbHVlLgogICAgICAgICB3ZSBoYXZlIGNoZWNrcyB0byBs aW1pdCBjbG9jayBmb3IgdGhlIFNLVSBzbyBpdCBzaG91bGQgbm90IGJlIGEgCnByb2JsZW0KICAg ICAgICB0byB0cnVzdCB0aGUgdmFsdWUgaW4gcmVnaXN0ZXIuCgoKcmVnYXJkcywKU2l2YWt1bWFy Cj4+Pj4gQXMgbWVudGlvbmVkIGluIGFub3RoZXIgdGhyZWFkLCB0aGlzIG5lZWRzIHRvIGJlIGRv bmUgZm9yIFNLTCB0b28uCj4+Pj4gaSBkb250IGhhdmUgYSBTS0wgc3lzdGVtIHNvIGlmIG5vIG9u ZSBlbHNlIGNhbiBtYWtlIGEgcGF0Y2ggZm9yIGl0Cj4+Pj4gaSB3aWxsIGhhdmUgdG8gc2hhcmUg YW4gdW50ZXN0ZWQgcGF0Y2ggZm9yIGl0IDopLgo+Pj4gRm9yIFNLTCBpdCBzZWVtcyBhIGJpdCBl YXNpZXIsIHNpbmNlIGl0IGFwcGFyZW50bHkganVzdCBzdG9yZXMgdGhlIG1heAo+Pj4gY2RjbGsg aW4gMTAuMSBkZWNpbWFsIGZpeGVkIHBvaW50IGluIGJpdHMgMTA6MC4gU28gaW52YWxpZC91bmlu aXRpYWxpemVkCj4+PiB2YWx1ZXMgd291bGQgYmUgZWFzaWVyIHRvIHNwb3QuCj4+Pgo+Pj4gSG1t LiAxMSBiaXRzIGFuZCAxMC4xIGZpeGVkIHBvaW50IGZvcm1hdCwgSSB3b25kZXIgaWYgaXQncyBy ZWFsbHkKPj4+IGRlY2ltYWwgYW5kIG5vdCBiaW5hcnkgZml4ZWQgcG9pbnQuLi4KPj4gaXQgdXNl cyB0aGUgc2FtZSB2YWx1ZSBwcm9ncmFtbWVkIGluIENEQ0xLX0NUTCByZWdpc3Rlci4KPj4gaS5l IDAxIDAwMTEgMDAxMSAxYiAgICA9IDMwOC41N01Iego+IE9LLCBzbyBiaW5hcnkgZml4ZWQgcG9p bnQuIE1heWJlIEkgc2hvdWxkIGZpbGUgYSBidWcgYWdhaW5zdCBic3BlYyB0bwo+IHJlbW92ZSB0 aGlzIGNvbmZ1c2luZyAiZGVjaW1hbCIgbmFtaW5nIHNjaGVtZSBmcm9tIHRoZSBjZGNsayBzdHVm Zi4uLgo+Cj4+IHJlZ2FyZHMsCj4+IFNpdmFrdW1hcgo+Pj4+PiAgICAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgNjAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0t LS0tLS0tCj4+Pj4+ICAgICAxIGZpbGUgY2hhbmdlZCwgNDcgaW5zZXJ0aW9ucygrKSwgMTMgZGVs ZXRpb25zKC0pCj4+Pj4+Cj4+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4+ Pj4gaW5kZXggODM2YmJkYzIzOWI2Li4xZDcwZjZiZjI5MzQgMTAwNjQ0Cj4+Pj4+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+Pj4+PiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4+Pj4gQEAgLTU0MDcsMjEgKzU0MDcsNTUgQEAg c3RhdGljIHZvaWQgaW50ZWxfdXBkYXRlX21heF9jZGNsayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQo+Pj4+PiAgICAgCQkJZGV2X3ByaXYtPm1heF9jZGNsa19mcmVxID0gNDUwMDAwOwo+Pj4+PiAg ICAgCQllbHNlCj4+Pj4+ICAgICAJCQlkZXZfcHJpdi0+bWF4X2NkY2xrX2ZyZXEgPSAzMzc1MDA7 Cj4+Pj4+IC0JfSBlbHNlIGlmIChJU19CUk9BRFdFTEwoZGV2KSkgIHsKPj4+Pj4gKwl9IGVsc2Ug aWYgKElTX0JST0FEV0VMTChkZXYpKSB7Cj4+Pj4+ICsJCWludCBiaW9zX21heF9jZGNsa19mcmVx LCBtYXhfY2RjbGtfZnJlcTsKPj4+Pj4gKwo+Pj4+PiAgICAgCQkvKgo+Pj4+PiAtCQkgKiBGSVhN RSB3aXRoIGV4dHJhIGNvb2xpbmcgd2UgY2FuIGFsbG93Cj4+Pj4+IC0JCSAqIDU0MCBNSHogZm9y IFVMWCBhbmQgNjc1IE1oeiBmb3IgVUxULgo+Pj4+PiAtCQkgKiBIb3cgY2FuIHdlIGtub3cgaWYg ZXh0cmEgY29vbGluZyBpcwo+Pj4+PiAtCQkgKiBhdmFpbGFibGU/IFBDSSBJRCwgVlRCLCBzb21l dGhpbmcgZWxzZT8KPj4+Pj4gKwkJICogV2l0aCBleHRyYSBjb29saW5nIHdlIGNhbiBhbGxvdyA1 NDAgTUh6IGZvcgo+Pj4+PiArCQkgKiBVTFggYW5kIDY3NSBNaHogZm9yIFVMVC4gQXNzdW1lIFZC SU9TL0dPUAo+Pj4+PiArCQkgKiBwYXNzZXMgdGhhdCBpbmZvcm1hdGlvbiBpbiBTV0YwNi4KPj4+ Pj4gICAgIAkJICovCj4+Pj4+IC0JCWlmIChJOTE1X1JFQUQoRlVTRV9TVFJBUCkgJiBIU1dfQ0RD TEtfTElNSVQpCj4+Pj4+IC0JCQlkZXZfcHJpdi0+bWF4X2NkY2xrX2ZyZXEgPSA0NTAwMDA7Cj4+ Pj4+IC0JCWVsc2UgaWYgKElTX0JEV19VTFgoZGV2KSkKPj4+Pj4gLQkJCWRldl9wcml2LT5tYXhf Y2RjbGtfZnJlcSA9IDQ1MDAwMDsKPj4+Pj4gLQkJZWxzZSBpZiAoSVNfQkRXX1VMVChkZXYpKQo+ Pj4+PiAtCQkJZGV2X3ByaXYtPm1heF9jZGNsa19mcmVxID0gNTQwMDAwOwo+Pj4+PiAtCQllbHNl Cj4+Pj4+IC0JCQlkZXZfcHJpdi0+bWF4X2NkY2xrX2ZyZXEgPSA2NzUwMDA7Cj4+Pj4+ICsJCXN3 aXRjaCAoSTkxNV9SRUFEKFNXRl9JTEsoMHgwNikpICYgMHgzKSB7Cj4+Pj4+ICsJCWNhc2UgMDoK Pj4+Pj4gKwkJCWJpb3NfbWF4X2NkY2xrX2ZyZXEgPSA0NTAwMDA7Cj4+Pj4+ICsJCQlicmVhazsK Pj4+Pj4gKwkJY2FzZSAxOgo+Pj4+PiArCQkJYmlvc19tYXhfY2RjbGtfZnJlcSA9IDU0MDAwMDsK Pj4+Pj4gKwkJCWJyZWFrOwo+Pj4+PiArCQljYXNlIDI6Cj4+Pj4+ICsJCQliaW9zX21heF9jZGNs a19mcmVxID0gMzM3NTAwOwo+Pj4+PiArCQkJYnJlYWs7Cj4+Pj4+ICsJCWNhc2UgMzoKPj4+Pj4g KwkJCWJpb3NfbWF4X2NkY2xrX2ZyZXEgPSA2NzUwMDA7Cj4+Pj4+ICsJCQlicmVhazsKPj4+Pj4g KwkJfQo+Pj4+PiArCj4+Pj4+ICsJCWlmIChJOTE1X1JFQUQoRlVTRV9TVFJBUCkgJiBIU1dfQ0RD TEtfTElNSVQpIHsKPj4+Pj4gKwkJCWlmIChXQVJOX09OKGJpb3NfbWF4X2NkY2xrX2ZyZXEgIT0g NDUwMDAwKSkKPj4+Pj4gKwkJCQliaW9zX21heF9jZGNsa19mcmVxID0gNDUwMDAwOwo+Pj4+PiAr CQkJbWF4X2NkY2xrX2ZyZXEgPSA0NTAwMDA7Cj4+Pj4+ICsJCX0gZWxzZSBpZiAoSVNfQkRXX1VM WChkZXZfcHJpdikpIHsKPj4+Pj4gKwkJCWlmIChXQVJOX09OKGJpb3NfbWF4X2NkY2xrX2ZyZXEg PiA1NDAwMDApKQo+Pj4+PiArCQkJCWJpb3NfbWF4X2NkY2xrX2ZyZXEgPSA1NDAwMDA7Cj4+Pj4+ ICsJCQltYXhfY2RjbGtfZnJlcSA9IDQ1MDAwMDsKPj4+Pj4gKwkJfSBlbHNlIGlmIChJU19CRFdf VUxUKGRldl9wcml2KSkgewo+Pj4+PiArCQkJbWF4X2NkY2xrX2ZyZXEgPSA1NDAwMDA7Cj4+Pj4+ ICsJCX0gZWxzZSB7Cj4+Pj4+ICsJCQltYXhfY2RjbGtfZnJlcSA9IDY3NTAwMDsKPj4+Pj4gKwkJ fQo+Pj4+PiArCj4+Pj4+ICsJCWlmIChiaW9zX21heF9jZGNsa19mcmVxID4gbWF4X2NkY2xrX2Zy ZXEpIHsKPj4+Pj4gKwkJCURSTV9ERUJVR19LTVMoIlZCSU9TL0dPUCBtYXggY2RjbGsgKCVkIGtI eikgaGlnaGVyIHRoYW4gYmFzaWMgbGltaXQgKCVkIGtIeiksICIKPj4+Pj4gKwkJCQkgICAgICAi YXNzdW1pbmcgZXh0cmEgY29vbGluZyBpcyBwcmVzZW50XG4iLAo+Pj4+PiArCQkJCSAgICAgIGJp b3NfbWF4X2NkY2xrX2ZyZXEsIG1heF9jZGNsa19mcmVxKTsKPj4+Pj4gKwkJCW1heF9jZGNsa19m cmVxID0gYmlvc19tYXhfY2RjbGtfZnJlcTsKPj4+Pj4gKwkJfSBlbHNlIGlmIChiaW9zX21heF9j ZGNsa19mcmVxIDwgbWF4X2NkY2xrX2ZyZXEpIHsKPj4+Pj4gKwkJCURSTV9ERUJVR19LTVMoIlZC SU9TL0dPUCBtYXggY2RjbGsgKCVkIGtIeikgbG93ZXIgdGhhbiBiYXNpYyBsaW1pdCAoJWQga0h6 KSwgIgo+Pj4+PiArCQkJCSAgICAgICJpZ25vcmluZyBpdFxuIiwKPj4+Pj4gKwkJCQkgICAgICBi aW9zX21heF9jZGNsa19mcmVxLCBtYXhfY2RjbGtfZnJlcSk7Cj4+Pj4+ICsJCX0KPj4+PiBmb3Ig dGhlIHJlYXNvbnMgbWVudGlvbmVkIGFib3ZlLCBpIHdvdWxkIGZhdm9yIHRydXN0aW5nIGxvd2Vy IHZhbHVlcyB0b28uCj4+Pj4KPj4+PiByZWdhcmRzLAo+Pj4+IFNpdmFrdW1hcgo+Pj4+PiArCj4+ Pj4+ICsJCWRldl9wcml2LT5tYXhfY2RjbGtfZnJlcSA9IG1heF9jZGNsa19mcmVxOwo+Pj4+PiAg ICAgCX0gZWxzZSBpZiAoSVNfQ0hFUlJZVklFVyhkZXYpKSB7Cj4+Pj4+ICAgICAJCWRldl9wcml2 LT5tYXhfY2RjbGtfZnJlcSA9IDMyMDAwMDsKPj4+Pj4gICAgIAl9IGVsc2UgaWYgKElTX1ZBTExF WVZJRVcoZGV2KSkgewoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4Cg==