From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 10/21] drm/i915: Unify SKL cdclk init paths Date: Mon, 23 May 2016 21:20:45 +0300 Message-ID: <20160523182045.GV4329@intel.com> References: <1463172100-24715-1-git-send-email-ville.syrjala@linux.intel.com> <1463172100-24715-11-git-send-email-ville.syrjala@linux.intel.com> <1463672612.12342.41.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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 74AF76E01F for ; Mon, 23 May 2016 18:20:48 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1463672612.12342.41.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: Imre Deak Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBNYXkgMTksIDIwMTYgYXQgMDY6NDM6MzJQTSArMDMwMCwgSW1yZSBEZWFrIHdyb3Rl Ogo+IE9uIHBlLCAyMDE2LTA1LTEzIGF0IDIzOjQxICswMzAwLCB2aWxsZS5zeXJqYWxhQGxpbnV4 LmludGVsLmNvbSB3cm90ZToKPiA+IEZyb206IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFs YUBsaW51eC5pbnRlbC5jb20+Cj4gPiAKPiA+IEN1cnJlbnRseSB3ZSBpbml0aWFsaXplIGNkY2xr IG9uIFNLTCBmcm9tIHR3byBkaWZmZXJlbnQgcGxhY2VzLAo+ID4gZGVwZW5kaW5nIG9uIHdoZXRo ZXIgaXQncyBkdXJpbmcgZHJpdmVyIGluaXQgb3IgcmVzdW1lLiBMZXQncwo+ID4gdW5pZnkgaXQg dG8gaGFwcGVuIGZyb20gdGhlIHNhbWUgcGxhY2UgYWx3YXlzLCBhbmQgdGhhdCBwbGFjZSB3aWxs IGJlCj4gPiB0aGUgZGlzcGxheSBjb3JlIGluaXQgZnVuY3Rpb24uCj4gPiAKPiA+IFRvIGRvIHRo aXMgd2UgZmlyc3QgcnVuIHRocm91Z2ggdGhlIGNkY2xrIHNhbml0YXRpb24gY29kZSwgd2hpY2gg d2lsbAo+ID4gZmlyc3QgdmVyaWZ5IHRoYXQgdGhlIFBMTCBpcyBwcm9ncmFtbWVkIGNvcnJlY3Rs eSwgYWZ0ZXIgd2hpY2ggd2UgY2FuCj4gPiByZWFkIG91dCB0aGUgY3VycmVudCBjZGNsayBmcmVx dWVuY3ksIGFuZCBvbmNlIHRoZSBjZGNsayBpcyBrbm93biB3ZQo+ID4gdmVyaWZ5IHRoYXQgdGhl IGNkY2xrICJkZWNpbWFsIiBmcmVxdWVuY3kgaXMgcHJvZ3JhbW1lZCBjb3JyZWN0bHkuIElmCj4g PiBhbnkgb2YgdGhlc2UgZmFpbCB3ZSB3aWxsIGZvcmNlIGEgY2RjbGsgY2hhbmdlLCBhbmQgdG8g YmUgc2FmZSB3ZSBhbHNvCj4gPiBmb3JjZSB0aGUgUExMIHRvIGJlIHR1cm5lZCBvZmYgYW5kIG9u IGFnYWluLiBJZiB0aGUgc2FuaXRhdGlvbiBzdGVwCj4gPiBkaWRuJ3Qgbm90aWNlIGFueXRoaW5n IGFtaXNzLCB3ZSdsbCBza2lwIHRoZSBjZGNsayBwcm9ncmFtbWluZyB3aGljaAo+ID4gd2lsbCBw cmV2ZW50IGNkY2xrIHJlcHJvZ3JhbW1pbmcgd2hlbiB0aGUgZGlzcGxheXMgbWlnaHQgYmUgYWN0 aXZlLgo+ID4gCj4gPiBXZSBjYW4gYWxzbyB0b3NzIGluIGEgZmV3IFdBUk5zIGFib3V0IHRoZSBy ZWdpc3RlciB2YWx1ZXMgaW50bwo+ID4gc2tsX3VwZGF0ZV9kcGxsMCgpIHNpbmNlIHdlIG5vdyBr bm93IHRoYXQgdGhlIFBMTCBzdGF0ZSBzaG91bGQKPiA+IGFsd2F5cyBiZSBzYW5lIHdoZW4gdGhh dCBmdW5jdGlvbiBpcyBjYWxsZWQuCj4gPiAKPiA+IFNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrD pGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPiAtLS0KPiA+IMKgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jwqDCoMKgwqB8IDQwICsrKysrKysrKysrKysr KysrKysrKysrKystLS0tLS0tLQo+ID4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxs X21nci5jwqDCoMKgfCAxMSArKy0tLS0tLS0KPiA+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmjCoMKgwqDCoMKgwqDCoMKgfMKgwqAxIC0KPiA+IMKgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcnVudGltZV9wbS5jIHzCoMKgNSArLS0tLQo+ID4gwqA0IGZpbGVzIGNoYW5nZWQs IDM0IGluc2VydGlvbnMoKyksIDIzIGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jCj4gPiBpbmRleCA0OTMxNjA2ODJiMmEuLmRhOTAzYjcxOGMxMSAx MDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gPiBAQCAtNTU3Nyw4 ICs1NTc3LDE1IEBAIHNrbF9kcGxsMF91cGRhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQo+ID4gwqAJCXJldHVybjsKPiA+IMKgCX0KPiA+IMKgCj4gPiArCVdBUk5fT04oKHZh bCAmIExDUExMX1BMTF9MT0NLKSA9PSAwKTsKPiA+ICsKPiA+IMKgCXZhbCA9IEk5MTVfUkVBRChE UExMX0NUUkwxKTsKPiA+IMKgCj4gPiArCVdBUk5fT04oKHZhbCAmIChEUExMX0NUUkwxX0hETUlf TU9ERShTS0xfRFBMTDApIHwKPiA+ICsJCQlEUExMX0NUUkwxX1NTQyhTS0xfRFBMTDApIHwKPiA+ ICsJCQlEUExMX0NUUkwxX09WRVJSSURFKFNLTF9EUExMMCkpKSAhPQo+ID4gKwkJRFBMTF9DVFJM MV9PVkVSUklERShTS0xfRFBMTDApKTsKPiA+ICsKPiA+IMKgCXN3aXRjaCAodmFsICYgRFBMTF9D VFJMMV9MSU5LX1JBVEVfTUFTSyhTS0xfRFBMTDApKSB7Cj4gPiDCoAljYXNlIERQTExfQ1RSTDFf TElOS19SQVRFKERQTExfQ1RSTDFfTElOS19SQVRFXzgxMCwgU0tMX0RQTEwwKToKPiA+IMKgCWNh c2UgRFBMTF9DVFJMMV9MSU5LX1JBVEUoRFBMTF9DVFJMMV9MSU5LX1JBVEVfMTM1MCwgU0tMX0RQ TEwwKToKPiA+IEBAIC01NzQ4LDYgKzU3NTUsOCBAQCBzdGF0aWMgdm9pZCBza2xfc2V0X2NkY2xr KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgaW50IGNkY2xrLCBpbnQgdmNvKQo+ ID4gwqAJaW50ZWxfdXBkYXRlX2NkY2xrKGRldik7Cj4gPiDCoH0KPiA+IMKgCj4gPiArc3RhdGlj IHZvaWQgc2tsX3Nhbml0aXplX2NkY2xrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dik7Cj4gPiArCj4gPiDCoHZvaWQgc2tsX3VuaW5pdF9jZGNsayhzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCj4gPiDCoHsKPiA+IMKgCS8qIGRpc2FibGUgREJVRiBwb3dlciAqLwo+ ID4gQEAgLTU3NjQsMTAgKzU3NzMsMTkgQEAgdm9pZCBza2xfdW5pbml0X2NkY2xrKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+IMKgCj4gPiDCoHZvaWQgc2tsX2luaXRfY2Rj bGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4gwqB7Cj4gPiAtCS8qIERQ TEwwIG5vdCBlbmFibGVkIChoYXBwZW5zIG9uIGVhcmx5IEJJT1MgdmVyc2lvbnMpICovCj4gPiAt CWlmIChkZXZfcHJpdi0+c2tsX3Zjb19mcmVxID09IDApIHsKPiA+IC0JCWludCBjZGNsaywgdmNv Owo+ID4gKwlpbnQgY2RjbGssIHZjbzsKPiA+ICsKPiA+ICsJc2tsX3Nhbml0aXplX2NkY2xrKGRl dl9wcml2KTsKPiA+IMKgCj4gPiArCWlmIChkZXZfcHJpdi0+Y2RjbGtfZnJlcSAhPSAwICYmIGRl dl9wcml2LT5za2xfdmNvX2ZyZXEgIT0gMCkgewo+ID4gKwkJLyoKPiA+ICsJCcKgKiBVc2UgdGhl IGN1cnJlbnQgdmNvIGFzIG91dCBpbml0aWFsCj4gCj4gdHlwbyBhYm92ZS4KCkZpeGVkIHdoaWxl IGFwcGx5aW5nLgoKPiAKPiBMb29rcyBvazoKPiBSZXZpZXdlZC1ieTogSW1yZSBEZWFrIDxpbXJl LmRlYWtAaW50ZWwuY29tPgo+IAo+ID4gKwkJwqAqIGd1ZXNzIGFzIHRvIHdoYXQgdGhlIHByZWZl cnJlZCB2Y28gaXMuCj4gPiArCQnCoCovCj4gPiArCQlpZiAoZGV2X3ByaXYtPnNrbF9wcmVmZXJy ZWRfdmNvX2ZyZXEgPT0gMCkKPiA+ICsJCQlza2xfc2V0X3ByZWZlcnJlZF9jZGNsa192Y28oZGV2 X3ByaXYsCj4gPiArCQkJCQkJwqDCoMKgwqBkZXZfcHJpdi0+c2tsX3Zjb19mcmVxKTsKPiA+ICsJ fSBlbHNlIHsKPiA+IMKgCQkvKiBzZXQgQ0RDTEsgdG8gdGhlIGxvd2VzdCBmcmVxdWVuY3ksIE1v ZGVzZXQgZm9sbG93cyAqLwo+ID4gwqAJCXZjbyA9IGRldl9wcml2LT5za2xfcHJlZmVycmVkX3Zj b19mcmVxOwo+ID4gwqAJCWlmICh2Y28gPT0gMCkKPiA+IEBAIC01Nzg3LDcgKzU4MDUsNyBAQCB2 b2lkIHNrbF9pbml0X2NkY2xrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+ IMKgCQlEUk1fRVJST1IoIkRCdWYgcG93ZXIgZW5hYmxlIHRpbWVvdXRcbiIpOwo+ID4gwqB9Cj4g PiDCoAo+ID4gLWludCBza2xfc2FuaXRpemVfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQo+ID4gK3N0YXRpYyB2b2lkIHNrbF9zYW5pdGl6ZV9jZGNsayhzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gPiDCoHsKPiA+IMKgCXVpbnQzMl90IGNkY3RsLCBl eHBlY3RlZDsKPiA+IMKgCj4gPiBAQCAtNTgxMCw2ICs1ODI4LDggQEAgaW50IHNrbF9zYW5pdGl6 ZV9jZGNsayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gPiDCoAnCoMKgwqDC oERQTExfQ1RSTDFfT1ZFUlJJREUoU0tMX0RQTEwwKSkKPiA+IMKgCQlnb3RvIHNhbml0aXplOwo+ ID4gwqAKPiA+ICsJaW50ZWxfdXBkYXRlX2NkY2xrKGRldl9wcml2LT5kZXYpOwo+ID4gKwo+ID4g wqAJLyogRFBMTCBva2F5OyB2ZXJpZnkgdGhlIGNkY2xvY2sKPiA+IMKgCcKgKgo+ID4gwqAJwqAq IE5vdGljZWQgaW4gc29tZSBpbnN0YW5jZXMgdGhhdCB0aGUgZnJlcSBzZWxlY3Rpb24gaXMgY29y cmVjdCBidXQKPiA+IEBAIC01ODIxLDEzICs1ODQxLDE1IEBAIGludCBza2xfc2FuaXRpemVfY2Rj bGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4gwqAJCXNrbF9jZGNsa19k ZWNpbWFsKGRldl9wcml2LT5jZGNsa19mcmVxKTsKPiA+IMKgCWlmIChjZGN0bCA9PSBleHBlY3Rl ZCkKPiA+IMKgCQkvKiBBbGwgd2VsbDsgbm90aGluZyB0byBzYW5pdGl6ZSAqLwo+ID4gLQkJcmV0 dXJuIGZhbHNlOwo+ID4gLXNhbml0aXplOgo+ID4gKwkJcmV0dXJuOwo+ID4gwqAKPiA+IC0Jc2ts X2luaXRfY2RjbGsoZGV2X3ByaXYpOwo+ID4gK3Nhbml0aXplOgo+ID4gKwlEUk1fREVCVUdfS01T KCJTYW5pdGl6aW5nIGNkY2xrIHByb2dyYW1tZWQgYnkgcHJlLW9zXG4iKTsKPiA+IMKgCj4gPiAt CS8qIHdlIGRpZCBoYXZlIHRvIHNhbml0aXplICovCj4gPiAtCXJldHVybiB0cnVlOwo+ID4gKwkv KiBmb3JjZSBjZGNsayBwcm9ncmFtbWluZyAqLwo+ID4gKwlkZXZfcHJpdi0+Y2RjbGtfZnJlcSA9 IDA7Cj4gPiArCS8qIGZvcmNlIGZ1bGwgUExMIGRpc2FibGUgKyBlbmFibGUgKi8KPiA+ICsJZGV2 X3ByaXYtPnNrbF92Y29fZnJlcSA9IC0xOwo+ID4gwqB9Cj4gPiDCoAo+ID4gwqAvKiBBZGp1c3Qg Q0RjbGsgZGl2aWRlcnMgdG8gYWxsb3cgaGlnaCByZXMgb3Igc2F2ZSBwb3dlciBpZiBwb3NzaWJs ZSAqLwo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwbGxfbWdy LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5jCj4gPiBpbmRleCAzNGVj MTQ5ZmRlODUuLjZiNzBlMWVjY2IxMyAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwbGxfbWdyLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwbGxfbWdyLmMKPiA+IEBAIC0xNjMwLDE3ICsxNjMwLDEwIEBAIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgaW50ZWxfc2hhcmVkX2RwbGxfZnVuY3MgYnh0X2RkaV9wbGxfZnVuY3MgPSB7Cj4gPiDCoHN0 YXRpYyB2b2lkIGludGVsX2RkaV9wbGxfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4g wqB7Cj4gPiDCoAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9w cml2YXRlOwo+ID4gLQl1aW50MzJfdCB2YWwgPSBJOTE1X1JFQUQoTENQTExfQ1RMKTsKPiA+IMKg Cj4gPiAtCWlmIChJU19TS1lMQUtFKGRldikgfHwgSVNfS0FCWUxBS0UoZGV2KSkgewo+ID4gLQkJ aWYgKHNrbF9zYW5pdGl6ZV9jZGNsayhkZXZfcHJpdikpCj4gPiAtCQkJRFJNX0RFQlVHX0tNUygi U2FuaXRpemVkIGNkY2xrIHByb2dyYW1tZWQgYnkgcHJlLW9zXG4iKTsKPiA+ICsJaWYgKElOVEVM X0dFTihkZXZfcHJpdikgPCA5KSB7Cj4gPiArCQl1aW50MzJfdCB2YWwgPSBJOTE1X1JFQUQoTENQ TExfQ1RMKTsKPiA+IMKgCj4gPiAtCQkvKiBXZSdsbCB3YW50IHRvIGtlZXAgdXNpbmcgdGhlIGN1 cnJlbnQgdmNvIGZyb20gbm93IG9uICovCj4gPiAtCQlpZiAoZGV2X3ByaXYtPnNrbF92Y29fZnJl cSAhPSAwKQo+ID4gLQkJCXNrbF9zZXRfcHJlZmVycmVkX2NkY2xrX3ZjbyhkZXZfcHJpdiwKPiA+ IC0JCQkJCQnCoMKgwqDCoGRldl9wcml2LT5za2xfdmNvX2ZyZXEpOwo+ID4gLQl9IGVsc2UgaWYg KCFJU19CUk9YVE9OKGRldl9wcml2KSkgewo+ID4gwqAJCS8qCj4gPiDCoAkJwqAqIFRoZSBMQ1BM TCByZWdpc3RlciBzaG91bGQgYmUgdHVybmVkIG9uIGJ5IHRoZSBCSU9TLiBGb3Igbm93Cj4gPiDC oAkJwqAqIGxldCdzIGp1c3QgY2hlY2sgaXRzIHN0YXRlIGFuZCBwcmludCBlcnJvcnMgaW4gY2Fz ZQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+IGluZGV4IDhmNDhhMzJlOTkxYi4uMzE5 ZTUyMjc4ZDFmIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiBAQCAtMTI3 OSw3ICsxMjc5LDYgQEAgdm9pZCBieHRfZW5hYmxlX2RjOShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpOwo+ID4gwqB2b2lkIGJ4dF9kaXNhYmxlX2RjOShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpOwo+ID4gwqB2b2lkIGdlbjlfZW5hYmxlX2RjNShzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ID4gwqB2b2lkIHNrbF9pbml0X2NkY2xrKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gPiAtaW50IHNrbF9zYW5pdGl6ZV9jZGNs ayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ID4gwqB2b2lkIHNrbF91bmlu aXRfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiA+IMKgdW5zaWdu ZWQgaW50IHNrbF9jZGNsa19nZXRfdmNvKHVuc2lnbmVkIGludCBmcmVxKTsKPiA+IMKgdm9pZCBz a2xfZW5hYmxlX2RjNihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ID4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwo+ID4gaW5kZXggYjY5YjkzNTUxNmZi Li5mZWZlMjJjM2MxNjMgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9ydW50aW1lX3BtLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRp bWVfcG0uYwo+ID4gQEAgLTIyMDAsMTIgKzIyMDAsOSBAQCBzdGF0aWMgdm9pZCBza2xfZGlzcGxh eV9jb3JlX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gwqAKPiA+ IMKgCW11dGV4X3VubG9jaygmcG93ZXJfZG9tYWlucy0+bG9jayk7Cj4gPiDCoAo+ID4gLQlpZiAo IXJlc3VtZSkKPiA+IC0JCXJldHVybjsKPiA+IC0KPiA+IMKgCXNrbF9pbml0X2NkY2xrKGRldl9w cml2KTsKPiA+IMKgCj4gPiAtCWlmIChkZXZfcHJpdi0+Y3NyLmRtY19wYXlsb2FkKQo+ID4gKwlp ZiAocmVzdW1lICYmIGRldl9wcml2LT5jc3IuZG1jX3BheWxvYWQpCj4gPiDCoAkJaW50ZWxfY3Ny X2xvYWRfcHJvZ3JhbShkZXZfcHJpdik7Cj4gPiDCoH0KPiA+IMKgCgotLSAKVmlsbGUgU3lyasOk bMOkCkludGVsIE9UQwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK