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: Fri, 21 Oct 2016 10:40:24 +0300 Message-ID: <1477035624.28449.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> <1476991226.15304.21.camel@intel.com> <9464a672-92ba-7014-8c50-e2dba44c07b4@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 mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id CC1616EC7C for ; Fri, 21 Oct 2016 07:40:31 +0000 (UTC) In-Reply-To: <9464a672-92ba-7014-8c50-e2dba44c07b4@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" , Jani Nikula , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCAyMDE2LTEwLTIxIGF0IDExOjE2ICswNTMwLCBTaGFybWEsIFNoYXNoYW5rIHdyb3Rl Ogo+IFJlZ2FyZHMKPiAKPiBTaGFzaGFuawo+IAo+IAo+IE9uIDEwLzIxLzIwMTYgMTI6NTAgQU0s IEltcmUgRGVhayB3cm90ZToKPiA+IE9uIFRodSwgMjAxNi0xMC0yMCBhdCAyMToyMCArMDMwMCwg SmFuaSBOaWt1bGEgd3JvdGU6Cj4gPiA+IE9uIFRodSwgMjAgT2N0IDIwMTYsIEltcmUgRGVhayA8 aW1yZS5kZWFrQGludGVsLmNvbT4gd3JvdGU6Cj4gPiA+ID4gT24gbXkgQVBMIHRoZSBMU1BDT04g ZmlybXdhcmUgcmVzdW1lcyBpbiBQQ09OIG1vZGUgYXMgb3Bwb3NlZCB0byB0aGUKPiA+ID4gPiBl eHBlY3RlZCBMUyBtb2RlLiBJdCBhbHNvIGFwcGVhcnMgdG8gYmUgaW4gYSBzdGF0ZSB3aGVyZSBB VVggRFBDRCByZWFkcwo+ID4gPiA+IHdpbGwgc3VjY2VlZCBidXQgcmV0dXJuIGdhcmJhZ2UgcmVj b3ZlcmluZyBvbmx5IGFmdGVyIGEgZmV3IGh1bmRyZWRzIG9mCj4gPiA+ID4gbWlsbGlzZWNvbmRz LiBBZnRlciB0aGUgcmVjb3ZlcnkgdGltZSBEUENEIHJlYWRzIHdpbGwgcmVzdWx0IGluIHRoZQo+ ID4gPiA+IGNvcnJlY3QgdmFsdWVzIGFuZCB0aGluZ3Mgd2lsbCBjb250aW51ZSB0byB3b3JrLiBJ ZiBJMkMgb3ZlciBBVVggaXMKPiA+ID4gPiBhdHRlbXB0ZWQgZHVyaW5nIHRoaXMgcmVjb3Zlcnkg dGltZSAoaW1wbHlpbmcgYW4gQVVYIHdyaXRlIHRyYW5zYWN0aW9uKQo+ID4gPiA+IHRoZSBmaXJt d2FyZSB3b24ndCByZWNvdmVyIGFuZCB3aWxsIHN0YXkgaW4gdGhpcyBicm9rZW4gc3RhdGUuCj4g PiA+ID4gCj4gPiA+ID4gQXMgYSB3b3JrYXJvdW5kIGNoZWNrIGlmIHRoZSBmaXJtd2FyZSBpcyBp biBQQ09OIHN0YXRlIGFmdGVyIHJlc3VtZSBhbmQKPiA+ID4gPiBpZiBzbyB3YWl0IHVudGlsIHRo ZSBjb3JyZWN0IERQQ0QgdmFsdWVzIGFyZSByZXR1cm5lZC4gRm9yIHRoaXMgd2UKPiA+ID4gPiBj b21wYXJlIHRoZSBicmFuY2ggZGVzY3JpcHRvciB3aXRoIHRoZSBvbmUgd2UgY2FjaGVkIGR1cmlu ZyBpbml0IHRpbWUuCj4gPiA+ID4gSWYgdGhlIGZpcm13YXJlIHdhcyBpbiB0aGUgTFMgc3RhdGUs IHdlIHNraXAgdGhlIHcvYSBhbmQgY29udGludWUgYXMKPiA+ID4gPiBiZWZvcmUuCj4gPiA+ID4g Cj4gPiA+ID4gQ2M6IFNoYXNoYW5rIFNoYXJtYSA8c2hhc2hhbmsuc2hhcm1hQGludGVsLmNvbT4K PiA+ID4gPiBDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNv bT4KPiA+ID4gPiBDYzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVsLmNvbT4KPiA+ID4g PiBTaWduZWQtb2ZmLWJ5OiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+Cj4gPiA+ID4g LS0tCj4gPiA+ID4gwqAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuY8KgwqDCoMKgwqB8 wqDCoDIgKy0KPiA+ID4gPiDCoCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaMKgwqDC oMKgfMKgwqA2ICsrKystCj4gPiA+ID4gwqAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHNw Y29uLmMgfCA1MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tCj4gPiA+ID4g wqAgMyBmaWxlcyBjaGFuZ2VkLCA0OCBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKPiA+ ID4gPiAKPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiA+ID4gPiBpbmRleCBlOTAyMTFl Li5lYzAzMWRiIDEwMDY0NAo+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwLmMKPiA+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gPiA+ ID4gQEAgLTM0ODcsNyArMzQ4Nyw3IEBAIGludGVsX2RwX2xpbmtfZG93bihzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwKQo+ID4gPiA+IMKgwqAJaW50ZWxfZHAtPkRQID0gRFA7Cj4gPiA+ID4gwqAg fQo+ID4gPiA+IMKgwqAKPiA+ID4gPiAtc3RhdGljIGJvb2wKPiA+ID4gPiArYm9vbAo+ID4gPiA+ IMKgIGludGVsX2RwX3JlYWRfZHBjZChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ID4gPiA+ IMKgIHsKPiA+ID4gPiDCoMKgCWlmIChkcm1fZHBfZHBjZF9yZWFkKCZpbnRlbF9kcC0+YXV4LCAw eDAwMCwgaW50ZWxfZHAtPmRwY2QsCj4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ ID4gPiBpbmRleCBhMzVlMjQxLi45YTIzNjZlIDEwMDY0NAo+ID4gPiA+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmgKPiA+ID4gPiBAQCAtOTcyLDcgKzk3Miw5IEBAIHN0cnVjdCBpbnRlbF9k cCB7Cj4gPiA+ID4gwqAgc3RydWN0IGludGVsX2xzcGNvbiB7Cj4gPiA+ID4gwqDCoAlib29sIGFj dGl2ZTsKPiA+ID4gPiDCoMKgCWVudW0gZHJtX2xzcGNvbl9tb2RlIG1vZGU7Cj4gPiA+ID4gLQlz dHJ1Y3QgZHJtX2RwX2F1eCAqYXV4Owo+ID4gPiA+ICsJc3RydWN0IGludGVsX2RwICppbnRlbF9k cDsKPiBJTUhPLCBJdHMgbm90IHJlcXVpcmVkIHRvIGhhdmUgdGhlIGludGVsX2RwIGluc2lkZSBs c3Bjb24uIHdlIGNhbiBhbHdheXPCoAo+IGdldCBpbnRlbF9kaWdfcG9ydCBmcm9tIGxzcGNvbiwg YW5kIGludGVsX2RwIGZyb20gaW50ZWxfZGlnX3BvcnQKClllYSBJIG1pc3NlZCB0aGF0LCBzbyB0 aGUgYWJvdmUgY2hhbmdlIGlzbid0IG5lZWRlZCwgSSdsbCBmaXggdGhpcy4KCj4gVGhlIHJlYXNv biB3aHkgSSBrZXB0IGF1eCBoZXJlIHdhcyB0aGF0cyB0aGUgb25seSB0aGluZyByZXF1aXJlZCB0 b8KgCj4gcmVhZC93cml0ZSBmcm9tL3RvIGxzcGNvbi4KPiA+ID4gPiArCWJvb2wgZGVzY192YWxp ZDsKPiA+ID4gPiArCXN0cnVjdCBpbnRlbF9kcF9kZXNjIGRlc2M7Cj4gPiA+IEkgZ3Vlc3Mgd2Ug Y291bGQgY2FjaGUgdGhlIGRlc2MgaW4gaW50ZWxfZHAgZGlyZWN0bHkuIEluZGVwZW5kZW50IG9m Cj4gPiA+IHRoaXMgcGF0Y2guCj4gPiBJdCdzIG5vdCB1c2VkIGFueXdoZXJlIGVsc2UsIGJ1dCBJ IGNhbiBtb3ZlIGl0IHRvIGludGVsX2RwLgo+ID4gCj4gPiA+IEFsc28sIEknbSB3b25kZXJpbmcg aWYgd2UgY291bGQgc3RpY2sgd2l0aCBqdXN0IGF1eCBoZXJlLCBhbmQgcmVhZAo+ID4gPiBzb21l dGhpbmcgZWxzZSBmcm9tIGRwY2QgaW5zdGVhZC4KPiA+IE5vdCBzdXJlIGVpdGhlciwgSSBwaWNr ZWQgZGVzYyBzaW5jZSB3ZSByZWFkIGl0IG91dCBhbnl3YXkgZHVyaW5nIGluaXQuCj4gPiAKPiA+ ID4gPiDCoCB9Owo+ID4gPiA+IMKgwqAKPiA+ID4gPiDCoCBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9w b3J0IHsKPiA+ID4gPiBAQCAtMTQ2OSw2ICsxNDcxLDggQEAgc3RhdGljIGlubGluZSB1bnNpZ25l ZCBpbnQgaW50ZWxfZHBfdW51c2VkX2xhbmVfbWFzayhpbnQgbGFuZV9jb3VudCkKPiA+ID4gPiDC oCB9Cj4gPiA+ID4gwqDCoAo+ID4gPiA+IMKgIGJvb2wKPiA+ID4gPiAraW50ZWxfZHBfcmVhZF9k cGNkKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApOwo+ID4gPiA+ICtib29sCj4gPiA+ID4gwqAg aW50ZWxfZHBfcmVhZF9kZXNjKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIHN0cnVjdCBpbnRl bF9kcF9kZXNjICpkZXNjKTsKPiA+ID4gPiDCoCB2b2lkCj4gPiA+ID4gwqAgaW50ZWxfZHBfcHJp bnRfZGVzYyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCBzdHJ1Y3QgaW50ZWxfZHBfZGVzYyAq ZGVzYyk7Cj4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xz cGNvbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHNwY29uLmMKPiA+ID4gPiBpbmRl eCBkMmM4Y2IyLi41NGM2MTczIDEwMDY0NAo+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2xzcGNvbi5jCj4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfbHNwY29uLmMKPiA+ID4gPiBAQCAtMzAsNyArMzAsNyBAQAo+ID4gPiA+IMKgIHN0YXRpYyBl bnVtIGRybV9sc3Bjb25fbW9kZSBsc3Bjb25fZ2V0X2N1cnJlbnRfbW9kZShzdHJ1Y3QgaW50ZWxf bHNwY29uICpsc3Bjb24pCj4gPiA+ID4gwqAgewo+ID4gPiA+IMKgwqAJZW51bSBkcm1fbHNwY29u X21vZGUgY3VycmVudF9tb2RlID0gRFJNX0xTUENPTl9NT0RFX0lOVkFMSUQ7Cj4gPiA+ID4gLQlz dHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIgPSAmbHNwY29uLT5hdXgtPmRkYzsKPiA+ID4gPiAr CXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciA9ICZsc3Bjb24tPmludGVsX2RwLT5hdXguZGRj Owo+ID4gPiA+IMKgwqAKPiA+ID4gPiDCoMKgCWlmIChkcm1fbHNwY29uX2dldF9tb2RlKGFkYXB0 ZXIsIMKkdF9tb2RlKSkKPiA+ID4gPiDCoMKgCQlEUk1fRVJST1IoIkVycm9yIHJlYWRpbmcgTFNQ Q09OIG1vZGVcbiIpOwo+ID4gPiA+IEBAIC00NSw3ICs0NSw3IEBAIHN0YXRpYyBpbnQgbHNwY29u X2NoYW5nZV9tb2RlKHN0cnVjdCBpbnRlbF9sc3Bjb24gKmxzcGNvbiwKPiA+ID4gPiDCoCB7Cj4g PiA+ID4gwqDCoAlpbnQgZXJyOwo+ID4gPiA+IMKgwqAJZW51bSBkcm1fbHNwY29uX21vZGUgY3Vy cmVudF9tb2RlOwo+ID4gPiA+IC0Jc3RydWN0IGkyY19hZGFwdGVyICphZGFwdGVyID0gJmxzcGNv bi0+YXV4LT5kZGM7Cj4gPiA+ID4gKwlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIgPSAmbHNw Y29uLT5pbnRlbF9kcC0+YXV4LmRkYzsKPiA+ID4gPiDCoMKgCj4gPiA+ID4gwqDCoAllcnIgPSBk cm1fbHNwY29uX2dldF9tb2RlKGFkYXB0ZXIsIMKkdF9tb2RlKTsKPiA+ID4gPiDCoMKgCWlmIChl cnIpIHsKPiA+ID4gPiBAQCAtNzIsNyArNzIsNyBAQCBzdGF0aWMgaW50IGxzcGNvbl9jaGFuZ2Vf bW9kZShzdHJ1Y3QgaW50ZWxfbHNwY29uICpsc3Bjb24sCj4gPiA+ID4gwqAgc3RhdGljIGJvb2wg bHNwY29uX3Byb2JlKHN0cnVjdCBpbnRlbF9sc3Bjb24gKmxzcGNvbikKPiA+ID4gPiDCoCB7Cj4g PiA+ID4gwqDCoAllbnVtIGRybV9kcF9kdWFsX21vZGVfdHlwZSBhZGFwdG9yX3R5cGU7Cj4gPiA+ ID4gLQlzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIgPSAmbHNwY29uLT5hdXgtPmRkYzsKPiA+ ID4gPiArCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciA9ICZsc3Bjb24tPmludGVsX2RwLT5h dXguZGRjOwo+ID4gPiA+IMKgwqAKPiA+ID4gPiDCoMKgCS8qIExldHMgcHJvYmUgdGhlIGFkYXB0 b3IgYW5kIGNoZWNrIGl0cyB0eXBlICovCj4gPiA+ID4gwqDCoAlhZGFwdG9yX3R5cGUgPSBkcm1f ZHBfZHVhbF9tb2RlX2RldGVjdChhZGFwdGVyKTsKPiA+ID4gPiBAQCAtODksOCArODksNDIgQEAg c3RhdGljIGJvb2wgbHNwY29uX3Byb2JlKHN0cnVjdCBpbnRlbF9sc3Bjb24gKmxzcGNvbikKPiA+ ID4gPiDCoMKgCXJldHVybiB0cnVlOwo+ID4gPiA+IMKgIH0KPiA+ID4gPiDCoMKgCj4gPiA+ID4g K3N0YXRpYyB2b2lkIGxzcGNvbl9yZXN1bWVfaW5fcGNvbl93YShzdHJ1Y3QgaW50ZWxfbHNwY29u ICpsc3Bjb24pCj4gPiA+ID4gK3sKPiA+ID4gPiArCXVuc2lnbmVkIGxvbmcgc3RhcnQgPSBqaWZm aWVzOwo+ID4gPiA+ICsKPiA+ID4gPiArCWlmICghbHNwY29uLT5kZXNjX3ZhbGlkKQo+ID4gPiA+ ICsJCXJldHVybjsKPiA+ID4gPiArCj4gPiA+ID4gKwl3aGlsZSAoMSkgewo+ID4gPiA+ICsJCXN0 cnVjdCBpbnRlbF9kcF9kZXNjIGRlc2M7Cj4gPiA+ID4gKwo+ID4gPiA+ICsJCS8qCj4gPiA+ID4g KwkJwqAqIFRoZSB3L2Egb25seSBhcHBsaWVzIGluIFBDT04gbW9kZSBhbmQgd2UgZG9uJ3QgZXhw ZWN0IGFueQo+ID4gPiA+ICsJCcKgKiBBVVggZXJyb3JzLgo+ID4gPiA+ICsJCcKgKi8KPiA+ID4g PiArCQlpZiAoIWludGVsX2RwX3JlYWRfZGVzYyhsc3Bjb24tPmludGVsX2RwLCAmZGVzYykpCj4g PiA+ID4gKwkJCXJldHVybjsKPiA+ID4gPiArCj4gPiA+ID4gKwkJaWYgKCFtZW1jbXAoJmxzcGNv bi0+ZGVzYywgJmRlc2MsIHNpemVvZihkZXNjKSkpIHsKPiA+ID4gPiArCQkJRFJNX0RFQlVHX0tN UygiTFNQQ09OIHJlY292ZXJpbmcgaW4gUENPTiBtb2RlIGFmdGVyICV1IG1zXG4iLAo+ID4gPiA+ ICsJCQkJwqDCoMKgwqDCoMKgamlmZmllc190b19tc2VjcyhqaWZmaWVzIC0gc3RhcnQpKTsKPiA+ ID4gPiArCQkJcmV0dXJuOwo+ID4gPiA+ICsJCX0KPiA+ID4gPiArCj4gPiA+ID4gKwkJaWYgKHRp bWVfYWZ0ZXIoamlmZmllcywgc3RhcnQgKyBtc2Vjc190b19qaWZmaWVzKDEwMDApKSkKPiA+ID4g PiArCQkJYnJlYWs7Cj4gPiA+ID4gKwo+ID4gPiA+ICsJCW1zbGVlcCgxMCk7Cj4gPiA+ID4gKwl9 Cj4gPiA+ID4gKwo+ID4gPiA+ICsJRFJNX0RFQlVHX0tNUygiTFNQQ09OIERQIGRlc2NyaXB0b3Ig bWlzbWF0Y2ggYWZ0ZXIgcmVzdW1lXG4iKTsKPiA+ID4gPiArfQo+ID4gPiBJIHRoaW5rIHdlIG5l ZWQgdG8gZ28gdGhyb3VnaCB0aGUgTFNQQ09OIHNwZWMgb25jZSBtb3JlIGJlZm9yZSB3ZSBtZXJn ZQo+ID4gPiB0aGlzLiBNYXliZSB3ZSBkb24ndCByZXNldCB0aGUgTFNQQ09OIHByb3Blcmx5LiBN YXliZSB3ZSBkb24ndCBoYW5kbGUKPiA+ID4gdGhlIHJlc3VtZSBwcm9wZXJseS4KPiA+IEkgaGF2 ZW4ndCBmb3VuZCBhdCBsZWFzdCBhbnkgd2F5IHRvIHJlc2V0IHRoaW5ncy4gSSBhbHNvIHRyaWVk IHRvCj4gPiBjaGFuZ2UgdG8gTFMgbW9kZSB3aGVuIHN1c3BlbmRpbmcgb3Igc3dpdGNoIGhlcmUg dG8gTFMgbW9kZSBmaXJzdCBhbmQKPiA+IG9ubHkgdGhlbiB0byBQQ09OIG1vZGUgYnV0IHRoZXNl IGRpZG4ndCBoZWxwLgo+ID4gCj4gPiAtLUltcmUKPiBJIGFncmVlIHdpdGggSW1yZS4gVGhlcmUg aXMgbm90aGluZyBsaWtlIHRoYXQgaW4gc3BlY3MgYXMgc3VjaCwgYW5kIGV2ZW7CoAo+IElmIHRo aXMgd2FzIHNvbWV0aGluZyBtaXNzaW5nIGR1cmluZyB0aGUgcmVzZXQvcG93ZXIgZG93biB0aW1l LCB3ZcKgCj4gc2hvdWxkIGhhdmUgc2VlbiB0aGlzIG9uIGFsbC9tb3N0IG9mIHRoZSBib2FyZHMu Cj4gCj4gUmVnYXJkcwo+IFNoYXNoYW5rCj4gPiAKPiA+ID4gTWF5YmUgdGhpcyBpc24ndCBhICJ3 b3JrYXJvdW5kIiBhZnRlciBhbGwuCj4gPiA+IAo+ID4gPiBCUiwKPiA+ID4gSmFuaS4KPiA+ID4g Cj4gPiA+ID4gKwo+ID4gPiA+IMKgIHZvaWQgbHNwY29uX3Jlc3VtZShzdHJ1Y3QgaW50ZWxfbHNw Y29uICpsc3Bjb24pCj4gPiA+ID4gwqAgewo+ID4gPiA+ICsJbHNwY29uX3Jlc3VtZV9pbl9wY29u X3dhKGxzcGNvbik7Cj4gPiA+ID4gKwo+ID4gPiA+IMKgwqAJaWYgKGxzcGNvbl9jaGFuZ2VfbW9k ZShsc3Bjb24sIERSTV9MU1BDT05fTU9ERV9QQ09OLCB0cnVlKSkKPiA+ID4gPiDCoMKgCQlEUk1f RVJST1IoIkxTUENPTiByZXN1bWUgZmFpbGVkXG4iKTsKPiA+ID4gPiDCoMKgCWVsc2UKPiA+ID4g PiBAQCAtMTExLDcgKzE0NSw3IEBAIGJvb2wgbHNwY29uX2luaXQoc3RydWN0IGludGVsX2RpZ2l0 YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQpCj4gPiA+ID4gwqDCoAo+ID4gPiA+IMKgwqAJbHNwY29u LT5hY3RpdmUgPSBmYWxzZTsKPiA+ID4gPiDCoMKgCWxzcGNvbi0+bW9kZSA9IERSTV9MU1BDT05f TU9ERV9JTlZBTElEOwo+ID4gPiA+IC0JbHNwY29uLT5hdXggPSAmZHAtPmF1eDsKPiA+ID4gPiAr CWxzcGNvbi0+aW50ZWxfZHAgPSBkcDsKPiA+ID4gPiDCoMKgCj4gPiA+ID4gwqDCoAlpZiAoIWxz cGNvbl9wcm9iZShsc3Bjb24pKSB7Cj4gPiA+ID4gwqDCoAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8g cHJvYmUgbHNwY29uXG4iKTsKPiA+ID4gPiBAQCAtMTMxLDEyICsxNjUsMTAgQEAgYm9vbCBsc3Bj b25faW5pdChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCkKPiA+ID4g PiDCoMKgCQl9Cj4gPiA+ID4gwqDCoAl9Cj4gPiA+ID4gwqDCoAo+ID4gPiA+IC0JaWYgKGRybV9k ZWJ1ZyAmIERSTV9VVF9LTVMpIHsKPiA+ID4gPiAtCQlzdHJ1Y3QgaW50ZWxfZHBfZGVzYyBkZXNj Owo+ID4gPiA+IC0KPiA+ID4gPiAtCQlpZiAoaW50ZWxfZHBfcmVhZF9kZXNjKGRwLCAmZGVzYykp Cj4gPiA+ID4gLQkJCWludGVsX2RwX3ByaW50X2Rlc2MoZHAsICZkZXNjKTsKPiA+ID4gPiAtCX0K PiA+ID4gPiArCWxzcGNvbi0+ZGVzY192YWxpZCA9IGludGVsX2RwX3JlYWRfZHBjZChkcCkgJiYK PiA+ID4gPiArCQkJwqDCoMKgwqDCoGludGVsX2RwX3JlYWRfZGVzYyhkcCwgJmxzcGNvbi0+ZGVz Yyk7Cj4gPiA+ID4gKwlpZiAoKGRybV9kZWJ1ZyAmIERSTV9VVF9LTVMpICYmIGxzcGNvbi0+ZGVz Y192YWxpZCkKPiA+ID4gPiArCQlpbnRlbF9kcF9wcmludF9kZXNjKGRwLCAmbHNwY29uLT5kZXNj KTsKPiA+ID4gPiDCoMKgCj4gPiA+ID4gwqDCoAlEUk1fREVCVUdfS01TKCJTdWNjZXNzOiBMU1BD T04gaW5pdFxuIik7Cj4gPiA+ID4gwqDCoAlyZXR1cm4gdHJ1ZTsKPiAKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==