From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Pandiyan, Dhinakaran" Subject: Re: [PATCH 31/67] drm/i915/cnl: Allow dynamic cdclk changes on CNL Date: Tue, 6 Jun 2017 21:48:26 +0000 Message-ID: <1496786842.32316.1.camel@dk-H97M-D3H> References: <1491506163-14587-1-git-send-email-rodrigo.vivi@intel.com> <1491506163-14587-31-git-send-email-rodrigo.vivi@intel.com> <20170605152206.GC28137@ideak-desk.fi.intel.com> <1496680879.20038.7.camel@rdvivi-vienna> <20170605165512.GX12629@intel.com> <1496683431.9821.1.camel@dk-H97M-D3H> <1496771917.9821.17.camel@dk-H97M-D3H> 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 04EE96E190 for ; Tue, 6 Jun 2017 21:48:27 +0000 (UTC) In-Reply-To: Content-Language: en-US Content-ID: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "rodrigo.vivi@gmail.com" Cc: "Nikula, Jani" , "intel-gfx@lists.freedesktop.org" , "Vivi, Rodrigo" List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCAyMDE3LTA2LTA2IGF0IDExOjEyIC0wNzAwLCBSb2RyaWdvIFZpdmkgd3JvdGU6DQo+ IE9uIFR1ZSwgSnVuIDYsIDIwMTcgYXQgMTE6MDkgQU0sIFJvZHJpZ28gVml2aSA8cm9kcmlnby52 aXZpQGdtYWlsLmNvbT4gd3JvdGU6DQo+ID4gT24gVHVlLCBKdW4gNiwgMjAxNyBhdCAxMDozOSBB TSwgUGFuZGl5YW4sIERoaW5ha2FyYW4NCj4gPiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5j b20+IHdyb3RlOg0KPiA+PiBPbiBUdWUsIDIwMTctMDYtMDYgYXQgMDg6MjQgLTA3MDAsIFJvZHJp Z28gVml2aSB3cm90ZToNCj4gPj4+IE9uIE1vbiwgSnVuIDUsIDIwMTcgYXQgMTA6MDQgQU0sIFBh bmRpeWFuLCBEaGluYWthcmFuDQo+ID4+PiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5jb20+ IHdyb3RlOg0KPiA+Pj4gPiBPbiBNb24sIDIwMTctMDYtMDUgYXQgMTk6NTUgKzAzMDAsIFZpbGxl IFN5cmrDpGzDpCB3cm90ZToNCj4gPj4+ID4+IE9uIE1vbiwgSnVuIDA1LCAyMDE3IGF0IDA0OjQx OjA3UE0gKzAwMDAsIFZpdmksIFJvZHJpZ28gd3JvdGU6DQo+ID4+PiA+PiA+IE9uIE1vbiwgMjAx Ny0wNi0wNSBhdCAxODoyMiArMDMwMCwgSW1yZSBEZWFrIHdyb3RlOg0KPiA+Pj4gPj4gPiA+IE9u IFRodSwgQXByIDA2LCAyMDE3IGF0IDEyOjE1OjI3UE0gLTA3MDAsIFJvZHJpZ28gVml2aSB3cm90 ZToNCj4gPj4+ID4+ID4gPiA+IEFsbCB0aGUgbG93IGxldmVsIGNkY2xrIGJpdHMgYXJlIHByZXNl bnQsIHNvIGxldCdzIGFkZCB0aGUgcmVxdWlyZWQNCj4gPj4+ID4+ID4gPiA+IGhvb2tzIHRvIHJl Y29uZmlndXJlIGNkY2xrIG9uIHRoZSBmbHkuDQo+ID4+PiA+PiA+ID4gPg0KPiA+Pj4gPj4gPiA+ ID4gdjI6IFJlYmFzZSBkdWUgdG8gY25sX3Nhbml0aXplX2NkY2xrKCkNCj4gPj4+ID4+ID4gPiA+ IHYzOiBSZWJhc2VkIGJ5IFJvZHJpZ28gb24gdG9wIG9mIFZpbGxlJ3MgY2RjbGsgcmV3b3JrLg0K PiA+Pj4gPj4gPiA+ID4gdjQ6IFJlYmFzZSBtb3ZpbmcgY25sX2NhbGNfY2RjbGsgdXAgdG8gZm9s bG93IHNhbWUgb3JkZXINCj4gPj4+ID4+ID4gPiA+ICAgICBhcyBwcmV2aW91cyBwbGF0Zm9ybXMu DQo+ID4+PiA+PiA+ID4gPg0KPiA+Pj4gPj4gPiA+ID4gU2lnbmVkLW9mZi1ieTogVmlsbGUgU3ly asOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4NCj4gPj4+ID4+ID4gPiA+IFNp Z25lZC1vZmYtYnk6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4NCj4gPj4+ ID4+ID4gPiA+IC0tLQ0KPiA+Pj4gPj4gPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2NkY2xrLmMgfCA1NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQ0KPiA+ Pj4gPj4gPiA+ID4gIDEgZmlsZSBjaGFuZ2VkLCA1MiBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9u cygtKQ0KPiA+Pj4gPj4gPiA+ID4NCj4gPj4+ID4+ID4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9jZGNsay5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf Y2RjbGsuYw0KPiA+Pj4gPj4gPiA+ID4gaW5kZXggZjliYTFlNy4uYThjMjU0YiAxMDA2NDQNCj4g Pj4+ID4+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NkY2xrLmMNCj4g Pj4+ID4+ID4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NkY2xrLmMNCj4g Pj4+ID4+ID4gPiA+IEBAIC0xNDAwLDYgKzE0MDAsMTYgQEAgdm9pZCBieHRfdW5pbml0X2NkY2xr KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikNCj4gPj4+ID4+ID4gPiA+ICAgICAg ICAgYnh0X3NldF9jZGNsayhkZXZfcHJpdiwgJmNkY2xrX3N0YXRlKTsNCj4gPj4+ID4+ID4gPiA+ ICB9DQo+ID4+PiA+PiA+ID4gPg0KPiA+Pj4gPj4gPiA+ID4gK3N0YXRpYyBpbnQgY25sX2NhbGNf Y2RjbGsoaW50IG1heF9waXhjbGspDQo+ID4+PiA+PiA+ID4gPiArew0KPiA+Pj4gPj4gPiA+ID4g KyAgICAgICBpZiAobWF4X3BpeGNsayA+IDMzNjAwMCkNCj4gPj4+ID4+ID4gPiA+ICsgICAgICAg ICAgICAgICByZXR1cm4gNTI4MDAwOw0KPiA+Pj4gPj4gPiA+ID4gKyAgICAgICBlbHNlIGlmICht YXhfcGl4Y2xrID4gMTY4MDAwKQ0KPiA+Pj4gPj4gPiA+ID4gKyAgICAgICAgICAgICAgIHJldHVy biAzMzYwMDA7DQo+ID4+PiA+PiA+ID4gPiArICAgICAgIGVsc2UNCj4gPj4+ID4+ID4gPiA+ICsg ICAgICAgICAgICAgICByZXR1cm4gMTY4MDAwOw0KPiA+Pj4gPj4gPiA+ID4gK30NCj4gPj4+ID4+ ID4gPiA+ICsNCj4gPj4+ID4+ID4gPiA+ICBzdGF0aWMgdm9pZCBjbmxfY2RjbGtfcGxsX3VwZGF0 ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsDQo+ID4+PiA+PiA+ID4gPiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgaW50ZWxfY2RjbGtfc3RhdGUgKmNk Y2xrX3N0YXRlKQ0KPiA+Pj4gPj4gPiA+ID4gIHsNCj4gPj4+ID4+ID4gPiA+IEBAIC0xNjQwLDcg KzE2NTAsNyBAQCB2b2lkIGNubF9pbml0X2NkY2xrKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikNCj4gPj4+ID4+ID4gPiA+DQo+ID4+PiA+PiA+ID4gPiAgICAgICAgIGNkY2xrX3N0 YXRlID0gZGV2X3ByaXYtPmNkY2xrLmh3Ow0KPiA+Pj4gPj4gPiA+ID4NCj4gPj4+ID4+ID4gPiA+ IC0gICAgICAgY2RjbGtfc3RhdGUuY2RjbGsgPSAxNjgwMDA7DQo+ID4+PiA+PiA+ID4gPiArICAg ICAgIGNkY2xrX3N0YXRlLmNkY2xrID0gY25sX2NhbGNfY2RjbGsoMCk7DQo+ID4+PiA+PiA+ID4g PiAgICAgICAgIGNkY2xrX3N0YXRlLnZjbyA9IGNubF9jZGNsa19wbGxfdmNvKGRldl9wcml2LCBj ZGNsa19zdGF0ZS5jZGNsayk7DQo+ID4+PiA+PiA+ID4gPg0KPiA+Pj4gPj4gPiA+ID4gICAgICAg ICBjbmxfc2V0X2NkY2xrKGRldl9wcml2LCAmY2RjbGtfc3RhdGUpOw0KPiA+Pj4gPj4gPiA+ID4g QEAgLTE5MjgsNiArMTkzOCw0MCBAQCBzdGF0aWMgaW50IGJ4dF9tb2Rlc2V0X2NhbGNfY2RjbGso c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQ0KPiA+Pj4gPj4gPiA+ID4gICAgICAgICBy ZXR1cm4gMDsNCj4gPj4+ID4+ID4gPiA+ICB9DQo+ID4+PiA+PiA+ID4gPg0KPiA+Pj4gPj4gPiA+ ID4gK3N0YXRpYyBpbnQgY25sX21vZGVzZXRfY2FsY19jZGNsayhzdHJ1Y3QgZHJtX2F0b21pY19z dGF0ZSAqc3RhdGUpDQo+ID4+PiA+PiA+ID4gPiArew0KPiA+Pj4gPj4gPiA+ID4gKyAgICAgICBz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KHN0YXRlLT5kZXYpOw0K PiA+Pj4gPj4gPiA+ID4gKyAgICAgICBzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICppbnRlbF9z dGF0ZSA9DQo+ID4+PiA+PiA+ID4gPiArICAgICAgICAgICAgICAgdG9faW50ZWxfYXRvbWljX3N0 YXRlKHN0YXRlKTsNCj4gPj4+ID4+ID4gPiA+ICsgICAgICAgaW50IG1heF9waXhjbGsgPSBpbnRl bF9tYXhfcGl4ZWxfcmF0ZShzdGF0ZSk7DQo+ID4+PiA+PiA+ID4gPiArICAgICAgIGludCBjZGNs aywgdmNvOw0KPiA+Pj4gPj4gPiA+ID4gKw0KPiA+Pj4gPj4gPiA+ID4gKyAgICAgICBjZGNsayA9 IGNubF9jYWxjX2NkY2xrKG1heF9waXhjbGspOw0KPiA+Pj4gPj4gPiA+ID4gKyAgICAgICB2Y28g PSBjbmxfY2RjbGtfcGxsX3ZjbyhkZXZfcHJpdiwgY2RjbGspOw0KPiA+Pj4gPj4gPiA+DQo+ID4+ PiA+PiA+ID4gVGhlIHNwZWMgc2F5cyBub3QgdG8gc2V0IENEQ0xLIHRvIDE2OE1IeiBpZiBhdWRp byBpcyB1c2VkIHdpdGggOTZNSHoNCj4gPj4+ID4+ID4gPiBCQ0xLLCB3aGF0J3MgdGhlIHBsYW4g dG8gYWRkIHRoYXQgY29uc3RyYWludD8gQXQgbGVhc3QgdGhlcmUgY291bGQgYmUgYQ0KPiA+Pj4g Pj4gPiA+IFRPRE86IGhlcmUuDQo+ID4+PiA+PiA+DQo+ID4+PiA+PiA+IFRoYXQncyBhIGdvb2Qg cXVlc3Rpb24uDQo+ID4+PiA+PiA+IERvIHdlIGhhdmUgd2F5cyB0byBrbm93IHRoZSBhdWRpbyBm cmVxPw0KPiA+Pj4gPj4gPiBPciB3ZSBuZWVkIHRvIGFkZCBmZXcgZXh0cmEgaG9va3M/DQo+ID4+ PiA+PiA+IEFuZCBhZ3JlZSwgYXQgbGVhc3QgYSBUT0RPIG9yIEZJWE1FIGhlcmUgaXMgbmVlZGVk IHdoaWxlIHdlIGRvbnQgaGF2ZSBhDQo+ID4+PiA+PiA+IGNsZWFyIHBhdGguDQo+ID4+PiA+Pg0K PiA+Pj4gPj4gYmR3X2FkanVzdF9taW5fcGlwZV9waXhlbF9yYXRlKCkganVzdCBhc3N1bWVzIDk2 TUh6LiBUaGVyZSB3YXMgc29tZQ0KPiA+Pj4gPj4gZGlzY3Vzc2lvbiBvbiB0aGUgdG9waWMsIGFu ZCBJIGZvdW5kIHNvbWUgcmVnaXN0ZXIgdGhhdCBwb3NzaWJseSBjb3VsZA0KPiA+Pj4gPj4gdGVs bCB1cyBzb21ldGhpbmcuIEJ1dCB0aGUgYmVzdCBzb2x1dGlvbiB3b3VsZCBwcm9iYWJseSBpbnZv bHZlIHF1ZXJ5aW5nDQo+ID4+PiA+PiBpdCBmcm9tIHRoZSBhdWRpbyBkcml2ZXIuDQo+ID4+PiA+ Pg0KPiA+Pj4gPg0KPiA+Pj4gPiBUaGUgbGFzdCB0aW1lIEkgY2hlY2tlZCB3aXRoIHRoZSBhdWRp byBmb2xrcywgdGhlIGRyaXZlciBkb2VzIG5vdCBjaGFuZ2UNCj4gPj4+ID4gdGhlIEJDTEsgZnJl cS4gYW5kIHRoZSBkZWZhdWx0IGlzIDk2IE1Iei4NCj4gPj4+DQo+ID4+PiBTbywgd2hhdCBzaG91 bGQgd2UgZG8gZm9yIG5vdz8gQmxvY2sgMTY4PyBSZW1vdmUgMTY4Pw0KPiA+Pg0KPiA+PiBBcyBW aWxsZSB3cm90ZSwgYmR3X2FkanVzdF9taW5fcGlwZV9waXhlbF9yYXRlKCkgYWxyZWFkeSBkb2Vz IHRoYXQuIFlvdQ0KPiA+PiBqdXN0IGhhdmUgdG8gbW9kaWZ5IGludGVsX21heF9waXhlbF9yYXRl KCkgdG8gaW5jbHVkZSBDTkwgdG9vLg0KPiA+DQo+IA0KPiBvaCwgc28ganVzdCBzcXVhc2ggW1BB VENIIDY3LzY3XSBkcm0vaTkxNS9jbmw6IEFkanVzdCBtaW4gcGl4ZWxyYXRlLg0KPiBoZXJlPw0K PiANCg0KSSBjb21wbGV0ZWx5IGZvcmdvdCBhYm91dCB0aGF0IHBhdGNoLCBtYWtlcyBzZW5zZSB0 byBzcXVhc2ggdGhhdCBoZXJlLg0KDQoNCg0KPiA+DQo+ID4+DQo+ID4+IC1ESw0KPiA+Pg0KPiA+ Pj4NCj4gPj4+ID4NCj4gPj4+ID4NCj4gPj4+ID4+ID4NCj4gPj4+ID4+ID4gPg0KPiA+Pj4gPj4g PiA+ID4gKw0KPiA+Pj4gPj4gPiA+ID4gKyAgICAgICBpZiAoY2RjbGsgPiBkZXZfcHJpdi0+bWF4 X2NkY2xrX2ZyZXEpIHsNCj4gPj4+ID4+ID4gPiA+ICsgICAgICAgICAgICAgICBEUk1fREVCVUdf S01TKCJyZXF1ZXN0ZWQgY2RjbGsgKCVkIGtIeikgZXhjZWVkcyBtYXggKCVkIGtIeilcbiIsDQo+ ID4+PiA+PiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZGNsaywgZGV2X3By aXYtPm1heF9jZGNsa19mcmVxKTsNCj4gPj4+ID4+ID4gPiA+ICsgICAgICAgICAgICAgICByZXR1 cm4gLUVJTlZBTDsNCj4gPj4+ID4+ID4gPiA+ICsgICAgICAgfQ0KPiA+Pj4gPj4gPiA+ID4gKw0K PiA+Pj4gPj4gPiA+ID4gKyAgICAgICBpbnRlbF9zdGF0ZS0+Y2RjbGsubG9naWNhbC52Y28gPSB2 Y287DQo+ID4+PiA+PiA+ID4gPiArICAgICAgIGludGVsX3N0YXRlLT5jZGNsay5sb2dpY2FsLmNk Y2xrID0gY2RjbGs7DQo+ID4+PiA+PiA+ID4gPiArDQo+ID4+PiA+PiA+ID4gPiArICAgICAgIGlm ICghaW50ZWxfc3RhdGUtPmFjdGl2ZV9jcnRjcykgew0KPiA+Pj4gPj4gPiA+ID4gKyAgICAgICAg ICAgICAgIGNkY2xrID0gY25sX2NhbGNfY2RjbGsoMCk7DQo+ID4+PiA+PiA+ID4gPiArICAgICAg ICAgICAgICAgdmNvID0gY25sX2NkY2xrX3BsbF92Y28oZGV2X3ByaXYsIGNkY2xrKTsNCj4gPj4+ ID4+ID4gPiA+ICsNCj4gPj4+ID4+ID4gPiA+ICsgICAgICAgICAgICAgICBpbnRlbF9zdGF0ZS0+ Y2RjbGsuYWN0dWFsLnZjbyA9IHZjbzsNCj4gPj4+ID4+ID4gPiA+ICsgICAgICAgICAgICAgICBp bnRlbF9zdGF0ZS0+Y2RjbGsuYWN0dWFsLmNkY2xrID0gY2RjbGs7DQo+ID4+PiA+PiA+ID4gPiAr ICAgICAgIH0gZWxzZSB7DQo+ID4+PiA+PiA+ID4gPiArICAgICAgICAgICAgICAgaW50ZWxfc3Rh dGUtPmNkY2xrLmFjdHVhbCA9DQo+ID4+PiA+PiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAg ICBpbnRlbF9zdGF0ZS0+Y2RjbGsubG9naWNhbDsNCj4gPj4+ID4+ID4gPiA+ICsgICAgICAgfQ0K PiA+Pj4gPj4gPiA+ID4gKw0KPiA+Pj4gPj4gPiA+ID4gKyAgICAgICByZXR1cm4gMDsNCj4gPj4+ ID4+ID4gPiA+ICt9DQo+ID4+PiA+PiA+ID4gPiArDQo+ID4+PiA+PiA+ID4gPiAgc3RhdGljIGlu dCBpbnRlbF9jb21wdXRlX21heF9kb3RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQ0KPiA+Pj4gPj4gPiA+ID4gIHsNCj4gPj4+ID4+ID4gPiA+ICAgICAgICAgaW50IG1heF9j ZGNsa19mcmVxID0gZGV2X3ByaXYtPm1heF9jZGNsa19mcmVxOw0KPiA+Pj4gPj4gPiA+ID4gQEAg LTE5NTksNyArMjAwMyw5IEBAIHN0YXRpYyBpbnQgaW50ZWxfY29tcHV0ZV9tYXhfZG90Y2xrKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikNCj4gPj4+ID4+ID4gPiA+ICAgKi8NCj4g Pj4+ID4+ID4gPiA+ICB2b2lkIGludGVsX3VwZGF0ZV9tYXhfY2RjbGsoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQ0KPiA+Pj4gPj4gPiA+ID4gIHsNCj4gPj4+ID4+ID4gPiA+IC0g ICAgICAgaWYgKElTX0dFTjlfQkMoZGV2X3ByaXYpKSB7DQo+ID4+PiA+PiA+ID4gPiArICAgICAg IGlmIChJU19DQU5OT05MQUtFKGRldl9wcml2KSkgew0KPiA+Pj4gPj4gPiA+ID4gKyAgICAgICAg ICAgICAgIGRldl9wcml2LT5tYXhfY2RjbGtfZnJlcSA9IDUyODAwMDsNCj4gPj4+ID4+ID4gPiA+ ICsgICAgICAgfSBlbHNlIGlmIChJU19HRU45X0JDKGRldl9wcml2KSkgew0KPiA+Pj4gPj4gPiA+ ID4gICAgICAgICAgICAgICAgIHUzMiBsaW1pdCA9IEk5MTVfUkVBRChTS0xfREZTTSkgJiBTS0xf REZTTV9DRENMS19MSU1JVF9NQVNLOw0KPiA+Pj4gPj4gPiA+ID4gICAgICAgICAgICAgICAgIGlu dCBtYXhfY2RjbGssIHZjbzsNCj4gPj4+ID4+ID4gPiA+DQo+ID4+PiA+PiA+ID4gPiBAQCAtMjE1 OCw2ICsyMjA0LDEwIEBAIHZvaWQgaW50ZWxfaW5pdF9jZGNsa19ob29rcyhzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpDQo+ID4+PiA+PiA+ID4gPiAgICAgICAgICAgICAgICAgZGV2 X3ByaXYtPmRpc3BsYXkuc2V0X2NkY2xrID0gc2tsX3NldF9jZGNsazsNCj4gPj4+ID4+ID4gPiA+ ICAgICAgICAgICAgICAgICBkZXZfcHJpdi0+ZGlzcGxheS5tb2Rlc2V0X2NhbGNfY2RjbGsgPQ0K PiA+Pj4gPj4gPiA+ID4gICAgICAgICAgICAgICAgICAgICAgICAgc2tsX21vZGVzZXRfY2FsY19j ZGNsazsNCj4gPj4+ID4+ID4gPiA+ICsgICAgICAgfSBlbHNlIGlmIChJU19DQU5OT05MQUtFKGRl dl9wcml2KSkgew0KPiA+Pj4gPj4gPiA+ID4gKyAgICAgICAgICAgICAgIGRldl9wcml2LT5kaXNw bGF5LnNldF9jZGNsayA9IGNubF9zZXRfY2RjbGs7DQo+ID4+PiA+PiA+ID4gPiArICAgICAgICAg ICAgICAgZGV2X3ByaXYtPmRpc3BsYXkubW9kZXNldF9jYWxjX2NkY2xrID0NCj4gPj4+ID4+ID4g PiA+ICsgICAgICAgICAgICAgICAgICAgICAgIGNubF9tb2Rlc2V0X2NhbGNfY2RjbGs7DQo+ID4+ PiA+PiA+ID4gPiAgICAgICAgIH0NCj4gPj4+ID4+ID4gPiA+DQo+ID4+PiA+PiA+ID4gPiAgICAg ICAgIGlmIChJU19DQU5OT05MQUtFKGRldl9wcml2KSkNCj4gPj4+ID4+ID4gPiA+IC0tDQo+ID4+ PiA+PiA+ID4gPiAxLjkuMQ0KPiA+Pj4gPj4gPiA+ID4NCj4gPj4+ID4+ID4gPiA+IF9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+ID4+PiA+PiA+ID4gPiBJ bnRlbC1nZnggbWFpbGluZyBsaXN0DQo+ID4+PiA+PiA+ID4gPiBJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnDQo+ID4+PiA+PiA+ID4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA0KPiA+Pj4gPj4gPg0KPiA+Pj4gPj4NCj4gPj4+ ID4NCj4gPj4+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18NCj4gPj4+ID4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdA0KPiA+Pj4gPiBJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnDQo+ID4+PiA+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4DQo+ID4+Pg0KPiA+Pj4NCj4gPj4+DQo+ID4+DQo+ ID4NCj4gPg0KPiA+DQo+ID4gLS0NCj4gPiBSb2RyaWdvIFZpdmkNCj4gPiBCbG9nOiBodHRwOi8v YmxvZy52aXZpLmVuZy5icg0KPiANCj4gDQo+IA0KDQpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK