From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915/lspcon: Fix Parade LSPCON scrambling fail Date: Fri, 12 Oct 2018 22:17:57 +0300 Message-ID: <20181012191757.GV9144@intel.com> References: <20181012183818.12230-1-ville.syrjala@linux.intel.com> <8d3779f6-c62e-c8a8-92eb-c6bdbb2e98ba@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 395596E488 for ; Fri, 12 Oct 2018 19:18:01 +0000 (UTC) Content-Disposition: inline In-Reply-To: <8d3779f6-c62e-c8a8-92eb-c6bdbb2e98ba@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Sharma, Shashank" Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gU2F0LCBPY3QgMTMsIDIwMTggYXQgMTI6MjY6NTdBTSArMDUzMCwgU2hhcm1hLCBTaGFzaGFu ayB3cm90ZToKPiBSZWdhcmRzCj4gCj4gU2hhc2hhbmsKPiAKPiAKPiBPbiAxMC8xMy8yMDE4IDEy OjA4IEFNLCBWaWxsZSBTeXJqYWxhIHdyb3RlOgo+ID4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2 aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+Cj4gPiBUaGUgUGFyYWRlIExTUENPTiBv biBLQkwgTlVDcyBmb3JnZXRzIHRvIHR1cm4gb2ZmIHNjcmFtYmxpbmcvYml0IGNsb2NrCj4gPiBy YXRlIHdoZW4gc3dpdGNoaW5nIGZyb20gYSBtb2RlIHRoYXQgbmVlZHMgdGhlbSB0byBhIG1vZGUg dGhhdCBkb2VzCj4gPiBub3QuIFRoaXMgbWFuaWZlc3RzIGFzIGEgIm5vIHNpZ25hbCIgb24gbXkg VFYgd2hlbiBJIHRyeSB0byBnbyBmcm9tCj4gPiA0ayB0byAxMDgwcCBmb3IgZXhhbXBsZS4gUmVz ZXR0aW5nIHRoZSBTQ0RDIHJlZ2lzdGVyIGJpdHMgd2l0aAo+ID4gaTJjc2V0IGlzIHN1ZmZpY2ll bnQgdG8gcmVzdG9yZSB0aGUgcGljdHVyZSB0byB0aGUgc2NyZWVuLgo+ID4KPiA+IEhlcmUncyB0 aGUgT1VJL2Z3IHJldmlzaW9uIGZvciB0aGUgTFNQQ09OIGNoaXAgaW4gcXVlc3Rpb246Cj4gPiBE UCBicmFuY2g6IE9VSSAwMC0xYy1mOCBkZXYtSUQgMTc1SUIwIEhXLXJldiAxLjAgU1ctcmV2IDcu MzIgcXVpcmtzIDB4MDAwMAo+ID4KPiA+IEFza2luZyB1c2VycyB0byBwb2tlIGF0IFNDREMgd2l0 aCBpMmNzZXQgaXMgYSBiaXQgbXVjaCwgc28KPiA+IGxldCdzIHdvcmsgYXJvdW5kIHRoaXMgaW4g dGhlIGRyaXZlci4gV2UgZG9uJ3QgbmVlZCB0byBnbyBhbGwKPiA+IG91dCBoZXJlIGFuZCBjb21w dXRlIHdoZXRoZXIgc2NyYW1ibGluZyBpcyBuZWVkZWQgb3Igbm90IGFzCj4gPiBMU1BDT04gd2ls bCBkbyB0aGF0IGl0c2VsZi4gSWYgc2NyYW1ibGluZyBpcyBhY3R1YWxseQo+ID4gcmVxdWlyZWQg TFNQQ09OIGRvZXMgbm90IGZvcmdldCB0byBlbmFibGUgaXQuCj4gPgo+ID4gQ2M6IFNoYXNoYW5r IFNoYXJtYSA8c2hhc2hhbmsuc2hhcm1hQGludGVsLmNvbT4KPiA+IFNpZ25lZC1vZmYtYnk6IFZp bGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPiAtLS0KPiA+ ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgIHwgNTIgKysrKysrKysrKysrKysr KysrKysrKysrKysrKy0tLQo+ID4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAg fCAgMSArCj4gPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyB8ICA1ICsrLQo+ ID4gICAzIGZpbGVzIGNoYW5nZWQsIDUxIGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCj4g Pgo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiA+IGluZGV4IDQ3OTYwYzkyY2JiZi4uZWY1 MDJmYzlhZGQxIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRp LmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gPiBAQCAtMjk4 NCw2ICsyOTg0LDIzIEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9wcmVfZW5hYmxlKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4gICAJCWludGVsX2RkaV9wcmVfZW5hYmxlX2RwKGVu Y29kZXIsIGNydGNfc3RhdGUsIGNvbm5fc3RhdGUpOwo+ID4gICB9Cj4gPiAgIAo+ID4gK3N0YXRp YyB2b2lkIGludGVsX2RkaV9wcmVfZW5hYmxlX2xzcGNvbihzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlciwKPiA+ICsJCQkJCWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlLAo+ID4gKwkJCQkJY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5fc3Rh dGUpCj4gPiArewo+ID4gKwlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gZW5jX3RvX2ludGVs X2RwKCZlbmNvZGVyLT5iYXNlKTsKPiA+ICsKPiA+ICsJaW50ZWxfZGRpX3ByZV9lbmFibGUoZW5j b2RlciwgY3J0Y19zdGF0ZSwgY29ubl9zdGF0ZSk7Cj4gPiArCj4gPiArCS8qCj4gPiArCSAqIFBh cmFkZSBMU1BDT04gZm9yZ2V0cyB0byB0dXJuIG9mZiBzY3JhbWJsaW5nL2JpdCBjbG9jayByYXRl Cj4gPiArCSAqIHdoZW4gc3dpdGNoaW5nIGZyb20gYSBtb2RlIHRoYXQgbmVlZHMgdGhlbSB0byBh IG1vZGUgdGhhdAo+ID4gKwkgKiBkb2VzIG5vdC4KPiA+ICsJICovCj4gPiArCWludGVsX2hkbWlf aGFuZGxlX3Npbmtfc2NyYW1ibGluZyhlbmNvZGVyLCBjb25uX3N0YXRlLT5jb25uZWN0b3IsCj4g PiArCQkJCQkgICZpbnRlbF9kcC0+YXV4LmRkYywgZmFsc2UsIGZhbHNlKTsKPiA+ICt9Cj4gPiAr Cj4gPiAgIHN0YXRpYyB2b2lkIGludGVsX2Rpc2FibGVfZGRpX2J1ZihzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlcikKPiA+ICAgewo+ID4gICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Cj4gPiBAQCAtMzA4Niw2ICszMTAz LDIzIEBAIHN0YXRpYyB2b2lkIGludGVsX2RkaV9wb3N0X2Rpc2FibGUoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsCj4gPiAgIAkJCQkJICBvbGRfY3J0Y19zdGF0ZSwgb2xkX2Nvbm5fc3Rh dGUpOwo+ID4gICB9Cj4gPiAgIAo+ID4gK3N0YXRpYyB2b2lkIGludGVsX2RkaV9wb3N0X2Rpc2Fi bGVfbHNwY29uKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4gKwkJCQkJICBjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCj4gPiArCQkJCQkgIGNv bnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpvbGRfY29ubl9zdGF0ZSkKPiA+ICt7Cj4g PiArCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoJmVuY29kZXIt PmJhc2UpOwo+ID4gKwo+ID4gKwkvKgo+ID4gKwkgKiBQYXJhZGUgTFNQQ09OIGZvcmdldHMgdG8g dHVybiBvZmYgc2NyYW1ibGluZy9iaXQgY2xvY2sgcmF0ZQo+ID4gKwkgKiB3aGVuIHN3aXRjaGlu ZyBmcm9tIGEgbW9kZSB0aGF0IG5lZWRzIHRoZW0gdG8gYSBtb2RlIHRoYXQKPiA+ICsJICogZG9l cyBub3QuCj4gPiArCSAqLwo+ID4gKwlpbnRlbF9oZG1pX2hhbmRsZV9zaW5rX3NjcmFtYmxpbmco ZW5jb2Rlciwgb2xkX2Nvbm5fc3RhdGUtPmNvbm5lY3RvciwKPiA+ICsJCQkJCSAgJmludGVsX2Rw LT5hdXguZGRjLCBmYWxzZSwgZmFsc2UpOwo+ID4gKwo+ID4gKwlpbnRlbF9kZGlfcG9zdF9kaXNh YmxlKGVuY29kZXIsIG9sZF9jcnRjX3N0YXRlLCBvbGRfY29ubl9zdGF0ZSk7Cj4gPiArfQo+IEZl dyB0aG91Z2h0czoKPiAtIFdvdWxkIGl0IG1ha2UgbW9yZSBzZW5zZSB0byBtb3ZlIHRoZXNlIDIg ZnVuY3Rpb25zIHRvIGludGVsX2xzcGNvbi5jID8KCldvdWxkIHJlcXVpcmUgbW9yZSBub24tc3Rh dGljcy4gQnV0IEkgZ3Vlc3MgaXQgbWlnaHQgYmUgbmljZSB0byBhdHRlbXB0Cmlzb2xhdGluZyBp dCBhcyBtdWNoIGFzIHBvc3NpYmxlLgoKPiAtICBBbmQgdGhlbiBhZGQgYSBsc3Bjb24tPnZlbmRv ciA9PSBWRU5ET1JfUEFSQURFIGNoZWNrLCBzbyB0aGF0IHdlIHdpbGwgCj4gcnVuIHRoZSBjb2Rl IG9ubHkgd2hlbiBuZWVkZWQuCgpNYXliZS4gVGhlIC0+dmVuZG9yIHRoaW5nIGlzbid0IGluIHll dCwgYW5kIHdlJ2QgaGF2ZSB0byBiYWNrcG9ydCBpdAphcyB3ZWxsLiBJcyBpdCBiaWc/CgpBbHNv IGF0IHRoaXMgdGltZSBJIGhhdmUgbm8gaWRlYSB3aGV0aGVyIE1lZ2FjaGlwcyBMU1BDT04gaXMg c2ltaWxhcmx5CmJ1Z2dlZC4gV291bGQgbmVlZCB0byBmaW5kIG9uZSBhbmQgdGVzdCBpdC4KCj4g LSAgQWxzbywgd2Ugc2hvdWxkIGNoZWNrIGlmIHNjcmFtYmxpbmcgaXMgZW5hYmxlZCwgdGhlcmUg bWlnaHQgYmUgYSBjYXNlIAo+IHdoZXJlIHdlIGFyZSBkcml2aW5nIGEgSERNSSAyLjAgZGlzcGxh eSAoc2NyYW1ibGluZy0+c3VwcG9ydGVkID0gMSkgYnV0IAo+IGN1cnJlbnQgbW9kZSBpcyAxMDgw IFAuCgpBcyBleHBsYWluZWQgaW4gdGhlIGNvbW1pdCBtZXNzYWdlIHRoaXMgaXMgbm90IG5lZWRl ZC4gQW5kIGN1cnJlbnRseSB3ZQpoYXZlIG5vIGlkZWEgd2hldGhlciBMU1BDT04gd2lsbCBlbmFi bGUgc2NyYW1ibGluZyBvciBub3QuIEFkZGluZyBjb2RlCnRvIGRldGVybWluZSB0aGF0IHdvdWxk IG1lYW4gc2Vjb25kIGd1ZXNzaW5nIHdoYXQgTFNQQ09OIHdpbGwgZG8uIEkKZG9uJ3Qgc2VlIGFu eSBiZW5lZml0IGluIGRvaW5nIHRoYXQuCgo+IAo+IC0gU2hhc2hhbmsKPiA+ICsKPiA+ICAgdm9p ZCBpbnRlbF9kZGlfZmRpX3Bvc3RfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl ciwKPiA+ICAgCQkJCWNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0 ZSwKPiA+ICAgCQkJCWNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpvbGRfY29ubl9z dGF0ZSkKPiA+IEBAIC0zMTQ2LDkgKzMxODAsMTEgQEAgc3RhdGljIHZvaWQgaW50ZWxfZW5hYmxl X2RkaV9oZG1pKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAo+ID4gICAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7Cj4g PiAgIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpkaWdfcG9ydCA9IGVuY190b19kaWdfcG9y dCgmZW5jb2Rlci0+YmFzZSk7Cj4gPiAgIAlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y ID0gY29ubl9zdGF0ZS0+Y29ubmVjdG9yOwo+ID4gKwlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0 ZXIgPSBpbnRlbF9nbWJ1c19nZXRfYWRhcHRlcihkZXZfcHJpdiwKPiA+ICsJCQkJCQkJICAgICAg ZGlnX3BvcnQtPmhkbWkuZGRjX2J1cyk7Cj4gPiAgIAllbnVtIHBvcnQgcG9ydCA9IGVuY29kZXIt PnBvcnQ7Cj4gPiAgIAo+ID4gLQlpZiAoIWludGVsX2hkbWlfaGFuZGxlX3Npbmtfc2NyYW1ibGlu ZyhlbmNvZGVyLCBjb25uZWN0b3IsCj4gPiArCWlmICghaW50ZWxfaGRtaV9oYW5kbGVfc2lua19z Y3JhbWJsaW5nKGVuY29kZXIsIGNvbm5lY3RvciwgYWRhcHRlciwKPiA+ICAgCQkJCQkgICAgICAg Y3J0Y19zdGF0ZS0+aGRtaV9oaWdoX3RtZHNfY2xvY2tfcmF0aW8sCj4gPiAgIAkJCQkJICAgICAg IGNydGNfc3RhdGUtPmhkbWlfc2NyYW1ibGluZykpCj4gPiAgIAkJRFJNX0VSUk9SKCJbQ09OTkVD VE9SOiVkOiVzXSBGYWlsZWQgdG8gY29uZmlndXJlIHNpbmsgc2NyYW1ibGluZy9UTURTIGJpdCBj bG9jayByYXRpb1xuIiwKPiA+IEBAIC0zMjQzLDEzICszMjc5LDE3IEBAIHN0YXRpYyB2b2lkIGlu dGVsX2Rpc2FibGVfZGRpX2hkbWkoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiAg IAkJCQkgICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCj4g PiAgIAkJCQkgICBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqb2xkX2Nvbm5fc3Rh dGUpCj4gPiAgIHsKPiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShlbmNvZGVyLT5iYXNlLmRldik7Cj4gPiAgIAlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29u bmVjdG9yID0gb2xkX2Nvbm5fc3RhdGUtPmNvbm5lY3RvcjsKPiA+ICsJc3RydWN0IGludGVsX2Rp Z2l0YWxfcG9ydCAqZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXItPmJhc2UpOwo+ ID4gKwlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIgPSBpbnRlbF9nbWJ1c19nZXRfYWRhcHRl cihkZXZfcHJpdiwKPiA+ICsJCQkJCQkJICAgICAgZGlnX3BvcnQtPmhkbWkuZGRjX2J1cyk7Cj4g PiAgIAo+ID4gICAJaWYgKG9sZF9jcnRjX3N0YXRlLT5oYXNfYXVkaW8pCj4gPiAgIAkJaW50ZWxf YXVkaW9fY29kZWNfZGlzYWJsZShlbmNvZGVyLAo+ID4gICAJCQkJCSAgb2xkX2NydGNfc3RhdGUs IG9sZF9jb25uX3N0YXRlKTsKPiA+ICAgCj4gPiAtCWlmICghaW50ZWxfaGRtaV9oYW5kbGVfc2lu a19zY3JhbWJsaW5nKGVuY29kZXIsIGNvbm5lY3RvciwKPiA+ICsJaWYgKCFpbnRlbF9oZG1pX2hh bmRsZV9zaW5rX3NjcmFtYmxpbmcoZW5jb2RlciwgY29ubmVjdG9yLCBhZGFwdGVyLAo+ID4gICAJ CQkJCSAgICAgICBmYWxzZSwgZmFsc2UpKQo+ID4gICAJCURSTV9ERUJVR19LTVMoIltDT05ORUNU T1I6JWQ6JXNdIEZhaWxlZCB0byByZXNldCBzaW5rIHNjcmFtYmxpbmcvVE1EUyBiaXQgY2xvY2sg cmF0aW9cbiIsCj4gPiAgIAkJCSAgICAgIGNvbm5lY3Rvci0+YmFzZS5pZCwgY29ubmVjdG9yLT5u YW1lKTsKPiA+IEBAIC0zODYyLDE3ICszOTAyLDIxIEBAIHZvaWQgaW50ZWxfZGRpX2luaXQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBlbnVtIHBvcnQgcG9ydCkKPiA+ICAgCX0K PiA+ICAgCj4gPiAgIAlpZiAoaW5pdF9sc3Bjb24pIHsKPiA+IC0JCWlmIChsc3Bjb25faW5pdChp bnRlbF9kaWdfcG9ydCkpCj4gPiArCQlpZiAobHNwY29uX2luaXQoaW50ZWxfZGlnX3BvcnQpKSB7 Cj4gPiAgIAkJCS8qIFRPRE86IGhhbmRsZSBoZG1pIGluZm8gZnJhbWUgcGFydCAqLwo+ID4gICAJ CQlEUk1fREVCVUdfS01TKCJMU1BDT04gaW5pdCBzdWNjZXNzIG9uIHBvcnQgJWNcbiIsCj4gPiAg IAkJCQlwb3J0X25hbWUocG9ydCkpOwo+ID4gLQkJZWxzZQo+ID4gKwo+ID4gKwkJCWludGVsX2Vu Y29kZXItPnByZV9lbmFibGUgPSBpbnRlbF9kZGlfcHJlX2VuYWJsZV9sc3Bjb247Cj4gPiArCQkJ aW50ZWxfZW5jb2Rlci0+cG9zdF9kaXNhYmxlID0gaW50ZWxfZGRpX3Bvc3RfZGlzYWJsZV9sc3Bj b247Cj4gPiArCQl9IGVsc2Ugewo+ID4gICAJCQkvKgo+ID4gICAJCQkgKiBMU1BDT04gaW5pdCBm YWllZCwgYnV0IERQIGluaXQgd2FzIHN1Y2Nlc3MsIHNvCj4gPiAgIAkJCSAqIGxldHMgdHJ5IHRv IGRyaXZlIGFzIERQKysgcG9ydC4KPiA+ICAgCQkJICovCj4gPiAgIAkJCURSTV9FUlJPUigiTFNQ Q09OIGluaXQgZmFpbGVkIG9uIHBvcnQgJWNcbiIsCj4gPiAgIAkJCQlwb3J0X25hbWUocG9ydCkp Owo+ID4gKwkJfQo+ID4gICAJfQo+ID4gICAKPiA+ICAgCXJldHVybjsKPiA+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oCj4gPiBpbmRleCBlMzIxZmM2OThhZTEuLmQwYTA2ZmNjODBjMCAxMDA2NDQK PiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gQEAgLTE4NjYsNiArMTg2Niw3IEBAIGJv b2wgaW50ZWxfaGRtaV9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2Rl ciwKPiA+ICAgCQkJICAgICAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRl KTsKPiA+ICAgYm9vbCBpbnRlbF9oZG1pX2hhbmRsZV9zaW5rX3NjcmFtYmxpbmcoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiAgIAkJCQkgICAgICAgc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvciwKPiA+ICsJCQkJICAgICAgIHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRl ciwKPiA+ICAgCQkJCSAgICAgICBib29sIGhpZ2hfdG1kc19jbG9ja19yYXRpbywKPiA+ICAgCQkJ CSAgICAgICBib29sIHNjcmFtYmxpbmcpOwo+ID4gICB2b2lkIGludGVsX2RwX2R1YWxfbW9kZV9z ZXRfdG1kc19vdXRwdXQoc3RydWN0IGludGVsX2hkbWkgKmhkbWksIGJvb2wgZW5hYmxlKTsKPiA+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKPiA+IGluZGV4IDJjNTNlZmM0NjNlNi4uYmY2ZjU3 MWI2NzRiIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5j Cj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKPiA+IEBAIC0yMTE0 LDYgKzIxMTQsNyBAQCBpbnRlbF9oZG1pX2FkZF9wcm9wZXJ0aWVzKHN0cnVjdCBpbnRlbF9oZG1p ICppbnRlbF9oZG1pLCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqYwo+ID4gICAgKiBpbnRlbF9oZG1p X2hhbmRsZV9zaW5rX3NjcmFtYmxpbmc6IGhhbmRsZSBzaW5rIHNjcmFtYmxpbmcvY2xvY2sgcmF0 aW8gc2V0dXAKPiA+ICAgICogQGVuY29kZXI6IGludGVsX2VuY29kZXIKPiA+ICAgICogQGNvbm5l Y3RvcjogZHJtX2Nvbm5lY3Rvcgo+ID4gKyAqIEBhZGFwdGVyOiBpMmMgYWRhcHRlciBmb3IgdGhl IGRkYyBidXMKPiA+ICAgICogQGhpZ2hfdG1kc19jbG9ja19yYXRpbyA9IGJvb2wgdG8gaW5kaWNh dGUgaWYgdGhlIGZ1bmN0aW9uIG5lZWRzIHRvIHNldAo+ID4gICAgKiAgb3IgcmVzZXQgdGhlIGhp Z2ggdG1kcyBjbG9jayByYXRpbyBmb3Igc2NyYW1ibGluZwo+ID4gICAgKiBAc2NyYW1ibGluZzog Ym9vbCB0byBJbmRpY2F0ZSBpZiB0aGUgZnVuY3Rpb24gbmVlZHMgdG8gc2V0IG9yIHJlc2V0Cj4g PiBAQCAtMjEzMCwxNSArMjEzMSwxMyBAQCBpbnRlbF9oZG1pX2FkZF9wcm9wZXJ0aWVzKHN0cnVj dCBpbnRlbF9oZG1pICppbnRlbF9oZG1pLCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqYwo+ID4gICAg Ki8KPiA+ICAgYm9vbCBpbnRlbF9oZG1pX2hhbmRsZV9zaW5rX3NjcmFtYmxpbmcoc3RydWN0IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiAgIAkJCQkgICAgICAgc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvciwKPiA+ICsJCQkJICAgICAgIHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRl ciwKPiA+ICAgCQkJCSAgICAgICBib29sIGhpZ2hfdG1kc19jbG9ja19yYXRpbywKPiA+ICAgCQkJ CSAgICAgICBib29sIHNjcmFtYmxpbmcpCj4gPiAgIHsKPiA+ICAgCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwo+ID4gLQlzdHJ1 Y3QgaW50ZWxfaGRtaSAqaW50ZWxfaGRtaSA9IGVuY190b19pbnRlbF9oZG1pKCZlbmNvZGVyLT5i YXNlKTsKPiA+ICAgCXN0cnVjdCBkcm1fc2NyYW1ibGluZyAqc2lua19zY3JhbWJsaW5nID0KPiA+ ICAgCQkmY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaGRtaS5zY2RjLnNjcmFtYmxpbmc7Cj4gPiAt CXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciA9Cj4gPiAtCQlpbnRlbF9nbWJ1c19nZXRfYWRh cHRlcihkZXZfcHJpdiwgaW50ZWxfaGRtaS0+ZGRjX2J1cyk7Cj4gPiAgIAo+ID4gICAJaWYgKCFz aW5rX3NjcmFtYmxpbmctPnN1cHBvcnRlZCkKPiA+ICAgCQlyZXR1cm4gdHJ1ZTsKCi0tIApWaWxs ZSBTeXJqw6Rsw6QKSW50ZWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cg==