From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Widawsky Subject: Re: [PATCH 04/10] drm/i915/chv: Added CHV specific register read and write Date: Fri, 25 Apr 2014 14:54:17 -0700 Message-ID: <20140425215417.GE4167@bwidawsk.net> References: <1398067454-7581-2-git-send-email-deepak.s@linux.intel.com> <1398067454-7581-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 mail.bwidawsk.net (bwidawsk.net [166.78.191.112]) by gabe.freedesktop.org (Postfix) with ESMTP id 310256EFB4 for ; Fri, 25 Apr 2014 14:54:26 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1398067454-7581-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 Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBBcHIgMjEsIDIwMTQgYXQgMDE6MzQ6MDhQTSArMDUzMCwgZGVlcGFrLnNAbGludXgu aW50ZWwuY29tIHdyb3RlOgo+IEZyb206IERlZXBhayBTIDxkZWVwYWsuc0BsaW51eC5pbnRlbC5j b20+Cj4gCj4gU3VwcG9ydCB0byBpbmRpdmlkdWFsbHkgY29udHJvbCBNZWRpYS9SZW5kZXIgd2Vs bCBiYXNlZCBvbiB0aGUgcmVnaXN0ZXIgYWNjZXNzLgo+IEFkZCBDSFYgc3BlY2lmaWMgd3JpdGUg ZnVuY3Rpb24gdG8gaGFiZGxlIGRpZmZlcmVuY2UgYmV0d2VlbiByZWdpc3RlcnMKPiB0aGF0IGFy ZSBzYWRvd2VkIHZzIHRob3NlIHRoYXQgbmVlZCBmb3JjZXdha2UgZXZlbiBmb3Igd3JpdGVzLgo+ IAo+IHYyOiBEcm9wIHdyaXRlIEZJRk8gZm9yIENIViBhbmQgYWRkIGNvbW1hbiB3ZWxsIGZvcmNl d2FrZSAoVmlsbGUpCj4gCj4gdjM6IEZpeCBmb3IgZGVjcmVtZW50aW5nIGZ3IGNvdW50IGluIGNo diByZWFkL3dyaXRlLiAoRGVlcGFrKQo+IAo+IFNpZ25lZC1vZmYtYnk6IERlZXBhayBTIDxkZWVw YWsuc0BsaW51eC5pbnRlbC5jb20+Cj4gW3ZzeXJqYWxhOiBNb3ZlIHRoZSByZWdpc3RlciByYW5n ZSBtYWNyb3MgaW50byBpbnRlbF91bmNvcmUuY10KPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJq w6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgoKSSBsZWZ0IHNvbWUgY29tbWVu dHMgb24gdGhlIGZpcnN0IHNlbmRpbmcgb2YgdGhpcyBwYXRjaCwgYW5kIGl0J3Mgbm90CmNsZWFy IGlmIHlvdSBpZ25vcmVkIHRoZW0gaW50ZW50aW9uYWxseSBvciBub3QuIElucXVpcmluZyBtaW5k cyB3b3VsZApsaWtlIHRvIGtub3cuCgpJJ2xsIHJlcGVhdCBzb21lIG9mIHRoZSBvbmVzIEkgZmVl bCBhcmUgbW9yZSBpbXBvcnRhbnQgYmVsb3cuCgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF91bmNvcmUuYyB8IDEzOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst LS0KPiAgMSBmaWxlIGNoYW5nZWQsIDEzMSBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQo+ IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCj4gaW5kZXggMmE3MmJhYi4uMTE3NDFl NCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCj4gQEAgLTQ5NSw2ICs0OTUs MzEgQEAgdm9pZCBhc3NlcnRfZm9yY2Vfd2FrZV9pbmFjdGl2ZShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCj4gIAkoKHJlZykgPj0gMHgyMjAwMCAmJiAocmVnKSA8IDB4MjQwMDAp IHx8XAo+ICAJKChyZWcpID49IDB4MzAwMDAgJiYgKHJlZykgPCAweDQwMDAwKSkKPiAgCj4gKyNk ZWZpbmUgRk9SQ0VXQUtFX0NIVl9SRU5ERVJfUkFOR0VfT0ZGU0VUKHJlZykgXAo+ICsJKCgocmVn KSA+PSAweDIwMDAgJiYgKHJlZykgPCAweDQwMDApIHx8XAo+ICsJKChyZWcpID49IDB4NTAwMCAm JiAocmVnKSA8IDB4ODAwMCkgfHxcCj4gKwkoKHJlZykgPj0gMHg4MzAwICYmIChyZWcpIDwgMHg4 NTAwKSB8fFwKPiArCSgocmVnKSA+PSAweEIwMDAgJiYgKHJlZykgPCAweEMwMDApIHx8XAo+ICsJ KChyZWcpID49IDB4RTAwMCAmJiAocmVnKSA8IDB4RTgwMCkpCj4gKwo+ICsjZGVmaW5lIEZPUkNF V0FLRV9DSFZfTUVESUFfUkFOR0VfT0ZGU0VUKHJlZylcCj4gKwkoKChyZWcpID49IDB4ODgwMCAm JiAocmVnKSA8IDB4ODkwMCkgfHxcCj4gKwkoKHJlZykgPj0gMHhEMDAwICYmIChyZWcpIDwgMHhE ODAwKSB8fFwKPiArCSgocmVnKSA+PSAweDEyMDAwICYmIChyZWcpIDwgMHgxNDAwMCkgfHxcCj4g KwkoKHJlZykgPj0gMHgxQTAwMCAmJiAocmVnKSA8IDB4MUMwMDApIHx8XAo+ICsJKChyZWcpID49 IDB4MUU4MDAgJiYgKHJlZykgPCAweDFFQTAwKSB8fFwKPiArCSgocmVnKSA+PSAweDMwMDAwICYm IChyZWcpIDwgMHg0MDAwMCkpCj4gKwo+ICsjZGVmaW5lIEZPUkNFV0FLRV9DSFZfQ09NTU9OX1JB TkdFX09GRlNFVChyZWcpXAo+ICsJKCgocmVnKSA+PSAweDQwMDAgJiYgKHJlZykgPCAweDUwMDAp IHx8XAo+ICsJKChyZWcpID49IDB4ODAwMCAmJiAocmVnKSA8IDB4ODMwMCkgfHxcCj4gKwkoKHJl ZykgPj0gMHg4NTAwICYmIChyZWcpIDwgMHg4NjAwKSB8fFwKPiArCSgocmVnKSA+PSAweDkwMDAg JiYgKHJlZykgPCAweEIwMDApIHx8XAo+ICsJKChyZWcpID49IDB4QzAwMCAmJiAocmVnKSA8IDB4 YzgwMCkgfHxcCj4gKwkoKHJlZykgPj0gMHhGMDAwICYmIChyZWcpIDwgMHgxMDAwMCkgfHxcCj4g KwkoKHJlZykgPj0gMHgxNDAwMCAmJiAocmVnKSA8IDB4MTQ0MDApIHx8XAo+ICsJKChyZWcpID49 IDB4MjIwMDAgJiYgKHJlZykgPCAweDI0MDAwKSkKPiArCj4gIHN0YXRpYyB2b2lkCj4gIGlsa19k dW1teV93cml0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIHsKPiBAQCAt NTg4LDcgKzYxMyw0OCBAQCB2bHZfcmVhZCMjeChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsIG9mZl90IHJlZywgYm9vbCB0cmFjZSkgeyBcCj4gIAlSRUdfUkVBRF9GT09URVI7IFwK PiAgfQo+ICAKPiArI2RlZmluZSBfX2Nodl9yZWFkKHgpIFwKPiArc3RhdGljIHUjI3ggXAo+ICtj aHZfcmVhZCMjeChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIG9mZl90IHJlZywg Ym9vbCB0cmFjZSkgeyBcCj4gKwl1bnNpZ25lZCBmd2VuZ2luZSA9IDA7IFwKPiArCVJFR19SRUFE X0hFQURFUih4KTsgXAo+ICsJaWYgKEZPUkNFV0FLRV9DSFZfUkVOREVSX1JBTkdFX09GRlNFVChy ZWcpKSB7IFwKPiArCQlmd2VuZ2luZSA9IEZPUkNFV0FLRV9SRU5ERVI7IFwKPiArCX0gXAo+ICsJ ZWxzZSBpZiAoRk9SQ0VXQUtFX0NIVl9NRURJQV9SQU5HRV9PRkZTRVQocmVnKSkgeyBcCj4gKwkJ ZndlbmdpbmUgPSBGT1JDRVdBS0VfTUVESUE7IFwKPiArCX0gXAo+ICsJZWxzZSBpZiAoRk9SQ0VX QUtFX0NIVl9DT01NT05fUkFOR0VfT0ZGU0VUKHJlZykpIHsgXAo+ICsJCWZ3ZW5naW5lID0gRk9S Q0VXQUtFX0FMTDsgXAo+ICsJfSBcCgpUaGVzZSBkb24ndCBmb2xsb3dpbmcgbGludXgga2VybmVs IGNvZGluZyBzdHlsZQoKPiArCWlmIChGT1JDRVdBS0VfUkVOREVSICYgZndlbmdpbmUpIHsgXAo+ ICsJCWlmIChkZXZfcHJpdi0+dW5jb3JlLmZ3X3JlbmRlcmNvdW50KysgPT0gMCkgXAo+ICsJCQko ZGV2X3ByaXYpLT51bmNvcmUuZnVuY3MuZm9yY2Vfd2FrZV9nZXQoZGV2X3ByaXYsIFwKPiArCQkJ CQkJCQlmd2VuZ2luZSk7IFwKPiArCX0gXAo+ICsJaWYgKEZPUkNFV0FLRV9NRURJQSAmIGZ3ZW5n aW5lKSB7IFwKPiArCQlpZiAoZGV2X3ByaXYtPnVuY29yZS5md19tZWRpYWNvdW50KysgPT0gMCkg XAo+ICsJCQkoZGV2X3ByaXYpLT51bmNvcmUuZnVuY3MuZm9yY2Vfd2FrZV9nZXQoZGV2X3ByaXYs IFwKPiArCQkJCQkJCQlmd2VuZ2luZSk7IFwKPiArCX0gXAo+ICsJdmFsID0gX19yYXdfaTkxNV9y ZWFkIyN4KGRldl9wcml2LCByZWcpOyBcCj4gKwlpZiAoRk9SQ0VXQUtFX1JFTkRFUiAmIGZ3ZW5n aW5lKSB7IFwKPiArCQlpZiAoLS1kZXZfcHJpdi0+dW5jb3JlLmZ3X3JlbmRlcmNvdW50ID09IDAp IFwKPiArCQkJKGRldl9wcml2KS0+dW5jb3JlLmZ1bmNzLmZvcmNlX3dha2VfcHV0KGRldl9wcml2 LCBcCj4gKwkJCQkJCQkJZndlbmdpbmUpOyBcCj4gKwl9IFwKPiArCWlmIChGT1JDRVdBS0VfTUVE SUEgJiBmd2VuZ2luZSkgeyBcCj4gKwkJaWYgKC0tZGV2X3ByaXYtPnVuY29yZS5md19tZWRpYWNv dW50ID09IDApIFwKPiArCQkJKGRldl9wcml2KS0+dW5jb3JlLmZ1bmNzLmZvcmNlX3dha2VfcHV0 KGRldl9wcml2LCBcCj4gKwkJCQkJCQkJZndlbmdpbmUpOyBcCj4gKwl9IFwKPiArCVJFR19SRUFE X0ZPT1RFUjsgXAo+ICt9CgpJdCBzZWVtcyBsaWtlIGl0IG1ha2VzIGEgbG90IG1vcmUgc2Vuc2Ug dG8gcGFzcyByZWdpc3RlciBvZmZzZXQgdG8KZm9yY2Vfd2FrZV9wdXQoKSBhbmQgbGV0IHRoZSBs b2dpYyBvY2N1ciB0aGVyZSBpbnN0ZWFkIG9mIG1ha2luZyBhIGJpZwp1Z2x5IG1hY3JvLiBXZSBj YW4gY2hlYXQgYW5kIHVzZSB0aGUgZXhpc3RpbmcgZnVuY3Rpb25zIHNpbmNlIGZ3X2VuZ2luZQp3 YXMgZGVmaW5lZCBhcyBhbiBpbnQsIGFuZCB0aGUgcmVnaXN0ZXIgcmFuZ2UgZml0cyB3aXRoaW4g dGhhdC4KCj4gIAo+ICtfX2Nodl9yZWFkKDgpCj4gK19fY2h2X3JlYWQoMTYpCj4gK19fY2h2X3Jl YWQoMzIpCj4gK19fY2h2X3JlYWQoNjQpCj4gIF9fdmx2X3JlYWQoOCkKPiAgX192bHZfcmVhZCgx NikKPiAgX192bHZfcmVhZCgzMikKPiBAQCAtNjA2LDYgKzY3Miw3IEBAIF9fZ2VuNF9yZWFkKDE2 KQo+ICBfX2dlbjRfcmVhZCgzMikKPiAgX19nZW40X3JlYWQoNjQpCj4gIAo+ICsjdW5kZWYgX19j aHZfcmVhZAo+ICAjdW5kZWYgX192bHZfcmVhZAo+ICAjdW5kZWYgX19nZW42X3JlYWQKPiAgI3Vu ZGVmIF9fZ2VuNV9yZWFkCj4gQEAgLTcxMCw2ICs3NzcsNDkgQEAgZ2VuOF93cml0ZSMjeChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIG9mZl90IHJlZywgdSMjeCB2YWwsIGJvb2wg dHJhY2UKPiAgCVJFR19XUklURV9GT09URVI7IFwKPiAgfQo+ICAKPiArI2RlZmluZSBfX2Nodl93 cml0ZSh4KSBcCj4gK3N0YXRpYyB2b2lkIFwKPiArY2h2X3dyaXRlIyN4KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwgb2ZmX3QgcmVnLCB1IyN4IHZhbCwgYm9vbCB0cmFjZSkgeyBc Cj4gKwl1bnNpZ25lZCBmd2VuZ2luZSA9IDA7IFwKPiArCWJvb2wgX19uZWVkc19wdXQgPSAhaXNf Z2VuOF9zaGFkb3dlZChkZXZfcHJpdiwgcmVnKTsgXAo+ICsJUkVHX1dSSVRFX0hFQURFUjsgXAo+ ICsJaWYgKEZPUkNFV0FLRV9DSFZfUkVOREVSX1JBTkdFX09GRlNFVChyZWcpKSB7IFwKPiArCQlm d2VuZ2luZSA9IEZPUkNFV0FLRV9SRU5ERVI7IFwKPiArCX0gXAo+ICsJZWxzZSBpZiAoRk9SQ0VX QUtFX0NIVl9NRURJQV9SQU5HRV9PRkZTRVQocmVnKSkgeyBcCj4gKwkJZndlbmdpbmUgPSBGT1JD RVdBS0VfTUVESUE7IFwKPiArCX0gXAo+ICsJZWxzZSBpZiAoRk9SQ0VXQUtFX0NIVl9DT01NT05f UkFOR0VfT0ZGU0VUKHJlZykpIHsgXAo+ICsJCWZ3ZW5naW5lID0gRk9SQ0VXQUtFX0FMTDsgXAo+ ICsJfSBcCgpjb2RpbmcgY29udmVudGlvbiBhZ2FpbgoKPiArCWlmIChfX25lZWRzX3B1dCAmJiAo Rk9SQ0VXQUtFX1JFTkRFUiAmIGZ3ZW5naW5lKSkgeyBcCj4gKwkJCWlmIChkZXZfcHJpdi0+dW5j b3JlLmZ3X3JlbmRlcmNvdW50KysgPT0gMCkgXAo+ICsJCQkJKGRldl9wcml2KS0+dW5jb3JlLmZ1 bmNzLmZvcmNlX3dha2VfZ2V0KGRldl9wcml2LCBcCj4gKwkJCQkJCQkJCWZ3ZW5naW5lKTsgXAo+ ICsJfSBcCj4gKwlpZiAoX19uZWVkc19wdXQgJiYgKEZPUkNFV0FLRV9NRURJQSAmIGZ3ZW5naW5l KSkgeyBcCj4gKwkJaWYgKGRldl9wcml2LT51bmNvcmUuZndfbWVkaWFjb3VudCsrID09IDApIFwK PiArCQkJKGRldl9wcml2KS0+dW5jb3JlLmZ1bmNzLmZvcmNlX3dha2VfZ2V0KGRldl9wcml2LCBc Cj4gKwkJCQkJCQkJZndlbmdpbmUpOyBcCj4gKwl9IFwKPiArCV9fcmF3X2k5MTVfd3JpdGUjI3go ZGV2X3ByaXYsIHJlZywgdmFsKTsgXAo+ICsJaWYgKF9fbmVlZHNfcHV0ICYmIChGT1JDRVdBS0Vf UkVOREVSICYgZndlbmdpbmUpKSB7IFwKPiArCQkJaWYgKC0tZGV2X3ByaXYtPnVuY29yZS5md19y ZW5kZXJjb3VudCA9PSAwKSBcCj4gKwkJCQkoZGV2X3ByaXYpLT51bmNvcmUuZnVuY3MuZm9yY2Vf d2FrZV9wdXQoZGV2X3ByaXYsIFwKPiArCQkJCQkJCQkJZndlbmdpbmUpOyBcCj4gKwl9IFwKPiAr CWlmIChfX25lZWRzX3B1dCAmJiAoRk9SQ0VXQUtFX01FRElBICYgZndlbmdpbmUpKSB7IFwKPiAr CQlpZiAoLS1kZXZfcHJpdi0+dW5jb3JlLmZ3X21lZGlhY291bnQgPT0gMCkgXAo+ICsJCQkoZGV2 X3ByaXYpLT51bmNvcmUuZnVuY3MuZm9yY2Vfd2FrZV9wdXQoZGV2X3ByaXYsIFwKPiArCQkJCQkJ CQlmd2VuZ2luZSk7IFwKPiArCX0gXAoKU2FtZSBjb21tZW50IGFib3ZlCgo+ICsJUkVHX1dSSVRF X0ZPT1RFUjsgXAo+ICt9Cj4gKwo+ICtfX2Nodl93cml0ZSg4KQo+ICtfX2Nodl93cml0ZSgxNikK PiArX19jaHZfd3JpdGUoMzIpCj4gK19fY2h2X3dyaXRlKDY0KQo+ICBfX2dlbjhfd3JpdGUoOCkK PiAgX19nZW44X3dyaXRlKDE2KQo+ICBfX2dlbjhfd3JpdGUoMzIpCj4gQEAgLTczMSw2ICs4NDEs NyBAQCBfX2dlbjRfd3JpdGUoMTYpCj4gIF9fZ2VuNF93cml0ZSgzMikKPiAgX19nZW40X3dyaXRl KDY0KQo+ICAKPiArI3VuZGVmIF9fY2h2X3dyaXRlCj4gICN1bmRlZiBfX2dlbjhfd3JpdGUKPiAg I3VuZGVmIF9faHN3X3dyaXRlCj4gICN1bmRlZiBfX2dlbjZfd3JpdGUKPiBAQCAtNzk0LDE0ICs5 MDUsMjYgQEAgdm9pZCBpbnRlbF91bmNvcmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ ICAKPiAgCXN3aXRjaCAoSU5URUxfSU5GTyhkZXYpLT5nZW4pIHsKPiAgCWRlZmF1bHQ6Cj4gLQkJ ZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5tbWlvX3dyaXRlYiAgPSBnZW44X3dyaXRlODsKPiAtCQlk ZXZfcHJpdi0+dW5jb3JlLmZ1bmNzLm1taW9fd3JpdGV3ICA9IGdlbjhfd3JpdGUxNjsKPiAtCQlk ZXZfcHJpdi0+dW5jb3JlLmZ1bmNzLm1taW9fd3JpdGVsICA9IGdlbjhfd3JpdGUzMjsKPiAtCQlk ZXZfcHJpdi0+dW5jb3JlLmZ1bmNzLm1taW9fd3JpdGVxICA9IGdlbjhfd3JpdGU2NDsKPiAtCQlk ZXZfcHJpdi0+dW5jb3JlLmZ1bmNzLm1taW9fcmVhZGIgID0gZ2VuNl9yZWFkODsKPiAtCQlkZXZf cHJpdi0+dW5jb3JlLmZ1bmNzLm1taW9fcmVhZHcgID0gZ2VuNl9yZWFkMTY7Cj4gLQkJZGV2X3By aXYtPnVuY29yZS5mdW5jcy5tbWlvX3JlYWRsICA9IGdlbjZfcmVhZDMyOwo+IC0JCWRldl9wcml2 LT51bmNvcmUuZnVuY3MubW1pb19yZWFkcSAgPSBnZW42X3JlYWQ2NDsKPiArCQlpZiAoSVNfQ0hF UlJZVklFVyhkZXYpKSB7Cj4gKwkJCWRldl9wcml2LT51bmNvcmUuZnVuY3MubW1pb193cml0ZWIg ID0gY2h2X3dyaXRlODsKPiArCQkJZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5tbWlvX3dyaXRldyAg PSBjaHZfd3JpdGUxNjsKPiArCQkJZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5tbWlvX3dyaXRlbCAg PSBjaHZfd3JpdGUzMjsKPiArCQkJZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5tbWlvX3dyaXRlcSAg PSBjaHZfd3JpdGU2NDsKPiArCQkJZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5tbWlvX3JlYWRiICA9 IGNodl9yZWFkODsKPiArCQkJZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5tbWlvX3JlYWR3ICA9IGNo dl9yZWFkMTY7Cj4gKwkJCWRldl9wcml2LT51bmNvcmUuZnVuY3MubW1pb19yZWFkbCAgPSBjaHZf cmVhZDMyOwo+ICsJCQlkZXZfcHJpdi0+dW5jb3JlLmZ1bmNzLm1taW9fcmVhZHEgID0gY2h2X3Jl YWQ2NDsKPiArCj4gKwkJfSBlbHNlIHsKPiArCQkJZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5tbWlv X3dyaXRlYiAgPSBnZW44X3dyaXRlODsKPiArCQkJZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5tbWlv X3dyaXRldyAgPSBnZW44X3dyaXRlMTY7Cj4gKwkJCWRldl9wcml2LT51bmNvcmUuZnVuY3MubW1p b193cml0ZWwgID0gZ2VuOF93cml0ZTMyOwo+ICsJCQlkZXZfcHJpdi0+dW5jb3JlLmZ1bmNzLm1t aW9fd3JpdGVxICA9IGdlbjhfd3JpdGU2NDsKPiArCQkJZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5t bWlvX3JlYWRiICA9IGdlbjZfcmVhZDg7Cj4gKwkJCWRldl9wcml2LT51bmNvcmUuZnVuY3MubW1p b19yZWFkdyAgPSBnZW42X3JlYWQxNjsKPiArCQkJZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5tbWlv X3JlYWRsICA9IGdlbjZfcmVhZDMyOwo+ICsJCQlkZXZfcHJpdi0+dW5jb3JlLmZ1bmNzLm1taW9f cmVhZHEgID0gZ2VuNl9yZWFkNjQ7Cj4gKwkJfQo+ICAJCWJyZWFrOwo+ICAJY2FzZSA3Ogo+ICAJ Y2FzZSA2OgoKSSB0aGluayBpZiB5b3UgbWFrZSBDSFYgaGF2ZSBpdCdzIG93biBmb3JjZXdha2Ug Z2V0L3B1dCwgdGhlbiB5b3UgY2FuCmp1c3QgdXNlIHRoZSB0aGUgc2FtZSBNTUlPIGZ1bmN0aW9u cy4KCkxpa2UgdGhlIHByZXZpb3VzIHBhdGNoLCBJIGFtIGhhdmluZyB0cm91YmxlIGZpbmRpbmcg d2hlcmUgdGhlIHJlZ2lzdGVyCnJhbmdlcyBleGlzdC4gQXNzdW1pbmcgdGhvc2UgYXJlIGNvcnJl Y3QgKGFuZCBJJ20gZ3Vlc3NpbmcgVmlsbGUgY2hlY2tlZAp0aG9yb3VnaGx5KSwgdGhlIHBhdGNo IGxvb2tzIGNvcnJlY3QuCgpTbyBJJ2QgcHJlZmVyIHRvIGF0IGxlYXN0IGV4cGxvcmUgbXkgc3Vn Z2VzdGlvbnMsIGJ1dCBpdCdzClJldmlld2VkLWJ5OiBCZW4gV2lkYXdza3kgPGJlbkBid2lkYXdz ay5uZXQ+CgotLSAKQmVuIFdpZGF3c2t5LCBJbnRlbCBPcGVuIFNvdXJjZSBUZWNobm9sb2d5IENl bnRlcgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=