From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: Re: [PATCH 04/10] drm/i915/chv: Added CHV specific register read and write Date: Fri, 16 May 2014 17:46:48 +0300 Message-ID: <874n0pu6g7.fsf@gaia.fi.intel.com> References: <1399294059-20748-1-git-send-email-deepak.s@linux.intel.com> <1399294059-20748-5-git-send-email-deepak.s@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id EA29D6E343 for ; Fri, 16 May 2014 07:48:13 -0700 (PDT) In-Reply-To: <1399294059-20748-5-git-send-email-deepak.s@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: deepak.s@linux.intel.com, intel-gfx@lists.freedesktop.org Cc: fafael.barbalho@intel.com List-Id: intel-gfx@lists.freedesktop.org ZGVlcGFrLnNAbGludXguaW50ZWwuY29tIHdyaXRlczoKCj4gRnJvbTogRGVlcGFrIFMgPGRlZXBh ay5zQGxpbnV4LmludGVsLmNvbT4KPgo+IFN1cHBvcnQgdG8gaW5kaXZpZHVhbGx5IGNvbnRyb2wg TWVkaWEvUmVuZGVyIHdlbGwgYmFzZWQgb24gdGhlIHJlZ2lzdGVyIGFjY2Vzcy4KPiBBZGQgQ0hW IHNwZWNpZmljIHdyaXRlIGZ1bmN0aW9uIHRvIGhhYmRsZSBkaWZmZXJlbmNlIGJldHdlZW4gcmVn aXN0ZXJzCj4gdGhhdCBhcmUgc2Fkb3dlZCB2cyB0aG9zZSB0aGF0IG5lZWQgZm9yY2V3YWtlIGV2 ZW4gZm9yIHdyaXRlcy4KPgo+IHYyOiBEcm9wIHdyaXRlIEZJRk8gZm9yIENIViBhbmQgYWRkIGNv bW1hbiB3ZWxsIGZvcmNld2FrZSAoVmlsbGUpCj4KPiB2MzogRml4IGZvciBkZWNyZW1lbnRpbmcg ZncgY291bnQgaW4gY2h2IHJlYWQvd3JpdGUuIChEZWVwYWspCj4KPiBTaWduZWQtb2ZmLWJ5OiBE ZWVwYWsgUyA8ZGVlcGFrLnNAbGludXguaW50ZWwuY29tPgo+IFt2c3lyamFsYTogTW92ZSB0aGUg cmVnaXN0ZXIgcmFuZ2UgbWFjcm9zIGludG8gaW50ZWxfdW5jb3JlLmNdCj4gU2lnbmVkLW9mZi1i eTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiAtLS0K PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMgfCAxMzMgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrLS0tCj4gIDEgZmlsZSBjaGFuZ2VkLCAxMjUgaW5zZXJ0aW9u cygrKSwgOCBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF91bmNvcmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCj4g aW5kZXggNzZkYzE4NS4uNGYxZjE5OSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF91bmNvcmUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29y ZS5jCj4gQEAgLTQ5NSw2ICs0OTUsMzEgQEAgdm9pZCBhc3NlcnRfZm9yY2Vfd2FrZV9pbmFjdGl2 ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAkoKHJlZykgPj0gMHgyMjAw MCAmJiAocmVnKSA8IDB4MjQwMDApIHx8XAo+ICAJKChyZWcpID49IDB4MzAwMDAgJiYgKHJlZykg PCAweDQwMDAwKSkKPiAgCj4gKyNkZWZpbmUgRk9SQ0VXQUtFX0NIVl9SRU5ERVJfUkFOR0VfT0ZG U0VUKHJlZykgXAo+ICsJKCgocmVnKSA+PSAweDIwMDAgJiYgKHJlZykgPCAweDQwMDApIHx8XAo+ ICsJKChyZWcpID49IDB4NTAwMCAmJiAocmVnKSA8IDB4ODAwMCkgfHxcCj4gKwkoKHJlZykgPj0g MHg4MzAwICYmIChyZWcpIDwgMHg4NTAwKSB8fFwKPiArCSgocmVnKSA+PSAweEIwMDAgJiYgKHJl ZykgPCAweEMwMDApIHx8XAo+ICsJKChyZWcpID49IDB4RTAwMCAmJiAocmVnKSA8IDB4RTgwMCkp Cj4gKwo+ICsjZGVmaW5lIEZPUkNFV0FLRV9DSFZfTUVESUFfUkFOR0VfT0ZGU0VUKHJlZylcCj4g KwkoKChyZWcpID49IDB4ODgwMCAmJiAocmVnKSA8IDB4ODkwMCkgfHxcCj4gKwkoKHJlZykgPj0g MHhEMDAwICYmIChyZWcpIDwgMHhEODAwKSB8fFwKPiArCSgocmVnKSA+PSAweDEyMDAwICYmIChy ZWcpIDwgMHgxNDAwMCkgfHxcCj4gKwkoKHJlZykgPj0gMHgxQTAwMCAmJiAocmVnKSA8IDB4MUMw MDApIHx8XAo+ICsJKChyZWcpID49IDB4MUU4MDAgJiYgKHJlZykgPCAweDFFQTAwKSB8fFwKPiAr CSgocmVnKSA+PSAweDMwMDAwICYmIChyZWcpIDwgMHg0MDAwMCkpCj4gKwo+ICsjZGVmaW5lIEZP UkNFV0FLRV9DSFZfQ09NTU9OX1JBTkdFX09GRlNFVChyZWcpXAo+ICsJKCgocmVnKSA+PSAweDQw MDAgJiYgKHJlZykgPCAweDUwMDApIHx8XAo+ICsJKChyZWcpID49IDB4ODAwMCAmJiAocmVnKSA8 IDB4ODMwMCkgfHxcCj4gKwkoKHJlZykgPj0gMHg4NTAwICYmIChyZWcpIDwgMHg4NjAwKSB8fFwK PiArCSgocmVnKSA+PSAweDkwMDAgJiYgKHJlZykgPCAweEIwMDApIHx8XAo+ICsJKChyZWcpID49 IDB4QzAwMCAmJiAocmVnKSA8IDB4YzgwMCkgfHxcCj4gKwkoKHJlZykgPj0gMHhGMDAwICYmIChy ZWcpIDwgMHgxMDAwMCkgfHxcCgo+ICsJKChyZWcpID49IDB4MTQwMDAgJiYgKHJlZykgPCAweDE0 NDAwKSB8fFwKPiArCSgocmVnKSA+PSAweDIyMDAwICYmIChyZWcpIDwgMHgyNDAwMCkpCj4gKwoK Rm9yIHRoZXNlIHR3byBsYXN0IHJlZ2lzdGVyIHJhbmdlcyBJIGNvdWxkbnQgZmluZCBhbiBpbmRp Y2F0aW9uCmlmIHdlIHJlYWxseSBuZWVkIHRvIHRha2UgZncuIEkgZ3Vlc3MgaXQgZG9lc250IGh1 cnQgYnV0CnBsZWFzZSByZS1jaGVjayBpZiB0aGVzZSBhcmUgdHJ1ZWx5IG5lZWRlZC4KCj4gIHN0 YXRpYyB2b2lkCj4gIGlsa19kdW1teV93cml0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCj4gIHsKPiBAQCAtNTg4LDcgKzYxMyw0NSBAQCB2bHZfcmVhZCMjeChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIG9mZl90IHJlZywgYm9vbCB0cmFjZSkgeyBcCj4gIAlS RUdfUkVBRF9GT09URVI7IFwKPiAgfQo+ICAKPiArI2RlZmluZSBfX2Nodl9yZWFkKHgpIFwKPiAr c3RhdGljIHUjI3ggXAo+ICtjaHZfcmVhZCMjeChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsIG9mZl90IHJlZywgYm9vbCB0cmFjZSkgeyBcCj4gKwl1bnNpZ25lZCBmd2VuZ2luZSA9 IDA7IFwKPiArCVJFR19SRUFEX0hFQURFUih4KTsgXAo+ICsJaWYgKEZPUkNFV0FLRV9DSFZfUkVO REVSX1JBTkdFX09GRlNFVChyZWcpKSBcCj4gKwkJZndlbmdpbmUgPSBGT1JDRVdBS0VfUkVOREVS OyBcCj4gKwllbHNlIGlmIChGT1JDRVdBS0VfQ0hWX01FRElBX1JBTkdFX09GRlNFVChyZWcpKSBc Cj4gKwkJZndlbmdpbmUgPSBGT1JDRVdBS0VfTUVESUE7IFwKPiArCWVsc2UgaWYgKEZPUkNFV0FL RV9DSFZfQ09NTU9OX1JBTkdFX09GRlNFVChyZWcpKSBcCj4gKwkJZndlbmdpbmUgPSBGT1JDRVdB S0VfQUxMOyBcCj4gKwlpZiAoRk9SQ0VXQUtFX1JFTkRFUiAmIGZ3ZW5naW5lKSB7IFwKPiArCQlp ZiAoZGV2X3ByaXYtPnVuY29yZS5md19yZW5kZXJjb3VudCsrID09IDApIFwKPiArCQkJKGRldl9w cml2KS0+dW5jb3JlLmZ1bmNzLmZvcmNlX3dha2VfZ2V0KGRldl9wcml2LCBcCj4gKwkJCQkJCQkJ ZndlbmdpbmUpOyBcCj4gKwl9IFwKPiArCWlmIChGT1JDRVdBS0VfTUVESUEgJiBmd2VuZ2luZSkg eyBcCj4gKwkJaWYgKGRldl9wcml2LT51bmNvcmUuZndfbWVkaWFjb3VudCsrID09IDApIFwKPiAr CQkJKGRldl9wcml2KS0+dW5jb3JlLmZ1bmNzLmZvcmNlX3dha2VfZ2V0KGRldl9wcml2LCBcCj4g KwkJCQkJCQkJZndlbmdpbmUpOyBcCj4gKwl9IFwKClRoaXMgcGF0Y2ggaW50cm9kdWNlcyBhIGJ1 ZyBpbiBoZXJlIGJlY2F1c2Ugd2UgZW5kIHVwIHdha2luZyB1cAp0aGUgc2FtZSB3ZWxsIHR3aWNl IGluIGEgcm93LCBieSBkZWxpdmVyaW5nIGZ3ZW5naW5lIGludG8gdGhlIHdha2UgZnVuYy4KClRo ZSBmb2xsb3dpbmcgcGF0Y2ggaW4gdGhlIHNlcmllcyBmaXhlcyB0aGlzIGJ1Zy4gWW91IHNob3Vs ZApzcXVhc2ggdGhlc2UgdHdvIGludG8gYSBzaW5nbGUgcGF0Y2guCgotTWlrYQoKPiArCXZhbCA9 IF9fcmF3X2k5MTVfcmVhZCMjeChkZXZfcHJpdiwgcmVnKTsgXAo+ICsJaWYgKEZPUkNFV0FLRV9S RU5ERVIgJiBmd2VuZ2luZSkgeyBcCj4gKwkJaWYgKC0tZGV2X3ByaXYtPnVuY29yZS5md19yZW5k ZXJjb3VudCA9PSAwKSBcCj4gKwkJCShkZXZfcHJpdiktPnVuY29yZS5mdW5jcy5mb3JjZV93YWtl X3B1dChkZXZfcHJpdiwgXAo+ICsJCQkJCQkJCWZ3ZW5naW5lKTsgXAo+ICsJfSBcCj4gKwlpZiAo Rk9SQ0VXQUtFX01FRElBICYgZndlbmdpbmUpIHsgXAo+ICsJCWlmICgtLWRldl9wcml2LT51bmNv cmUuZndfbWVkaWFjb3VudCA9PSAwKSBcCj4gKwkJCShkZXZfcHJpdiktPnVuY29yZS5mdW5jcy5m b3JjZV93YWtlX3B1dChkZXZfcHJpdiwgXAo+ICsJCQkJCQkJCWZ3ZW5naW5lKTsgXAo+ICsJfSBc Cj4gKwlSRUdfUkVBRF9GT09URVI7IFwKPiArfQo+ICAKPiArX19jaHZfcmVhZCg4KQo+ICtfX2No dl9yZWFkKDE2KQo+ICtfX2Nodl9yZWFkKDMyKQo+ICtfX2Nodl9yZWFkKDY0KQo+ICBfX3Zsdl9y ZWFkKDgpCj4gIF9fdmx2X3JlYWQoMTYpCj4gIF9fdmx2X3JlYWQoMzIpCj4gQEAgLTYwNiw2ICs2 NjksNyBAQCBfX2dlbjRfcmVhZCgxNikKPiAgX19nZW40X3JlYWQoMzIpCj4gIF9fZ2VuNF9yZWFk KDY0KQo+ICAKPiArI3VuZGVmIF9fY2h2X3JlYWQKPiAgI3VuZGVmIF9fdmx2X3JlYWQKPiAgI3Vu ZGVmIF9fZ2VuNl9yZWFkCj4gICN1bmRlZiBfX2dlbjVfcmVhZAo+IEBAIC03MTAsNiArNzc0LDQ2 IEBAIGdlbjhfd3JpdGUjI3goc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBvZmZf dCByZWcsIHUjI3ggdmFsLCBib29sIHRyYWNlCj4gIAlSRUdfV1JJVEVfRk9PVEVSOyBcCj4gIH0K PiAgCj4gKyNkZWZpbmUgX19jaHZfd3JpdGUoeCkgXAo+ICtzdGF0aWMgdm9pZCBcCj4gK2Nodl93 cml0ZSMjeChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIG9mZl90IHJlZywgdSMj eCB2YWwsIGJvb2wgdHJhY2UpIHsgXAo+ICsJdW5zaWduZWQgZndlbmdpbmUgPSAwOyBcCj4gKwli b29sIF9fbmVlZHNfcHV0ID0gIWlzX2dlbjhfc2hhZG93ZWQoZGV2X3ByaXYsIHJlZyk7IFwKPiAr CVJFR19XUklURV9IRUFERVI7IFwKPiArCWlmIChGT1JDRVdBS0VfQ0hWX1JFTkRFUl9SQU5HRV9P RkZTRVQocmVnKSkgXAo+ICsJCWZ3ZW5naW5lID0gRk9SQ0VXQUtFX1JFTkRFUjsgXAo+ICsJZWxz ZSBpZiAoRk9SQ0VXQUtFX0NIVl9NRURJQV9SQU5HRV9PRkZTRVQocmVnKSkgXAo+ICsJCWZ3ZW5n aW5lID0gRk9SQ0VXQUtFX01FRElBOyBcCj4gKwllbHNlIGlmIChGT1JDRVdBS0VfQ0hWX0NPTU1P Tl9SQU5HRV9PRkZTRVQocmVnKSkgXAo+ICsJCWZ3ZW5naW5lID0gRk9SQ0VXQUtFX0FMTDsgXAo+ ICsJaWYgKF9fbmVlZHNfcHV0ICYmIChGT1JDRVdBS0VfUkVOREVSICYgZndlbmdpbmUpKSB7IFwK PiArCQkJaWYgKGRldl9wcml2LT51bmNvcmUuZndfcmVuZGVyY291bnQrKyA9PSAwKSBcCj4gKwkJ CQkoZGV2X3ByaXYpLT51bmNvcmUuZnVuY3MuZm9yY2Vfd2FrZV9nZXQoZGV2X3ByaXYsIFwKPiAr CQkJCQkJCQkJZndlbmdpbmUpOyBcCj4gKwl9IFwKPiArCWlmIChfX25lZWRzX3B1dCAmJiAoRk9S Q0VXQUtFX01FRElBICYgZndlbmdpbmUpKSB7IFwKPiArCQlpZiAoZGV2X3ByaXYtPnVuY29yZS5m d19tZWRpYWNvdW50KysgPT0gMCkgXAo+ICsJCQkoZGV2X3ByaXYpLT51bmNvcmUuZnVuY3MuZm9y Y2Vfd2FrZV9nZXQoZGV2X3ByaXYsIFwKPiArCQkJCQkJCQlmd2VuZ2luZSk7IFwKPiArCX0gXAo+ ICsJX19yYXdfaTkxNV93cml0ZSMjeChkZXZfcHJpdiwgcmVnLCB2YWwpOyBcCj4gKwlpZiAoX19u ZWVkc19wdXQgJiYgKEZPUkNFV0FLRV9SRU5ERVIgJiBmd2VuZ2luZSkpIHsgXAo+ICsJCQlpZiAo LS1kZXZfcHJpdi0+dW5jb3JlLmZ3X3JlbmRlcmNvdW50ID09IDApIFwKPiArCQkJCShkZXZfcHJp diktPnVuY29yZS5mdW5jcy5mb3JjZV93YWtlX3B1dChkZXZfcHJpdiwgXAo+ICsJCQkJCQkJCQlm d2VuZ2luZSk7IFwKPiArCX0gXAo+ICsJaWYgKF9fbmVlZHNfcHV0ICYmIChGT1JDRVdBS0VfTUVE SUEgJiBmd2VuZ2luZSkpIHsgXAo+ICsJCWlmICgtLWRldl9wcml2LT51bmNvcmUuZndfbWVkaWFj b3VudCA9PSAwKSBcCj4gKwkJCShkZXZfcHJpdiktPnVuY29yZS5mdW5jcy5mb3JjZV93YWtlX3B1 dChkZXZfcHJpdiwgXAo+ICsJCQkJCQkJCWZ3ZW5naW5lKTsgXAo+ICsJfSBcCj4gKwlSRUdfV1JJ VEVfRk9PVEVSOyBcCj4gK30KPiArCj4gK19fY2h2X3dyaXRlKDgpCj4gK19fY2h2X3dyaXRlKDE2 KQo+ICtfX2Nodl93cml0ZSgzMikKPiArX19jaHZfd3JpdGUoNjQpCj4gIF9fZ2VuOF93cml0ZSg4 KQo+ICBfX2dlbjhfd3JpdGUoMTYpCj4gIF9fZ2VuOF93cml0ZSgzMikKPiBAQCAtNzMxLDYgKzgz NSw3IEBAIF9fZ2VuNF93cml0ZSgxNikKPiAgX19nZW40X3dyaXRlKDMyKQo+ICBfX2dlbjRfd3Jp dGUoNjQpCj4gIAo+ICsjdW5kZWYgX19jaHZfd3JpdGUKPiAgI3VuZGVmIF9fZ2VuOF93cml0ZQo+ ICAjdW5kZWYgX19oc3dfd3JpdGUKPiAgI3VuZGVmIF9fZ2VuNl93cml0ZQo+IEBAIC03OTQsMTQg Kzg5OSwyNiBAQCB2b2lkIGludGVsX3VuY29yZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp Cj4gIAo+ICAJc3dpdGNoIChJTlRFTF9JTkZPKGRldiktPmdlbikgewo+ICAJZGVmYXVsdDoKPiAt CQlkZXZfcHJpdi0+dW5jb3JlLmZ1bmNzLm1taW9fd3JpdGViICA9IGdlbjhfd3JpdGU4Owo+IC0J CWRldl9wcml2LT51bmNvcmUuZnVuY3MubW1pb193cml0ZXcgID0gZ2VuOF93cml0ZTE2Owo+IC0J CWRldl9wcml2LT51bmNvcmUuZnVuY3MubW1pb193cml0ZWwgID0gZ2VuOF93cml0ZTMyOwo+IC0J CWRldl9wcml2LT51bmNvcmUuZnVuY3MubW1pb193cml0ZXEgID0gZ2VuOF93cml0ZTY0Owo+IC0J CWRldl9wcml2LT51bmNvcmUuZnVuY3MubW1pb19yZWFkYiAgPSBnZW42X3JlYWQ4Owo+IC0JCWRl dl9wcml2LT51bmNvcmUuZnVuY3MubW1pb19yZWFkdyAgPSBnZW42X3JlYWQxNjsKPiAtCQlkZXZf cHJpdi0+dW5jb3JlLmZ1bmNzLm1taW9fcmVhZGwgID0gZ2VuNl9yZWFkMzI7Cj4gLQkJZGV2X3By aXYtPnVuY29yZS5mdW5jcy5tbWlvX3JlYWRxICA9IGdlbjZfcmVhZDY0Owo+ICsJCWlmIChJU19D SEVSUllWSUVXKGRldikpIHsKPiArCQkJZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5tbWlvX3dyaXRl YiAgPSBjaHZfd3JpdGU4Owo+ICsJCQlkZXZfcHJpdi0+dW5jb3JlLmZ1bmNzLm1taW9fd3JpdGV3 ICA9IGNodl93cml0ZTE2Owo+ICsJCQlkZXZfcHJpdi0+dW5jb3JlLmZ1bmNzLm1taW9fd3JpdGVs ICA9IGNodl93cml0ZTMyOwo+ICsJCQlkZXZfcHJpdi0+dW5jb3JlLmZ1bmNzLm1taW9fd3JpdGVx ICA9IGNodl93cml0ZTY0Owo+ICsJCQlkZXZfcHJpdi0+dW5jb3JlLmZ1bmNzLm1taW9fcmVhZGIg ID0gY2h2X3JlYWQ4Owo+ICsJCQlkZXZfcHJpdi0+dW5jb3JlLmZ1bmNzLm1taW9fcmVhZHcgID0g Y2h2X3JlYWQxNjsKPiArCQkJZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5tbWlvX3JlYWRsICA9IGNo dl9yZWFkMzI7Cj4gKwkJCWRldl9wcml2LT51bmNvcmUuZnVuY3MubW1pb19yZWFkcSAgPSBjaHZf cmVhZDY0Owo+ICsKPiArCQl9IGVsc2Ugewo+ICsJCQlkZXZfcHJpdi0+dW5jb3JlLmZ1bmNzLm1t aW9fd3JpdGViICA9IGdlbjhfd3JpdGU4Owo+ICsJCQlkZXZfcHJpdi0+dW5jb3JlLmZ1bmNzLm1t aW9fd3JpdGV3ICA9IGdlbjhfd3JpdGUxNjsKPiArCQkJZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5t bWlvX3dyaXRlbCAgPSBnZW44X3dyaXRlMzI7Cj4gKwkJCWRldl9wcml2LT51bmNvcmUuZnVuY3Mu bW1pb193cml0ZXEgID0gZ2VuOF93cml0ZTY0Owo+ICsJCQlkZXZfcHJpdi0+dW5jb3JlLmZ1bmNz Lm1taW9fcmVhZGIgID0gZ2VuNl9yZWFkODsKPiArCQkJZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5t bWlvX3JlYWR3ICA9IGdlbjZfcmVhZDE2Owo+ICsJCQlkZXZfcHJpdi0+dW5jb3JlLmZ1bmNzLm1t aW9fcmVhZGwgID0gZ2VuNl9yZWFkMzI7Cj4gKwkJCWRldl9wcml2LT51bmNvcmUuZnVuY3MubW1p b19yZWFkcSAgPSBnZW42X3JlYWQ2NDsKPiArCQl9Cj4gIAkJYnJlYWs7Cj4gIAljYXNlIDc6Cj4g IAljYXNlIDY6Cj4gLS0gCj4gMS45LjEKPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==