From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH 8/9] drm/i915: Add location of the Rcomp resistor to bxt_ddi_phy_info Date: Thu, 06 Oct 2016 15:15:30 +0300 Message-ID: <1475756130.7087.24.camel@intel.com> References: <1475669354-22622-1-git-send-email-ander.conselvan.de.oliveira@intel.com> <1475669354-22622-9-git-send-email-ander.conselvan.de.oliveira@intel.com> <1475679111.13414.27.camel@intel.com> <1475754624.3505.9.camel@gmail.com> Reply-To: imre.deak@intel.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7FA186E02C for ; Thu, 6 Oct 2016 12:15:33 +0000 (UTC) In-Reply-To: <1475754624.3505.9.camel@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ander Conselvan De Oliveira , intel-gfx@lists.freedesktop.org Cc: m.deepak@intel.com List-Id: intel-gfx@lists.freedesktop.org T24gdG8sIDIwMTYtMTAtMDYgYXQgMTQ6NTAgKzAzMDAsIEFuZGVyIENvbnNlbHZhbiBEZSBPbGl2 ZWlyYSB3cm90ZToKPiBPbiBXZWQsIDIwMTYtMTAtMDUgYXQgMTc6NTEgKzAzMDAsIEltcmUgRGVh ayB3cm90ZToKPiA+IE9uIGtlLCAyMDE2LTEwLTA1IGF0IDE1OjA5ICswMzAwLCBBbmRlciBDb25z ZWx2YW4gZGUgT2xpdmVpcmEKPiA+IHdyb3RlOgo+ID4gPiAKPiA+ID4gVXNlIHN0cnVjdCBieHRf ZGRpX3BoeV9pbmZvIHRvIGhvbGQgaW5mb3JtYXRpb24gb2Ygd2hlcmUgdGhlCj4gPiA+IFJjb21w Cj4gPiA+IHJlc2lzdG9yIGlzIGxvY2F0ZWQsIGluc3RlYWQgb2YgaGFyZCBjb2RpbmcgaXQgaW4g dGhlIGluaXQKPiA+ID4gc2VxdWVuY2UuCj4gPiA+IAo+ID4gPiBOb3RlIHRoYXQgdGhpcyBtb3Zl cyB0aGUgZW5hYmxpbmcgb2YgdGhlIHBoeSB3aXRoIHRoZSBSY29tcAo+ID4gPiByZXNpc3RvciBv dXQKPiA+ID4gb2YgdGhlIHBvd2VyIHdlbGwgZW5hYmxlIGNvZGUuIFRoYXQgc2hvdWxkIGJlIHNh ZmUgc2luY2UKPiA+ID4gYnh0X2RkaV9waHlfaW5pdCgpIGlzIGNhbGxlZCB3aGlsZSB0aGUgcG93 ZXIgZG9tYWlucyBsb2NrIGlzCj4gPiA+IGhlbGQsIGFuZAo+ID4gPiB0aGF0IGlzIHRoZSBvbmx5 IHdheSB0aGF0IGZ1bmN0aW9uIGdldHMgY2FsbGVkLCBzbyB0aGVyZSBpcyBubwo+ID4gPiBwb3Nz aWJpbGl0eSBvZiBhIGNvbmN1cnJlbnQgcGh5IGVuYWJsZSBjYXVzZWQgYnkgYSBwb3dlciBkb21h aW4KPiA+ID4gZ2V0Cj4gPiA+IGNhbGwuCj4gPiA+IAo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBBbmRl ciBDb25zZWx2YW4gZGUgT2xpdmVpcmHCoAo+ID4gPiAtLS0KPiA+ID4gwqBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcGlvX3BoeS5jwqDCoMKgfCA3Ngo+ID4gPiArKysrKysrKysrKysrKysr KysrKysrKysrLS0tLS0KPiA+ID4gLS0tCj4gPiA+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcnVudGltZV9wbS5jIHwgMTUgLS0tLS0tLQo+ID4gPiDCoDIgZmlsZXMgY2hhbmdlZCwgNTkg aW5zZXJ0aW9ucygrKSwgMzIgZGVsZXRpb25zKC0pCj4gPiA+IAo+ID4gPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBpb19waHkuYwo+ID4gPiBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RwaW9fcGh5LmMKPiA+ID4gaW5kZXggNjZkNzUwYS4uZThhNzVmZCAx MDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBpb19waHkuYwo+ ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGlvX3BoeS5jCj4gPiA+IEBA IC0xMjQsNiArMTI0LDEzIEBAIHN0cnVjdCBieHRfZGRpX3BoeV9pbmZvIHsKPiA+ID4gwqAJYm9v bCBkdWFsX2NoYW5uZWw7Cj4gPiA+IMKgCj4gPiA+IMKgCS8qKgo+ID4gPiArCcKgKiBAcmNvbXBf cGh5OiBJZiAtMSwgaW5kaWNhdGVzIHRoaXMgcGh5IGhhcyBpdHMgb3duCj4gPiA+IHJjb21wCj4g PiA+IHJlc2lzdG9yLgo+ID4gPiArCcKgKiBPdGhlcndpc2UgdGhlIEdSQyB2YWx1ZSB3aWxsIGJl IGNvcGllZCBmcm9tIHRoZSBwaHkKPiA+ID4gaW5kaWNhdGVkIGJ5Cj4gPiA+ICsJwqAqIHRoaXMg ZmllbGQuCj4gPiA+ICsJwqAqLwo+ID4gPiArCWVudW0gZHBpb19waHkgcmNvbXBfcGh5Owo+ID4g PiArCj4gPiA+ICsJLyoqCj4gPiA+IMKgCcKgKiBAY2hhbm5lbDogc3RydWN0IGNvbnRhaW5pbmcg cGVyIGNoYW5uZWwgaW5mb3JtYXRpb24uCj4gPiA+IMKgCcKgKi8KPiA+ID4gwqAJc3RydWN0IHsK PiA+ID4gQEAgLTEzNyw2ICsxNDQsNyBAQCBzdHJ1Y3QgYnh0X2RkaV9waHlfaW5mbyB7Cj4gPiA+ IMKgc3RhdGljIGNvbnN0IHN0cnVjdCBieHRfZGRpX3BoeV9pbmZvIGJ4dF9kZGlfcGh5X2luZm9b XSA9IHsKPiA+ID4gwqAJW0RQSU9fUEhZMF0gPSB7Cj4gPiA+IMKgCQkuZHVhbF9jaGFubmVsID0g dHJ1ZSwKPiA+ID4gKwkJLnJjb21wX3BoeSA9IERQSU9fUEhZMSwKPiA+ID4gwqAKPiA+ID4gwqAJ CS5jaGFubmVsID0gewo+ID4gPiDCoAkJCVtEUElPX0NIMF0gPSB7IC5wb3J0ID0gUE9SVF9CIH0s Cj4gPiA+IEBAIC0xNDUsNiArMTUzLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBieHRfZGRpX3Bo eV9pbmZvCj4gPiA+IGJ4dF9kZGlfcGh5X2luZm9bXQo+ID4gPiA9IHsKPiA+ID4gwqAJfSwKPiA+ ID4gwqAJW0RQSU9fUEhZMV0gPSB7Cj4gPiA+IMKgCQkuZHVhbF9jaGFubmVsID0gZmFsc2UsCj4g PiA+ICsJCS5yY29tcF9waHkgPSAtMSwKPiA+ID4gwqAKPiA+ID4gwqAJCS5jaGFubmVsID0gewo+ ID4gPiDCoAkJCVtEUElPX0NIMF0gPSB7IC5wb3J0ID0gUE9SVF9BIH0sCj4gPiA+IEBAIC0xNTIs NiArMTYxLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBieHRfZGRpX3BoeV9pbmZvCj4gPiA+IGJ4 dF9kZGlfcGh5X2luZm9bXQo+ID4gPiA9IHsKPiA+ID4gwqAJfSwKPiA+ID4gwqB9Owo+ID4gPiDC oAo+ID4gPiArc3RhdGljIHUzMiBieHRfcGh5X3BvcnRfbWFzayhjb25zdCBzdHJ1Y3QgYnh0X2Rk aV9waHlfaW5mbwo+ID4gPiAqcGh5X2luZm8pCj4gPiA+IMKgewo+ID4gPiDCoAlyZXR1cm4gKHBo eV9pbmZvLT5kdWFsX2NoYW5uZWwgKiBCSVQocGh5X2luZm8tCj4gPiA+ID4gY2hhbm5lbFtEUElP X0NIMV0ucG9ydCkpIHwKPiA+ID4gwqAJCUJJVChwaHlfaW5mby0+Y2hhbm5lbFtEUElPX0NIMF0u cG9ydCk7Cj4gPiA+IEBAIC0xOTksNiArMjA5LDcgQEAgdm9pZCBieHRfZGRpX3BoeV9zZXRfc2ln bmFsX2xldmVsKHN0cnVjdAo+ID4gPiBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ID4g wqBib29sIGJ4dF9kZGlfcGh5X2lzX2VuYWJsZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LAo+ID4gPiDCoAkJCcKgwqDCoMKgZW51bSBkcGlvX3BoeSBwaHkpCj4gPiA+IMKgewo+ ID4gPiArCWNvbnN0IHN0cnVjdCBieHRfZGRpX3BoeV9pbmZvICpwaHlfaW5mbyA9Cj4gPiA+ICZi eHRfZGRpX3BoeV9pbmZvW3BoeV07Cj4gPiA+IMKgCWVudW0gcG9ydCBwb3J0Owo+ID4gPiDCoAo+ ID4gPiDCoAlpZiAoIShJOTE1X1JFQUQoQlhUX1BfQ1JfR1RfRElTUF9QV1JPTikgJgo+ID4gPiBH VF9ESVNQTEFZX1BPV0VSX09OKHBoeSkpKQo+ID4gPiBAQCAtMjEyLDkgKzIyMywxMCBAQCBib29s IGJ4dF9kZGlfcGh5X2lzX2VuYWJsZWQoc3RydWN0Cj4gPiA+IGRybV9pOTE1X3ByaXZhdGUKPiA+ ID4gKmRldl9wcml2LAo+ID4gPiDCoAkJcmV0dXJuIGZhbHNlOwo+ID4gPiDCoAl9Cj4gPiA+IMKg Cj4gPiA+IC0JaWYgKHBoeSA9PSBEUElPX1BIWTEgJiYKPiA+ID4gLQnCoMKgwqDCoCEoSTkxNV9S RUFEKEJYVF9QT1JUX1JFRl9EVzMoRFBJT19QSFkxKSkgJgo+ID4gPiBHUkNfRE9ORSkpIHsKPiA+ ID4gLQkJRFJNX0RFQlVHX0RSSVZFUigiRERJIFBIWSAxIHBvd2VyZWQsIGJ1dCBHUkMKPiA+ID4g aXNuJ3QKPiA+ID4gZG9uZVxuIik7Cj4gPiA+ICsJaWYgKHBoeV9pbmZvLT5yY29tcF9waHkgPT0g LTEgJiYKPiA+ID4gKwnCoMKgwqDCoCEoSTkxNV9SRUFEKEJYVF9QT1JUX1JFRl9EVzMocGh5KSkg JiBHUkNfRE9ORSkpIHsKPiA+ID4gKwkJRFJNX0RFQlVHX0RSSVZFUigiRERJIFBIWSAlZCBwb3dl cmVkLCBidXQgR1JDCj4gPiA+IGlzbid0Cj4gPiA+IGRvbmVcbiIsCj4gPiA+ICsJCQkJwqBwaHkp Owo+ID4gPiDCoAo+ID4gPiDCoAkJcmV0dXJuIGZhbHNlOwo+ID4gPiDCoAl9Cj4gPiA+IEBAIC0y NTksMTQgKzI3MSwxNSBAQCBzdGF0aWMgdm9pZCBieHRfcGh5X3dhaXRfZ3JjX2RvbmUoc3RydWN0 Cj4gPiA+IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gPiDCoAkJRFJNX0VSUk9SKCJ0 aW1lb3V0IHdhaXRpbmcgZm9yIFBIWSVkIEdSQ1xuIiwKPiA+ID4gcGh5KTsKPiA+ID4gwqB9Cj4g PiA+IMKgCj4gPiA+IC12b2lkIGJ4dF9kZGlfcGh5X2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LCBlbnVtCj4gPiA+IGRwaW9fcGh5IHBoeSkKPiA+ID4gK3N0YXRpYyB2b2lk IF9ieHRfZGRpX3BoeV9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ ID4gKwkJCcKgwqDCoMKgwqDCoGVudW0gZHBpb19waHkgcGh5KQo+ID4gPiDCoHsKPiA+ID4gwqAJ Y29uc3Qgc3RydWN0IGJ4dF9kZGlfcGh5X2luZm8gKnBoeV9pbmZvID0KPiA+ID4gJmJ4dF9kZGlf cGh5X2luZm9bcGh5XTsKPiA+ID4gwqAJdTMyIHZhbDsKPiA+ID4gwqAKPiA+ID4gwqAJaWYgKGJ4 dF9kZGlfcGh5X2lzX2VuYWJsZWQoZGV2X3ByaXYsIHBoeSkpIHsKPiA+ID4gwqAJCS8qIFN0aWxs IHJlYWQgb3V0IHRoZSBHUkMgdmFsdWUgZm9yIHN0YXRlCj4gPiA+IHZlcmlmaWNhdGlvbiAqLwo+ ID4gPiAtCQlpZiAocGh5ID09IERQSU9fUEhZMCkKPiA+ID4gKwkJaWYgKHBoeV9pbmZvLT5yY29t cF9waHkgIT0gLTEpCj4gPiA+IMKgCQkJZGV2X3ByaXYtPmJ4dF9waHlfZ3JjID0KPiA+ID4gYnh0 X2dldF9ncmMoZGV2X3ByaXYsIHBoeSk7Cj4gPiA+IMKgCj4gPiA+IMKgCQlpZiAoYnh0X2RkaV9w aHlfdmVyaWZ5X3N0YXRlKGRldl9wcml2LCBwaHkpKSB7Cj4gPiA+IEBAIC0zMzYsMzAgKzM0OSwz MiBAQCB2b2lkIGJ4dF9kZGlfcGh5X2luaXQoc3RydWN0Cj4gPiA+IGRybV9pOTE1X3ByaXZhdGUK PiA+ID4gKmRldl9wcml2LCBlbnVtIGRwaW9fcGh5IHBoeSkKPiA+ID4gwqAJCXZhbCB8PSBPQ0wy X0xET0ZVU0VfUFdSX0RJUzsKPiA+ID4gwqAJSTkxNV9XUklURShCWFRfUE9SVF9DTDFDTV9EVzMw KHBoeSksIHZhbCk7Cj4gPiA+IMKgCj4gPiA+IC0JaWYgKHBoeSA9PSBEUElPX1BIWTApIHsKPiA+ ID4gKwlpZiAocGh5X2luZm8tPnJjb21wX3BoeSAhPSAtMSkgewo+ID4gPiDCoAkJdWludDMyX3Qg Z3JjX2NvZGU7Cj4gPiA+IMKgCQkvKgo+ID4gPiDCoAkJwqAqIFBIWTAgaXNuJ3QgY29ubmVjdGVk IHRvIGFuIFJDT01QIHJlc2lzdG9yIHNvCj4gPiA+IGNvcHkgb3Zlcgo+ID4gPiDCoAkJwqAqIHRo ZSBjb3JyZXNwb25kaW5nIGNhbGlicmF0ZWQgdmFsdWUgZnJvbSBQSFkxLAo+ID4gPiBhbmQKPiA+ ID4gZGlzYWJsZQo+ID4gPiDCoAkJwqAqIHRoZSBhdXRvbWF0aWMgY2FsaWJyYXRpb24gb24gUEhZ MC4KPiA+ID4gwqAJCcKgKi8KPiA+ID4gLQkJdmFsID0gZGV2X3ByaXYtPmJ4dF9waHlfZ3JjID0K PiA+ID4gYnh0X2dldF9ncmMoZGV2X3ByaXYsCj4gPiA+IERQSU9fUEhZMSk7Cj4gPiA+ICsJCXZh bCA9IGRldl9wcml2LT5ieHRfcGh5X2dyYyA9Cj4gPiA+IGJ4dF9nZXRfZ3JjKGRldl9wcml2LAo+ ID4gPiArCQkJCQkJCcKgwqBwaHlfaW4KPiA+ID4gZm8tCj4gPiA+ID4gcmNvbXBfcGh5KTsKPiA+ ID4gwqAJCWdyY19jb2RlID0gdmFsIDw8IEdSQ19DT0RFX0ZBU1RfU0hJRlQgfAo+ID4gPiDCoAkJ CcKgwqDCoHZhbCA8PCBHUkNfQ09ERV9TTE9XX1NISUZUIHwKPiA+ID4gwqAJCQnCoMKgwqB2YWw7 Cj4gPiA+IC0JCUk5MTVfV1JJVEUoQlhUX1BPUlRfUkVGX0RXNihEUElPX1BIWTApLAo+ID4gPiBn cmNfY29kZSk7Cj4gPiA+ICsJCUk5MTVfV1JJVEUoQlhUX1BPUlRfUkVGX0RXNihwaHkpLCBncmNf Y29kZSk7Cj4gPiA+IMKgCj4gPiA+IC0JCXZhbCA9IEk5MTVfUkVBRChCWFRfUE9SVF9SRUZfRFc4 KERQSU9fUEhZMCkpOwo+ID4gPiArCQl2YWwgPSBJOTE1X1JFQUQoQlhUX1BPUlRfUkVGX0RXOChw aHkpKTsKPiA+ID4gwqAJCXZhbCB8PSBHUkNfRElTIHwgR1JDX1JEWV9PVlJEOwo+ID4gPiAtCQlJ OTE1X1dSSVRFKEJYVF9QT1JUX1JFRl9EVzgoRFBJT19QSFkwKSwgdmFsKTsKPiA+ID4gKwkJSTkx NV9XUklURShCWFRfUE9SVF9SRUZfRFc4KHBoeSksIHZhbCk7Cj4gPiA+IMKgCX0KPiA+ID4gwqAK PiA+ID4gwqAJdmFsID0gSTkxNV9SRUFEKEJYVF9QSFlfQ1RMX0ZBTUlMWShwaHkpKTsKPiA+ID4g wqAJdmFsIHw9IENPTU1PTl9SRVNFVF9ESVM7Cj4gPiA+IMKgCUk5MTVfV1JJVEUoQlhUX1BIWV9D VExfRkFNSUxZKHBoeSksIHZhbCk7Cj4gPiA+IMKgCj4gPiA+IC0JaWYgKHBoeSA9PSBEUElPX1BI WTEpCj4gPiA+IC0JCWJ4dF9waHlfd2FpdF9ncmNfZG9uZShkZXZfcHJpdiwgRFBJT19QSFkxKTsK PiA+ID4gKwlpZiAocGh5X2luZm8tPnJjb21wX3BoeSA9PSAtMSkKPiA+ID4gKwkJYnh0X3BoeV93 YWl0X2dyY19kb25lKGRldl9wcml2LCBwaHkpOwo+ID4gPiArCj4gPiA+IMKgfQo+ID4gPiDCoAo+ ID4gPiDCoHZvaWQgYnh0X2RkaV9waHlfdW5pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwgZW51bQo+ID4gPiBkcGlvX3BoeQo+ID4gPiBwaHkpCj4gPiA+IEBAIC0zNzUsNiAr MzkwLDMzIEBAIHZvaWQgYnh0X2RkaV9waHlfdW5pbml0KHN0cnVjdAo+ID4gPiBkcm1faTkxNV9w cml2YXRlCj4gPiA+ICpkZXZfcHJpdiwgZW51bSBkcGlvX3BoeSBwaHkpCj4gPiA+IMKgCUk5MTVf V1JJVEUoQlhUX1BfQ1JfR1RfRElTUF9QV1JPTiwgdmFsKTsKPiA+ID4gwqB9Cj4gPiA+IMKgCj4g PiA+ICsvKiBUaGlzIGZ1bmN0aW9uIGFzc3VtZXMgaXQgaXMgY2FsbGVkIGZyb20gYW4KPiA+ID4g aW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoKQo+ID4gPiBjYWxsLAo+ID4gPiArICogd2hpY2ggd291 bGQgc2VyaWFsaXplIGFueSBvdGhlciBhdHRlbXB0cyB0byBlbmFibGUgdGhlIHBoeQo+ID4gPiB3 aXRoIHRoZQo+ID4gPiBSY29tcAo+ID4gPiArICogcmVzaXN0b3IuCj4gPiA+ICsgKi8KPiA+IFlv dSBjb3VsZCByZXBsYWNlIHRoZSBhYm92ZSB3aXRoIGEgbXV0ZXggbG9ja2VkIGFzc2VydC4KPiAK PiBJJ2xsIGRvIHRoYXQgYW5kIHJlc2VuZC4KPiAKPiA+ID4gCj4gPiA+ICt2b2lkIGJ4dF9kZGlf cGh5X2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBlbnVtCj4gPiA+IGRw aW9fcGh5IHBoeSkKPiA+ID4gK3sKPiA+ID4gKwljb25zdCBzdHJ1Y3QgYnh0X2RkaV9waHlfaW5m byAqcGh5X2luZm8gPQo+ID4gPiAmYnh0X2RkaV9waHlfaW5mb1twaHldOwo+ID4gPiArCWVudW0g ZHBpb19waHkgcmNvbXBfcGh5ID0gcGh5X2luZm8tPnJjb21wX3BoeTsKPiA+ID4gKwlib29sIHdh c19lbmFibGVkOwo+ID4gPiArCj4gPiA+ICsJaWYgKHJjb21wX3BoeSAhPSAtMSkgewo+ID4gPiAr CQl3YXNfZW5hYmxlZCA9IGJ4dF9kZGlfcGh5X2lzX2VuYWJsZWQoZGV2X3ByaXYsCj4gPiA+IHJj b21wX3BoeSk7Cj4gPiA+ICsKPiA+ID4gKwkJLyoKPiA+ID4gKwkJwqAqIFdlIG5lZWQgdG8gY29w eSB0aGUgR1JDIGNhbGlicmF0aW9uIHZhbHVlCj4gPiA+IGZyb20KPiA+ID4gcmNvbXBfcGh5LAo+ ID4gPiArCQnCoCogc28gbWFrZSBzdXJlIGl0J3MgcG93ZXJlZCB1cC4KPiA+ID4gKwkJwqAqLwo+ ID4gPiArCQlpZiAoIXdhc19lbmFibGVkKQo+ID4gPiArCQkJX2J4dF9kZGlfcGh5X2luaXQoZGV2 X3ByaXYsIHJjb21wX3BoeSk7Cj4gPiA+ICsJfQo+ID4gPiArCj4gPiA+ICsJX2J4dF9kZGlfcGh5 X2luaXQoZGV2X3ByaXYsIHBoeSk7Cj4gPiA+ICsKPiA+ID4gKwlpZiAocmNvbXBfcGh5ICE9IC0x ICYmICF3YXNfZW5hYmxlZCkKPiA+ID4gKwkJYnh0X2RkaV9waHlfdW5pbml0KGRldl9wcml2LCBw aHlfaW5mby0KPiA+ID4gPnJjb21wX3BoeSk7Cj4gPiA+ICt9Cj4gPiBOaXRwaWNrOiBBbiBhbHRl cm5hdGl2ZSB3b3VsZCBiZSB0byBhZGQgdGhlIHBvd2VyIHdlbGwgZGVwZW5kZW5jeQo+ID4gYXMg YQo+ID4gY3VzdG9tIHBvd2VyIHdlbGwgZmllbGQgZm9yIHRoZSBjbW4gcG93ZXIgd2VsbHMuIFdl J2QgYXZvaWQgdGhlCj4gPiB1bm5lY2Vzc2FyeSBIVyBhY2Nlc3MgaW7CoGJ4dF9kZGlfcGh5X2lz X2VuYWJsZWQoKS4KPiAKPiBTaW5jZSB5b3UgZ2F2ZSBtZSB0aGUgb3B0aW9uLCBJJ2xsIGNob29z ZSB0byBpZ25vcmUgdGhpcyBvbmUuIFdoYXQgSQo+IGxpa2UgYWJvdXQKPiB0aGUgY3VycmVudCBz b2x1dGlvbiBpcyB0aGF0IHRoZSBkZXBlbmRlbmN5IHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHRoZQo+ IHBoeXMgaXMKPiBjYXB0dXJlZCBpbiBhIHNpbmdsZSBwbGFjZSwgc28gSSdkIGxpa2UgdG8gYXZv aWQgZHVwbGljYXRpbmcgdGhhdAo+IGluZm9ybWF0aW9uIGluCj4gdGhlIHBvd2VyIHdlbGwgY29k ZS4KPiAKPiBJIGRvbid0IHRoaW5rIHRoZSBleHRyYSBoYXJkd2FyZSBhY2Nlc3MgaXMgcGVyZm9y bWFuY2UgY3JpdGljYWwsIGJ1dAo+IGlmIGl0IHdlcmUsCj4gbWF5YmUgd2UgY291bGQgdHJhY2sg d2hldGhlciB0aGUgcGh5IGlzIGVuYWJsZWQgaW4gdGhlIHBoeSBjb2RlIHRvbz8KCk5vLCBJIG1l YW50IHRoYXQgd2UgYWxyZWFkeSB0cmFjayB0aGF0IGluIHRoZSBwb3dlciB3ZWxsIGNvZGUgc28K Y2hlY2tpbmcgZm9yIGl0IGhlcmUgYWdhaW4gd291bGQgYmUgcmVkdW5kYW50LiBCdXQgSSdtIGFs c28gZmluZSB3aXRoCnlvdXIgc29sdXRpb24gc28gbGV0J3MgZ28gd2l0aCB0aGF0LgoKLS1JbXJl Cgo+IAo+IEFuZGVyCj4gCj4gPiAKPiA+ID4gCj4gPiA+ICsKPiA+ID4gwqBzdGF0aWMgYm9vbCBf X3ByaW50Zig2LCA3KQo+ID4gPiDCoF9fcGh5X3JlZ192ZXJpZnlfc3RhdGUoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LCBlbnVtCj4gPiA+IGRwaW9fcGh5Cj4gPiA+IHBoeSwKPiA+ ID4gwqAJCcKgwqDCoMKgwqDCoMKgaTkxNV9yZWdfdCByZWcsIHUzMiBtYXNrLCB1MzIgZXhwZWN0 ZWQsCj4gPiA+IEBAIC00NDEsNyArNDgzLDcgQEAgYm9vbCBieHRfZGRpX3BoeV92ZXJpZnlfc3Rh dGUoc3RydWN0Cj4gPiA+IGRybV9pOTE1X3ByaXZhdGUKPiA+ID4gKmRldl9wcml2LAo+ID4gPiDC oAnCoCogYXQgbGVhc3Qgb24gc3RlcHBpbmcgQSB0aGlzIGJpdCBpcyByZWFkLW9ubHkgYW5kCj4g PiA+IGZpeGVkIGF0IDAuCj4gPiA+IMKgCcKgKi8KPiA+ID4gwqAKPiA+ID4gLQlpZiAocGh5ID09 IERQSU9fUEhZMCkgewo+ID4gPiArCWlmIChwaHlfaW5mby0+cmNvbXBfcGh5ICE9IC0xKSB7Cj4g PiA+IMKgCQl1MzIgZ3JjX2NvZGUgPSBkZXZfcHJpdi0+Ynh0X3BoeV9ncmM7Cj4gPiA+IMKgCj4g PiA+IMKgCQlncmNfY29kZSA9IGdyY19jb2RlIDw8IEdSQ19DT0RFX0ZBU1RfU0hJRlQgfAo+ID4g PiBAQCAtNDQ5LDEyICs0OTEsMTIgQEAgYm9vbCBieHRfZGRpX3BoeV92ZXJpZnlfc3RhdGUoc3Ry dWN0Cj4gPiA+IGRybV9pOTE1X3ByaXZhdGUKPiA+ID4gKmRldl9wcml2LAo+ID4gPiDCoAkJCcKg wqDCoGdyY19jb2RlOwo+ID4gPiDCoAkJbWFzayA9IEdSQ19DT0RFX0ZBU1RfTUFTSyB8IEdSQ19D T0RFX1NMT1dfTUFTSyB8Cj4gPiA+IMKgCQnCoMKgwqDCoMKgwqDCoEdSQ19DT0RFX05PTV9NQVNL Owo+ID4gPiAtCQlvayAmPSBfQ0hLKEJYVF9QT1JUX1JFRl9EVzYoRFBJT19QSFkwKSwgbWFzaywK PiA+ID4gZ3JjX2NvZGUsCj4gPiA+IC0JCQnCoMKgwqDCoCJCWFRfUE9SVF9SRUZfRFc2KCVkKSIs IERQSU9fUEhZMCk7Cj4gPiA+ICsJCW9rICY9IF9DSEsoQlhUX1BPUlRfUkVGX0RXNihwaHkpLCBt YXNrLAo+ID4gPiBncmNfY29kZSwKPiA+ID4gKwkJCcKgwqDCoMKgIkJYVF9QT1JUX1JFRl9EVzYo JWQpIiwgcGh5KTsKPiA+ID4gwqAKPiA+ID4gwqAJCW1hc2sgPSBHUkNfRElTIHwgR1JDX1JEWV9P VlJEOwo+ID4gPiAtCQlvayAmPSBfQ0hLKEJYVF9QT1JUX1JFRl9EVzgoRFBJT19QSFkwKSwgbWFz aywKPiA+ID4gbWFzaywKPiA+ID4gLQkJCcKgwqDCoMKgIkJYVF9QT1JUX1JFRl9EVzgoJWQpIiwg RFBJT19QSFkwKTsKPiA+ID4gKwkJb2sgJj0gX0NISyhCWFRfUE9SVF9SRUZfRFc4KHBoeSksIG1h c2ssIG1hc2ssCj4gPiA+ICsJCQnCoMKgwqDCoCJCWFRfUE9SVF9SRUZfRFc4KCVkKSIsIHBoeSk7 Cj4gPiA+IMKgCX0KPiA+ID4gwqAKPiA+ID4gwqAJcmV0dXJuIG9rOwo+ID4gPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gPiA+IGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gPiA+IGluZGV4IGQ0MWZkNDYuLjNi Mzg5OTggMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRp bWVfcG0uYwo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3Bt LmMKPiA+ID4gQEAgLTg0OSwyMiArODQ5LDcgQEAgc3RhdGljIHZvaWQgc2tsX3Bvd2VyX3dlbGxf ZGlzYWJsZShzdHJ1Y3QKPiA+ID4gZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiA+IMKg c3RhdGljIHZvaWQgYnh0X2RwaW9fY21uX3Bvd2VyX3dlbGxfZW5hYmxlKHN0cnVjdAo+ID4gPiBk cm1faTkxNV9wcml2YXRlCj4gPiA+ICpkZXZfcHJpdiwKPiA+ID4gwqAJCQkJCcKgwqDCoHN0cnVj dAo+ID4gPiBpOTE1X3Bvd2VyX3dlbGwKPiA+ID4gKnBvd2VyX3dlbGwpCj4gPiA+IMKgewo+ID4g PiAtCWVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgcG93ZXJfd2VsbF9pZCA9IHBvd2VyX3dlbGwt Cj4gPiA+ID5pZDsKPiA+ID4gLQlzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsICpjbW5fYV93ZWxsID0g TlVMTDsKPiA+ID4gLQo+ID4gPiAtCWlmIChwb3dlcl93ZWxsX2lkID09IEJYVF9EUElPX0NNTl9C Qykgewo+ID4gPiAtCQkvKgo+ID4gPiAtCQnCoCogV2UgbmVlZCB0byBjb3B5IHRoZSBHUkMgY2Fs aWJyYXRpb24gdmFsdWUKPiA+ID4gZnJvbSB0aGUgZURQCj4gPiA+IFBIWSwKPiA+ID4gLQkJwqAq IHNvIG1ha2Ugc3VyZSBpdCdzIHBvd2VyZWQgdXAuCj4gPiA+IC0JCcKgKi8KPiA+ID4gLQkJY21u X2Ffd2VsbCA9IGxvb2t1cF9wb3dlcl93ZWxsKGRldl9wcml2LAo+ID4gPiBCWFRfRFBJT19DTU5f QSk7Cj4gPiA+IC0JCWludGVsX3Bvd2VyX3dlbGxfZ2V0KGRldl9wcml2LCBjbW5fYV93ZWxsKTsK PiA+ID4gLQl9Cj4gPiA+IC0KPiA+ID4gwqAJYnh0X2RkaV9waHlfaW5pdChkZXZfcHJpdiwgcG93 ZXJfd2VsbC0+ZGF0YSk7Cj4gPiA+IC0KPiA+ID4gLQlpZiAoY21uX2Ffd2VsbCkKPiA+ID4gLQkJ aW50ZWxfcG93ZXJfd2VsbF9wdXQoZGV2X3ByaXYsIGNtbl9hX3dlbGwpOwo+ID4gPiDCoH0KPiA+ ID4gwqAKPiA+ID4gwqBzdGF0aWMgdm9pZCBieHRfZHBpb19jbW5fcG93ZXJfd2VsbF9kaXNhYmxl KHN0cnVjdAo+ID4gPiBkcm1faTkxNV9wcml2YXRlCj4gPiA+ICpkZXZfcHJpdiwKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==