From mboxrd@z Thu Jan 1 00:00:00 1970 From: Deepak S Subject: Re: [PATCH 3/4] drm/i915: New offset for reading frequencies on CHV. Date: Tue, 16 Dec 2014 17:41:54 +0530 Message-ID: <5490218A.6090801@linux.intel.com> References: <1418374096-26561-1-git-send-email-deepak.s@linux.intel.com> <1418374096-26561-3-git-send-email-deepak.s@linux.intel.com> <20141212190941.GB10649@intel.com> <87tx0xjthp.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id EAA2E6E49B for ; Mon, 15 Dec 2014 04:15:22 -0800 (PST) In-Reply-To: <87tx0xjthp.fsf@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula , =?UTF-8?B?VmlsbGUgU3lyasOk?= =?UTF-8?B?bMOk?= Cc: daniel.vetter@ffwll.ch, intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIE1vbmRheSAxNSBEZWNlbWJlciAyMDE0IDEyOjIxIFBNLCBKYW5pIE5pa3VsYSB3cm90ZToK PiBPbiBGcmksIDEyIERlYyAyMDE0LCBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGlu dXguaW50ZWwuY29tPiB3cm90ZToKPj4gT24gRnJpLCBEZWMgMTIsIDIwMTQgYXQgMDI6MTg6MTVQ TSArMDUzMCwgZGVlcGFrLnNAbGludXguaW50ZWwuY29tIHdyb3RlOgo+Pj4gRnJvbTogRGVlcGFr IFMgPGRlZXBhay5zQGxpbnV4LmludGVsLmNvbT4KPj4+Cj4+PiBVc2UgbmV3IFNpZGViYW5kIG9m ZnNldCB0byByZWFkIG1heC9taW4vZ2F1ciBmcmVxIGJhc2VkIG9uIHRoZSBTS1UgaXQKPj4+IGlz IHJ1bm5pbmcgb24uIEJhc2VkIG9uIHRoZSBOdW1iZXIgb2YgRVUsIHdlIHJlYWQgZGlmZmVyZW50 IGJpdHMgdG8KPj4+IGlkZW50aWZ5IHRoZSBtYXggZnJlcXVlbmNpZXMgYXQgd2hpY2ggc3lzdGVt IGNhbiBydW4uCj4+Pgo+Pj4gU2lnbmVkLW9mZi1ieTogRGVlcGFrIFMgPGRlZXBhay5zQGxpbnV4 LmludGVsLmNvbT4KPj4+IC0tLQo+Pj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o ICAgICAgIHwgIDQgKy0tCj4+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAg ICAgfCAxMiArKysrKysrKwo+Pj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jICAg ICAgIHwgNTIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KPj4+ICAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfc2lkZWJhbmQuYyB8ICA0ICstLQo+Pj4gICA0IGZpbGVzIGNo YW5nZWQsIDYxIGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQo+Pj4KPj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaAo+Pj4gaW5kZXggYjU4YmFkNC4uMDY5MGRmZiAxMDA2NDQKPj4+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmgKPj4+IEBAIC0zMDE2LDggKzMwMTYsOCBAQCBpbnQgc2FuZHlicmlk Z2VfcGNvZGVfcmVhZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiBtYm94 LCB1MzIgKnZhbAo+Pj4gICBpbnQgc2FuZHlicmlkZ2VfcGNvZGVfd3JpdGUoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgbWJveCwgdTMyIHZhbCk7Cj4+PiAgIAo+Pj4gICAv KiBpbnRlbF9zaWRlYmFuZC5jICovCj4+PiAtdTMyIHZsdl9wdW5pdF9yZWFkKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiwgdTggYWRkcik7Cj4+PiAtdm9pZCB2bHZfcHVuaXRfd3Jp dGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1OCBhZGRyLCB1MzIgdmFsKTsK Pj4+ICt1MzIgdmx2X3B1bml0X3JlYWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LCB1MzIgYWRkcik7Cj4+PiArdm9pZCB2bHZfcHVuaXRfd3JpdGUoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LCB1MzIgYWRkciwgdTMyIHZhbCk7Cj4+PiAgIHUzMiB2bHZfbmNfcmVh ZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHU4IGFkZHIpOwo+Pj4gICB1MzIg dmx2X2dwaW9fbmNfcmVhZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiBy ZWcpOwo+Pj4gICB2b2lkIHZsdl9ncGlvX25jX3dyaXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwgdTMyIHJlZywgdTMyIHZhbCk7Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgK Pj4+IGluZGV4IGI1N2NiYTMuLmY0MTI5MGMgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Jl Zy5oCj4+PiBAQCAtNjAyLDYgKzYwMiwxOCBAQCBlbnVtIHB1bml0X3Bvd2VyX3dlbGwgewo+Pj4g ICAjZGVmaW5lIFBVTklUX0ZVU0VfQlVTMgkJCQkweGY2IC8qIGJpdHMgNDc6NDAgKi8KPj4+ICAg I2RlZmluZSBQVU5JVF9GVVNFX0JVUzEJCQkJMHhmNSAvKiBiaXRzIDU1OjQ4ICovCj4+PiAgIAo+ Pj4gKyNkZWZpbmUgRkJfR0ZYX0ZNQVhfQVRfVk1BWF9GVVNFCQkweDEzNgo+Pj4gKyNkZWZpbmUg RkJfR0ZYX0ZNQVhfQVRfVk1BWF9GVVNFX01BU0sJCTB4ZmYKPj4+ICsjZGVmaW5lIEZCX0dGWF9G TUFYX0FUX1ZNQVhfMlNTNEVVX0ZVU0VfU0hJRlQJMjQKPj4+ICsjZGVmaW5lIEZCX0dGWF9GTUFY X0FUX1ZNQVhfMlNTNkVVX0ZVU0VfU0hJRlQJMTYKPj4+ICsjZGVmaW5lIEZCX0dGWF9GTUFYX0FU X1ZNQVhfMlNTOEVVX0ZVU0VfU0hJRlQJOAo+Pj4gKwo+PiBUaGlzIGJsYW5rIGxpbmUgbWFrZXMg bWUgdGhpbmsgRkJfR0ZYX0dVQVJfRlJFUV9GVVNFX01BU0sgaXNuJ3QgcGFydCBvZgo+PiB0aGlz IHJlZ2lzdGVyLiBTbyBiZXN0IG5vdCBsZWF2ZSBzdWNoIGJsYW5rIGxpbmUgaGVyZS4KPj4KPj4g SSBoYXZlIDB4M2MzYzNjMjggaW4gdGhpcyByZWdpc3Rlciwgd2hpY2ggbWF0Y2hlcyB3aGF0IEkg Z2V0IHVzaW5nIHRoZQo+PiBvbGQgbWV0aG9kLgo+Pgo+Pj4gKyNkZWZpbmUgRkJfR0ZYX0dVQVJf RlJFUV9GVVNFX01BU0sJCTB4ZmYKPj4+ICsKPj4+ICsjZGVmaW5lIEZCX0dGWF9GTUlOX0FUX1ZN SU5fRlVTRQkJMHgxMzcKPj4+ICsjZGVmaW5lIEZCX0dGWF9GTUlOX0FUX1ZNSU5fRlVTRV9NQVNL CQkweGZmCj4+PiArI2RlZmluZSBGQl9HRlhfRk1JTl9BVF9WTUlOX0ZVU0VfU0hJRlQJCTgKPj4g SSBoYXZlIDB4Njk4NDE0MjggaGVyZS4gVGhlIGxvdyA4IGJpdHMgbG9vayBsaWtlIGFub3RoZXIg ZnJlcSB2YWx1ZS4KPj4gV2hhdCBpcyBpdD8KPj4KPj4gSSBoYXZlIG5vIGRvY3MgZm9yIHRoaXMg c3R1ZmYgc28gY2FuJ3QgcmVhbGx5IHJldmlldyBhcGFydCBmcm9tIGxvb2tpbmcKPj4gYXQgd2hh dCBteSBoYXJkd2FyZSByZXBvcnRzLgo+Pgo+Pgo+PiBBY3R1YWxseSwgc2luY2UgYWxsIHRoZSB2 YWx1ZXMgYXJlIDggYml0cyBtYXliZSBpdCB3b3VsZCBiZSBuZWF0ZXIgdG8KPj4ganVzdAo+PiAj ZGVmaW5lIEZCX0dGWF9GUkVRX0ZVU0VfTUFTSyAweGZmCj4+IGFuZCB1c2UgdGhhdCBldmVyeXdo ZXJlIGluc3RlYWQgb2YgaGF2aW5nIHRocmVlIGRpZmZlcmVudCBkZWZpbml0aW9ucwo+PiBmb3Ig dGhlIHNhbWUgMHhmZiB2YWx1ZS4KPj4KPj4+ICsKPj4+ICAgI2RlZmluZSBQVU5JVF9HUFVfU1RB VFVTX1JFRwkJCTB4ZGIKPj4+ICAgI2RlZmluZSBQVU5JVF9HUFVfU1RBVFVTX01BWF9GUkVRX1NI SUZUCTE2Cj4+PiAgICNkZWZpbmUgUFVOSVRfR1BVX1NUQVRVU19NQVhfRlJFUV9NQVNLCQkweGZm Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPj4+IGluZGV4IDJhY2IzZGUuLjcxYjhlMmYgMTAw NjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4+PiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCj4+PiBAQCAtNDM0NiwxMSArNDM0NiwyOSBA QCB2b2lkIGdlbjZfdXBkYXRlX3JpbmdfZnJlcShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+Pj4g ICAKPj4+ICAgc3RhdGljIGludCBjaGVycnl2aWV3X3Jwc19tYXhfZnJlcShzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4+PiAgIHsKPj4+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRl diA9IGRldl9wcml2LT5kZXY7Cj4+PiArCXN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyAqaW5mbzsK Pj4+ICAgCXUzMiB2YWwsIHJwMDsKPj4+ICAgCj4+PiAtCXZhbCA9IHZsdl9wdW5pdF9yZWFkKGRl dl9wcml2LCBQVU5JVF9HUFVfU1RBVFVTX1JFRyk7Cj4+PiAtCXJwMCA9ICh2YWwgPj4gUFVOSVRf R1BVX1NUQVRVU19NQVhfRlJFUV9TSElGVCkgJiBQVU5JVF9HUFVfU1RBVFVTX01BWF9GUkVRX01B U0s7Cj4+PiAtCj4+PiArCWluZm8gPSAoc3RydWN0IGludGVsX2RldmljZV9pbmZvICopJmRldl9w cml2LT5pbmZvOwo+PiBQb2ludGxlc3MgY2FzdC4gQWxzbyB0aGUgYXNzaWdubWVudCBjb3VsZCBi ZSBkb25lIHdoZW4gZGVjbGFyaW5nIGluZm8sCj4+IGFuZCB3ZSB1c3VhbGx5IHVzZSBJTlRFTF9J TkZPKCkgdG8gZ2V0IGF0IGl0Lgo+Pgo+Pj4gKwo+Pj4gKwlpZiAoZGV2LT5wZGV2LT5yZXZpc2lv biA+PSAweDIwKSB7Cj4+IERvIHdlIHJlYWxseSBuZWVkIHRoaXMgY2hlY2s/IEkgd291bGQgdGhp bmsgaXQgd291bGQgYmUgdXAgdG8gdGhlCj4+IFB1bml0IGZpcm13YXJlIHZlcnNpb24gcmF0aGVy IHRoZSBzdGVwcGluZy4gTXkgQlNXIGhhcyBQQ0kgcmV2IDB4MTUsCj4+IGJ1dCB3aXRoIHRoZSBs YXRlc3QgQklPUyBib3RoIGZ1c2UgcmVnaXN0ZXJzIGFscmVhZHkgY29udGFpbiBjb3JyZWN0Cj4+ IGxvb2tpbmcgaW5mb3JtYXRpb24uCj4+Cj4+PiArCQl2YWwgPSB2bHZfcHVuaXRfcmVhZChkZXZf cHJpdiwgRkJfR0ZYX0ZNQVhfQVRfVk1BWF9GVVNFKTsKPj4+ICsKPj4+ICsJCWlmIChpbmZvLT5l dV90b3RhbCA9PSA4KSAvKiAoMiAqIDQpIGNvbmZpZyAqLwo+Pj4gKwkJCXJwMCA9ICh2YWwgPj4g RkJfR0ZYX0ZNQVhfQVRfVk1BWF8yU1M0RVVfRlVTRV9TSElGVCk7Cj4+PiArCQllbHNlIGlmIChp bmZvLT5ldV90b3RhbCA9PSAxMikgLyogKDIgKiA2KSBjb25maWcgKi8KPj4+ICsJCQlycDAgPSAo dmFsID4+IEZCX0dGWF9GTUFYX0FUX1ZNQVhfMlNTNkVVX0ZVU0VfU0hJRlQpOwo+Pj4gKwkJZWxz ZSBpZiAoaW5mby0+ZXVfdG90YWwgPT0gMTYpIC8qICgyICogOCkgY29uZmlnICovCj4+PiArCQkJ cnAwID0gKHZhbCA+PiBGQl9HRlhfRk1BWF9BVF9WTUFYXzJTUzhFVV9GVVNFX1NISUZUKTsKPj4+ ICsJCWVsc2UgLyogU2V0dGluZyAoMiAqIDgpIE1pbiBSUDAgZm9yIGFueSBvdGhlciBjb21iaW5h dGlvbiAqLwo+Pj4gKwkJCXJwMCA9ICh2YWwgPj4gRkJfR0ZYX0ZNQVhfQVRfVk1BWF8yU1M4RVVf RlVTRV9TSElGVCk7Cj4+ICdzd2l0Y2ggKElOVEVMX0lORk8oZGV2KS0+ZXVfdG90YWwpJyBwZXJo YXBzPwo+Pgo+Pj4gKwkJcnAwID0gKHJwMCAmIEZCX0dGWF9GTUFYX0FUX1ZNQVhfRlVTRV9NQVNL KTsKPj4+ICsJfSBlbHNlIHsgLyogRm9yIHByZS1wcm9kdWN0aW9uIGhhcmR3YXJlICovCj4+PiAr CQl2YWwgPSB2bHZfcHVuaXRfcmVhZChkZXZfcHJpdiwgUFVOSVRfR1BVX1NUQVRVU19SRUcpOwo+ Pj4gKwkJcnAwID0gKHZhbCA+PiBQVU5JVF9HUFVfU1RBVFVTX01BWF9GUkVRX1NISUZUKSAmCj4+ PiArCQkgICAgICAgUFVOSVRfR1BVX1NUQVRVU19NQVhfRlJFUV9NQVNLOwo+Pj4gKwl9Cj4+PiAg IAlyZXR1cm4gcnAwOwo+Pj4gICB9Cj4+PiAgIAo+Pj4gQEAgLTQzNjYsMjAgKzQzODQsNDAgQEAg c3RhdGljIGludCBjaGVycnl2aWV3X3Jwc19ycGVfZnJlcShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCj4+PiAgIAo+Pj4gICBzdGF0aWMgaW50IGNoZXJyeXZpZXdfcnBzX2d1YXJf ZnJlcShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4+PiAgIHsKPj4+ICsJc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IGRldl9wcml2LT5kZXY7Cj4+PiArCXN0cnVjdCBpbnRlbF9k ZXZpY2VfaW5mbyAqaW5mbzsKPj4+ICAgCXUzMiB2YWwsIHJwMTsKPj4+ICAgCj4+PiAtCXZhbCA9 IHZsdl9wdW5pdF9yZWFkKGRldl9wcml2LCBQVU5JVF9SRUdfR1BVX0ZSRVFfU1RTKTsKPj4+IC0J cnAxID0gKHZhbCA+PiBQVU5JVF9HUFVfU1RBVFVTX01BWF9GUkVRX1NISUZUKSAmIFBVTklUX0dQ VV9TVEFUVVNfTUFYX0ZSRVFfTUFTSzsKPj4+ICsJaW5mbyA9IChzdHJ1Y3QgaW50ZWxfZGV2aWNl X2luZm8gKikmZGV2X3ByaXYtPmluZm87Cj4+IFVudXNlZCBoZXJlLgo+Pgo+Pj4gICAKPj4+ICsJ aWYgKGRldi0+cGRldi0+cmV2aXNpb24gPj0gMHgyMCkgewo+Pj4gKwkJdmFsID0gdmx2X3B1bml0 X3JlYWQoZGV2X3ByaXYsIEZCX0dGWF9GTUFYX0FUX1ZNQVhfRlVTRSk7Cj4+PiArCQlycDEgPSAo dmFsICYgRkJfR0ZYX0dVQVJfRlJFUV9GVVNFX01BU0spOwo+Pj4gKwl9IGVsc2UgeyAvKiBGb3Ig cHJlLXByb2R1Y3Rpb24gaGFyZHdhcmUgKi8KPj4+ICsJCXZhbCA9IHZsdl9wdW5pdF9yZWFkKGRl dl9wcml2LCBQVU5JVF9SRUdfR1BVX0ZSRVFfU1RTKTsKPj4+ICsJCXJwMSA9ICgodmFsID4+IFBV TklUX0dQVV9TVEFUVVNfTUFYX0ZSRVFfU0hJRlQpICYKPj4+ICsJCSAgICAgICBQVU5JVF9HUFVf U1RBVFVTX01BWF9GUkVRX01BU0spOwo+Pj4gKwl9Cj4+PiAgIAlyZXR1cm4gcnAxOwo+Pj4gICB9 Cj4+PiAgIAo+Pj4gICBzdGF0aWMgaW50IGNoZXJyeXZpZXdfcnBzX21pbl9mcmVxKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPj4+ICAgewo+Pj4gKwlzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2ID0gZGV2X3ByaXYtPmRldjsKPj4+ICsJc3RydWN0IGludGVsX2RldmljZV9pbmZvICpp bmZvOwo+Pj4gICAJdTMyIHZhbCwgcnBuOwo+Pj4gKwlpbmZvID0gKHN0cnVjdCBpbnRlbF9kZXZp Y2VfaW5mbyAqKSZkZXZfcHJpdi0+aW5mbzsKPj4gVW51c2VkLgo+Pgo+Pj4gKwo+Pj4gKwlpZiAo ZGV2LT5wZGV2LT5yZXZpc2lvbiA+PSAweDIwKSB7Cj4+PiArCQl2YWwgPSB2bHZfcHVuaXRfcmVh ZChkZXZfcHJpdiwgRkJfR0ZYX0ZNSU5fQVRfVk1JTl9GVVNFKTsKPj4+ICsJCXJwbiA9ICgodmFs ID4+IEZCX0dGWF9GTUlOX0FUX1ZNSU5fRlVTRV9TSElGVCkgJgo+Pj4gKwkJICAgICAgIEZCX0dG WF9GTUlOX0FUX1ZNSU5fRlVTRV9NQVNLKTsKPj4+ICsJfSBlbHNlIHsgLyogRm9yIHByZS1wcm9k dWN0aW9uIGhhcmR3YXJlICovCj4+PiArCQl2YWwgPSB2bHZfcHVuaXRfcmVhZChkZXZfcHJpdiwg UFVOSVRfR1BVX1NUQVRVU19SRUcpOwo+Pj4gKwkJcnBuID0gKCh2YWwgPj4gUFVOSVRfR1BVX1NU QVRJU19HRlhfTUlOX0ZSRVFfU0hJRlQpICYKPj4+ICsJCSAgICAgICBQVU5JVF9HUFVfU1RBVFVT X0dGWF9NSU5fRlJFUV9NQVNLKTsKPj4+ICsJfQo+Pj4gICAKPj4+IC0JdmFsID0gdmx2X3B1bml0 X3JlYWQoZGV2X3ByaXYsIFBVTklUX0dQVV9TVEFUVVNfUkVHKTsKPj4+IC0JcnBuID0gKHZhbCA+ PiBQVU5JVF9HUFVfU1RBVElTX0dGWF9NSU5fRlJFUV9TSElGVCkgJiBQVU5JVF9HUFVfU1RBVFVT X0dGWF9NSU5fRlJFUV9NQVNLOwo+Pj4gICAJcmV0dXJuIHJwbjsKPj4+ICAgfQo+Pj4gICAKPj4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zaWRlYmFuZC5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2lkZWJhbmQuYwo+Pj4gaW5kZXggMDFkODQxZS4uM2M0 MmVlZiAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3NpZGViYW5k LmMKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3NpZGViYW5kLmMKPj4+IEBA IC03NSw3ICs3NSw3IEBAIHN0YXRpYyBpbnQgdmx2X3NpZGViYW5kX3J3KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwgdTMyIGRldmZuLAo+Pj4gICAJcmV0dXJuIDA7Cj4+PiAgIH0K Pj4+ICAgCj4+PiAtdTMyIHZsdl9wdW5pdF9yZWFkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwgdTggYWRkcikKPj4+ICt1MzIgdmx2X3B1bml0X3JlYWQoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgYWRkcikKPj4gR29vZCB0aGluZyB5b3UgaGFkIHRvIHBh c3MgYSBjb25zdGFudC4gT3RoZXJ3aXNlIHRoaXMgY291bGQgaGF2ZSBjYXVzZWQKPj4gcXVpdGUg YSBiaXQgb2YgaGVhZCBzY3JhdGNoaW5nIGZvciB5b3UgOykKPiBUaGlzIGlzIHRoZSBraW5kIG9m IHRoaW5nIHRoYXQgcmVhbGx5IHNob3VsZCBiZSBhIHNlcGFyYXRlIGZpeC4gSWYsIGZvcgo+IGFu eSByZWFzb24sIHdlIG5lZWQgdG8gcmV2ZXJ0IHRoZSByZXN0LCB3ZSdsbCBzdGlsbCB3YW50IHRo aXMuCj4KPiBCUiwKPiBKYW5pLgoKQWdyZWVkLCBCZXR0ZXIgdG8gaGF2ZSBhIHNlcGFyYXRlIHBh dGNoIDopCgo+Pj4gICB7Cj4+PiAgIAl1MzIgdmFsID0gMDsKPj4+ICAgCj4+PiBAQCAtODksNyAr ODksNyBAQCB1MzIgdmx2X3B1bml0X3JlYWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LCB1OCBhZGRyKQo+Pj4gICAJcmV0dXJuIHZhbDsKPj4+ICAgfQo+Pj4gICAKPj4+IC12b2lk IHZsdl9wdW5pdF93cml0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHU4IGFk ZHIsIHUzMiB2YWwpCj4+PiArdm9pZCB2bHZfcHVuaXRfd3JpdGUoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LCB1MzIgYWRkciwgdTMyIHZhbCkKPj4+ICAgewo+Pj4gICAJV0FSTl9P TighbXV0ZXhfaXNfbG9ja2VkKCZkZXZfcHJpdi0+cnBzLmh3X2xvY2spKTsKPj4+ICAgCj4+PiAt LSAKPj4+IDEuOS4xCj4+IC0tIAo+PiBWaWxsZSBTeXJqw6Rsw6QKPj4gSW50ZWwgT1RDCj4+IF9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+IEludGVsLWdm eCBtYWlsaW5nIGxpc3QKPj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+PiBodHRw Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=