From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan De Oliveira Subject: Re: [PATCH 8/9] drm/i915: Add location of the Rcomp resistor to bxt_ddi_phy_info Date: Thu, 06 Oct 2016 14:50:24 +0300 Message-ID: <1475754624.3505.9.camel@gmail.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> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pf0-x242.google.com (mail-pf0-x242.google.com [IPv6:2607:f8b0:400e:c00::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id C8FC06E90D for ; Thu, 6 Oct 2016 11:50:31 +0000 (UTC) Received: by mail-pf0-x242.google.com with SMTP id n24so1056696pfb.3 for ; Thu, 06 Oct 2016 04:50:31 -0700 (PDT) In-Reply-To: <1475679111.13414.27.camel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: imre.deak@intel.com, intel-gfx@lists.freedesktop.org Cc: m.deepak@intel.com List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCAyMDE2LTEwLTA1IGF0IDE3OjUxICswMzAwLCBJbXJlIERlYWsgd3JvdGU6Cj4gT24g a2UsIDIwMTYtMTAtMDUgYXQgMTU6MDkgKzAzMDAsIEFuZGVyIENvbnNlbHZhbiBkZSBPbGl2ZWly YSB3cm90ZToKPiA+IAo+ID4gVXNlIHN0cnVjdCBieHRfZGRpX3BoeV9pbmZvIHRvIGhvbGQgaW5m b3JtYXRpb24gb2Ygd2hlcmUgdGhlIFJjb21wCj4gPiByZXNpc3RvciBpcyBsb2NhdGVkLCBpbnN0 ZWFkIG9mIGhhcmQgY29kaW5nIGl0IGluIHRoZSBpbml0IHNlcXVlbmNlLgo+ID4gCj4gPiBOb3Rl IHRoYXQgdGhpcyBtb3ZlcyB0aGUgZW5hYmxpbmcgb2YgdGhlIHBoeSB3aXRoIHRoZSBSY29tcCBy ZXNpc3RvciBvdXQKPiA+IG9mIHRoZSBwb3dlciB3ZWxsIGVuYWJsZSBjb2RlLiBUaGF0IHNob3Vs ZCBiZSBzYWZlIHNpbmNlCj4gPiBieHRfZGRpX3BoeV9pbml0KCkgaXMgY2FsbGVkIHdoaWxlIHRo ZSBwb3dlciBkb21haW5zIGxvY2sgaXMgaGVsZCwgYW5kCj4gPiB0aGF0IGlzIHRoZSBvbmx5IHdh eSB0aGF0IGZ1bmN0aW9uIGdldHMgY2FsbGVkLCBzbyB0aGVyZSBpcyBubwo+ID4gcG9zc2liaWxp dHkgb2YgYSBjb25jdXJyZW50IHBoeSBlbmFibGUgY2F1c2VkIGJ5IGEgcG93ZXIgZG9tYWluIGdl dAo+ID4gY2FsbC4KPiA+IAo+ID4gU2lnbmVkLW9mZi1ieTogQW5kZXIgQ29uc2VsdmFuIGRlIE9s aXZlaXJhwqAKPiA+IC0tLQo+ID4gwqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGlvX3Bo eS5jwqDCoMKgfCA3NiArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KPiA+IC0tLQo+ID4g wqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMgfCAxNSAtLS0tLS0tCj4g PiDCoDIgZmlsZXMgY2hhbmdlZCwgNTkgaW5zZXJ0aW9ucygrKSwgMzIgZGVsZXRpb25zKC0pCj4g PiAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGlvX3BoeS5j Cj4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwaW9fcGh5LmMKPiA+IGluZGV4IDY2 ZDc1MGEuLmU4YTc1ZmQgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcGlvX3BoeS5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGlvX3Bo eS5jCj4gPiBAQCAtMTI0LDYgKzEyNCwxMyBAQCBzdHJ1Y3QgYnh0X2RkaV9waHlfaW5mbyB7Cj4g PiDCoAlib29sIGR1YWxfY2hhbm5lbDsKPiA+IMKgCj4gPiDCoAkvKioKPiA+ICsJwqAqIEByY29t cF9waHk6IElmIC0xLCBpbmRpY2F0ZXMgdGhpcyBwaHkgaGFzIGl0cyBvd24gcmNvbXAKPiA+IHJl c2lzdG9yLgo+ID4gKwnCoCogT3RoZXJ3aXNlIHRoZSBHUkMgdmFsdWUgd2lsbCBiZSBjb3BpZWQg ZnJvbSB0aGUgcGh5IGluZGljYXRlZCBieQo+ID4gKwnCoCogdGhpcyBmaWVsZC4KPiA+ICsJwqAq Lwo+ID4gKwllbnVtIGRwaW9fcGh5IHJjb21wX3BoeTsKPiA+ICsKPiA+ICsJLyoqCj4gPiDCoAnC oCogQGNoYW5uZWw6IHN0cnVjdCBjb250YWluaW5nIHBlciBjaGFubmVsIGluZm9ybWF0aW9uLgo+ ID4gwqAJwqAqLwo+ID4gwqAJc3RydWN0IHsKPiA+IEBAIC0xMzcsNiArMTQ0LDcgQEAgc3RydWN0 IGJ4dF9kZGlfcGh5X2luZm8gewo+ID4gwqBzdGF0aWMgY29uc3Qgc3RydWN0IGJ4dF9kZGlfcGh5 X2luZm8gYnh0X2RkaV9waHlfaW5mb1tdID0gewo+ID4gwqAJW0RQSU9fUEhZMF0gPSB7Cj4gPiDC oAkJLmR1YWxfY2hhbm5lbCA9IHRydWUsCj4gPiArCQkucmNvbXBfcGh5ID0gRFBJT19QSFkxLAo+ ID4gwqAKPiA+IMKgCQkuY2hhbm5lbCA9IHsKPiA+IMKgCQkJW0RQSU9fQ0gwXSA9IHsgLnBvcnQg PSBQT1JUX0IgfSwKPiA+IEBAIC0xNDUsNiArMTUzLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBi eHRfZGRpX3BoeV9pbmZvIGJ4dF9kZGlfcGh5X2luZm9bXQo+ID4gPSB7Cj4gPiDCoAl9LAo+ID4g wqAJW0RQSU9fUEhZMV0gPSB7Cj4gPiDCoAkJLmR1YWxfY2hhbm5lbCA9IGZhbHNlLAo+ID4gKwkJ LnJjb21wX3BoeSA9IC0xLAo+ID4gwqAKPiA+IMKgCQkuY2hhbm5lbCA9IHsKPiA+IMKgCQkJW0RQ SU9fQ0gwXSA9IHsgLnBvcnQgPSBQT1JUX0EgfSwKPiA+IEBAIC0xNTIsNiArMTYxLDcgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCBieHRfZGRpX3BoeV9pbmZvIGJ4dF9kZGlfcGh5X2luZm9bXQo+ID4g PSB7Cj4gPiDCoAl9LAo+ID4gwqB9Owo+ID4gwqAKPiA+ICtzdGF0aWMgdTMyIGJ4dF9waHlfcG9y dF9tYXNrKGNvbnN0IHN0cnVjdCBieHRfZGRpX3BoeV9pbmZvICpwaHlfaW5mbykKPiA+IMKgewo+ ID4gwqAJcmV0dXJuIChwaHlfaW5mby0+ZHVhbF9jaGFubmVsICogQklUKHBoeV9pbmZvLQo+ID4g PmNoYW5uZWxbRFBJT19DSDFdLnBvcnQpKSB8Cj4gPiDCoAkJQklUKHBoeV9pbmZvLT5jaGFubmVs W0RQSU9fQ0gwXS5wb3J0KTsKPiA+IEBAIC0xOTksNiArMjA5LDcgQEAgdm9pZCBieHRfZGRpX3Bo eV9zZXRfc2lnbmFsX2xldmVsKHN0cnVjdAo+ID4gZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs Cj4gPiDCoGJvb2wgYnh0X2RkaV9waHlfaXNfZW5hYmxlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCj4gPiDCoAkJCcKgwqDCoMKgZW51bSBkcGlvX3BoeSBwaHkpCj4gPiDCoHsK PiA+ICsJY29uc3Qgc3RydWN0IGJ4dF9kZGlfcGh5X2luZm8gKnBoeV9pbmZvID0gJmJ4dF9kZGlf cGh5X2luZm9bcGh5XTsKPiA+IMKgCWVudW0gcG9ydCBwb3J0Owo+ID4gwqAKPiA+IMKgCWlmICgh KEk5MTVfUkVBRChCWFRfUF9DUl9HVF9ESVNQX1BXUk9OKSAmCj4gPiBHVF9ESVNQTEFZX1BPV0VS X09OKHBoeSkpKQo+ID4gQEAgLTIxMiw5ICsyMjMsMTAgQEAgYm9vbCBieHRfZGRpX3BoeV9pc19l bmFibGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlCj4gPiAqZGV2X3ByaXYsCj4gPiDCoAkJcmV0 dXJuIGZhbHNlOwo+ID4gwqAJfQo+ID4gwqAKPiA+IC0JaWYgKHBoeSA9PSBEUElPX1BIWTEgJiYK PiA+IC0JwqDCoMKgwqAhKEk5MTVfUkVBRChCWFRfUE9SVF9SRUZfRFczKERQSU9fUEhZMSkpICYg R1JDX0RPTkUpKSB7Cj4gPiAtCQlEUk1fREVCVUdfRFJJVkVSKCJEREkgUEhZIDEgcG93ZXJlZCwg YnV0IEdSQyBpc24ndAo+ID4gZG9uZVxuIik7Cj4gPiArCWlmIChwaHlfaW5mby0+cmNvbXBfcGh5 ID09IC0xICYmCj4gPiArCcKgwqDCoMKgIShJOTE1X1JFQUQoQlhUX1BPUlRfUkVGX0RXMyhwaHkp KSAmIEdSQ19ET05FKSkgewo+ID4gKwkJRFJNX0RFQlVHX0RSSVZFUigiRERJIFBIWSAlZCBwb3dl cmVkLCBidXQgR1JDIGlzbid0Cj4gPiBkb25lXG4iLAo+ID4gKwkJCQnCoHBoeSk7Cj4gPiDCoAo+ ID4gwqAJCXJldHVybiBmYWxzZTsKPiA+IMKgCX0KPiA+IEBAIC0yNTksMTQgKzI3MSwxNSBAQCBz dGF0aWMgdm9pZCBieHRfcGh5X3dhaXRfZ3JjX2RvbmUoc3RydWN0Cj4gPiBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwKPiA+IMKgCQlEUk1fRVJST1IoInRpbWVvdXQgd2FpdGluZyBmb3IgUEhZ JWQgR1JDXG4iLCBwaHkpOwo+ID4gwqB9Cj4gPiDCoAo+ID4gLXZvaWQgYnh0X2RkaV9waHlfaW5p dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0gZHBpb19waHkgcGh5KQo+ ID4gK3N0YXRpYyB2b2lkIF9ieHRfZGRpX3BoeV9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwKPiA+ICsJCQnCoMKgwqDCoMKgwqBlbnVtIGRwaW9fcGh5IHBoeSkKPiA+IMKg ewo+ID4gwqAJY29uc3Qgc3RydWN0IGJ4dF9kZGlfcGh5X2luZm8gKnBoeV9pbmZvID0gJmJ4dF9k ZGlfcGh5X2luZm9bcGh5XTsKPiA+IMKgCXUzMiB2YWw7Cj4gPiDCoAo+ID4gwqAJaWYgKGJ4dF9k ZGlfcGh5X2lzX2VuYWJsZWQoZGV2X3ByaXYsIHBoeSkpIHsKPiA+IMKgCQkvKiBTdGlsbCByZWFk IG91dCB0aGUgR1JDIHZhbHVlIGZvciBzdGF0ZSB2ZXJpZmljYXRpb24gKi8KPiA+IC0JCWlmIChw aHkgPT0gRFBJT19QSFkwKQo+ID4gKwkJaWYgKHBoeV9pbmZvLT5yY29tcF9waHkgIT0gLTEpCj4g PiDCoAkJCWRldl9wcml2LT5ieHRfcGh5X2dyYyA9IGJ4dF9nZXRfZ3JjKGRldl9wcml2LCBwaHkp Owo+ID4gwqAKPiA+IMKgCQlpZiAoYnh0X2RkaV9waHlfdmVyaWZ5X3N0YXRlKGRldl9wcml2LCBw aHkpKSB7Cj4gPiBAQCAtMzM2LDMwICszNDksMzIgQEAgdm9pZCBieHRfZGRpX3BoeV9pbml0KHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlCj4gPiAqZGV2X3ByaXYsIGVudW0gZHBpb19waHkgcGh5KQo+ ID4gwqAJCXZhbCB8PSBPQ0wyX0xET0ZVU0VfUFdSX0RJUzsKPiA+IMKgCUk5MTVfV1JJVEUoQlhU X1BPUlRfQ0wxQ01fRFczMChwaHkpLCB2YWwpOwo+ID4gwqAKPiA+IC0JaWYgKHBoeSA9PSBEUElP X1BIWTApIHsKPiA+ICsJaWYgKHBoeV9pbmZvLT5yY29tcF9waHkgIT0gLTEpIHsKPiA+IMKgCQl1 aW50MzJfdCBncmNfY29kZTsKPiA+IMKgCQkvKgo+ID4gwqAJCcKgKiBQSFkwIGlzbid0IGNvbm5l Y3RlZCB0byBhbiBSQ09NUCByZXNpc3RvciBzbyBjb3B5IG92ZXIKPiA+IMKgCQnCoCogdGhlIGNv cnJlc3BvbmRpbmcgY2FsaWJyYXRlZCB2YWx1ZSBmcm9tIFBIWTEsIGFuZAo+ID4gZGlzYWJsZQo+ ID4gwqAJCcKgKiB0aGUgYXV0b21hdGljIGNhbGlicmF0aW9uIG9uIFBIWTAuCj4gPiDCoAkJwqAq Lwo+ID4gLQkJdmFsID0gZGV2X3ByaXYtPmJ4dF9waHlfZ3JjID0gYnh0X2dldF9ncmMoZGV2X3By aXYsCj4gPiBEUElPX1BIWTEpOwo+ID4gKwkJdmFsID0gZGV2X3ByaXYtPmJ4dF9waHlfZ3JjID0g Ynh0X2dldF9ncmMoZGV2X3ByaXYsCj4gPiArCQkJCQkJCcKgwqBwaHlfaW5mby0KPiA+ID5yY29t cF9waHkpOwo+ID4gwqAJCWdyY19jb2RlID0gdmFsIDw8IEdSQ19DT0RFX0ZBU1RfU0hJRlQgfAo+ ID4gwqAJCQnCoMKgwqB2YWwgPDwgR1JDX0NPREVfU0xPV19TSElGVCB8Cj4gPiDCoAkJCcKgwqDC oHZhbDsKPiA+IC0JCUk5MTVfV1JJVEUoQlhUX1BPUlRfUkVGX0RXNihEUElPX1BIWTApLCBncmNf Y29kZSk7Cj4gPiArCQlJOTE1X1dSSVRFKEJYVF9QT1JUX1JFRl9EVzYocGh5KSwgZ3JjX2NvZGUp Owo+ID4gwqAKPiA+IC0JCXZhbCA9IEk5MTVfUkVBRChCWFRfUE9SVF9SRUZfRFc4KERQSU9fUEhZ MCkpOwo+ID4gKwkJdmFsID0gSTkxNV9SRUFEKEJYVF9QT1JUX1JFRl9EVzgocGh5KSk7Cj4gPiDC oAkJdmFsIHw9IEdSQ19ESVMgfCBHUkNfUkRZX09WUkQ7Cj4gPiAtCQlJOTE1X1dSSVRFKEJYVF9Q T1JUX1JFRl9EVzgoRFBJT19QSFkwKSwgdmFsKTsKPiA+ICsJCUk5MTVfV1JJVEUoQlhUX1BPUlRf UkVGX0RXOChwaHkpLCB2YWwpOwo+ID4gwqAJfQo+ID4gwqAKPiA+IMKgCXZhbCA9IEk5MTVfUkVB RChCWFRfUEhZX0NUTF9GQU1JTFkocGh5KSk7Cj4gPiDCoAl2YWwgfD0gQ09NTU9OX1JFU0VUX0RJ UzsKPiA+IMKgCUk5MTVfV1JJVEUoQlhUX1BIWV9DVExfRkFNSUxZKHBoeSksIHZhbCk7Cj4gPiDC oAo+ID4gLQlpZiAocGh5ID09IERQSU9fUEhZMSkKPiA+IC0JCWJ4dF9waHlfd2FpdF9ncmNfZG9u ZShkZXZfcHJpdiwgRFBJT19QSFkxKTsKPiA+ICsJaWYgKHBoeV9pbmZvLT5yY29tcF9waHkgPT0g LTEpCj4gPiArCQlieHRfcGh5X3dhaXRfZ3JjX2RvbmUoZGV2X3ByaXYsIHBoeSk7Cj4gPiArCj4g PiDCoH0KPiA+IMKgCj4gPiDCoHZvaWQgYnh0X2RkaV9waHlfdW5pbml0KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBkcGlvX3BoeQo+ID4gcGh5KQo+ID4gQEAgLTM3NSw2 ICszOTAsMzMgQEAgdm9pZCBieHRfZGRpX3BoeV91bmluaXQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUKPiA+ICpkZXZfcHJpdiwgZW51bSBkcGlvX3BoeSBwaHkpCj4gPiDCoAlJOTE1X1dSSVRFKEJY VF9QX0NSX0dUX0RJU1BfUFdST04sIHZhbCk7Cj4gPiDCoH0KPiA+IMKgCj4gPiArLyogVGhpcyBm dW5jdGlvbiBhc3N1bWVzIGl0IGlzIGNhbGxlZCBmcm9tIGFuIGludGVsX2Rpc3BsYXlfcG93ZXJf Z2V0KCkKPiA+IGNhbGwsCj4gPiArICogd2hpY2ggd291bGQgc2VyaWFsaXplIGFueSBvdGhlciBh dHRlbXB0cyB0byBlbmFibGUgdGhlIHBoeSB3aXRoIHRoZQo+ID4gUmNvbXAKPiA+ICsgKiByZXNp c3Rvci4KPiA+ICsgKi8KPiBZb3UgY291bGQgcmVwbGFjZSB0aGUgYWJvdmUgd2l0aCBhIG11dGV4 IGxvY2tlZCBhc3NlcnQuCgpJJ2xsIGRvIHRoYXQgYW5kIHJlc2VuZC4KCj4gPiAKPiA+ICt2b2lk IGJ4dF9kZGlfcGh5X2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBlbnVt IGRwaW9fcGh5IHBoeSkKPiA+ICt7Cj4gPiArCWNvbnN0IHN0cnVjdCBieHRfZGRpX3BoeV9pbmZv ICpwaHlfaW5mbyA9ICZieHRfZGRpX3BoeV9pbmZvW3BoeV07Cj4gPiArCWVudW0gZHBpb19waHkg cmNvbXBfcGh5ID0gcGh5X2luZm8tPnJjb21wX3BoeTsKPiA+ICsJYm9vbCB3YXNfZW5hYmxlZDsK PiA+ICsKPiA+ICsJaWYgKHJjb21wX3BoeSAhPSAtMSkgewo+ID4gKwkJd2FzX2VuYWJsZWQgPSBi eHRfZGRpX3BoeV9pc19lbmFibGVkKGRldl9wcml2LCByY29tcF9waHkpOwo+ID4gKwo+ID4gKwkJ LyoKPiA+ICsJCcKgKiBXZSBuZWVkIHRvIGNvcHkgdGhlIEdSQyBjYWxpYnJhdGlvbiB2YWx1ZSBm cm9tCj4gPiByY29tcF9waHksCj4gPiArCQnCoCogc28gbWFrZSBzdXJlIGl0J3MgcG93ZXJlZCB1 cC4KPiA+ICsJCcKgKi8KPiA+ICsJCWlmICghd2FzX2VuYWJsZWQpCj4gPiArCQkJX2J4dF9kZGlf cGh5X2luaXQoZGV2X3ByaXYsIHJjb21wX3BoeSk7Cj4gPiArCX0KPiA+ICsKPiA+ICsJX2J4dF9k ZGlfcGh5X2luaXQoZGV2X3ByaXYsIHBoeSk7Cj4gPiArCj4gPiArCWlmIChyY29tcF9waHkgIT0g LTEgJiYgIXdhc19lbmFibGVkKQo+ID4gKwkJYnh0X2RkaV9waHlfdW5pbml0KGRldl9wcml2LCBw aHlfaW5mby0+cmNvbXBfcGh5KTsKPiA+ICt9Cj4gTml0cGljazogQW4gYWx0ZXJuYXRpdmUgd291 bGQgYmUgdG8gYWRkIHRoZSBwb3dlciB3ZWxsIGRlcGVuZGVuY3kgYXMgYQo+IGN1c3RvbSBwb3dl ciB3ZWxsIGZpZWxkIGZvciB0aGUgY21uIHBvd2VyIHdlbGxzLiBXZSdkIGF2b2lkIHRoZQo+IHVu bmVjZXNzYXJ5IEhXIGFjY2VzcyBpbsKgYnh0X2RkaV9waHlfaXNfZW5hYmxlZCgpLgoKU2luY2Ug eW91IGdhdmUgbWUgdGhlIG9wdGlvbiwgSSdsbCBjaG9vc2UgdG8gaWdub3JlIHRoaXMgb25lLiBX aGF0IEkgbGlrZSBhYm91dAp0aGUgY3VycmVudCBzb2x1dGlvbiBpcyB0aGF0IHRoZSBkZXBlbmRl bmN5IHJlbGF0aW9uc2hpcCBiZXR3ZWVuIHRoZSBwaHlzIGlzCmNhcHR1cmVkIGluIGEgc2luZ2xl IHBsYWNlLCBzbyBJJ2QgbGlrZSB0byBhdm9pZCBkdXBsaWNhdGluZyB0aGF0IGluZm9ybWF0aW9u IGluCnRoZSBwb3dlciB3ZWxsIGNvZGUuCgpJIGRvbid0IHRoaW5rIHRoZSBleHRyYSBoYXJkd2Fy ZSBhY2Nlc3MgaXMgcGVyZm9ybWFuY2UgY3JpdGljYWwsIGJ1dCBpZiBpdCB3ZXJlLAptYXliZSB3 ZSBjb3VsZCB0cmFjayB3aGV0aGVyIHRoZSBwaHkgaXMgZW5hYmxlZCBpbiB0aGUgcGh5IGNvZGUg dG9vPwoKQW5kZXIKCj4gCj4gPiAKPiA+ICsKPiA+IMKgc3RhdGljIGJvb2wgX19wcmludGYoNiwg NykKPiA+IMKgX19waHlfcmVnX3ZlcmlmeV9zdGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsIGVudW0gZHBpb19waHkKPiA+IHBoeSwKPiA+IMKgCQnCoMKgwqDCoMKgwqDCoGk5 MTVfcmVnX3QgcmVnLCB1MzIgbWFzaywgdTMyIGV4cGVjdGVkLAo+ID4gQEAgLTQ0MSw3ICs0ODMs NyBAQCBib29sIGJ4dF9kZGlfcGh5X3ZlcmlmeV9zdGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZQo+ID4gKmRldl9wcml2LAo+ID4gwqAJwqAqIGF0IGxlYXN0IG9uIHN0ZXBwaW5nIEEgdGhpcyBi aXQgaXMgcmVhZC1vbmx5IGFuZCBmaXhlZCBhdCAwLgo+ID4gwqAJwqAqLwo+ID4gwqAKPiA+IC0J aWYgKHBoeSA9PSBEUElPX1BIWTApIHsKPiA+ICsJaWYgKHBoeV9pbmZvLT5yY29tcF9waHkgIT0g LTEpIHsKPiA+IMKgCQl1MzIgZ3JjX2NvZGUgPSBkZXZfcHJpdi0+Ynh0X3BoeV9ncmM7Cj4gPiDC oAo+ID4gwqAJCWdyY19jb2RlID0gZ3JjX2NvZGUgPDwgR1JDX0NPREVfRkFTVF9TSElGVCB8Cj4g PiBAQCAtNDQ5LDEyICs0OTEsMTIgQEAgYm9vbCBieHRfZGRpX3BoeV92ZXJpZnlfc3RhdGUoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUKPiA+ICpkZXZfcHJpdiwKPiA+IMKgCQkJwqDCoMKgZ3JjX2Nv ZGU7Cj4gPiDCoAkJbWFzayA9IEdSQ19DT0RFX0ZBU1RfTUFTSyB8IEdSQ19DT0RFX1NMT1dfTUFT SyB8Cj4gPiDCoAkJwqDCoMKgwqDCoMKgwqBHUkNfQ09ERV9OT01fTUFTSzsKPiA+IC0JCW9rICY9 IF9DSEsoQlhUX1BPUlRfUkVGX0RXNihEUElPX1BIWTApLCBtYXNrLCBncmNfY29kZSwKPiA+IC0J CQnCoMKgwqDCoCJCWFRfUE9SVF9SRUZfRFc2KCVkKSIsIERQSU9fUEhZMCk7Cj4gPiArCQlvayAm PSBfQ0hLKEJYVF9QT1JUX1JFRl9EVzYocGh5KSwgbWFzaywgZ3JjX2NvZGUsCj4gPiArCQkJwqDC oMKgwqAiQlhUX1BPUlRfUkVGX0RXNiglZCkiLCBwaHkpOwo+ID4gwqAKPiA+IMKgCQltYXNrID0g R1JDX0RJUyB8IEdSQ19SRFlfT1ZSRDsKPiA+IC0JCW9rICY9IF9DSEsoQlhUX1BPUlRfUkVGX0RX OChEUElPX1BIWTApLCBtYXNrLCBtYXNrLAo+ID4gLQkJCcKgwqDCoMKgIkJYVF9QT1JUX1JFRl9E VzgoJWQpIiwgRFBJT19QSFkwKTsKPiA+ICsJCW9rICY9IF9DSEsoQlhUX1BPUlRfUkVGX0RXOChw aHkpLCBtYXNrLCBtYXNrLAo+ID4gKwkJCcKgwqDCoMKgIkJYVF9QT1JUX1JFRl9EVzgoJWQpIiwg cGh5KTsKPiA+IMKgCX0KPiA+IMKgCj4gPiDCoAlyZXR1cm4gb2s7Cj4gPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gPiBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwo+ID4gaW5kZXggZDQxZmQ0Ni4uM2IzODk5OCAx MDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwo+ ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gPiBAQCAt ODQ5LDIyICs4NDksNyBAQCBzdGF0aWMgdm9pZCBza2xfcG93ZXJfd2VsbF9kaXNhYmxlKHN0cnVj dAo+ID4gZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiDCoHN0YXRpYyB2b2lkIGJ4dF9k cGlvX2Ntbl9wb3dlcl93ZWxsX2VuYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZQo+ID4gKmRl dl9wcml2LAo+ID4gwqAJCQkJCcKgwqDCoHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGwKPiA+ICpwb3dl cl93ZWxsKQo+ID4gwqB7Cj4gPiAtCWVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgcG93ZXJfd2Vs bF9pZCA9IHBvd2VyX3dlbGwtPmlkOwo+ID4gLQlzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsICpjbW5f YV93ZWxsID0gTlVMTDsKPiA+IC0KPiA+IC0JaWYgKHBvd2VyX3dlbGxfaWQgPT0gQlhUX0RQSU9f Q01OX0JDKSB7Cj4gPiAtCQkvKgo+ID4gLQkJwqAqIFdlIG5lZWQgdG8gY29weSB0aGUgR1JDIGNh bGlicmF0aW9uIHZhbHVlIGZyb20gdGhlIGVEUAo+ID4gUEhZLAo+ID4gLQkJwqAqIHNvIG1ha2Ug c3VyZSBpdCdzIHBvd2VyZWQgdXAuCj4gPiAtCQnCoCovCj4gPiAtCQljbW5fYV93ZWxsID0gbG9v a3VwX3Bvd2VyX3dlbGwoZGV2X3ByaXYsIEJYVF9EUElPX0NNTl9BKTsKPiA+IC0JCWludGVsX3Bv d2VyX3dlbGxfZ2V0KGRldl9wcml2LCBjbW5fYV93ZWxsKTsKPiA+IC0JfQo+ID4gLQo+ID4gwqAJ Ynh0X2RkaV9waHlfaW5pdChkZXZfcHJpdiwgcG93ZXJfd2VsbC0+ZGF0YSk7Cj4gPiAtCj4gPiAt CWlmIChjbW5fYV93ZWxsKQo+ID4gLQkJaW50ZWxfcG93ZXJfd2VsbF9wdXQoZGV2X3ByaXYsIGNt bl9hX3dlbGwpOwo+ID4gwqB9Cj4gPiDCoAo+ID4gwqBzdGF0aWMgdm9pZCBieHRfZHBpb19jbW5f cG93ZXJfd2VsbF9kaXNhYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlCj4gPiAqZGV2X3ByaXYs Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=