From mboxrd@z Thu Jan 1 00:00:00 1970 From: Deepak S Subject: Re: [PATCH 04/10] drm/i915/chv: Added CHV specific register read and write Date: Mon, 05 May 2014 11:25:52 +0530 Message-ID: <536727E8.3080200@linux.intel.com> References: <1398067454-7581-2-git-send-email-deepak.s@linux.intel.com> <1398067454-7581-5-git-send-email-deepak.s@linux.intel.com> <20140425215417.GE4167@bwidawsk.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 884346E11B for ; Sun, 4 May 2014 22:55:56 -0700 (PDT) In-Reply-To: <20140425215417.GE4167@bwidawsk.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ben Widawsky Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org VGhhbmtzIEJlbi4gQXBvbG9naWVzIGZvciBkZWxheWVkIHJlc3BvbnNlLgoKSSBhbSBpbmNvcnBv cmF0aW5nIHRoZSByZXZpZXcgY29tbWVudCBjaGFuZ2VzIG5leHQgc2V0IG9mIHBhdGNoIHJldmll dy4KCgpPbiBTYXR1cmRheSAyNiBBcHJpbCAyMDE0IDAzOjI0IEFNLCBCZW4gV2lkYXdza3kgd3Jv dGU6Cj4gT24gTW9uLCBBcHIgMjEsIDIwMTQgYXQgMDE6MzQ6MDhQTSArMDUzMCwgZGVlcGFrLnNA bGludXguaW50ZWwuY29tIHdyb3RlOgo+PiBGcm9tOiBEZWVwYWsgUyA8ZGVlcGFrLnNAbGludXgu aW50ZWwuY29tPgo+Pgo+PiBTdXBwb3J0IHRvIGluZGl2aWR1YWxseSBjb250cm9sIE1lZGlhL1Jl bmRlciB3ZWxsIGJhc2VkIG9uIHRoZSByZWdpc3RlciBhY2Nlc3MuCj4+IEFkZCBDSFYgc3BlY2lm aWMgd3JpdGUgZnVuY3Rpb24gdG8gaGFiZGxlIGRpZmZlcmVuY2UgYmV0d2VlbiByZWdpc3RlcnMK Pj4gdGhhdCBhcmUgc2Fkb3dlZCB2cyB0aG9zZSB0aGF0IG5lZWQgZm9yY2V3YWtlIGV2ZW4gZm9y IHdyaXRlcy4KPj4KPj4gdjI6IERyb3Agd3JpdGUgRklGTyBmb3IgQ0hWIGFuZCBhZGQgY29tbWFu IHdlbGwgZm9yY2V3YWtlIChWaWxsZSkKPj4KPj4gdjM6IEZpeCBmb3IgZGVjcmVtZW50aW5nIGZ3 IGNvdW50IGluIGNodiByZWFkL3dyaXRlLiAoRGVlcGFrKQo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBE ZWVwYWsgUyA8ZGVlcGFrLnNAbGludXguaW50ZWwuY29tPgo+PiBbdnN5cmphbGE6IE1vdmUgdGhl IHJlZ2lzdGVyIHJhbmdlIG1hY3JvcyBpbnRvIGludGVsX3VuY29yZS5jXQo+PiBTaWduZWQtb2Zm LWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+IEkg bGVmdCBzb21lIGNvbW1lbnRzIG9uIHRoZSBmaXJzdCBzZW5kaW5nIG9mIHRoaXMgcGF0Y2gsIGFu ZCBpdCdzIG5vdAo+IGNsZWFyIGlmIHlvdSBpZ25vcmVkIHRoZW0gaW50ZW50aW9uYWxseSBvciBu b3QuIElucXVpcmluZyBtaW5kcyB3b3VsZAo+IGxpa2UgdG8ga25vdy4KPgo+IEknbGwgcmVwZWF0 IHNvbWUgb2YgdGhlIG9uZXMgSSBmZWVsIGFyZSBtb3JlIGltcG9ydGFudCBiZWxvdy4KPgo+PiAt LS0KPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYyB8IDEzOSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKystLS0KPj4gICAxIGZpbGUgY2hhbmdlZCwgMTMxIGlu c2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Vu Y29yZS5jCj4+IGluZGV4IDJhNzJiYWIuLjExNzQxZTQgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3VuY29yZS5jCj4+IEBAIC00OTUsNiArNDk1LDMxIEBAIHZvaWQgYXNzZXJ0X2ZvcmNl X3dha2VfaW5hY3RpdmUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+PiAgIAko KHJlZykgPj0gMHgyMjAwMCAmJiAocmVnKSA8IDB4MjQwMDApIHx8XAo+PiAgIAkoKHJlZykgPj0g MHgzMDAwMCAmJiAocmVnKSA8IDB4NDAwMDApKQo+PiAgIAo+PiArI2RlZmluZSBGT1JDRVdBS0Vf Q0hWX1JFTkRFUl9SQU5HRV9PRkZTRVQocmVnKSBcCj4+ICsJKCgocmVnKSA+PSAweDIwMDAgJiYg KHJlZykgPCAweDQwMDApIHx8XAo+PiArCSgocmVnKSA+PSAweDUwMDAgJiYgKHJlZykgPCAweDgw MDApIHx8XAo+PiArCSgocmVnKSA+PSAweDgzMDAgJiYgKHJlZykgPCAweDg1MDApIHx8XAo+PiAr CSgocmVnKSA+PSAweEIwMDAgJiYgKHJlZykgPCAweEMwMDApIHx8XAo+PiArCSgocmVnKSA+PSAw eEUwMDAgJiYgKHJlZykgPCAweEU4MDApKQo+PiArCj4+ICsjZGVmaW5lIEZPUkNFV0FLRV9DSFZf TUVESUFfUkFOR0VfT0ZGU0VUKHJlZylcCj4+ICsJKCgocmVnKSA+PSAweDg4MDAgJiYgKHJlZykg PCAweDg5MDApIHx8XAo+PiArCSgocmVnKSA+PSAweEQwMDAgJiYgKHJlZykgPCAweEQ4MDApIHx8 XAo+PiArCSgocmVnKSA+PSAweDEyMDAwICYmIChyZWcpIDwgMHgxNDAwMCkgfHxcCj4+ICsJKChy ZWcpID49IDB4MUEwMDAgJiYgKHJlZykgPCAweDFDMDAwKSB8fFwKPj4gKwkoKHJlZykgPj0gMHgx RTgwMCAmJiAocmVnKSA8IDB4MUVBMDApIHx8XAo+PiArCSgocmVnKSA+PSAweDMwMDAwICYmIChy ZWcpIDwgMHg0MDAwMCkpCj4+ICsKPj4gKyNkZWZpbmUgRk9SQ0VXQUtFX0NIVl9DT01NT05fUkFO R0VfT0ZGU0VUKHJlZylcCj4+ICsJKCgocmVnKSA+PSAweDQwMDAgJiYgKHJlZykgPCAweDUwMDAp IHx8XAo+PiArCSgocmVnKSA+PSAweDgwMDAgJiYgKHJlZykgPCAweDgzMDApIHx8XAo+PiArCSgo cmVnKSA+PSAweDg1MDAgJiYgKHJlZykgPCAweDg2MDApIHx8XAo+PiArCSgocmVnKSA+PSAweDkw MDAgJiYgKHJlZykgPCAweEIwMDApIHx8XAo+PiArCSgocmVnKSA+PSAweEMwMDAgJiYgKHJlZykg PCAweGM4MDApIHx8XAo+PiArCSgocmVnKSA+PSAweEYwMDAgJiYgKHJlZykgPCAweDEwMDAwKSB8 fFwKPj4gKwkoKHJlZykgPj0gMHgxNDAwMCAmJiAocmVnKSA8IDB4MTQ0MDApIHx8XAo+PiArCSgo cmVnKSA+PSAweDIyMDAwICYmIChyZWcpIDwgMHgyNDAwMCkpCj4+ICsKPj4gICBzdGF0aWMgdm9p ZAo+PiAgIGlsa19kdW1teV93cml0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp Cj4+ICAgewo+PiBAQCAtNTg4LDcgKzYxMyw0OCBAQCB2bHZfcmVhZCMjeChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIG9mZl90IHJlZywgYm9vbCB0cmFjZSkgeyBcCj4+ICAgCVJF R19SRUFEX0ZPT1RFUjsgXAo+PiAgIH0KPj4gICAKPj4gKyNkZWZpbmUgX19jaHZfcmVhZCh4KSBc Cj4+ICtzdGF0aWMgdSMjeCBcCj4+ICtjaHZfcmVhZCMjeChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsIG9mZl90IHJlZywgYm9vbCB0cmFjZSkgeyBcCj4+ICsJdW5zaWduZWQgZndl bmdpbmUgPSAwOyBcCj4+ICsJUkVHX1JFQURfSEVBREVSKHgpOyBcCj4+ICsJaWYgKEZPUkNFV0FL RV9DSFZfUkVOREVSX1JBTkdFX09GRlNFVChyZWcpKSB7IFwKPj4gKwkJZndlbmdpbmUgPSBGT1JD RVdBS0VfUkVOREVSOyBcCj4+ICsJfSBcCj4+ICsJZWxzZSBpZiAoRk9SQ0VXQUtFX0NIVl9NRURJ QV9SQU5HRV9PRkZTRVQocmVnKSkgeyBcCj4+ICsJCWZ3ZW5naW5lID0gRk9SQ0VXQUtFX01FRElB OyBcCj4+ICsJfSBcCj4+ICsJZWxzZSBpZiAoRk9SQ0VXQUtFX0NIVl9DT01NT05fUkFOR0VfT0ZG U0VUKHJlZykpIHsgXAo+PiArCQlmd2VuZ2luZSA9IEZPUkNFV0FLRV9BTEw7IFwKPj4gKwl9IFwK PiBUaGVzZSBkb24ndCBmb2xsb3dpbmcgbGludXgga2VybmVsIGNvZGluZyBzdHlsZQo+Cj4+ICsJ aWYgKEZPUkNFV0FLRV9SRU5ERVIgJiBmd2VuZ2luZSkgeyBcCj4+ICsJCWlmIChkZXZfcHJpdi0+ dW5jb3JlLmZ3X3JlbmRlcmNvdW50KysgPT0gMCkgXAo+PiArCQkJKGRldl9wcml2KS0+dW5jb3Jl LmZ1bmNzLmZvcmNlX3dha2VfZ2V0KGRldl9wcml2LCBcCj4+ICsJCQkJCQkJCWZ3ZW5naW5lKTsg XAo+PiArCX0gXAo+PiArCWlmIChGT1JDRVdBS0VfTUVESUEgJiBmd2VuZ2luZSkgeyBcCj4+ICsJ CWlmIChkZXZfcHJpdi0+dW5jb3JlLmZ3X21lZGlhY291bnQrKyA9PSAwKSBcCj4+ICsJCQkoZGV2 X3ByaXYpLT51bmNvcmUuZnVuY3MuZm9yY2Vfd2FrZV9nZXQoZGV2X3ByaXYsIFwKPj4gKwkJCQkJ CQkJZndlbmdpbmUpOyBcCj4+ICsJfSBcCj4+ICsJdmFsID0gX19yYXdfaTkxNV9yZWFkIyN4KGRl dl9wcml2LCByZWcpOyBcCj4+ICsJaWYgKEZPUkNFV0FLRV9SRU5ERVIgJiBmd2VuZ2luZSkgeyBc Cj4+ICsJCWlmICgtLWRldl9wcml2LT51bmNvcmUuZndfcmVuZGVyY291bnQgPT0gMCkgXAo+PiAr CQkJKGRldl9wcml2KS0+dW5jb3JlLmZ1bmNzLmZvcmNlX3dha2VfcHV0KGRldl9wcml2LCBcCj4+ ICsJCQkJCQkJCWZ3ZW5naW5lKTsgXAo+PiArCX0gXAo+PiArCWlmIChGT1JDRVdBS0VfTUVESUEg JiBmd2VuZ2luZSkgeyBcCj4+ICsJCWlmICgtLWRldl9wcml2LT51bmNvcmUuZndfbWVkaWFjb3Vu dCA9PSAwKSBcCj4+ICsJCQkoZGV2X3ByaXYpLT51bmNvcmUuZnVuY3MuZm9yY2Vfd2FrZV9wdXQo ZGV2X3ByaXYsIFwKPj4gKwkJCQkJCQkJZndlbmdpbmUpOyBcCj4+ICsJfSBcCj4+ICsJUkVHX1JF QURfRk9PVEVSOyBcCj4+ICt9Cj4gSXQgc2VlbXMgbGlrZSBpdCBtYWtlcyBhIGxvdCBtb3JlIHNl bnNlIHRvIHBhc3MgcmVnaXN0ZXIgb2Zmc2V0IHRvCj4gZm9yY2Vfd2FrZV9wdXQoKSBhbmQgbGV0 IHRoZSBsb2dpYyBvY2N1ciB0aGVyZSBpbnN0ZWFkIG9mIG1ha2luZyBhIGJpZwo+IHVnbHkgbWFj cm8uIFdlIGNhbiBjaGVhdCBhbmQgdXNlIHRoZSBleGlzdGluZyBmdW5jdGlvbnMgc2luY2UgZndf ZW5naW5lCj4gd2FzIGRlZmluZWQgYXMgYW4gaW50LCBhbmQgdGhlIHJlZ2lzdGVyIHJhbmdlIGZp dHMgd2l0aGluIHRoYXQuCj4KPj4gICAKPj4gK19fY2h2X3JlYWQoOCkKPj4gK19fY2h2X3JlYWQo MTYpCj4+ICtfX2Nodl9yZWFkKDMyKQo+PiArX19jaHZfcmVhZCg2NCkKPj4gICBfX3Zsdl9yZWFk KDgpCj4+ICAgX192bHZfcmVhZCgxNikKPj4gICBfX3Zsdl9yZWFkKDMyKQo+PiBAQCAtNjA2LDYg KzY3Miw3IEBAIF9fZ2VuNF9yZWFkKDE2KQo+PiAgIF9fZ2VuNF9yZWFkKDMyKQo+PiAgIF9fZ2Vu NF9yZWFkKDY0KQo+PiAgIAo+PiArI3VuZGVmIF9fY2h2X3JlYWQKPj4gICAjdW5kZWYgX192bHZf cmVhZAo+PiAgICN1bmRlZiBfX2dlbjZfcmVhZAo+PiAgICN1bmRlZiBfX2dlbjVfcmVhZAo+PiBA QCAtNzEwLDYgKzc3Nyw0OSBAQCBnZW44X3dyaXRlIyN4KHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwgb2ZmX3QgcmVnLCB1IyN4IHZhbCwgYm9vbCB0cmFjZQo+PiAgIAlSRUdfV1JJ VEVfRk9PVEVSOyBcCj4+ICAgfQo+PiAgIAo+PiArI2RlZmluZSBfX2Nodl93cml0ZSh4KSBcCj4+ ICtzdGF0aWMgdm9pZCBcCj4+ICtjaHZfd3JpdGUjI3goc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LCBvZmZfdCByZWcsIHUjI3ggdmFsLCBib29sIHRyYWNlKSB7IFwKPj4gKwl1bnNp Z25lZCBmd2VuZ2luZSA9IDA7IFwKPj4gKwlib29sIF9fbmVlZHNfcHV0ID0gIWlzX2dlbjhfc2hh ZG93ZWQoZGV2X3ByaXYsIHJlZyk7IFwKPj4gKwlSRUdfV1JJVEVfSEVBREVSOyBcCj4+ICsJaWYg KEZPUkNFV0FLRV9DSFZfUkVOREVSX1JBTkdFX09GRlNFVChyZWcpKSB7IFwKPj4gKwkJZndlbmdp bmUgPSBGT1JDRVdBS0VfUkVOREVSOyBcCj4+ICsJfSBcCj4+ICsJZWxzZSBpZiAoRk9SQ0VXQUtF X0NIVl9NRURJQV9SQU5HRV9PRkZTRVQocmVnKSkgeyBcCj4+ICsJCWZ3ZW5naW5lID0gRk9SQ0VX QUtFX01FRElBOyBcCj4+ICsJfSBcCj4+ICsJZWxzZSBpZiAoRk9SQ0VXQUtFX0NIVl9DT01NT05f UkFOR0VfT0ZGU0VUKHJlZykpIHsgXAo+PiArCQlmd2VuZ2luZSA9IEZPUkNFV0FLRV9BTEw7IFwK Pj4gKwl9IFwKPiBjb2RpbmcgY29udmVudGlvbiBhZ2Fpbgo+Cj4+ICsJaWYgKF9fbmVlZHNfcHV0 ICYmIChGT1JDRVdBS0VfUkVOREVSICYgZndlbmdpbmUpKSB7IFwKPj4gKwkJCWlmIChkZXZfcHJp di0+dW5jb3JlLmZ3X3JlbmRlcmNvdW50KysgPT0gMCkgXAo+PiArCQkJCShkZXZfcHJpdiktPnVu Y29yZS5mdW5jcy5mb3JjZV93YWtlX2dldChkZXZfcHJpdiwgXAo+PiArCQkJCQkJCQkJZndlbmdp bmUpOyBcCj4+ICsJfSBcCj4+ICsJaWYgKF9fbmVlZHNfcHV0ICYmIChGT1JDRVdBS0VfTUVESUEg JiBmd2VuZ2luZSkpIHsgXAo+PiArCQlpZiAoZGV2X3ByaXYtPnVuY29yZS5md19tZWRpYWNvdW50 KysgPT0gMCkgXAo+PiArCQkJKGRldl9wcml2KS0+dW5jb3JlLmZ1bmNzLmZvcmNlX3dha2VfZ2V0 KGRldl9wcml2LCBcCj4+ICsJCQkJCQkJCWZ3ZW5naW5lKTsgXAo+PiArCX0gXAo+PiArCV9fcmF3 X2k5MTVfd3JpdGUjI3goZGV2X3ByaXYsIHJlZywgdmFsKTsgXAo+PiArCWlmIChfX25lZWRzX3B1 dCAmJiAoRk9SQ0VXQUtFX1JFTkRFUiAmIGZ3ZW5naW5lKSkgeyBcCj4+ICsJCQlpZiAoLS1kZXZf cHJpdi0+dW5jb3JlLmZ3X3JlbmRlcmNvdW50ID09IDApIFwKPj4gKwkJCQkoZGV2X3ByaXYpLT51 bmNvcmUuZnVuY3MuZm9yY2Vfd2FrZV9wdXQoZGV2X3ByaXYsIFwKPj4gKwkJCQkJCQkJCWZ3ZW5n aW5lKTsgXAo+PiArCX0gXAo+PiArCWlmIChfX25lZWRzX3B1dCAmJiAoRk9SQ0VXQUtFX01FRElB ICYgZndlbmdpbmUpKSB7IFwKPj4gKwkJaWYgKC0tZGV2X3ByaXYtPnVuY29yZS5md19tZWRpYWNv dW50ID09IDApIFwKPj4gKwkJCShkZXZfcHJpdiktPnVuY29yZS5mdW5jcy5mb3JjZV93YWtlX3B1 dChkZXZfcHJpdiwgXAo+PiArCQkJCQkJCQlmd2VuZ2luZSk7IFwKPj4gKwl9IFwKPiBTYW1lIGNv bW1lbnQgYWJvdmUKPgo+PiArCVJFR19XUklURV9GT09URVI7IFwKPj4gK30KPj4gKwo+PiArX19j aHZfd3JpdGUoOCkKPj4gK19fY2h2X3dyaXRlKDE2KQo+PiArX19jaHZfd3JpdGUoMzIpCj4+ICtf X2Nodl93cml0ZSg2NCkKPj4gICBfX2dlbjhfd3JpdGUoOCkKPj4gICBfX2dlbjhfd3JpdGUoMTYp Cj4+ICAgX19nZW44X3dyaXRlKDMyKQo+PiBAQCAtNzMxLDYgKzg0MSw3IEBAIF9fZ2VuNF93cml0 ZSgxNikKPj4gICBfX2dlbjRfd3JpdGUoMzIpCj4+ICAgX19nZW40X3dyaXRlKDY0KQo+PiAgIAo+ PiArI3VuZGVmIF9fY2h2X3dyaXRlCj4+ICAgI3VuZGVmIF9fZ2VuOF93cml0ZQo+PiAgICN1bmRl ZiBfX2hzd193cml0ZQo+PiAgICN1bmRlZiBfX2dlbjZfd3JpdGUKPj4gQEAgLTc5NCwxNCArOTA1 LDI2IEBAIHZvaWQgaW50ZWxfdW5jb3JlX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPj4g ICAKPj4gICAJc3dpdGNoIChJTlRFTF9JTkZPKGRldiktPmdlbikgewo+PiAgIAlkZWZhdWx0Ogo+ PiAtCQlkZXZfcHJpdi0+dW5jb3JlLmZ1bmNzLm1taW9fd3JpdGViICA9IGdlbjhfd3JpdGU4Owo+ PiAtCQlkZXZfcHJpdi0+dW5jb3JlLmZ1bmNzLm1taW9fd3JpdGV3ICA9IGdlbjhfd3JpdGUxNjsK Pj4gLQkJZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5tbWlvX3dyaXRlbCAgPSBnZW44X3dyaXRlMzI7 Cj4+IC0JCWRldl9wcml2LT51bmNvcmUuZnVuY3MubW1pb193cml0ZXEgID0gZ2VuOF93cml0ZTY0 Owo+PiAtCQlkZXZfcHJpdi0+dW5jb3JlLmZ1bmNzLm1taW9fcmVhZGIgID0gZ2VuNl9yZWFkODsK Pj4gLQkJZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5tbWlvX3JlYWR3ICA9IGdlbjZfcmVhZDE2Owo+ PiAtCQlkZXZfcHJpdi0+dW5jb3JlLmZ1bmNzLm1taW9fcmVhZGwgID0gZ2VuNl9yZWFkMzI7Cj4+ IC0JCWRldl9wcml2LT51bmNvcmUuZnVuY3MubW1pb19yZWFkcSAgPSBnZW42X3JlYWQ2NDsKPj4g KwkJaWYgKElTX0NIRVJSWVZJRVcoZGV2KSkgewo+PiArCQkJZGV2X3ByaXYtPnVuY29yZS5mdW5j cy5tbWlvX3dyaXRlYiAgPSBjaHZfd3JpdGU4Owo+PiArCQkJZGV2X3ByaXYtPnVuY29yZS5mdW5j cy5tbWlvX3dyaXRldyAgPSBjaHZfd3JpdGUxNjsKPj4gKwkJCWRldl9wcml2LT51bmNvcmUuZnVu Y3MubW1pb193cml0ZWwgID0gY2h2X3dyaXRlMzI7Cj4+ICsJCQlkZXZfcHJpdi0+dW5jb3JlLmZ1 bmNzLm1taW9fd3JpdGVxICA9IGNodl93cml0ZTY0Owo+PiArCQkJZGV2X3ByaXYtPnVuY29yZS5m dW5jcy5tbWlvX3JlYWRiICA9IGNodl9yZWFkODsKPj4gKwkJCWRldl9wcml2LT51bmNvcmUuZnVu Y3MubW1pb19yZWFkdyAgPSBjaHZfcmVhZDE2Owo+PiArCQkJZGV2X3ByaXYtPnVuY29yZS5mdW5j cy5tbWlvX3JlYWRsICA9IGNodl9yZWFkMzI7Cj4+ICsJCQlkZXZfcHJpdi0+dW5jb3JlLmZ1bmNz Lm1taW9fcmVhZHEgID0gY2h2X3JlYWQ2NDsKPj4gKwo+PiArCQl9IGVsc2Ugewo+PiArCQkJZGV2 X3ByaXYtPnVuY29yZS5mdW5jcy5tbWlvX3dyaXRlYiAgPSBnZW44X3dyaXRlODsKPj4gKwkJCWRl dl9wcml2LT51bmNvcmUuZnVuY3MubW1pb193cml0ZXcgID0gZ2VuOF93cml0ZTE2Owo+PiArCQkJ ZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5tbWlvX3dyaXRlbCAgPSBnZW44X3dyaXRlMzI7Cj4+ICsJ CQlkZXZfcHJpdi0+dW5jb3JlLmZ1bmNzLm1taW9fd3JpdGVxICA9IGdlbjhfd3JpdGU2NDsKPj4g KwkJCWRldl9wcml2LT51bmNvcmUuZnVuY3MubW1pb19yZWFkYiAgPSBnZW42X3JlYWQ4Owo+PiAr CQkJZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5tbWlvX3JlYWR3ICA9IGdlbjZfcmVhZDE2Owo+PiAr CQkJZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5tbWlvX3JlYWRsICA9IGdlbjZfcmVhZDMyOwo+PiAr CQkJZGV2X3ByaXYtPnVuY29yZS5mdW5jcy5tbWlvX3JlYWRxICA9IGdlbjZfcmVhZDY0Owo+PiAr CQl9Cj4+ICAgCQlicmVhazsKPj4gICAJY2FzZSA3Ogo+PiAgIAljYXNlIDY6Cj4gSSB0aGluayBp ZiB5b3UgbWFrZSBDSFYgaGF2ZSBpdCdzIG93biBmb3JjZXdha2UgZ2V0L3B1dCwgdGhlbiB5b3Ug Y2FuCj4ganVzdCB1c2UgdGhlIHRoZSBzYW1lIE1NSU8gZnVuY3Rpb25zLgo+Cj4gTGlrZSB0aGUg cHJldmlvdXMgcGF0Y2gsIEkgYW0gaGF2aW5nIHRyb3VibGUgZmluZGluZyB3aGVyZSB0aGUgcmVn aXN0ZXIKPiByYW5nZXMgZXhpc3QuIEFzc3VtaW5nIHRob3NlIGFyZSBjb3JyZWN0IChhbmQgSSdt IGd1ZXNzaW5nIFZpbGxlIGNoZWNrZWQKPiB0aG9yb3VnaGx5KSwgdGhlIHBhdGNoIGxvb2tzIGNv cnJlY3QuCj4KPiBTbyBJJ2QgcHJlZmVyIHRvIGF0IGxlYXN0IGV4cGxvcmUgbXkgc3VnZ2VzdGlv bnMsIGJ1dCBpdCdzCj4gUmV2aWV3ZWQtYnk6IEJlbiBXaWRhd3NreSA8YmVuQGJ3aWRhd3NrLm5l dD4KPgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK