From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 4/4] drm/i915: reorganize the get_cdclk assignment Date: Fri, 17 Feb 2017 17:28:58 +0200 Message-ID: <20170217152858.GW31595@intel.com> References: <1487337727-9813-1-git-send-email-paulo.r.zanoni@intel.com> <1487337727-9813-5-git-send-email-paulo.r.zanoni@intel.com> <20170217140535.GR31595@intel.com> <1487344642.16234.44.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 627106ED5B for ; Fri, 17 Feb 2017 15:29:01 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1487344642.16234.44.camel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Paulo Zanoni Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBGZWIgMTcsIDIwMTcgYXQgMDE6MTc6MjJQTSAtMDIwMCwgUGF1bG8gWmFub25pIHdy b3RlOgo+IEVtIFNleCwgMjAxNy0wMi0xNyDDoHMgMTY6MDUgKzAyMDAsIFZpbGxlIFN5cmrDpGzD pCBlc2NyZXZldToKPiA+IE9uIEZyaSwgRmViIDE3LCAyMDE3IGF0IDExOjIyOjA3QU0gLTAyMDAs IFBhdWxvIFphbm9uaSB3cm90ZToKPiA+ID4gCj4gPiA+IFBvc3NpYmxlIHByb2JsZW1zIG9mIHRo ZSBjdXJyZW50IGlmLWxhZGRlcjoKPiA+ID4gwqAgLSBJdCdzIGEgaHVnZSBpZiBsYWRkZXIgd2l0 aCBhbG1vc3QgYSBkaWZmZXJlbnQgY2hlY2sgZm9yIGVhY2ggb2YKPiA+ID4gwqDCoMKgwqBvdXIg cGxhdGZvcm1zLgo+ID4gPiDCoCAtIEl0IG1peGVzIDMgZGlmZmVyZW50IHR5cGVzIG9mIGNoZWNr czogSVNfR0VOWCwgSVNfUExBVEZPUk0gYW5kCj4gPiA+IMKgwqDCoMKgSVNfR1JPVVBfT0ZfUExB VEZPUk1TLgo+ID4gPiDCoCAtIEFzIGRlbW9uc3RyYXRlZCBieSB0aGUgcmVjZW50IElTX0c0WCBj b21taXQsIGl0J3Mgbm90IGVhc3kgdG8KPiA+ID4gYmUKPiA+ID4gwqDCoMKgwqBzdXJlIGlmIGEg cGxhdGZvcm0gZG93biBvbiB0aGUgbGlzdCBpc24ndCBhbHNvIGNoZWNrZWQgZWFybGllci4KPiA+ ID4gwqAgLSBBcyBkZW1vbnN0cmF0ZWQgYnkgdGhlIFdBUk4gYXQgdGhlIGVuZCwgaXQncyBub3Qg ZWFzeSB0byBiZQo+ID4gPiBzdXJlCj4gPiA+IMKgwqDCoMKgaWYgd2UncmUgYWN0dWFsbHkgY2hl Y2tpbmcgZm9yIGV2ZXJ5IHNpbmdsZSBwbGF0Zm9ybS4KPiA+ID4gCj4gPiA+IFBvc3NpYmxlIGFk dmFudGFnZXMgb2YgdGhlIG5ldyBzd2l0Y2ggc3RhdGVtZW50Ogo+ID4gPiDCoCAtIEl0IG1heSBi ZSBlYXNpZXIgZm9yIHRoZSBjb21waWxlciB0byBvcHRpbWl6ZSBzdHVmZiAoSSBkaWRuJ3QKPiA+ ID4gwqDCoMKgwqBjaGVjayB0aGlzKSwgZXNwZWNpYWxseSBzaW5jZSB0aGUgdmFsdWVzIGFyZSBs YWJlbHMgb2YgYW4gZW51bS4KPiA+ID4gwqAgLSBUaGUgY29tcGlsZXIgd2lsbCB0ZWxsIHVzIGlu IGNhc2Ugd2UgbWlzcyBzb21lIHBsYXRmb3JtLgo+ID4gPiDCoCAtIEFsbCBwbGF0Zm9ybXMgYXJl IGV4cGxpY2l0bHkgdGhlcmUgaW5zdGVhZCBvZiBtYXliZSBoaWRkZW4gaW4KPiA+ID4gc29tZQo+ ID4gPiDCoMKgwqDCoGNoZWNrIGZvciBhIGNlcnRhaW4gZ3JvdXAgb2YgcGxhdGZvcm1zIHN1Y2gg YXMgSVNfR0VOOV9CQy4KPiA+IAo+ID4gUGVyZm9ybWFuY2UgaXMgYSBiaXQgb2YgYSBtb290IHBv aW50IHNpbmNlIHRoaXMgaXMgcnVuIGV4YWNsdHkgb25jZSwKPiA+IGJ1dAo+ID4gdGhlIElTX0dF TjlfQkMoKSBzdHVmZiBJIHRlbmQgdG8gYWdyZWUgd2l0aC4gSSBkb24ndCByZWFsbHkgbGlrZQo+ ID4gdGhvc2UKPiA+IG1hY3JvcyBhdCBhbGwgc2luY2UgdGhleSBkb24ndCBhY3R1bGx5IG1lYW4g YW55dGhpbmcgYXMgZmFyIGFzIHRoZQo+ID4gaGFyZHdhcmUgZmVhdHVyZXMgZ28uCj4gCj4gSSB0 aGluayB0aGV5IG1ha2Ugc29tZSBzZW5zZSB3aGVuIHRoZXkncmUgYSBzaW5nbGUgY2hlY2suIEJ1 dCB3aGVuIHdlCj4gaGF2ZSB0b25zIG9mIGNoZWNrcyBmb3IgdG9ucyBvZiBwbGF0Zm9ybXMsIEkg ZG9uJ3Qga25vdy4KClRoZSBwcm9ibGVtIHByb2JsZW0gaXMgdGhhdCB0aGV5IGJhc2ljYWxseSBt ZWFuIGRpZmZlcmVudCB0aGluZ3MgaW4KZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBkcml2ZXIuIFNv IHlvdSBhbnl3YXkgaGF2ZSB0byBtZW50YWxseSBleHBhbmQKdGhlIGxpc3Qgb3V0IHRvIGZpZ3Vy ZSBvdXQgd2hhdCdzIHJlYWxseSBnb2luZyBvbi4KCj4gCj4gPiAKPiA+ID4gCj4gPiA+IAo+ID4g PiBQb3NzaWJsZSBkaXNhZHZhbnRhZ2VzIHdpdGggdGhlIG5ldyBjb2RlOgo+ID4gPiDCoCAtIEEg ZmV3IGxpbmVzIGJpZ2dlci4KPiA+ID4gCj4gPiA+IFNpZ25lZC1vZmYtYnk6IFBhdWxvIFphbm9u aSA8cGF1bG8uci56YW5vbmlAaW50ZWwuY29tPgo+ID4gPiAtLS0KPiA+ID4gwqBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9jZGNsay5jIHwgMTAzICsrKysrKysrKysrKysrKysrKysrKystLS0K PiA+ID4gLS0tLS0tLS0tLS0tCj4gPiA+IMKgMSBmaWxlIGNoYW5nZWQsIDYyIGluc2VydGlvbnMo KyksIDQxIGRlbGV0aW9ucygtKQo+ID4gPiAKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2NkY2xrLmMKPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9jZGNsay5jCj4gPiA+IGluZGV4IDdjOTJkYzcuLjU4YTJmNWMgMTAwNjQ0Cj4gPiA+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NkY2xrLmMKPiA+ID4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYwo+ID4gPiBAQCAtMTc4OSw0OSArMTc4OSw3MCBAQCB2 b2lkIGludGVsX2luaXRfY2RjbGtfaG9va3Moc3RydWN0Cj4gPiA+IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQo+ID4gPiDCoAkJZGV2X3ByaXYtPmRpc3BsYXkubW9kZXNldF9jYWxjX2NkY2xr ID0KPiA+ID4gc2tsX21vZGVzZXRfY2FsY19jZGNsazsKPiA+ID4gwqAJfQo+ID4gPiDCoAo+ID4g PiAtCWlmIChJU19HRU45X0JDKGRldl9wcml2KSkKPiA+ID4gLQkJZGV2X3ByaXYtPmRpc3BsYXku Z2V0X2NkY2xrID0gc2tsX2dldF9jZGNsazsKPiA+ID4gLQllbHNlIGlmIChJU19HRU45X0xQKGRl dl9wcml2KSkKPiA+ID4gLQkJZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X2NkY2xrID0gYnh0X2dldF9j ZGNsazsKPiA+ID4gLQllbHNlIGlmIChJU19CUk9BRFdFTEwoZGV2X3ByaXYpKQo+ID4gPiAtCQlk ZXZfcHJpdi0+ZGlzcGxheS5nZXRfY2RjbGsgPSBiZHdfZ2V0X2NkY2xrOwo+ID4gPiAtCWVsc2Ug aWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpKQo+ID4gPiAtCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRf Y2RjbGsgPSBoc3dfZ2V0X2NkY2xrOwo+ID4gPiAtCWVsc2UgaWYgKElTX1ZBTExFWVZJRVcoZGV2 X3ByaXYpIHx8Cj4gPiA+IElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKQo+ID4gPiAtCQlkZXZfcHJp di0+ZGlzcGxheS5nZXRfY2RjbGsgPSB2bHZfZ2V0X2NkY2xrOwo+ID4gPiAtCWVsc2UgaWYgKElT X0dFTjYoZGV2X3ByaXYpIHx8IElTX0lWWUJSSURHRShkZXZfcHJpdikpCj4gPiA+ICsJc3dpdGNo IChJTlRFTF9JTkZPKGRldl9wcml2KS0+cGxhdGZvcm0pIHsKPiA+ID4gKwljYXNlIElOVEVMX1BM QVRGT1JNX1VOSU5JVElBTElaRUQ6Cj4gPiAKPiA+IEp1c3QgZGVmYXVsdDogPwo+IAo+IElmIHdl IGFkZCBhIGRlZmF1bHQgY2FzZSB0aGUgY29tcGlsZXIgd2lsbCBzdG9wIGNvbXBsYWluaW5nIGlu IGNhc2Ugd2UKPiBkb24ndCBleHBsaWNpdGx5IGxpc3QgZXZlcnkgcGxhdGZvcm0uIEl0J3MgYSB0 cmFkZS1vZmYsIEkgcmVhbGx5IHRoaW5rCj4gdGhlIGN1cnJlbnQgd2F5IGlzIHNsaWdodGx5IGJl dHRlciwgYnV0IEkgd29uJ3Qgb3Bwb3NlIGluIGNhc2UgeW91Cj4gc3RpbGwgdGhpbmsgaXQncyBi ZXR0ZXIgYWRkaW5nIHRoZSBkZWZhdWx0IGNhc2UuCgpOYWguIEdldHRpbmcgdGhlIGNvbXBpbGVy IHRvIGRvIHRoZSB3b3JrIGZvciB1cyBzZWVtcyBsaWtlCmEgZGVjZW50IGlkZWEuIAoKPiAKPiAK PiA+IAo+ID4gPiAKPiA+ID4gKwkJTUlTU0lOR19DQVNFKElOVEVMX0lORk8oZGV2X3ByaXYpLT5w bGF0Zm9ybSk7Cj4gPiA+ICsJCS8qIEZhbGwgdGhyb3VnaC4gKi8KPiA+ID4gKwljYXNlIElOVEVM X0k4MzA6Cj4gPiA+ICsJCWRldl9wcml2LT5kaXNwbGF5LmdldF9jZGNsayA9Cj4gPiA+IGZpeGVk XzEzM21oel9nZXRfY2RjbGs7Cj4gPiA+ICsJCWJyZWFrOwo+ID4gPiArCWNhc2UgSU5URUxfSTg0 NUc6Cj4gPiA+ICsJCWRldl9wcml2LT5kaXNwbGF5LmdldF9jZGNsayA9Cj4gPiA+IGZpeGVkXzIw MG1oel9nZXRfY2RjbGs7Cj4gPiA+ICsJCWJyZWFrOwo+ID4gPiArCWNhc2UgSU5URUxfSTg1WDoK PiA+ID4gKwkJZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X2NkY2xrID0gaTg1eF9nZXRfY2RjbGs7Cj4g PiA+ICsJCWJyZWFrOwo+ID4gPiArCWNhc2UgSU5URUxfSTg2NUc6Cj4gPiA+ICsJCWRldl9wcml2 LT5kaXNwbGF5LmdldF9jZGNsayA9Cj4gPiA+IGZpeGVkXzI2Nm1oel9nZXRfY2RjbGs7Cj4gPiA+ ICsJCWJyZWFrOwo+ID4gPiArCWNhc2UgSU5URUxfSTkxNUc6Cj4gPiA+ICsJCWRldl9wcml2LT5k aXNwbGF5LmdldF9jZGNsayA9Cj4gPiA+IGZpeGVkXzMzM21oel9nZXRfY2RjbGs7Cj4gPiA+ICsJ CWJyZWFrOwo+ID4gPiArCWNhc2UgSU5URUxfSTkxNUdNOgo+ID4gPiArCQlkZXZfcHJpdi0+ZGlz cGxheS5nZXRfY2RjbGsgPSBpOTE1Z21fZ2V0X2NkY2xrOwo+ID4gPiArCQlicmVhazsKPiA+ID4g KwljYXNlIElOVEVMX0k5NDVHOgo+ID4gPiArCWNhc2UgSU5URUxfSTk2NUc6Cj4gPiA+ICsJY2Fz ZSBJTlRFTF9TQU5EWUJSSURHRToKPiA+ID4gKwljYXNlIElOVEVMX0lWWUJSSURHRToKPiA+IAo+ ID4gSSBkb24ndCBwYXJ0aWN1bGFybHkgbGlrZSB0aGlzIGRpc29yZGVyLiBJIGp1c3QgbWFuYWdl ZCB0byBnZXQgdGhlCj4gPiBsaXN0IGludG8gc29tZSBzb3J0IG9mIHNhbmUgb3JkZXIgcmVjZW50 bHkuCj4gCj4gTXkgb3JpZ2luYWwgdGhvdWdodCBoZXJlIHdhcyB0aGF0IHNpbmNlIHRoZSBjb21w aWxlciB3aWxsIGFjdHVhbGx5Cj4gY29tcGxhaW4gaW4gY2FzZSB3ZSBtaXNzIHNvbWUgcGxhdGZv cm0sIGtlZXBpbmcgYSBzdHJpY3Qgb3JkZXIgaXMgbm90Cj4gYXMgbWVhbmluZ2Z1bCBhcyBpdCB3 YXMgYmVmb3JlLiBCdXQgSSB3YXMgYWxzbyB3b25kZXJpbmcgaWYgdGhpcyB3YXMKPiBhY3R1YWxs eSBiZXR0ZXIgb3Igbm90LCBzbyBJIGNhbiBjaGFuZ2UgdGhpcy4KCkFuZCB1bnNvcnRlZCBsaXN0 IGlzIHF1aXRlIGhhcmQgdG8gdmVyaWZ5IHZpc3VhbGx5IGZvciBjb3JyZWN0bmVzcy4gV2UKbWln aHQgaGF2ZSBhIGZ1bmN0aW9uIHBvaW50ZXIgYXNzaWduZWQgZm9yIGVhY2ggcGxhdGZvcm0sIGJ1 dCBpZiB5b3UKYWN0dWFsbHkgd2FudCB0byB2ZXJpZnkgdGhhdCBpdCdzIHRoZSBjb3JyZWN0IG9u ZSBpbiBlYWNoIGNhc2UgdGhlbgpnb2luZyB0aHJvdWdoIHRoZSBsaXN0IGlzIElNTyBtdWNoIGVh c2llciB3aGVuIGl0J3MgaW4gYSBkZWNlbnQgb3JkZXIuCgo+IAo+IEJ1dCBJIGRpZCBub3RpY2Ug eW91IHNvcnRlZCB0aGUgbGlzdC4gSW4gZmFjdCwgSSBvcmlnaW5hbGx5IHdyb3RlIHRoaXMKPiBj b21taXQgYWdhaW5zdCBhIHRyZWUgd2l0aG91dCB5b3VyIGltcHJvdmVtZW50cywgc28gb25lIG9m IHRoZSByZWFzb25zCj4gSSBjaXRlZCBpbiB0aGUgY29tbWl0IG1lc3NhZ2Ugd2FzIHRoZSBtZXNz IG9mIGFuIG9yZGVyaW5nIHdlIGhhZCBhdAo+IHRoYXQgdGltZSA6KS4KPiAKPiA+IAo+ID4gPiAK PiA+ID4gwqAJCWRldl9wcml2LT5kaXNwbGF5LmdldF9jZGNsayA9Cj4gPiA+IGZpeGVkXzQwMG1o el9nZXRfY2RjbGs7Cj4gPiA+IC0JZWxzZSBpZiAoSVNfR0VONShkZXZfcHJpdikpCj4gPiA+IC0J CWRldl9wcml2LT5kaXNwbGF5LmdldF9jZGNsayA9Cj4gPiA+IGZpeGVkXzQ1MG1oel9nZXRfY2Rj bGs7Cj4gPiA+IC0JZWxzZSBpZiAoSVNfR000NShkZXZfcHJpdikpCj4gPiA+IC0JCWRldl9wcml2 LT5kaXNwbGF5LmdldF9jZGNsayA9IGdtNDVfZ2V0X2NkY2xrOwo+ID4gPiAtCWVsc2UgaWYgKElT X0c0NShkZXZfcHJpdikpCj4gPiA+ICsJCWJyZWFrOwo+ID4gPiArCWNhc2UgSU5URUxfSTk0NUdN Ogo+ID4gPiArCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRfY2RjbGsgPSBpOTQ1Z21fZ2V0X2NkY2xr Owo+ID4gPiArCQlicmVhazsKPiA+ID4gKwljYXNlIElOVEVMX0czMzoKPiA+ID4gKwljYXNlIElO VEVMX0c0NToKPiA+IAo+ID4gTW9yZSBkaXNvcmRlci4KPiA+IAo+ID4gPiAKPiA+ID4gwqAJCWRl dl9wcml2LT5kaXNwbGF5LmdldF9jZGNsayA9IGczM19nZXRfY2RjbGs7Cj4gPiA+IC0JZWxzZSBp ZiAoSVNfSTk2NUdNKGRldl9wcml2KSkKPiA+ID4gLQkJZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X2Nk Y2xrID0gaTk2NWdtX2dldF9jZGNsazsKPiA+ID4gLQllbHNlIGlmIChJU19JOTY1RyhkZXZfcHJp dikpCj4gPiA+IC0JCWRldl9wcml2LT5kaXNwbGF5LmdldF9jZGNsayA9Cj4gPiA+IGZpeGVkXzQw MG1oel9nZXRfY2RjbGs7Cj4gPiA+IC0JZWxzZSBpZiAoSVNfUElORVZJRVcoZGV2X3ByaXYpKQo+ ID4gPiArCQlicmVhazsKPiA+ID4gKwljYXNlIElOVEVMX1BJTkVWSUVXOgo+ID4gPiDCoAkJZGV2 X3ByaXYtPmRpc3BsYXkuZ2V0X2NkY2xrID0gcG52X2dldF9jZGNsazsKPiA+ID4gLQllbHNlIGlm IChJU19HMzMoZGV2X3ByaXYpKQo+ID4gPiAtCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRfY2RjbGsg PSBnMzNfZ2V0X2NkY2xrOwo+ID4gPiAtCWVsc2UgaWYgKElTX0k5NDVHTShkZXZfcHJpdikpCj4g PiA+IC0JCWRldl9wcml2LT5kaXNwbGF5LmdldF9jZGNsayA9IGk5NDVnbV9nZXRfY2RjbGs7Cj4g PiA+IC0JZWxzZSBpZiAoSVNfSTk0NUcoZGV2X3ByaXYpKQo+ID4gPiAtCQlkZXZfcHJpdi0+ZGlz cGxheS5nZXRfY2RjbGsgPQo+ID4gPiBmaXhlZF80MDBtaHpfZ2V0X2NkY2xrOwo+ID4gPiAtCWVs c2UgaWYgKElTX0k5MTVHTShkZXZfcHJpdikpCj4gPiA+IC0JCWRldl9wcml2LT5kaXNwbGF5Lmdl dF9jZGNsayA9IGk5MTVnbV9nZXRfY2RjbGs7Cj4gPiA+IC0JZWxzZSBpZiAoSVNfSTkxNUcoZGV2 X3ByaXYpKQo+ID4gPiAtCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRfY2RjbGsgPQo+ID4gPiBmaXhl ZF8zMzNtaHpfZ2V0X2NkY2xrOwo+ID4gPiAtCWVsc2UgaWYgKElTX0k4NjVHKGRldl9wcml2KSkK PiA+ID4gLQkJZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X2NkY2xrID0KPiA+ID4gZml4ZWRfMjY2bWh6 X2dldF9jZGNsazsKPiA+ID4gLQllbHNlIGlmIChJU19JODVYKGRldl9wcml2KSkKPiA+ID4gLQkJ ZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X2NkY2xrID0gaTg1eF9nZXRfY2RjbGs7Cj4gPiA+IC0JZWxz ZSBpZiAoSVNfSTg0NUcoZGV2X3ByaXYpKQo+ID4gPiAtCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRf Y2RjbGsgPQo+ID4gPiBmaXhlZF8yMDBtaHpfZ2V0X2NkY2xrOwo+ID4gPiAtCWVsc2UgeyAvKiA4 MzAgKi8KPiA+ID4gLQkJV0FSTighSVNfSTgzMChkZXZfcHJpdiksCj4gPiA+IC0JCcKgwqDCoMKg wqAiVW5rbm93biBwbGF0Zm9ybS4gQXNzdW1pbmcgMTMzIE1Iego+ID4gPiBDRENMS1xuIik7Cj4g PiA+IC0JCWRldl9wcml2LT5kaXNwbGF5LmdldF9jZGNsayA9Cj4gPiA+IGZpeGVkXzEzM21oel9n ZXRfY2RjbGs7Cj4gPiA+ICsJCWJyZWFrOwo+ID4gPiArCWNhc2UgSU5URUxfSTk2NUdNOgo+ID4g PiArCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRfY2RjbGsgPSBpOTY1Z21fZ2V0X2NkY2xrOwo+ID4g PiArCQlicmVhazsKPiA+ID4gKwljYXNlIElOVEVMX0dNNDU6Cj4gPiA+ICsJCWRldl9wcml2LT5k aXNwbGF5LmdldF9jZGNsayA9IGdtNDVfZ2V0X2NkY2xrOwo+ID4gPiArCQlicmVhazsKPiA+ID4g KwljYXNlIElOVEVMX0lST05MQUtFOgo+ID4gPiArCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRfY2Rj bGsgPQo+ID4gPiBmaXhlZF80NTBtaHpfZ2V0X2NkY2xrOwo+ID4gPiArCQlicmVhazsKPiA+ID4g KwljYXNlIElOVEVMX1ZBTExFWVZJRVc6Cj4gPiA+ICsJY2FzZSBJTlRFTF9DSEVSUllWSUVXOgo+ ID4gPiArCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRfY2RjbGsgPSB2bHZfZ2V0X2NkY2xrOwo+ID4g PiArCQlicmVhazsKPiA+ID4gKwljYXNlIElOVEVMX0hBU1dFTEw6Cj4gPiA+ICsJCWRldl9wcml2 LT5kaXNwbGF5LmdldF9jZGNsayA9IGhzd19nZXRfY2RjbGs7Cj4gPiA+ICsJCWJyZWFrOwo+ID4g PiArCWNhc2UgSU5URUxfQlJPQURXRUxMOgo+ID4gPiArCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRf Y2RjbGsgPSBiZHdfZ2V0X2NkY2xrOwo+ID4gPiArCQlicmVhazsKPiA+ID4gKwljYXNlIElOVEVM X1NLWUxBS0U6Cj4gPiA+ICsJY2FzZSBJTlRFTF9LQUJZTEFLRToKPiA+ID4gKwkJZGV2X3ByaXYt PmRpc3BsYXkuZ2V0X2NkY2xrID0gc2tsX2dldF9jZGNsazsKPiA+ID4gKwkJYnJlYWs7Cj4gPiA+ ICsJY2FzZSBJTlRFTF9CUk9YVE9OOgo+ID4gPiArCWNhc2UgSU5URUxfR0VNSU5JTEFLRToKPiA+ ID4gKwkJZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X2NkY2xrID0gYnh0X2dldF9jZGNsazsKPiA+ID4g KwkJYnJlYWs7Cj4gPiA+IMKgCX0KPiA+ID4gwqB9Cj4gPiA+IC0twqAKPiA+ID4gMi43LjQKPiA+ ID4gCj4gPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Cj4gPiA+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiA+ID4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwo+ID4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo+ID4gCgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsIE9UQwpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK