From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan De Oliveira Subject: Re: [PATCH 16/22] drm/i915: Introduce struct intel_dp_signal_levels Date: Mon, 26 Oct 2015 09:22:13 +0200 Message-ID: <1445844133.2806.19.camel@gmail.com> References: <1445594525-7174-1-git-send-email-ander.conselvan.de.oliveira@intel.com> <1445594525-7174-17-git-send-email-ander.conselvan.de.oliveira@intel.com> <562C6782.1060904@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pa0-f48.google.com (mail-pa0-f48.google.com [209.85.220.48]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8A8AE6E1BD for ; Mon, 26 Oct 2015 00:22:19 -0700 (PDT) Received: by pasz6 with SMTP id z6so179951025pas.2 for ; Mon, 26 Oct 2015 00:22:19 -0700 (PDT) In-Reply-To: <562C6782.1060904@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Thulasimani, Sivakumar" , intel-gfx@lists.freedesktop.org, jim.bride@linux.intel.com List-Id: intel-gfx@lists.freedesktop.org T24gU3VuLCAyMDE1LTEwLTI1IGF0IDEwOjU0ICswNTMwLCBUaHVsYXNpbWFuaSwgU2l2YWt1bWFy IHdyb3RlOgo+IFRoaXMgaXMgYSBnb29kIHNpbXBsaWZpY2F0aW9uIGJ1dCBmb3IgYSB3cm9uZyBp bXBsZW1lbnRhdGlvbiA6KS4gd2Uga25vdyAKPiB0aGF0IG91ciBjdXJyZW50Cj4gaW1wbGVtZW50 YXRpb24gaXMgd3JvbmcgYW5kIG5lZWRzIHRvIGJlIGRvbmUgdGhlIG9wcG9zaXRlIHdheSB0byBt YWtlCj4gb3VyIGNvZGUgY29tcGxpYW50IHdpdGggc3BlYy4gIGkgYXNzdW1lIHRoYXQgaXQgd2ls bCB0aGVuIGJlIGEgcXVlc3Rpb24gCj4gb2Ygd2hlbgo+IHRoaXMgd2lsbCBiZSByZW1vdmVkIHJh dGhlciB0aGFuIGlmLiBJbiBzdWNoIGEgc2NlbmFyaW8gaXMgdGhpcyBhbmQgCj4gZm9sbG93aW5n Cj4gcGF0Y2hlcy9vcHRpbWl6YXRpb25zIG5lZWRlZCAiYXQgcHJlc2VudCIgPwoKSG93IG11Y2gg b2YgdGhpcyBuZWVkcyB0byBiZSByZW1vdmVkIGluIG9yZGVyIHRvIG1ha2UgdGhlIGltcGxlbWVu dGF0aW9uIHNwZWMKY29tcGxpYW50PyBJIHdhcyB1bmRlciB0aGUgaW1wcmVzc2lvbiBpdCB3b3Vs ZCBiZSBzdWZmaWNpZW50IHRvIGNoYW5nZSB0aGUKc2lnbmF0dXJlIG9mIGludGVsX2RwX3ZvbHRh Z2VfbWF4KCkgYW5kIGludGVsX2RwX3ByZV9lbXBoYXNpc19tYXgoKSBhbmQgY2hhbmdlCnRoZSB3 YXkgd2Ugc3RvcmUgdGhlIG1heGltdW1zIHNvIHdlIGNhbiBxdWVyeSB0aGUgbWF4IHZvbHRhZ2Ug Zm9yIGEgZ2l2ZW4gcHJlCi1lbXBoYXNpcyBsZXZlbC4gQnV0IHBlcmhhcHMgdGhpcyBpcyBtb3Jl IGNvbXBsaWNhdGVkIHRoYW4gSSdtIGFudGljaXBhdGluZy4gSXQKd291bGQgYmUgZ29vZCBpZiB5 b3UgY291bGQgc2hhcmUgeW91ciBwYXRjaCB0aGF0IGZpeGVzIHRoaXMgaXNzdWUgdG8gY2xhcmlm eQp3aGF0J3MgbmVjZXNzYXJ5LgoKVGhhbmtzLApBbmRlcgoKCj4gcmVnYXJkcywKPiBTaXZha3Vt YXIKPiBPbiAxMC8yMy8yMDE1IDM6MzEgUE0sIEFuZGVyIENvbnNlbHZhbiBkZSBPbGl2ZWlyYSB3 cm90ZToKPiA+IEluIG9yZGVyIHRvIGNsYXJpZnkgd2hpY2ggcGxhdGZvcm1zIHN1cHBvcnQgd2hp Y2ggY29tYmluYXRpb24gb2Ygdm9sdGFnZQo+ID4gc3dpbmcgYW5kIHByZSBlbXBoYXNpcyBsZXZl bCwgaW50cm9kdWNlIHN0cnVjdCBpbnRlbF9kcF9zaWduYWxfbGV2ZWxzLgo+ID4gV2l0aCB0aGUg bmV3IHN0cnVjdCwgdGhlIGlmIGxhZGRlciB0byBkZXRlcm1pbmUgdGhlIHZhbHVlcyB1c2VkIGlz IHB1dAo+ID4gaW4gb25lIHBsYWNlLCBpbnRlbF9kcF9pbml0X3NpZ25hbF9sZXZlbHMoKS4KPiA+ IAo+ID4gVGhpcyBhbHNvIHdpcmVzIGdlbnMgNCwgNSBhbmQgbm9uLWVEUCBwb3J0cyBvbiBnZW4g NiBhbmQgNyB0byB1c2UgdGhlCj4gPiBuZXcgc3RydWN0Lgo+ID4gCj4gPiB2MjogUmViYXNlCj4g PiBTaWduZWQtb2ZmLWJ5OiBBbmRlciBDb25zZWx2YW4gZGUgT2xpdmVpcmEgPAo+ID4gYW5kZXIu Y29uc2VsdmFuLmRlLm9saXZlaXJhQGludGVsLmNvbT4KPiA+IC0tLQo+ID4gICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcC5jICAgICAgICAgICAgICAgfCAgIDIgKwo+ID4gICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9zaWduYWxfbGV2ZWxzLmMgfCAxMDMgKysrKysrKysrKysr KysrKysrKysrKwo+ID4gLS0tLQo+ID4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aCAgICAgICAgICAgICAgfCAgMTEgKysrCj4gPiAgIDMgZmlsZXMgY2hhbmdlZCwgMTAxIGluc2Vy dGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cC5jCj4gPiBpbmRleCAxMjM2NzkxLi5lNjQwYjU5IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHAuYwo+ID4gQEAgLTUyMjAsNiArNTIyMCw4IEBAIGludGVsX2RwX2luaXRfY29ubmVjdG9y KHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQKPiA+ICppbnRlbF9kaWdfcG9ydCwKPiA+ICAgCWlm IChIQVNfRERJKGRldikpCj4gPiAgIAkJaW50ZWxfZHAtPnByZXBhcmVfbGlua19yZXRyYWluID0K PiA+IGludGVsX2RkaV9wcmVwYXJlX2xpbmtfcmV0cmFpbjsKPiA+ICAgCj4gPiArCWludGVsX2Rw X2luaXRfc2lnbmFsX2xldmVscyhpbnRlbF9kcCk7Cj4gPiArCj4gPiAgIAkvKiBQcmVzZXJ2ZSB0 aGUgY3VycmVudCBodyBzdGF0ZS4gKi8KPiA+ICAgCWludGVsX2RwLT5EUCA9IEk5MTVfUkVBRChp bnRlbF9kcC0+b3V0cHV0X3JlZyk7Cj4gPiAgIAlpbnRlbF9kcC0+YXR0YWNoZWRfY29ubmVjdG9y ID0gaW50ZWxfY29ubmVjdG9yOwo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RwX3NpZ25hbF9sZXZlbHMuYwo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcF9zaWduYWxfbGV2ZWxzLmMKPiA+IGluZGV4IGU1MTZkZDIuLjM2NWJkYzQgMTAwNjQ0Cj4g PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9zaWduYWxfbGV2ZWxzLmMKPiA+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX3NpZ25hbF9sZXZlbHMuYwo+ID4g QEAgLTI0LDggKzI0LDggQEAKPiA+ICAgI2luY2x1ZGUgImludGVsX2Rydi5oIgo+ID4gICAKPiA+ ICAgLyogVGhlc2UgYXJlIHNvdXJjZS1zcGVjaWZpYyB2YWx1ZXMuICovCj4gPiAtdWludDhfdAo+ ID4gLWludGVsX2RwX3ZvbHRhZ2VfbWF4KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gPiAr c3RhdGljIHVpbnQ4X3QKPiA+ICtfZHBfdm9sdGFnZV9tYXgoc3RydWN0IGludGVsX2RwICppbnRl bF9kcCkKPiA+ICAgewo+ID4gICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2RwX3Rv X2RldihpbnRlbF9kcCk7Cj4gPiAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSBkZXYtPmRldl9wcml2YXRlOwo+ID4gQEAgLTQ3LDggKzQ3LDggQEAgaW50ZWxfZHBfdm9sdGFn ZV9tYXgoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiA+ICAgCQlyZXR1cm4gRFBfVFJBSU5f Vk9MVEFHRV9TV0lOR19MRVZFTF8yOwo+ID4gICB9Cj4gPiAgIAo+ID4gLXVpbnQ4X3QKPiA+IC1p bnRlbF9kcF9wcmVfZW1waGFzaXNfbWF4KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIHVpbnQ4 X3Qgdm9sdGFnZV9zd2luZykKPiA+ICtzdGF0aWMgdWludDhfdAo+ID4gK19kcF9wcmVfZW1waGFz aXNfbWF4KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIHVpbnQ4X3Qgdm9sdGFnZV9zd2luZykK PiA+ICAgewo+ID4gICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2RwX3RvX2Rldihp bnRlbF9kcCk7Cj4gPiAgIAllbnVtIHBvcnQgcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2Rw KS0+cG9ydDsKPiA+IEBAIC0zODksMTAgKzM4OSwxMCBAQCBzdGF0aWMgdWludDMyX3QgY2h2X3Np Z25hbF9sZXZlbHMoc3RydWN0IGludGVsX2RwCj4gPiAqaW50ZWxfZHApCj4gPiAgIAlyZXR1cm4g MDsKPiA+ICAgfQo+ID4gICAKPiA+IC1zdGF0aWMgdWludDMyX3QKPiA+IC1nZW40X3NpZ25hbF9s ZXZlbHModWludDhfdCB0cmFpbl9zZXQpCj4gPiArc3RhdGljIHZvaWQKPiA+ICtnZW40X3NldF9z aWduYWxfbGV2ZWxzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIHVpbnQ4X3QgdHJhaW5fc2V0 KQo+ID4gICB7Cj4gPiAtCXVpbnQzMl90CXNpZ25hbF9sZXZlbHMgPSAwOwo+ID4gKwl1aW50MzJf dCBzaWduYWxfbGV2ZWxzID0gMDsKPiA+ICAgCj4gPiAgIAlzd2l0Y2ggKHRyYWluX3NldCAmIERQ X1RSQUlOX1ZPTFRBR0VfU1dJTkdfTUFTSykgewo+ID4gICAJY2FzZSBEUF9UUkFJTl9WT0xUQUdF X1NXSU5HX0xFVkVMXzA6Cj4gPiBAQCAtNDI0LDkgKzQyNCwzOCBAQCBnZW40X3NpZ25hbF9sZXZl bHModWludDhfdCB0cmFpbl9zZXQpCj4gPiAgIAkJc2lnbmFsX2xldmVscyB8PSBEUF9QUkVfRU1Q SEFTSVNfOV81Owo+ID4gICAJCWJyZWFrOwo+ID4gICAJfQo+ID4gLQlyZXR1cm4gc2lnbmFsX2xl dmVsczsKPiA+ICsKPiA+ICsJRFJNX0RFQlVHX0tNUygiVXNpbmcgc2lnbmFsIGxldmVscyAlMDh4 XG4iLCBzaWduYWxfbGV2ZWxzKTsKPiA+ICsKPiA+ICsJaW50ZWxfZHAtPkRQICY9IH4oRFBfVk9M VEFHRV9NQVNLIHwgRFBfUFJFX0VNUEhBU0lTX01BU0spOwo+ID4gKwlpbnRlbF9kcC0+RFAgfD0g c2lnbmFsX2xldmVsczsKPiA+ICAgfQo+ID4gICAKPiA+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHNp Z25hbF9sZXZlbHMgZ2VuNF9zaWduYWxfbGV2ZWxzID0gewo+ID4gKwkubWF4X3ZvbHRhZ2UgPSBE UF9UUkFJTl9WT0xUQUdFX1NXSU5HX0xFVkVMXzIsCj4gPiArCS5tYXhfcHJlX2VtcGggPSB7Cj4g PiArCQlEUF9UUkFJTl9QUkVfRU1QSF9MRVZFTF8yLAo+ID4gKwkJRFBfVFJBSU5fUFJFX0VNUEhf TEVWRUxfMiwKPiA+ICsJCURQX1RSQUlOX1BSRV9FTVBIX0xFVkVMXzEsCj4gPiArCQlEUF9UUkFJ Tl9QUkVfRU1QSF9MRVZFTF8wLAo+ID4gKwl9LAo+ID4gKwo+ID4gKwkuc2V0ID0gZ2VuNF9zZXRf c2lnbmFsX2xldmVscywKPiA+ICt9Owo+ID4gKwo+ID4gKy8qIE5vdCBmb3IgZURQICovCj4gPiAr c3RhdGljIGNvbnN0IHN0cnVjdCBzaWduYWxfbGV2ZWxzIHNuYl9zaWduYWxfbGV2ZWxzID0gewo+ ID4gKwkubWF4X3ZvbHRhZ2UgPSBEUF9UUkFJTl9WT0xUQUdFX1NXSU5HX0xFVkVMXzMsCj4gPiAr CS5tYXhfcHJlX2VtcGggPSB7Cj4gPiArCQlEUF9UUkFJTl9QUkVfRU1QSF9MRVZFTF8yLAo+ID4g KwkJRFBfVFJBSU5fUFJFX0VNUEhfTEVWRUxfMiwKPiA+ICsJCURQX1RSQUlOX1BSRV9FTVBIX0xF VkVMXzEsCj4gPiArCQlEUF9UUkFJTl9QUkVfRU1QSF9MRVZFTF8wLAo+ID4gKwl9LAo+ID4gKwo+ ID4gKwkuc2V0ID0gZ2VuNF9zZXRfc2lnbmFsX2xldmVscywKPiA+ICt9Owo+ID4gKwo+ID4gICAv KiBHZW42J3MgRFAgdm9sdGFnZSBzd2luZyBhbmQgcHJlLWVtcGhhc2lzIGNvbnRyb2wgKi8KPiA+ ICAgc3RhdGljIHVpbnQzMl90Cj4gPiAgIGdlbjZfZWRwX3NpZ25hbF9sZXZlbHModWludDhfdCB0 cmFpbl9zZXQpCj4gPiBAQCAtNDg2LDEzICs1MTUsMTIgQEAgZ2VuN19lZHBfc2lnbmFsX2xldmVs cyh1aW50OF90IHRyYWluX3NldCkKPiA+ICAgCX0KPiA+ICAgfQo+ID4gICAKPiA+IC12b2lkCj4g PiAtaW50ZWxfZHBfc2V0X3NpZ25hbF9sZXZlbHMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkK PiA+ICtzdGF0aWMgdm9pZAo+ID4gK191cGRhdGVfc2lnbmFsX2xldmVscyhzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwKQo+ID4gICB7Cj4gPiAgIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpp bnRlbF9kaWdfcG9ydCA9Cj4gPiBkcF90b19kaWdfcG9ydChpbnRlbF9kcCk7Cj4gPiAgIAllbnVt IHBvcnQgcG9ydCA9IGludGVsX2RpZ19wb3J0LT5wb3J0Owo+ID4gICAJc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IGludGVsX2RpZ19wb3J0LT5iYXNlLmJhc2UuZGV2Owo+ID4gLQlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4gPiAgIAl1aW50MzJfdCBz aWduYWxfbGV2ZWxzLCBtYXNrID0gMDsKPiA+ICAgCXVpbnQ4X3QgdHJhaW5fc2V0ID0gaW50ZWxf ZHAtPnRyYWluX3NldFswXTsKPiA+ICAgCj4gPiBAQCAtNTE0LDIxICs1NDIsNjYgQEAgaW50ZWxf ZHBfc2V0X3NpZ25hbF9sZXZlbHMoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiA+ICAgCQlz aWduYWxfbGV2ZWxzID0gZ2VuNl9lZHBfc2lnbmFsX2xldmVscyh0cmFpbl9zZXQpOwo+ID4gICAJ CW1hc2sgPSBFRFBfTElOS19UUkFJTl9WT0xfRU1QX01BU0tfU05COwo+ID4gICAJfSBlbHNlIHsK PiA+IC0JCXNpZ25hbF9sZXZlbHMgPSBnZW40X3NpZ25hbF9sZXZlbHModHJhaW5fc2V0KTsKPiA+ IC0JCW1hc2sgPSBEUF9WT0xUQUdFX01BU0sgfCBEUF9QUkVfRU1QSEFTSVNfTUFTSzsKPiA+ICsJ CVdBUk4oMSwgIlNob3VsZCBiZSBjYWxsaW5nIGludGVsX2RwLT5zaWduYWxfbGV2ZWxzLT5zZXQK PiA+IGluc3RlYWQuIik7Cj4gPiArCQlyZXR1cm47Cj4gPiAgIAl9Cj4gPiAgIAo+ID4gICAJaWYg KG1hc2spCj4gPiAgIAkJRFJNX0RFQlVHX0tNUygiVXNpbmcgc2lnbmFsIGxldmVscyAlMDh4XG4i LAo+ID4gc2lnbmFsX2xldmVscyk7Cj4gPiAgIAo+ID4gKwlpbnRlbF9kcC0+RFAgPSAoaW50ZWxf ZHAtPkRQICYgfm1hc2spIHwgc2lnbmFsX2xldmVsczsKPiA+ICt9Cj4gPiArCj4gPiArdWludDhf dAo+ID4gK2ludGVsX2RwX3ZvbHRhZ2VfbWF4KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4g PiArewo+ID4gKwlpZiAoaW50ZWxfZHAtPnNpZ25hbF9sZXZlbHMpCj4gPiArCQlyZXR1cm4gaW50 ZWxfZHAtPnNpZ25hbF9sZXZlbHMtPm1heF92b2x0YWdlOwo+ID4gKwllbHNlCj4gPiArCQlyZXR1 cm4gX2RwX3ZvbHRhZ2VfbWF4KGludGVsX2RwKTsKPiA+ICt9Cj4gPiArCj4gPiArdWludDhfdAo+ ID4gK2ludGVsX2RwX3ByZV9lbXBoYXNpc19tYXgoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwg dWludDhfdCB2b2x0YWdlX3N3aW5nKQo+ID4gK3sKPiA+ICsJaWYgKGludGVsX2RwLT5zaWduYWxf bGV2ZWxzKQo+ID4gKwkJcmV0dXJuIGludGVsX2RwLT5zaWduYWxfbGV2ZWxzCj4gPiAtPm1heF9w cmVfZW1waFt2b2x0YWdlX3N3aW5nXTsKPiA+ICsJZWxzZQo+ID4gKwkJcmV0dXJuIF9kcF9wcmVf ZW1waGFzaXNfbWF4KGludGVsX2RwLCB2b2x0YWdlX3N3aW5nKTsKPiA+ICt9Cj4gPiArCj4gPiAr dm9pZAo+ID4gK2ludGVsX2RwX3NldF9zaWduYWxfbGV2ZWxzKHN0cnVjdCBpbnRlbF9kcCAqaW50 ZWxfZHApCj4gPiArewo+ID4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfZHBfdG9f ZGV2KGludGVsX2RwKTsKPiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g dG9faTkxNShkZXYpOwo+ID4gKwl1aW50OF90IHRyYWluX3NldCA9IGludGVsX2RwLT50cmFpbl9z ZXRbMF07Cj4gPiArCj4gPiArCWlmIChpbnRlbF9kcC0+c2lnbmFsX2xldmVscykKPiA+ICsJCWlu dGVsX2RwLT5zaWduYWxfbGV2ZWxzLT5zZXQoaW50ZWxfZHAsIHRyYWluX3NldCk7Cj4gPiArCWVs c2UKPiA+ICsJCV91cGRhdGVfc2lnbmFsX2xldmVscyhpbnRlbF9kcCk7Cj4gPiArCj4gPiAgIAlE Uk1fREVCVUdfS01TKCJVc2luZyB2c3dpbmcgbGV2ZWwgJWRcbiIsCj4gPiAgIAkJdHJhaW5fc2V0 ICYgRFBfVFJBSU5fVk9MVEFHRV9TV0lOR19NQVNLKTsKPiA+ICAgCURSTV9ERUJVR19LTVMoIlVz aW5nIHByZS1lbXBoYXNpcyBsZXZlbCAlZFxuIiwKPiA+ICAgCQkodHJhaW5fc2V0ICYgRFBfVFJB SU5fUFJFX0VNUEhBU0lTX01BU0spID4+Cj4gPiAgIAkJCURQX1RSQUlOX1BSRV9FTVBIQVNJU19T SElGVCk7Cj4gPiAgIAo+ID4gLQlpbnRlbF9kcC0+RFAgPSAoaW50ZWxfZHAtPkRQICYgfm1hc2sp IHwgc2lnbmFsX2xldmVsczsKPiA+IC0KPiA+ICAgCUk5MTVfV1JJVEUoaW50ZWxfZHAtPm91dHB1 dF9yZWcsIGludGVsX2RwLT5EUCk7Cj4gPiAgIAlQT1NUSU5HX1JFQUQoaW50ZWxfZHAtPm91dHB1 dF9yZWcpOwo+ID4gICB9Cj4gPiArCj4gPiArdm9pZAo+ID4gK2ludGVsX2RwX2luaXRfc2lnbmFs X2xldmVscyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ID4gK3sKPiA+ICsJc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IGludGVsX2RwX3RvX2RldihpbnRlbF9kcCk7Cj4gPiArCXN0cnVjdCBp bnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0KPiA+IGRwX3RvX2RpZ19wb3J0KGlu dGVsX2RwKTsKPiA+ICsJZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9kaWdfcG9ydC0+cG9ydDsKPiA+ ICsKPiA+ICsJaWYgKHBvcnQgIT0gUE9SVF9BICYmIChJU19JVllCUklER0UoZGV2KSB8fCBJU19H RU42KGRldikpKQo+ID4gKwkJaW50ZWxfZHAtPnNpZ25hbF9sZXZlbHMgPSAmc25iX3NpZ25hbF9s ZXZlbHM7Cj4gPiArCj4gPiArCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA8PSA1KQo+ID4gKwkJ aW50ZWxfZHAtPnNpZ25hbF9sZXZlbHMgPSAmZ2VuNF9zaWduYWxfbGV2ZWxzOwo+ID4gK30KPiA+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gaW5kZXggZDc1OGU5NC4uZTAwY2U2YyAx MDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gQEAgLTcyNiw2ICs3MjYsMTQg QEAgc3RydWN0IHNpbmtfY3JjIHsKPiA+ICAgCWludCBsYXN0X2NvdW50Owo+ID4gICB9Owo+ID4g ICAKPiA+ICtzdHJ1Y3QgaW50ZWxfZHA7Cj4gPiArc3RydWN0IHNpZ25hbF9sZXZlbHMgewo+ID4g Kwl1aW50OF90IG1heF92b2x0YWdlOwo+ID4gKwl1aW50OF90IG1heF9wcmVfZW1waFs0XTsKPiA+ ICsKPiA+ICsJdm9pZCAoKnNldCkoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwgdWludDhfdCB0 cmFpbl9zZXQpOwo+ID4gK307Cj4gPiArCj4gPiAgIHN0cnVjdCBpbnRlbF9kcCB7Cj4gPiAgIAl1 aW50MzJfdCBvdXRwdXRfcmVnOwo+ID4gICAJdWludDMyX3QgYXV4X2NoX2N0bF9yZWc7Cj4gPiBA QCAtNzQ0LDYgKzc1Miw3IEBAIHN0cnVjdCBpbnRlbF9kcCB7Cj4gPiAgIAlpbnQgc2lua19yYXRl c1tEUF9NQVhfU1VQUE9SVEVEX1JBVEVTXTsKPiA+ICAgCXN0cnVjdCBzaW5rX2NyYyBzaW5rX2Ny YzsKPiA+ICAgCXN0cnVjdCBkcm1fZHBfYXV4IGF1eDsKPiA+ICsJY29uc3Qgc3RydWN0IHNpZ25h bF9sZXZlbHMgKnNpZ25hbF9sZXZlbHM7Cj4gPiAgIAl1aW50OF90IHRyYWluX3NldFs0XTsKPiA+ ICAgCWludCBwYW5lbF9wb3dlcl91cF9kZWxheTsKPiA+ICAgCWludCBwYW5lbF9wb3dlcl9kb3du X2RlbGF5Owo+ID4gQEAgLTEyNjMsNiArMTI3Miw4IEBAIGJvb2wgaW50ZWxfZHBfc291cmNlX3N1 cHBvcnRzX2hicjIoc3RydWN0IGludGVsX2RwCj4gPiAqaW50ZWxfZHApOwo+ID4gICBib29sCj4g PiAgIGludGVsX2RwX2dldF9saW5rX3N0YXR1cyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCB1 aW50OF90Cj4gPiBsaW5rX3N0YXR1c1tEUF9MSU5LX1NUQVRVU19TSVpFXSk7Cj4gPiAgIAo+ID4g K3ZvaWQgaW50ZWxfZHBfaW5pdF9zaWduYWxfbGV2ZWxzKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHApOwo+ID4gKwo+ID4gICAvKiBpbnRlbF9kcF9tc3QuYyAqLwo+ID4gICBpbnQgaW50ZWxfZHBf bXN0X2VuY29kZXJfaW5pdChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9y dCwKPiA+IGludCBjb25uX2lkKTsKPiA+ICAgdm9pZCBpbnRlbF9kcF9tc3RfZW5jb2Rlcl9jbGVh bnVwKHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQKPiA+ICppbnRlbF9kaWdfcG9ydCk7Cj4gCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==