From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH 26/67] drm/i915/cnl: Add power wells for CNL Date: Mon, 5 Jun 2017 18:55:27 +0300 Message-ID: <20170605155527.GD28137@ideak-desk.fi.intel.com> References: <1491506163-14587-1-git-send-email-rodrigo.vivi@intel.com> <1491506163-14587-26-git-send-email-rodrigo.vivi@intel.com> Reply-To: imre.deak@intel.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id BF8B38920F for ; Mon, 5 Jun 2017 15:55:31 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1491506163-14587-26-git-send-email-rodrigo.vivi@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Rodrigo Vivi , Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBBcHIgMDYsIDIwMTcgYXQgMTI6MTU6MjJQTSAtMDcwMCwgUm9kcmlnbyBWaXZpIHdy b3RlOgo+IEZyb206IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5j b20+Cj4gCj4gQ05MIHBvd2VyIHdlbGxzIGFyZSB2ZXJ5IHNpbWlsYXIgdG8gU0tMLCB3aXRoIHRo ZSBleGNlcHRpb24gdGhhdCB0aGUKPiBtaXNjIElPIHdlbGwgaGFzIGJlZW4gc3BsaXQgaW50byBz ZXBhcmF0ZSBBVVggSU8gd2VsbHMuCj4gCj4gTm90IHN1cmUgaWYgRE1DIGlzIHN1cHBvc2VkIHRv IG1hbmFnZSB0aGUgQVVYIHdlbGxzIGZvciB1cyBvciBub3QuCj4gTGV0J3MgYXNzdW1lIHNvIGZv ciBub3cuCj4gCj4gdjI6IERESSBBIHBvd2VyIHdlbGwgd2FudHMgRERJIEEgZG9tYWlucywgbm90 IERESSBCIGRvbWFpbnMKPiB2Mzogcy9CSVQvQklUX1VMTCBhbmQgYWRkIHByb3BlciBBdXggSU8g ZG9tYWlucy4gKFJvZHJpZ28pCj4gdjQ6IFJlbW92ZSBQV19ERElfRS4gTm90IHN1cHBvcnRlZCBv biBDdXJyZW50IENOTCBTS1VzLiAoUm9kcmlnbykuCj4gCj4gU2lnbmVkLW9mZi1ieTogVmlsbGUg U3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5 OiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAgICAgICB8ICAgNSArKwo+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMgfCAxMzggKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0KPiAgMiBmaWxlcyBjaGFuZ2VkLCAxMzkgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlv bnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBpbmRleCA2NTcwMzZkLi5hYzhhMjIz IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gQEAgLTEwNTcsNiArMTA1Nyw3IEBAIGVu dW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAJU0tMX0RJU1BfUFdfTUlTQ19JTywKPiAgCVNL TF9ESVNQX1BXX0RESV9BX0UsCj4gIAlHTEtfRElTUF9QV19ERElfQSA9IFNLTF9ESVNQX1BXX0RE SV9BX0UsCj4gKwlDTkxfRElTUF9QV19ERElfQSA9IFNLTF9ESVNQX1BXX0RESV9BX0UsCj4gIAlT S0xfRElTUF9QV19ERElfQiwKPiAgCVNLTF9ESVNQX1BXX0RESV9DLAo+ICAJU0tMX0RJU1BfUFdf RERJX0QsCj4gQEAgLTEwNjQsNiArMTA2NSwxMCBAQCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxz IHsKPiAgCUdMS19ESVNQX1BXX0FVWF9BID0gOCwKPiAgCUdMS19ESVNQX1BXX0FVWF9CLAo+ICAJ R0xLX0RJU1BfUFdfQVVYX0MsCj4gKwlDTkxfRElTUF9QV19BVVhfQSA9IEdMS19ESVNQX1BXX0FV WF9BLAo+ICsJQ05MX0RJU1BfUFdfQVVYX0IgPSBHTEtfRElTUF9QV19BVVhfQiwKPiArCUNOTF9E SVNQX1BXX0FVWF9DID0gR0xLX0RJU1BfUFdfQVVYX0MsCj4gKwlDTkxfRElTUF9QV19BVVhfRCwK PiAgCj4gIAlTS0xfRElTUF9QV18xID0gMTQsCj4gIAlTS0xfRElTUF9QV18yLAo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKPiBpbmRleCBmOGEzNzVmLi5jNjdlYjg5IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwo+IEBAIC00OTQsNiAr NDk0LDU3IEBAIHN0YXRpYyB2b2lkIGhzd19zZXRfcG93ZXJfd2VsbChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAlCSVRfVUxMKFBPV0VSX0RPTUFJTl9BVVhfQSkgfAkJCVwK PiAgCUJJVF9VTEwoUE9XRVJfRE9NQUlOX0lOSVQpKQo+ICAKPiArI2RlZmluZSBDTkxfRElTUExB WV9QT1dFUldFTExfMl9QT1dFUl9ET01BSU5TICgJCVwKPiArCUJJVF9VTEwoUE9XRVJfRE9NQUlO X1RSQU5TQ09ERVJfQSkgfAkJXAo+ICsJQklUX1VMTChQT1dFUl9ET01BSU5fUElQRV9CKSB8CQkJ XAo+ICsJQklUX1VMTChQT1dFUl9ET01BSU5fVFJBTlNDT0RFUl9CKSB8CQlcCj4gKwlCSVRfVUxM KFBPV0VSX0RPTUFJTl9QSVBFX0MpIHwJCQlcCj4gKwlCSVRfVUxMKFBPV0VSX0RPTUFJTl9UUkFO U0NPREVSX0MpIHwJCVwKPiArCUJJVF9VTEwoUE9XRVJfRE9NQUlOX1BJUEVfQl9QQU5FTF9GSVRU RVIpIHwJCVwKPiArCUJJVF9VTEwoUE9XRVJfRE9NQUlOX1BJUEVfQ19QQU5FTF9GSVRURVIpIHwJ CVwKPiArCUJJVF9VTEwoUE9XRVJfRE9NQUlOX1BPUlRfRERJX0JfTEFORVMpIHwJCVwKPiArCUJJ VF9VTEwoUE9XRVJfRE9NQUlOX1BPUlRfRERJX0NfTEFORVMpIHwJCVwKPiArCUJJVF9VTEwoUE9X RVJfRE9NQUlOX1BPUlRfRERJX0RfTEFORVMpIHwJCVwKPiArCUJJVF9VTEwoUE9XRVJfRE9NQUlO X1BPUlRfRERJX0VfTEFORVMpIHwJCVwKCklmIHBvcnQgRSBpc24ndCBzdXBwb3J0ZWQgdGhlIGFi b3ZlIGFuZApDTkxfRElTUExBWV9ERElfRV9JT19QT1dFUl9ET01BSU5TIGNvdWxkIGJlIGFsc28g cmVtb3ZlZCwgdW5sZXNzIHlvdQp3YW50ZWQgdG8ga2VlcCB0aGVtIGZvciByZWZlcmVuY2UuIEVp dGhlciB3YXksIGxvb2tzIG9rOgoKUmV2aWV3ZWQtYnk6IEltcmUgRGVhayA8aW1yZS5kZWFrQGlu dGVsLmNvbT4KCj4gKwlCSVRfVUxMKFBPV0VSX0RPTUFJTl9BVVhfQikgfCAgICAgICAgICAgICAg ICAgICAgICAgXAo+ICsJQklUX1VMTChQT1dFUl9ET01BSU5fQVVYX0MpIHwJCQlcCj4gKwlCSVRf VUxMKFBPV0VSX0RPTUFJTl9BVVhfRCkgfAkJCVwKPiArCUJJVF9VTEwoUE9XRVJfRE9NQUlOX0FV RElPKSB8CQkJXAo+ICsJQklUX1VMTChQT1dFUl9ET01BSU5fVkdBKSB8CQkJCVwKPiArCUJJVF9V TEwoUE9XRVJfRE9NQUlOX0lOSVQpKQo+ICsjZGVmaW5lIENOTF9ESVNQTEFZX0RESV9BX0lPX1BP V0VSX0RPTUFJTlMgKAkJXAo+ICsJQklUX1VMTChQT1dFUl9ET01BSU5fUE9SVF9ERElfQV9JTykg fAkJXAo+ICsJQklUX1VMTChQT1dFUl9ET01BSU5fSU5JVCkpCj4gKyNkZWZpbmUgQ05MX0RJU1BM QVlfRERJX0JfSU9fUE9XRVJfRE9NQUlOUyAoCQlcCj4gKwlCSVRfVUxMKFBPV0VSX0RPTUFJTl9Q T1JUX0RESV9CX0lPKSB8CQlcCj4gKwlCSVRfVUxMKFBPV0VSX0RPTUFJTl9JTklUKSkKPiArI2Rl ZmluZSBDTkxfRElTUExBWV9ERElfQ19JT19QT1dFUl9ET01BSU5TICgJCVwKPiArCUJJVF9VTEwo UE9XRVJfRE9NQUlOX1BPUlRfRERJX0NfSU8pIHwJCVwKPiArCUJJVF9VTEwoUE9XRVJfRE9NQUlO X0lOSVQpKQo+ICsjZGVmaW5lIENOTF9ESVNQTEFZX0RESV9EX0lPX1BPV0VSX0RPTUFJTlMgKAkJ XAo+ICsJQklUX1VMTChQT1dFUl9ET01BSU5fUE9SVF9ERElfRF9JTykgfAkJXAo+ICsJQklUX1VM TChQT1dFUl9ET01BSU5fSU5JVCkpCj4gKyNkZWZpbmUgQ05MX0RJU1BMQVlfRERJX0VfSU9fUE9X RVJfRE9NQUlOUyAoCQlcCj4gKwlCSVRfVUxMKFBPV0VSX0RPTUFJTl9QT1JUX0RESV9FX0lPKSB8 CQlcCj4gKwlCSVRfVUxMKFBPV0VSX0RPTUFJTl9JTklUKSkKPiArI2RlZmluZSBDTkxfRElTUExB WV9BVVhfQV9QT1dFUl9ET01BSU5TICgJCVwKPiArCUJJVF9VTEwoUE9XRVJfRE9NQUlOX0FVWF9B KSB8CQkJXAo+ICsJQklUX1VMTChQT1dFUl9ET01BSU5fSU5JVCkpCj4gKyNkZWZpbmUgQ05MX0RJ U1BMQVlfQVVYX0JfUE9XRVJfRE9NQUlOUyAoCQlcCj4gKwlCSVRfVUxMKFBPV0VSX0RPTUFJTl9B VVhfQikgfAkJCVwKPiArCUJJVF9VTEwoUE9XRVJfRE9NQUlOX0lOSVQpKQo+ICsjZGVmaW5lIENO TF9ESVNQTEFZX0FVWF9DX1BPV0VSX0RPTUFJTlMgKAkJXAo+ICsJQklUX1VMTChQT1dFUl9ET01B SU5fQVVYX0MpIHwJCQlcCj4gKwlCSVRfVUxMKFBPV0VSX0RPTUFJTl9JTklUKSkKPiArI2RlZmlu ZSBDTkxfRElTUExBWV9BVVhfRF9QT1dFUl9ET01BSU5TICgJCVwKPiArCUJJVF9VTEwoUE9XRVJf RE9NQUlOX0FVWF9EKSB8CQkJXAo+ICsJQklUX1VMTChQT1dFUl9ET01BSU5fSU5JVCkpCj4gKyNk ZWZpbmUgQ05MX0RJU1BMQVlfRENfT0ZGX1BPV0VSX0RPTUFJTlMgKAkJXAo+ICsJQ05MX0RJU1BM QVlfUE9XRVJXRUxMXzJfUE9XRVJfRE9NQUlOUyB8CQlcCj4gKwlCSVRfVUxMKFBPV0VSX0RPTUFJ Tl9NT0RFU0VUKSB8CQkJXAo+ICsJQklUX1VMTChQT1dFUl9ET01BSU5fQVVYX0EpIHwJCQlcCj4g KwlCSVRfVUxMKFBPV0VSX0RPTUFJTl9JTklUKSkKPiArCj4gIHN0YXRpYyB2b2lkIGFzc2VydF9j YW5fZW5hYmxlX2RjOShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIHsKPiAg CVdBUk5fT05DRSgoSTkxNV9SRUFEKERDX1NUQVRFX0VOKSAmIERDX1NUQVRFX0VOX0RDOSksCj4g QEAgLTc2MiwxMyArODEzLDE0IEBAIHN0YXRpYyB2b2lkIHNrbF9zZXRfcG93ZXJfd2VsbChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJfQo+ICAJCWJyZWFrOwo+ICAJY2Fz ZSBTS0xfRElTUF9QV19NSVNDX0lPOgo+IC0JY2FzZSBTS0xfRElTUF9QV19ERElfQV9FOiAvKiBH TEtfRElTUF9QV19ERElfQSAqLwo+ICsJY2FzZSBTS0xfRElTUF9QV19ERElfQV9FOiAvKiBHTEtf RElTUF9QV19ERElfQSwgQ05MX0RJU1BfUFdfRERJX0EgKi8KPiAgCWNhc2UgU0tMX0RJU1BfUFdf RERJX0I6Cj4gIAljYXNlIFNLTF9ESVNQX1BXX0RESV9DOgo+ICAJY2FzZSBTS0xfRElTUF9QV19E RElfRDoKPiAtCWNhc2UgR0xLX0RJU1BfUFdfQVVYX0E6Cj4gLQljYXNlIEdMS19ESVNQX1BXX0FV WF9COgo+IC0JY2FzZSBHTEtfRElTUF9QV19BVVhfQzoKPiArCWNhc2UgR0xLX0RJU1BfUFdfQVVY X0E6IC8qIENOTF9ESVNQX1BXX0FVWF9BICovCj4gKwljYXNlIEdMS19ESVNQX1BXX0FVWF9COiAv KiBDTkxfRElTUF9QV19BVVhfQiAqLwo+ICsJY2FzZSBHTEtfRElTUF9QV19BVVhfQzogLyogQ05M X0RJU1BfUFdfQVVYX0MgKi8KPiArCWNhc2UgQ05MX0RJU1BfUFdfQVVYX0Q6Cj4gIAkJYnJlYWs7 Cj4gIAlkZWZhdWx0Ogo+ICAJCVdBUk4oMSwgIlVua25vd24gcG93ZXIgd2VsbCAlbHVcbiIsIHBv d2VyX3dlbGwtPmlkKTsKPiBAQCAtMjI3NSw2ICsyMzI3LDgyIEBAIGJvb2wgaW50ZWxfZGlzcGxh eV9wb3dlcl93ZWxsX2lzX2VuYWJsZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAo+ICAJfSwKPiAgfTsKPiAgCj4gK3N0YXRpYyBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsIGNubF9w b3dlcl93ZWxsc1tdID0gewo+ICsJewo+ICsJCS5uYW1lID0gImFsd2F5cy1vbiIsCj4gKwkJLmFs d2F5c19vbiA9IDEsCj4gKwkJLmRvbWFpbnMgPSBQT1dFUl9ET01BSU5fTUFTSywKPiArCQkub3Bz ID0gJmk5eHhfYWx3YXlzX29uX3Bvd2VyX3dlbGxfb3BzLAo+ICsJfSwKPiArCXsKPiArCQkubmFt ZSA9ICJwb3dlciB3ZWxsIDEiLAo+ICsJCS8qIEhhbmRsZWQgYnkgdGhlIERNQyBmaXJtd2FyZSAq Lwo+ICsJCS5kb21haW5zID0gMCwKPiArCQkub3BzID0gJnNrbF9wb3dlcl93ZWxsX29wcywKPiAr CQkuaWQgPSBTS0xfRElTUF9QV18xLAo+ICsJfSwKPiArCXsKPiArCQkubmFtZSA9ICJBVVggQSIs Cj4gKwkJLmRvbWFpbnMgPSBDTkxfRElTUExBWV9BVVhfQV9QT1dFUl9ET01BSU5TLAo+ICsJCS5v cHMgPSAmc2tsX3Bvd2VyX3dlbGxfb3BzLAo+ICsJCS5pZCA9IENOTF9ESVNQX1BXX0FVWF9BLAo+ ICsJfSwKPiArCXsKPiArCQkubmFtZSA9ICJBVVggQiIsCj4gKwkJLmRvbWFpbnMgPSBDTkxfRElT UExBWV9BVVhfQl9QT1dFUl9ET01BSU5TLAo+ICsJCS5vcHMgPSAmc2tsX3Bvd2VyX3dlbGxfb3Bz LAo+ICsJCS5pZCA9IENOTF9ESVNQX1BXX0FVWF9CLAo+ICsJfSwKPiArCXsKPiArCQkubmFtZSA9 ICJBVVggQyIsCj4gKwkJLmRvbWFpbnMgPSBDTkxfRElTUExBWV9BVVhfQ19QT1dFUl9ET01BSU5T LAo+ICsJCS5vcHMgPSAmc2tsX3Bvd2VyX3dlbGxfb3BzLAo+ICsJCS5pZCA9IENOTF9ESVNQX1BX X0FVWF9DLAo+ICsJfSwKPiArCXsKPiArCQkubmFtZSA9ICJBVVggRCIsCj4gKwkJLmRvbWFpbnMg PSBDTkxfRElTUExBWV9BVVhfRF9QT1dFUl9ET01BSU5TLAo+ICsJCS5vcHMgPSAmc2tsX3Bvd2Vy X3dlbGxfb3BzLAo+ICsJCS5pZCA9IENOTF9ESVNQX1BXX0FVWF9ELAo+ICsJfSwKPiArCXsKPiAr CQkubmFtZSA9ICJEQyBvZmYiLAo+ICsJCS5kb21haW5zID0gQ05MX0RJU1BMQVlfRENfT0ZGX1BP V0VSX0RPTUFJTlMsCj4gKwkJLm9wcyA9ICZnZW45X2RjX29mZl9wb3dlcl93ZWxsX29wcywKPiAr CQkuaWQgPSBTS0xfRElTUF9QV19EQ19PRkYsCj4gKwl9LAo+ICsJewo+ICsJCS5uYW1lID0gInBv d2VyIHdlbGwgMiIsCj4gKwkJLmRvbWFpbnMgPSBDTkxfRElTUExBWV9QT1dFUldFTExfMl9QT1dF Ul9ET01BSU5TLAo+ICsJCS5vcHMgPSAmc2tsX3Bvd2VyX3dlbGxfb3BzLAo+ICsJCS5pZCA9IFNL TF9ESVNQX1BXXzIsCj4gKwl9LAo+ICsJewo+ICsJCS5uYW1lID0gIkRESSBBIElPIHBvd2VyIHdl bGwiLAo+ICsJCS5kb21haW5zID0gQ05MX0RJU1BMQVlfRERJX0FfSU9fUE9XRVJfRE9NQUlOUywK PiArCQkub3BzID0gJnNrbF9wb3dlcl93ZWxsX29wcywKPiArCQkuaWQgPSBDTkxfRElTUF9QV19E RElfQSwKPiArCX0sCj4gKwl7Cj4gKwkJLm5hbWUgPSAiRERJIEIgSU8gcG93ZXIgd2VsbCIsCj4g KwkJLmRvbWFpbnMgPSBDTkxfRElTUExBWV9ERElfQl9JT19QT1dFUl9ET01BSU5TLAo+ICsJCS5v cHMgPSAmc2tsX3Bvd2VyX3dlbGxfb3BzLAo+ICsJCS5pZCA9IFNLTF9ESVNQX1BXX0RESV9CLAo+ ICsJfSwKPiArCXsKPiArCQkubmFtZSA9ICJEREkgQyBJTyBwb3dlciB3ZWxsIiwKPiArCQkuZG9t YWlucyA9IENOTF9ESVNQTEFZX0RESV9DX0lPX1BPV0VSX0RPTUFJTlMsCj4gKwkJLm9wcyA9ICZz a2xfcG93ZXJfd2VsbF9vcHMsCj4gKwkJLmlkID0gU0tMX0RJU1BfUFdfRERJX0MsCj4gKwl9LAo+ ICsJewo+ICsJCS5uYW1lID0gIkRESSBEIElPIHBvd2VyIHdlbGwiLAo+ICsJCS5kb21haW5zID0g Q05MX0RJU1BMQVlfRERJX0RfSU9fUE9XRVJfRE9NQUlOUywKPiArCQkub3BzID0gJnNrbF9wb3dl cl93ZWxsX29wcywKPiArCQkuaWQgPSBTS0xfRElTUF9QV19ERElfRCwKPiArCX0sCj4gK307Cj4g Kwo+ICBzdGF0aWMgaW50Cj4gIHNhbml0aXplX2Rpc2FibGVfcG93ZXJfd2VsbF9vcHRpb24oY29u c3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCQkJICAgaW50IGRpc2Fi bGVfcG93ZXJfd2VsbCkKPiBAQCAtMjM2OSw2ICsyNDk3LDggQEAgaW50IGludGVsX3Bvd2VyX2Rv bWFpbnNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAkJc2V0X3Bv d2VyX3dlbGxzKHBvd2VyX2RvbWFpbnMsIGJkd19wb3dlcl93ZWxscyk7Cj4gIAl9IGVsc2UgaWYg KElTX0dFTjlfQkMoZGV2X3ByaXYpKSB7Cj4gIAkJc2V0X3Bvd2VyX3dlbGxzKHBvd2VyX2RvbWFp bnMsIHNrbF9wb3dlcl93ZWxscyk7Cj4gKwl9IGVsc2UgaWYgKElTX0NBTk5PTkxBS0UoZGV2X3By aXYpKSB7Cj4gKwkJc2V0X3Bvd2VyX3dlbGxzKHBvd2VyX2RvbWFpbnMsIGNubF9wb3dlcl93ZWxs cyk7Cj4gIAl9IGVsc2UgaWYgKElTX0JST1hUT04oZGV2X3ByaXYpKSB7Cj4gIAkJc2V0X3Bvd2Vy X3dlbGxzKHBvd2VyX2RvbWFpbnMsIGJ4dF9wb3dlcl93ZWxscyk7Cj4gIAl9IGVsc2UgaWYgKElT X0dFTUlOSUxBS0UoZGV2X3ByaXYpKSB7Cj4gLS0gCj4gMS45LjEKPiAKPiBfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxp c3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==