From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 3/4] drm/i915: Check live status before reading edid Date: Wed, 26 Aug 2015 09:36:12 +0300 Message-ID: <874mjma74z.fsf@intel.com> References: <1440504093-19370-1-git-send-email-sonika.jindal@intel.com> <1440504093-19370-4-git-send-email-sonika.jindal@intel.com> <878u8zux9e.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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 BB0A76E3DD for ; Tue, 25 Aug 2015 23:33:09 -0700 (PDT) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Hindman, Gavin" , "Jindal, Sonika" , "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org ClRoZSBjbGVhbnVwIHNlcmllcyBoYXMgYWxyZWFkeSBiZWVuIHJldmlld2VkLCB0aGlzIG9uZSBo YXNuJ3QuIFRoZQpjbGVhbnVwIHNlcmllcyBzaG91bGQgYWN0dWFsbHkgbWFrZSBwYXRjaCAzLzQg c2ltcGxlciB0bwpyZXZpZXcuIE90aGVyd2lzZSB0aGVyZSByZWFsbHkgaXNuJ3QgY29uZmxpY3Qu CgpCUiwKSmFuaS4KCgpPbiBXZWQsIDI2IEF1ZyAyMDE1LCAiSGluZG1hbiwgR2F2aW4iIDxnYXZp bi5oaW5kbWFuQGludGVsLmNvbT4gd3JvdGU6Cj4gSmFuaSAtIGRvIHlvdSBiZWxpZXZlIHRoYXQg dGhpcyBzZXJpZXMgd2lsbCBuZWVkIHRvIGJlIHJld29ya2VkIGZvbGxvd2luZyBtZXJnZSBvZiB5 b3VyIGNsZWFudXAgc2VyaWVzPyAgIFdlJ3ZlIGdvdCBzb21lIG91dHN0YW5kaW5nIENIViBob3Qt cGx1ZyBpc3N1ZXMgdGhhdCBTb25pa2EncyBzZXJpZXMgc2hvdWxkIGZpeCwgc28gd2UgbmVlZCB0 byBnZXQgaXQgaW4sIGJ1dCBzaG91bGQgZGVmaW5pdGVseSB0YWtlIHRoZSBwYXRoIHRvd2FyZHMg bG9uZ2VyLXRlcm0gcXVhbGl0eS4KPgo+IEdhdmluIEhpbmRtYW4KPiBTZW5pb3IgUHJvZ3JhbSBN YW5hZ2VyCj4gU1NHL09UQyDigJMgT3BlbiBTb3VyY2UgVGVjaG5vbG9neSBDZW50ZXIKPgo+Cj4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPiBGcm9tOiBJbnRlbC1nZnggW21haWx0bzppbnRl bC1nZngtYm91bmNlc0BsaXN0cy5mcmVlZGVza3RvcC5vcmddIE9uIEJlaGFsZiBPZiBKYW5pIE5p a3VsYQo+IFNlbnQ6IFR1ZXNkYXksIEF1Z3VzdCAyNSwgMjAxNSA5OjUyIEFNCj4gVG86IEppbmRh bCwgU29uaWthOyBpbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gU3ViamVjdDogUmU6 IFtJbnRlbC1nZnhdIFtQQVRDSCAzLzRdIGRybS9pOTE1OiBDaGVjayBsaXZlIHN0YXR1cyBiZWZv cmUgcmVhZGluZyBlZGlkCj4KPiBPbiBUdWUsIDI1IEF1ZyAyMDE1LCBTb25pa2EgSmluZGFsIDxz b25pa2EuamluZGFsQGludGVsLmNvbT4gd3JvdGU6Cj4+IEFkZGluZyB0aGlzIGZvciBTS0wgb253 YXJkcy4KPj4KPj4gdjI6IEFkZGluZyBjaGVja3MgZm9yIFZMVi9DSFYgYXMgd2VsbC4gUmV1c2lu ZyBvbGQgaWJ4IGFuZCBnNHggCj4+IGZ1bmN0aW9ucyB0byBjaGVjayBkaWdpdGFsIHBvcnQgc3Rh dHVzLiBBZGRpbmcgYSBzZXBhcmF0ZSBmdW5jdGlvbiB0byAKPj4gZ2V0IGJ4dCBsaXZlIHN0YXR1 cyAoRGFuaWVsKQo+PiB2MzogVXNpbmcgaW50ZWxfZW5jb2Rlci0+aHBkX3BpbiB0byBjaGVjayB0 aGUgbGl2ZSBzdGF0dXMgKFNpdmEpIAo+PiBNb3ZpbmcgdGhlIGxpdmUgc3RhdHVzIHJlYWQgdG8g aW50ZWxfaGRtaV9wcm9iZSBhbmQgcGFzc2luZyBwYXJhbWV0ZXIgCj4+IHRvIHJlYWQvbm90IHRv IHJlYWQgdGhlIGVkaWQuIChtZSkKPgo+IFdlIG1heSB3YW50IHRvIG1lcmdlIHRoaXMgY2xlYW51 cCBmaXJzdDoKPiBodHRwOi8vbWlkLmdtYW5lLm9yZy9jb3Zlci4xNDQwMDU2NDYxLmdpdC5qYW5p Lm5pa3VsYUBpbnRlbC5jb20KPgo+IEJSLAo+IEphbmkuCj4KPgo+Cj4+Cj4+IFNpZ25lZC1vZmYt Ynk6IFNvbmlrYSBKaW5kYWwgPHNvbmlrYS5qaW5kYWxAaW50ZWwuY29tPgo+PiAtLS0KPj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgICB8ICAgIDQgKy0tCj4+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgfCAgICAyICsrCj4+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9oZG1pLmMgfCAgIDYyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0t LS0KPj4gIDMgZmlsZXMgY2hhbmdlZCwgNTggaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0p Cj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIAo+PiBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgaW5kZXggYjkwNWMxOS4uOGYyZWJhMiAx MDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+PiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4+IEBAIC00NDc3LDggKzQ0NzcsOCBAQCBp cm9ubGFrZV9kcF9kZXRlY3Qoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPj4gIAlyZXR1cm4g aW50ZWxfZHBfZGV0ZWN0X2RwY2QoaW50ZWxfZHApOyAgfQo+PiAgCj4+IC1zdGF0aWMgaW50IGc0 eF9kaWdpdGFsX3BvcnRfY29ubmVjdGVkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+IC0JCQkJ ICAgICAgIHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0KQo+PiAraW50 IGc0eF9kaWdpdGFsX3BvcnRfY29ubmVjdGVkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+ICsJ CQkgICAgICAgc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQpCj4+ICB7 Cj4+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0 ZTsKPj4gIAl1aW50MzJfdCBiaXQ7Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaCAKPj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+PiBp bmRleCAyMzJiODE0Li5iMDdlMTQxIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcnYuaAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ PiBAQCAtMTE5Miw2ICsxMTkyLDggQEAgdm9pZCBpbnRlbF9lZHBfZHJyc19kaXNhYmxlKHN0cnVj dCBpbnRlbF9kcCAKPj4gKmludGVsX2RwKTsgIHZvaWQgaW50ZWxfZWRwX2RycnNfaW52YWxpZGF0 ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+PiAgCQl1bnNpZ25lZCBmcm9udGJ1ZmZlcl9iaXRz KTsKPj4gIHZvaWQgaW50ZWxfZWRwX2RycnNfZmx1c2goc3RydWN0IGRybV9kZXZpY2UgKmRldiwg dW5zaWduZWQgCj4+IGZyb250YnVmZmVyX2JpdHMpOwo+PiAraW50IGc0eF9kaWdpdGFsX3BvcnRf Y29ubmVjdGVkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+ICsJCQkgICAgICAgc3RydWN0IGlu dGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQpOwo+PiAgCj4+ICAvKiBpbnRlbF9kcF9t c3QuYyAqLwo+PiAgaW50IGludGVsX2RwX21zdF9lbmNvZGVyX2luaXQoc3RydWN0IGludGVsX2Rp Z2l0YWxfcG9ydCAKPj4gKmludGVsX2RpZ19wb3J0LCBpbnQgY29ubl9pZCk7IGRpZmYgLS1naXQg Cj4+IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jIAo+PiBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2hkbWkuYwo+PiBpbmRleCA2ODg4NmMwLi41OTUxOGI0IDEwMDY0NAo+ PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKPj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4+IEBAIC0xMzI4LDIzICsxMzI4LDYzIEBAIGlu dGVsX2hkbWlfdW5zZXRfZWRpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+PiAg CXRvX2ludGVsX2Nvbm5lY3Rvcihjb25uZWN0b3IpLT5kZXRlY3RfZWRpZCA9IE5VTEw7ICB9Cj4+ ICAKPj4gK3N0YXRpYyBib29sIGJ4dF9wb3J0X2Nvbm5lY3RlZChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCj4+ICsJCQkgICAgICAgc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAq aW50ZWxfZGlnX3BvcnQpIHsKPj4gKwlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2Rl ciA9ICZpbnRlbF9kaWdfcG9ydC0+YmFzZTsKPj4gKwllbnVtIHBvcnQgcG9ydDsKPj4gKwl1MzIg dGVtcCA9IEk5MTVfUkVBRChHRU44X0RFX1BPUlRfSVNSKTsKPj4gKwo+PiArCWludGVsX2hwZF9w aW5fdG9fcG9ydChpbnRlbF9lbmNvZGVyLT5ocGRfcGluLCAmcG9ydCk7Cj4+ICsJc3dpdGNoIChw b3J0KSB7Cj4+ICsJY2FzZSBQT1JUX0E6Cj4+ICsJCXJldHVybiB0ZW1wICYgQlhUX0RFX1BPUlRf SFBfRERJQTsKPj4gKwo+PiArCWNhc2UgUE9SVF9COgo+PiArCQlyZXR1cm4gdGVtcCAmIEJYVF9E RV9QT1JUX0hQX0RESUI7Cj4+ICsKPj4gKwljYXNlIFBPUlRfQzoKPj4gKwkJcmV0dXJuIHRlbXAg JiBCWFRfREVfUE9SVF9IUF9ERElDOwo+PiArCj4+ICsJZGVmYXVsdDoKPj4gKwkJcmV0dXJuIGZh bHNlOwo+PiArCj4+ICsJfQo+PiArfQo+PiArCj4+ICtzdGF0aWMgYm9vbCBpbnRlbF9oZG1pX2xp dmVfc3RhdHVzKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgCj4+ICsqaW50ZWxfZGlnX3BvcnQp IHsKPj4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfZGlnX3BvcnQtPmJhc2UuYmFz ZS5kZXY7Cj4+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShk ZXYpOwo+PiArCj4+ICsJaWYgKElTX1ZBTExFWVZJRVcoZGV2KSkKPj4gKwkJcmV0dXJuIGc0eF9k aWdpdGFsX3BvcnRfY29ubmVjdGVkKGRldiwgaW50ZWxfZGlnX3BvcnQpOwo+PiArCWVsc2UgaWYg KElTX1NLWUxBS0UoZGV2KSB8fCBJU19CUk9BRFdFTEwoZGV2KSkKPj4gKwkJcmV0dXJuIGlieF9k aWdpdGFsX3BvcnRfY29ubmVjdGVkKGRldl9wcml2LCBpbnRlbF9kaWdfcG9ydCk7Cj4+ICsJZWxz ZSBpZiAoSVNfQlJPWFRPTihkZXYpKQo+PiArCQlyZXR1cm4gYnh0X3BvcnRfY29ubmVjdGVkKGRl dl9wcml2LCBpbnRlbF9kaWdfcG9ydCk7Cj4+ICsKPj4gKwlyZXR1cm4gdHJ1ZTsKPj4gK30KPj4g Kwo+PiAgc3RhdGljIGJvb2wKPj4gLWludGVsX2hkbWlfc2V0X2VkaWQoc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvcikKPj4gK2ludGVsX2hkbWlfc2V0X2VkaWQoc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvciwgYm9vbCBmb3JjZSkKPj4gIHsKPj4gIAlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNvbm5lY3Rvci0+ZGV2KTsKPj4gIAlzdHJ1Y3Qg aW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9IGludGVsX2F0dGFjaGVkX2hkbWkoY29ubmVjdG9yKTsK Pj4gIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciA9Cj4+ICAJCSZoZG1pX3Rv X2RpZ19wb3J0KGludGVsX2hkbWkpLT5iYXNlOwo+PiAgCWVudW0gaW50ZWxfZGlzcGxheV9wb3dl cl9kb21haW4gcG93ZXJfZG9tYWluOwo+PiAtCXN0cnVjdCBlZGlkICplZGlkOwo+PiArCXN0cnVj dCBlZGlkICplZGlkID0gTlVMTDsKPj4gIAlib29sIGNvbm5lY3RlZCA9IGZhbHNlOwo+PiAgCj4+ ICAJcG93ZXJfZG9tYWluID0gaW50ZWxfZGlzcGxheV9wb3J0X3Bvd2VyX2RvbWFpbihpbnRlbF9l bmNvZGVyKTsKPj4gIAlpbnRlbF9kaXNwbGF5X3Bvd2VyX2dldChkZXZfcHJpdiwgcG93ZXJfZG9t YWluKTsKPj4gIAo+PiAtCWVkaWQgPSBkcm1fZ2V0X2VkaWQoY29ubmVjdG9yLAo+PiAtCQkJICAg IGludGVsX2dtYnVzX2dldF9hZGFwdGVyKGRldl9wcml2LAo+PiAtCQkJCQkJICAgIGludGVsX2hk bWktPmRkY19idXMpKTsKPj4gKwlpZiAoZm9yY2UpCj4+ICsJCWVkaWQgPSBkcm1fZ2V0X2VkaWQo Y29ubmVjdG9yLAo+PiArCQkJCWludGVsX2dtYnVzX2dldF9hZGFwdGVyKGRldl9wcml2LAo+PiAr CQkJCQlpbnRlbF9oZG1pLT5kZGNfYnVzKSk7Cj4+ICAKPj4gIAlpbnRlbF9kaXNwbGF5X3Bvd2Vy X3B1dChkZXZfcHJpdiwgcG93ZXJfZG9tYWluKTsKPj4gIAo+PiBAQCAtMTM3NCw2ICsxNDE0LDgg QEAgdm9pZCBpbnRlbF9oZG1pX3Byb2JlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNv ZGVyKQo+PiAgCQkJZW5jX3RvX2ludGVsX2hkbWkoJmludGVsX2VuY29kZXItPmJhc2UpOwo+PiAg CXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvciA9Cj4+ICAJCQkJaW50ZWxf aGRtaS0+YXR0YWNoZWRfY29ubmVjdG9yOwo+PiArCWJvb2wgbGl2ZV9zdGF0dXMgPSBmYWxzZTsK Pj4gKwo+PiAgCS8qCj4+ICAJICogU29tZXRpbWVzIERESSBwb3J0cyBhcmUgZW51bWVyYXRlZCBh cyBEUCBhcyB3ZWxsIGFzIEhETUkgYW5kCj4+ICAJICogZGV0ZWN0aW9uIGlzIGxlZnQgZm9yIHJ1 bnRpbWUuIFNpbmNlIERQJ3MgZGV0ZWN0aW9uIG1ldGhvZCAKPj4gYWxyZWFkeSBAQCAtMTM4MSwx MyArMTQyMywxNSBAQCB2b2lkIGludGVsX2hkbWlfcHJvYmUoc3RydWN0IGludGVsX2VuY29kZXIg KmludGVsX2VuY29kZXIpCj4+ICAJICovCj4+ICAJaWYgKGludGVsX2Nvbm5lY3Rvci0+YmFzZS5j b25uZWN0b3JfdHlwZSAhPSBEUk1fTU9ERV9DT05ORUNUT1JfSERNSUEpCj4+ICAJCXJldHVybjsK Pj4gKwo+PiArCWxpdmVfc3RhdHVzID0gaW50ZWxfaGRtaV9saXZlX3N0YXR1cyhoZG1pX3RvX2Rp Z19wb3J0KGludGVsX2hkbWkpKTsKPj4gIAkvKgo+PiAgCSAqIFdlIGFyZSBoZXJlLCBtZWFucyB0 aGVyZSBpcyBhIGhvdHBsdWcgb3IgYSBmb3JjZQo+PiAgCSAqIGRldGVjdGlvbi4gQ2xlYXIgdGhl IGNhY2hlZCBFRElEIGFuZCBwcm9iZSB0aGUKPj4gIAkgKiBEREMgYnVzIHRvIGNoZWNrIHRoZSBj dXJyZW50IHN0YXR1cyBvZiBIRE1JLgo+PiAgCSAqLwo+PiAgCWludGVsX2hkbWlfdW5zZXRfZWRp ZCgmaW50ZWxfY29ubmVjdG9yLT5iYXNlKTsKPj4gLQlpZiAoaW50ZWxfaGRtaV9zZXRfZWRpZCgm aW50ZWxfY29ubmVjdG9yLT5iYXNlKSkKPj4gKwlpZiAoaW50ZWxfaGRtaV9zZXRfZWRpZCgmaW50 ZWxfY29ubmVjdG9yLT5iYXNlLCBsaXZlX3N0YXR1cykpCj4+ICAJCURSTV9ERUJVR19EUklWRVIo IkREQyBwcm9iZTogZ290IEVESURcbiIpOwo+PiAgCWVsc2UKPj4gIAkJRFJNX0RFQlVHX0RSSVZF UigiRERDIHByb2JlOiBubyBFRElEXG4iKTsgQEAgLTE0NDIsNyArMTQ4Niw3IEBAIAo+PiBpbnRl bF9oZG1pX2ZvcmNlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4+ICAJaWYgKGNv bm5lY3Rvci0+c3RhdHVzICE9IGNvbm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVkKQo+PiAgCQlyZXR1 cm47Cj4+ICAKPj4gLQlpbnRlbF9oZG1pX3NldF9lZGlkKGNvbm5lY3Rvcik7Cj4+ICsJaW50ZWxf aGRtaV9zZXRfZWRpZChjb25uZWN0b3IsIHRydWUpOwo+PiAgCWhkbWlfdG9fZGlnX3BvcnQoaW50 ZWxfaGRtaSktPmJhc2UudHlwZSA9IElOVEVMX09VVFBVVF9IRE1JOyAgfQo+PiAgCj4+IEBAIC0x OTk2LDYgKzIwNDAsNyBAQCB2b2lkIGludGVsX2hkbWlfaW5pdF9jb25uZWN0b3Ioc3RydWN0IGlu dGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCj4+ICAJc3RydWN0IGRybV9kZXZpY2Ug KmRldiA9IGludGVsX2VuY29kZXItPmJhc2UuZGV2Owo+PiAgCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4+ICAJZW51bSBwb3J0IHBvcnQgPSBp bnRlbF9kaWdfcG9ydC0+cG9ydDsKPj4gKwlib29sIGxpdmVfc3RhdHVzID0gZmFsc2U7Cj4+ICAK Pj4gIAlkcm1fY29ubmVjdG9yX2luaXQoZGV2LCBjb25uZWN0b3IsICZpbnRlbF9oZG1pX2Nvbm5l Y3Rvcl9mdW5jcywKPj4gIAkJCSAgIERSTV9NT0RFX0NPTk5FQ1RPUl9IRE1JQSk7Cj4+IEBAIC0y MDc5LDcgKzIxMjQsOCBAQCB2b2lkIGludGVsX2hkbWlfaW5pdF9jb25uZWN0b3Ioc3RydWN0IGlu dGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCj4+ICAJaW50ZWxfaGRtaS0+YXR0YWNo ZWRfY29ubmVjdG9yID0gaW50ZWxfY29ubmVjdG9yOwo+PiAgCj4+ICAJLyogU2V0IGVkaWQgZHVy aW5nIGluaXQgKi8KPj4gLQlpbnRlbF9oZG1pX3NldF9lZGlkKGNvbm5lY3Rvcik7Cj4+ICsJbGl2 ZV9zdGF0dXMgPSBpbnRlbF9oZG1pX2xpdmVfc3RhdHVzKGludGVsX2RpZ19wb3J0KTsKPj4gKwlp bnRlbF9oZG1pX3NldF9lZGlkKGNvbm5lY3RvciwgbGl2ZV9zdGF0dXMpOwo+PiAgCj4+ICAJLyog Rm9yIEc0WCBkZXNrdG9wIGNoaXAsIFBFR19CQU5EX0dBUF9EQVRBIDM6MCBtdXN0IGZpcnN0IGJl IHdyaXR0ZW4KPj4gIAkgKiAweGQuICBGYWlsdXJlIHRvIGRvIHNvIHdpbGwgcmVzdWx0IGluIHNw dXJpb3VzIGludGVycnVwdHMgYmVpbmcKPj4gLS0KPj4gMS43LjEwLjQKPj4KPj4gX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPj4gSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdAo+PiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4+IGh0dHA6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKPgo+IC0tCj4gSmFu aSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudGVyIF9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKSmFuaSBOaWt1bGEs IEludGVsIE9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==