From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH 2/2] drm/i915/lspcon: Add workaround for resuming in PCON mode Date: Thu, 20 Oct 2016 22:43:30 +0300 Message-ID: <1476992610.15304.29.camel@intel.com> References: <1476983187-27216-1-git-send-email-imre.deak@intel.com> <1476983187-27216-2-git-send-email-imre.deak@intel.com> <87y41iq3vm.fsf@intel.com> <87r37aq0wp.fsf@intel.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 mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3EA236EC19 for ; Thu, 20 Oct 2016 19:43:38 +0000 (UTC) In-Reply-To: <87r37aq0wp.fsf@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAyMDE2LTEwLTIwIGF0IDIyOjI0ICswMzAwLCBKYW5pIE5pa3VsYSB3cm90ZToKPiBP biBUaHUsIDIwIE9jdCAyMDE2LCBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPiB3 cm90ZToKPiA+IE9uIFRodSwgMjAgT2N0IDIwMTYsIEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVs LmNvbT4gd3JvdGU6Cj4gPiA+IE9uIG15IEFQTCB0aGUgTFNQQ09OIGZpcm13YXJlIHJlc3VtZXMg aW4gUENPTiBtb2RlIGFzIG9wcG9zZWQgdG8gdGhlCj4gPiA+IGV4cGVjdGVkIExTIG1vZGUuIEl0 IGFsc28gYXBwZWFycyB0byBiZSBpbiBhIHN0YXRlIHdoZXJlIEFVWCBEUENEIHJlYWRzCj4gPiA+ IHdpbGwgc3VjY2VlZCBidXQgcmV0dXJuIGdhcmJhZ2UgcmVjb3ZlcmluZyBvbmx5IGFmdGVyIGEg ZmV3IGh1bmRyZWRzIG9mCj4gPiA+IG1pbGxpc2Vjb25kcy4gQWZ0ZXIgdGhlIHJlY292ZXJ5IHRp bWUgRFBDRCByZWFkcyB3aWxsIHJlc3VsdCBpbiB0aGUKPiA+ID4gY29ycmVjdCB2YWx1ZXMgYW5k IHRoaW5ncyB3aWxsIGNvbnRpbnVlIHRvIHdvcmsuIElmIEkyQyBvdmVyIEFVWCBpcwo+ID4gPiBh dHRlbXB0ZWQgZHVyaW5nIHRoaXMgcmVjb3ZlcnkgdGltZSAoaW1wbHlpbmcgYW4gQVVYIHdyaXRl IHRyYW5zYWN0aW9uKQo+ID4gPiB0aGUgZmlybXdhcmUgd29uJ3QgcmVjb3ZlciBhbmQgd2lsbCBz dGF5IGluIHRoaXMgYnJva2VuIHN0YXRlLgo+ID4gPiAKPiA+ID4gQXMgYSB3b3JrYXJvdW5kIGNo ZWNrIGlmIHRoZSBmaXJtd2FyZSBpcyBpbiBQQ09OIHN0YXRlIGFmdGVyIHJlc3VtZSBhbmQKPiA+ ID4gaWYgc28gd2FpdCB1bnRpbCB0aGUgY29ycmVjdCBEUENEIHZhbHVlcyBhcmUgcmV0dXJuZWQu IEZvciB0aGlzIHdlCj4gPiA+IGNvbXBhcmUgdGhlIGJyYW5jaCBkZXNjcmlwdG9yIHdpdGggdGhl IG9uZSB3ZSBjYWNoZWQgZHVyaW5nIGluaXQgdGltZS4KPiA+ID4gSWYgdGhlIGZpcm13YXJlIHdh cyBpbiB0aGUgTFMgc3RhdGUsIHdlIHNraXAgdGhlIHcvYSBhbmQgY29udGludWUgYXMKPiA+ID4g YmVmb3JlLgo+ID4gPiAKPiA+ID4gQ2M6IFNoYXNoYW5rIFNoYXJtYSA8c2hhc2hhbmsuc2hhcm1h QGludGVsLmNvbT4KPiA+ID4gQ2M6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51 eC5pbnRlbC5jb20+Cj4gPiA+IENjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29t Pgo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+Cj4g PiA+IC0tLQo+ID4gPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmPCoMKgwqDCoMKg fMKgwqAyICstCj4gPiA+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmjCoMKgwqDC oHzCoMKgNiArKysrLQo+ID4gPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xzcGNvbi5j IHwgNTIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQo+ID4gPiDCoDMgZmls ZXMgY2hhbmdlZCwgNDggaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0pCj4gPiA+IAo+ID4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiA+ID4gaW5kZXggZTkwMjExZS4uZWMwMzFkYiAxMDA2 NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ID4gPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gPiA+IEBAIC0zNDg3LDcgKzM0ODcs NyBAQCBpbnRlbF9kcF9saW5rX2Rvd24oc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiA+ID4g wqAJaW50ZWxfZHAtPkRQID0gRFA7Cj4gPiA+IMKgfQo+ID4gPiDCoAo+ID4gPiAtc3RhdGljIGJv b2wKPiA+ID4gK2Jvb2wKPiA+ID4gwqBpbnRlbF9kcF9yZWFkX2RwY2Qoc3RydWN0IGludGVsX2Rw ICppbnRlbF9kcCkKPiA+ID4gwqB7Cj4gPiA+IMKgCWlmIChkcm1fZHBfZHBjZF9yZWFkKCZpbnRl bF9kcC0+YXV4LCAweDAwMCwgaW50ZWxfZHAtPmRwY2QsCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi5oCj4gPiA+IGluZGV4IGEzNWUyNDEuLjlhMjM2NmUgMTAwNjQ0Cj4gPiA+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCj4gPiA+IEBAIC05NzIsNyArOTcyLDkgQEAgc3RydWN0IGludGVs X2RwIHsKPiA+ID4gwqBzdHJ1Y3QgaW50ZWxfbHNwY29uIHsKPiA+ID4gwqAJYm9vbCBhY3RpdmU7 Cj4gPiA+IMKgCWVudW0gZHJtX2xzcGNvbl9tb2RlIG1vZGU7Cj4gPiA+IC0Jc3RydWN0IGRybV9k cF9hdXggKmF1eDsKPiA+ID4gKwlzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwOwo+ID4gPiArCWJv b2wgZGVzY192YWxpZDsKPiA+ID4gKwlzdHJ1Y3QgaW50ZWxfZHBfZGVzYyBkZXNjOwo+ID4gCj4g PiBJIGd1ZXNzIHdlIGNvdWxkIGNhY2hlIHRoZSBkZXNjIGluIGludGVsX2RwIGRpcmVjdGx5LiBJ bmRlcGVuZGVudCBvZgo+ID4gdGhpcyBwYXRjaC4KPiA+IAo+ID4gQWxzbywgSSdtIHdvbmRlcmlu ZyBpZiB3ZSBjb3VsZCBzdGljayB3aXRoIGp1c3QgYXV4IGhlcmUsIGFuZCByZWFkCj4gPiBzb21l dGhpbmcgZWxzZSBmcm9tIGRwY2QgaW5zdGVhZC4KPiA+IAo+ID4gPiDCoH07Cj4gPiA+IMKgCj4g PiA+IMKgc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCB7Cj4gPiA+IEBAIC0xNDY5LDYgKzE0NzEs OCBAQCBzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGludCBpbnRlbF9kcF91bnVzZWRfbGFuZV9tYXNr KGludCBsYW5lX2NvdW50KQo+ID4gPiDCoH0KPiA+ID4gwqAKPiA+ID4gwqBib29sCj4gPiA+ICtp bnRlbF9kcF9yZWFkX2RwY2Qoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCk7Cj4gPiA+ICtib29s Cj4gPiA+IMKgaW50ZWxfZHBfcmVhZF9kZXNjKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIHN0 cnVjdCBpbnRlbF9kcF9kZXNjICpkZXNjKTsKPiA+ID4gwqB2b2lkCj4gPiA+IMKgaW50ZWxfZHBf cHJpbnRfZGVzYyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCBzdHJ1Y3QgaW50ZWxfZHBfZGVz YyAqZGVzYyk7Cj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9s c3Bjb24uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xzcGNvbi5jCj4gPiA+IGluZGV4 IGQyYzhjYjIuLjU0YzYxNzMgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2xzcGNvbi5jCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xz cGNvbi5jCj4gPiA+IEBAIC0zMCw3ICszMCw3IEBACj4gPiA+IMKgc3RhdGljIGVudW0gZHJtX2xz cGNvbl9tb2RlIGxzcGNvbl9nZXRfY3VycmVudF9tb2RlKHN0cnVjdCBpbnRlbF9sc3Bjb24gKmxz cGNvbikKPiA+ID4gwqB7Cj4gPiA+IMKgCWVudW0gZHJtX2xzcGNvbl9tb2RlIGN1cnJlbnRfbW9k ZSA9IERSTV9MU1BDT05fTU9ERV9JTlZBTElEOwo+ID4gPiAtCXN0cnVjdCBpMmNfYWRhcHRlciAq YWRhcHRlciA9ICZsc3Bjb24tPmF1eC0+ZGRjOwo+ID4gPiArCXN0cnVjdCBpMmNfYWRhcHRlciAq YWRhcHRlciA9ICZsc3Bjb24tPmludGVsX2RwLT5hdXguZGRjOwo+ID4gPiDCoAo+ID4gPiDCoAlp ZiAoZHJtX2xzcGNvbl9nZXRfbW9kZShhZGFwdGVyLCDCpHRfbW9kZSkpCj4gPiA+IMKgCQlEUk1f RVJST1IoIkVycm9yIHJlYWRpbmcgTFNQQ09OIG1vZGVcbiIpOwo+ID4gPiBAQCAtNDUsNyArNDUs NyBAQCBzdGF0aWMgaW50IGxzcGNvbl9jaGFuZ2VfbW9kZShzdHJ1Y3QgaW50ZWxfbHNwY29uICps c3Bjb24sCj4gPiA+IMKgewo+ID4gPiDCoAlpbnQgZXJyOwo+ID4gPiDCoAllbnVtIGRybV9sc3Bj b25fbW9kZSBjdXJyZW50X21vZGU7Cj4gPiA+IC0Jc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVy ID0gJmxzcGNvbi0+YXV4LT5kZGM7Cj4gPiA+ICsJc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVy ID0gJmxzcGNvbi0+aW50ZWxfZHAtPmF1eC5kZGM7Cj4gPiA+IMKgCj4gPiA+IMKgCWVyciA9IGRy bV9sc3Bjb25fZ2V0X21vZGUoYWRhcHRlciwgwqR0X21vZGUpOwo+ID4gPiDCoAlpZiAoZXJyKSB7 Cj4gPiA+IEBAIC03Miw3ICs3Miw3IEBAIHN0YXRpYyBpbnQgbHNwY29uX2NoYW5nZV9tb2RlKHN0 cnVjdCBpbnRlbF9sc3Bjb24gKmxzcGNvbiwKPiA+ID4gwqBzdGF0aWMgYm9vbCBsc3Bjb25fcHJv YmUoc3RydWN0IGludGVsX2xzcGNvbiAqbHNwY29uKQo+ID4gPiDCoHsKPiA+ID4gwqAJZW51bSBk cm1fZHBfZHVhbF9tb2RlX3R5cGUgYWRhcHRvcl90eXBlOwo+ID4gPiAtCXN0cnVjdCBpMmNfYWRh cHRlciAqYWRhcHRlciA9ICZsc3Bjb24tPmF1eC0+ZGRjOwo+ID4gPiArCXN0cnVjdCBpMmNfYWRh cHRlciAqYWRhcHRlciA9ICZsc3Bjb24tPmludGVsX2RwLT5hdXguZGRjOwo+ID4gPiDCoAo+ID4g PiDCoAkvKiBMZXRzIHByb2JlIHRoZSBhZGFwdG9yIGFuZCBjaGVjayBpdHMgdHlwZSAqLwo+ID4g PiDCoAlhZGFwdG9yX3R5cGUgPSBkcm1fZHBfZHVhbF9tb2RlX2RldGVjdChhZGFwdGVyKTsKPiA+ ID4gQEAgLTg5LDggKzg5LDQyIEBAIHN0YXRpYyBib29sIGxzcGNvbl9wcm9iZShzdHJ1Y3QgaW50 ZWxfbHNwY29uICpsc3Bjb24pCj4gPiA+IMKgCXJldHVybiB0cnVlOwo+ID4gPiDCoH0KPiA+ID4g wqAKPiA+ID4gK3N0YXRpYyB2b2lkIGxzcGNvbl9yZXN1bWVfaW5fcGNvbl93YShzdHJ1Y3QgaW50 ZWxfbHNwY29uICpsc3Bjb24pCj4gPiA+ICt7Cj4gPiA+ICsJdW5zaWduZWQgbG9uZyBzdGFydCA9 IGppZmZpZXM7Cj4gPiA+ICsKPiA+ID4gKwlpZiAoIWxzcGNvbi0+ZGVzY192YWxpZCkKPiA+ID4g KwkJcmV0dXJuOwo+ID4gPiArCj4gPiA+ICsJd2hpbGUgKDEpIHsKPiA+ID4gKwkJc3RydWN0IGlu dGVsX2RwX2Rlc2MgZGVzYzsKPiA+ID4gKwo+ID4gPiArCQkvKgo+ID4gPiArCQnCoCogVGhlIHcv YSBvbmx5IGFwcGxpZXMgaW4gUENPTiBtb2RlIGFuZCB3ZSBkb24ndCBleHBlY3QgYW55Cj4gPiA+ ICsJCcKgKiBBVVggZXJyb3JzLgo+ID4gPiArCQnCoCovCj4gPiA+ICsJCWlmICghaW50ZWxfZHBf cmVhZF9kZXNjKGxzcGNvbi0+aW50ZWxfZHAsICZkZXNjKSkKPiA+ID4gKwkJCXJldHVybjsKPiA+ ID4gKwo+ID4gPiArCQlpZiAoIW1lbWNtcCgmbHNwY29uLT5kZXNjLCAmZGVzYywgc2l6ZW9mKGRl c2MpKSkgewo+ID4gPiArCQkJRFJNX0RFQlVHX0tNUygiTFNQQ09OIHJlY292ZXJpbmcgaW4gUENP TiBtb2RlIGFmdGVyICV1IG1zXG4iLAo+ID4gPiArCQkJCcKgwqDCoMKgwqDCoGppZmZpZXNfdG9f bXNlY3MoamlmZmllcyAtIHN0YXJ0KSk7Cj4gPiA+ICsJCQlyZXR1cm47Cj4gPiA+ICsJCX0KPiA+ ID4gKwo+ID4gPiArCQlpZiAodGltZV9hZnRlcihqaWZmaWVzLCBzdGFydCArIG1zZWNzX3RvX2pp ZmZpZXMoMTAwMCkpKQo+ID4gPiArCQkJYnJlYWs7Cj4gPiA+ICsKPiA+ID4gKwkJbXNsZWVwKDEw KTsKPiA+ID4gKwl9Cj4gPiA+ICsKPiA+ID4gKwlEUk1fREVCVUdfS01TKCJMU1BDT04gRFAgZGVz Y3JpcHRvciBtaXNtYXRjaCBhZnRlciByZXN1bWVcbiIpOwo+ID4gPiArfQo+ID4gCj4gPiBJIHRo aW5rIHdlIG5lZWQgdG8gZ28gdGhyb3VnaCB0aGUgTFNQQ09OIHNwZWMgb25jZSBtb3JlIGJlZm9y ZSB3ZSBtZXJnZQo+ID4gdGhpcy4gTWF5YmUgd2UgZG9uJ3QgcmVzZXQgdGhlIExTUENPTiBwcm9w ZXJseS4gTWF5YmUgd2UgZG9uJ3QgaGFuZGxlCj4gPiB0aGUgcmVzdW1lIHByb3Blcmx5LiBNYXli ZSB0aGlzIGlzbid0IGEgIndvcmthcm91bmQiIGFmdGVyIGFsbC4KPiAKPiBMb29rcyBsaWtlIHRo aXMgc3R1ZmYgaXMgbm9ybWFsIGJlaGF2aW91ciBpZiB0aGUgTFNQQ09OIGhhcyBiZWVuIGluIGxv dwo+IHBvd2VyIHN0YXRlLCBhbmQgd2UgbmVlZCB0byB3YWtlIGl0IHVwLiBJbiBQQ09OIG1vZGUs IHRoaXMgaXMgZG9uZSB1c2luZwo+IERQX1NFVF9QT1dFUi4gQW5kIHdoaWxlIHdha2luZyB1cCwg aXQnbGwgaXNzdWUgQVVYIERFRkVSLCBhcyB3ZSBjYW4gc2VlCj4gZnJvbSB0aGUgbG9ncy4KCkkg ZGlkIHRoaW5rIGFib3V0IHRoYXQsIGJ1dCB3YWtpbmcgdGhlIGRldmljZSB2aWEgRFBfU0VUX1BP V0VSKEQwKQpkaWRuJ3QgaGVscC4gRG9pbmcgYW55IEFVWCB3cml0ZSB0cmFuc2FjdGlvbnMgYWN0 dWFsbHkgZ2V0cyB0aGUgZGV2aWNlCmludG8gYSBzdHVjayBzdGF0ZSBmb3IgZ29vZCAodW50aWwg bmV4dCByZWJvb3Qgb24gQVBMKS4KCk1vcmUgb3Zlciwgd2UgZG9uJ3QgZ2V0IEFVWCBERUZFUnMg dGhlIEFVWCB0cmFuc2FjdGlvbnMgc3VjY2VlZCwgaXQncwpvbmx5IHRoYXQgcmVhZHMgd2lsbCBy ZXR1cm4gY29ycnVwdGVkIHZhbHVlcyBmb3IgdGhlIGdpdmVuIHRpbWUgcGVyaW9kLgoKLS1JbXJl Cgo+IAo+IFdlIG5lZWQgdG8gZG8gc29tZXRoaW5nLCBidXQgSSBkb24ndCB0aGluayB0aGlzIHBh dGNoIGlzIHRoZSByaWdodCBmaXguCj4gCj4gQlIsCj4gSmFuaS4KPiAKPiAKPiAKPiA+IAo+ID4g QlIsCj4gPiBKYW5pLgo+ID4gCj4gPiA+ICsKPiA+ID4gwqB2b2lkIGxzcGNvbl9yZXN1bWUoc3Ry dWN0IGludGVsX2xzcGNvbiAqbHNwY29uKQo+ID4gPiDCoHsKPiA+ID4gKwlsc3Bjb25fcmVzdW1l X2luX3Bjb25fd2EobHNwY29uKTsKPiA+ID4gKwo+ID4gPiDCoAlpZiAobHNwY29uX2NoYW5nZV9t b2RlKGxzcGNvbiwgRFJNX0xTUENPTl9NT0RFX1BDT04sIHRydWUpKQo+ID4gPiDCoAkJRFJNX0VS Uk9SKCJMU1BDT04gcmVzdW1lIGZhaWxlZFxuIik7Cj4gPiA+IMKgCWVsc2UKPiA+ID4gQEAgLTEx MSw3ICsxNDUsNyBAQCBib29sIGxzcGNvbl9pbml0KHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQg KmludGVsX2RpZ19wb3J0KQo+ID4gPiDCoAo+ID4gPiDCoAlsc3Bjb24tPmFjdGl2ZSA9IGZhbHNl Owo+ID4gPiDCoAlsc3Bjb24tPm1vZGUgPSBEUk1fTFNQQ09OX01PREVfSU5WQUxJRDsKPiA+ID4g LQlsc3Bjb24tPmF1eCA9ICZkcC0+YXV4Owo+ID4gPiArCWxzcGNvbi0+aW50ZWxfZHAgPSBkcDsK PiA+ID4gwqAKPiA+ID4gwqAJaWYgKCFsc3Bjb25fcHJvYmUobHNwY29uKSkgewo+ID4gPiDCoAkJ RFJNX0VSUk9SKCJGYWlsZWQgdG8gcHJvYmUgbHNwY29uXG4iKTsKPiA+ID4gQEAgLTEzMSwxMiAr MTY1LDEwIEBAIGJvb2wgbHNwY29uX2luaXQoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50 ZWxfZGlnX3BvcnQpCj4gPiA+IMKgCQl9Cj4gPiA+IMKgCX0KPiA+ID4gwqAKPiA+ID4gLQlpZiAo ZHJtX2RlYnVnICYgRFJNX1VUX0tNUykgewo+ID4gPiAtCQlzdHJ1Y3QgaW50ZWxfZHBfZGVzYyBk ZXNjOwo+ID4gPiAtCj4gPiA+IC0JCWlmIChpbnRlbF9kcF9yZWFkX2Rlc2MoZHAsICZkZXNjKSkK PiA+ID4gLQkJCWludGVsX2RwX3ByaW50X2Rlc2MoZHAsICZkZXNjKTsKPiA+ID4gLQl9Cj4gPiA+ ICsJbHNwY29uLT5kZXNjX3ZhbGlkID0gaW50ZWxfZHBfcmVhZF9kcGNkKGRwKSAmJgo+ID4gPiAr CQkJwqDCoMKgwqDCoGludGVsX2RwX3JlYWRfZGVzYyhkcCwgJmxzcGNvbi0+ZGVzYyk7Cj4gPiA+ ICsJaWYgKChkcm1fZGVidWcgJiBEUk1fVVRfS01TKSAmJiBsc3Bjb24tPmRlc2NfdmFsaWQpCj4g PiA+ICsJCWludGVsX2RwX3ByaW50X2Rlc2MoZHAsICZsc3Bjb24tPmRlc2MpOwo+ID4gPiDCoAo+ ID4gPiDCoAlEUk1fREVCVUdfS01TKCJTdWNjZXNzOiBMU1BDT04gaW5pdFxuIik7Cj4gPiA+IMKg CXJldHVybiB0cnVlOwo+IApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK