From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 1/4] drm/i915/bxt: Fix PPS lost state after suspend breaking eDP link training Date: Thu, 16 Jun 2016 17:48:08 +0300 Message-ID: <20160616144808.GE4329@intel.com> References: <1466084243-5388-1-git-send-email-imre.deak@intel.com> <1466084243-5388-2-git-send-email-imre.deak@intel.com> <20160616135834.GC4329@intel.com> <1466087975.19918.8.camel@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 ESMTP id 5244D6EA7E for ; Thu, 16 Jun 2016 14:48:13 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1466087975.19918.8.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 Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBKdW4gMTYsIDIwMTYgYXQgMDU6Mzk6MzVQTSArMDMwMCwgSW1yZSBEZWFrIHdyb3Rl Ogo+IE9uIHRvLCAyMDE2LTA2LTE2IGF0IDE2OjU4ICswMzAwLCBWaWxsZSBTeXJqw6Rsw6Qgd3Jv dGU6Cj4gPiBPbiBUaHUsIEp1biAxNiwgMjAxNiBhdCAwNDozNzoyMFBNICswMzAwLCBJbXJlIERl YWsgd3JvdGU6Cj4gPiA+IFRoZSBQUFMgcmVnaXN0ZXJzIGFyZSBiYWNrZWQgYnkgcG93ZXIgd2Vs bCAjMCBhbmQgYXMgc3VjaCBtYXkgYmUgcmVzZXQKPiA+ID4gYWZ0ZXIgc3lzdGVtIG9yIHJ1bnRp bWUgc3VzcGVuZCAoYm90aCBpbXBseWluZyBhIHBvc3NpYmxlIERDOQo+ID4gPiB0cmFuc2l0aW9u KS4gRml4IHRoaXMgYnkgcmV1c2luZyB0aGUgVkxWL0NIViBQUFMgcGlwZS1yZWFzc2lnbm1lbnQK PiA+ID4gbG9naWMuIFRoZSBkaWZmZXJlbmNlIG9uIEJYVCBpcyB0aGF0IHRoZSBQUFMgaW5zdGFu Y2VzIGFyZSBub3QgcGlwZSBidXQKPiA+ID4gcG9ydCAob3IgbW9yZSBhY2N1cmF0ZWx5IHBpbikg c3BlY2lmaWMsIHNvIHdlIG9ubHkgbmVlZCB0byBjYXJlIGFib3V0Cj4gPiA+IHRoZSBsb3N0IEhX IHN0YXRlLiBBcyBvcHBvc2VkIHRvIFZMVi9DSFYgdGhlIFNXIHN0YXRlIGlzIGZpeGVkIGFuZAo+ ID4gPiBpbml0aWFsaXplZCBkdXJpbmcgY29ubmVjdG9yIGluaXQuCj4gPiA+IAo+ID4gPiBUaGlz IGFsc28gcGF2ZXMgdGhlIHdheSB0b3dhcmRzIHVzaW5nIHRoZSBhY3R1YWwgcG9ydC0+UFBTIGlu c3RhbmNlCj4gPiA+IG1hcHBpbmcgYmFzZWQgb24gVkJULgo+ID4gPiAKPiA+ID4gVGhpcyBmaXhl cyBlRFAgbGluayB0cmFpbmluZyBlcnJvcnMgb24gQlhUIGFmdGVyIHN1c3BlbmQsIHdoZXJlIHdl Cj4gPiA+IHN0YXJ0ZWQgdGhlIGxpbmsgdHJhaW5pbmcgdG9vIGVhcmx5IGR1ZSB0byBhbiBpbmNv cnJlY3QgVDMgKHBhbmVsIHBvd2VyCj4gPiA+IG9uKSByZWdpc3RlciB2YWx1ZS4KPiA+ID4gCj4g PiA+IEJ1Z3ppbGxhOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9p ZD05NjQzNgo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5j b20+Cj4gPiA+IC0tLQo+ID4gPiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmPCoMKg wqDCoMKgwqDCoMKgwqB8IDcxICsrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQo+ID4g PiDCoGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5owqDCoMKgwqDCoMKgwqDCoHzCoMKg NyArKystCj4gPiA+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jIHzC oMKgMyArLQo+ID4gPiDCoDMgZmlsZXMgY2hhbmdlZCwgNTggaW5zZXJ0aW9ucygrKSwgMjMgZGVs ZXRpb25zKC0pCj4gPiA+IAo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiA+ID4gaW5kZXgg YmUwODM1MS4uMTlhOGJiZSAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHAuYwo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4g PiA+IEBAIC00MjYsNiArNDI2LDM3IEBAIHZsdl9wb3dlcl9zZXF1ZW5jZXJfcGlwZShzdHJ1Y3Qg aW50ZWxfZHAgKmludGVsX2RwKQo+ID4gPiDCoAlyZXR1cm4gaW50ZWxfZHAtPnBwc19waXBlOwo+ ID4gPiDCoH0KPiA+ID4gwqAKPiA+ID4gK3N0YXRpYyBpbnQKPiA+ID4gK2J4dF9wb3dlcl9zZXF1 ZW5jZXJfaWR4KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gPiA+ICt7Cj4gPiA+ICsJc3Ry dWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBkcF90b19kaWdfcG9ydChp bnRlbF9kcCk7Cj4gPiA+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2RpZ19wb3J0 LT5iYXNlLmJhc2UuZGV2Owo+ID4gPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gPiA+ICsKPiA+ID4gKwlsb2NrZGVwX2Fzc2VydF9oZWxk KCZkZXZfcHJpdi0+cHBzX211dGV4KTsKPiA+ID4gKwo+ID4gPiArCS8qIFdlIHNob3VsZCBuZXZl ciBsYW5kIGhlcmUgd2l0aCByZWd1bGFyIERQIHBvcnRzICovCj4gPiA+ICsJV0FSTl9PTighaXNf ZWRwKGludGVsX2RwKSk7Cj4gPiA+ICsKPiA+ID4gKwkvKgo+ID4gPiArCcKgKiBUT0RPOiBCWFQg aGFzIDIgUFBTIGluc3RhbmNlcy4gVGhlIGNvcnJlY3QgcG9ydC0+UFBTIGluc3RhbmNlCj4gPiA+ ICsJwqAqIG1hcHBpbmcgbmVlZHMgdG8gYmUgcmV0cmlldmVkIGZyb20gVkJULCBmb3Igbm93IGp1 c3QgaGFyZC1jb2RlIHRvCj4gPiA+ICsJwqAqIHVzZSBpbnN0YW5jZSAjMCBhbHdheXMuCj4gPiA+ ICsJwqAqLwo+ID4gPiArCWlmICghaW50ZWxfZHAtPnBwc19yZXNldCkKPiA+ID4gKwkJcmV0dXJu IDA7Cj4gPiA+ICsKPiA+ID4gKwlpbnRlbF9kcC0+cHBzX3Jlc2V0ID0gZmFsc2U7Cj4gPiA+ICsK PiA+ID4gKwkvKgo+ID4gPiArCcKgKiBPbmx5IHRoZSBIVyBuZWVkcyB0byBiZSByZXByb2dyYW1t ZWQsIHRoZSBTVyBzdGF0ZSBpcyBmaXhlZCBhbmQKPiA+ID4gKwnCoCogaGFzIGJlZW4gc2V0dXAg ZHVyaW5nIGNvbm5lY3RvciBpbml0Lgo+ID4gPiArCcKgKi8KPiA+ID4gKwlpbnRlbF9kcF9pbml0 X3BhbmVsX3Bvd2VyX3NlcXVlbmNlcl9yZWdpc3RlcnMoZGV2LCBpbnRlbF9kcCk7Cj4gPiA+ICsK PiA+ID4gKwlyZXR1cm4gMDsKPiA+ID4gK30KPiA+ID4gKwo+ID4gPiDCoHR5cGVkZWYgYm9vbCAo KnZsdl9waXBlX2NoZWNrKShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiA+ IMKgCQkJwqDCoMKgwqDCoMKgwqBlbnVtIHBpcGUgcGlwZSk7Cj4gPiA+IMKgCj4gPiA+IEBAIC01 MDcsMTIgKzUzOCwxMyBAQCB2bHZfaW5pdGlhbF9wb3dlcl9zZXF1ZW5jZXJfc2V0dXAoc3RydWN0 IGludGVsX2RwICppbnRlbF9kcCkKPiA+ID4gwqAJaW50ZWxfZHBfaW5pdF9wYW5lbF9wb3dlcl9z ZXF1ZW5jZXJfcmVnaXN0ZXJzKGRldiwgaW50ZWxfZHApOwo+ID4gPiDCoH0KPiA+ID4gwqAKPiA+ ID4gLXZvaWQgdmx2X3Bvd2VyX3NlcXVlbmNlcl9yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCj4gPiA+ICt2b2lkIGludGVsX3Bvd2VyX3NlcXVlbmNlcl9yZXNldChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gPiA+IMKgewo+ID4gPiDCoAlzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2ID0gZGV2X3ByaXYtPmRldjsKPiA+ID4gwqAJc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXI7Cj4gPiA+IMKgCj4gPiA+IC0JaWYgKFdBUk5fT04oIUlTX1ZBTExFWVZJ RVcoZGV2KSAmJiAhSVNfQ0hFUlJZVklFVyhkZXYpKSkKPiA+ID4gKwlpZiAoV0FSTl9PTighSVNf VkFMTEVZVklFVyhkZXYpICYmICFJU19DSEVSUllWSUVXKGRldikgJiYKPiA+ID4gKwnCoMKgwqDC oCFJU19CUk9YVE9OKGRldikpKQo+ID4gPiDCoAkJcmV0dXJuOwo+ID4gPiDCoAo+ID4gPiDCoAkv Kgo+ID4gPiBAQCAtNTMyLDcgKzU2NCwxMCBAQCB2b2lkIHZsdl9wb3dlcl9zZXF1ZW5jZXJfcmVz ZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4gPiDCoAkJCWNvbnRpbnVl Owo+ID4gPiDCoAo+ID4gPiDCoAkJaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoJmVuY29kZXIt PmJhc2UpOwo+ID4gPiAtCQlpbnRlbF9kcC0+cHBzX3BpcGUgPSBJTlZBTElEX1BJUEU7Cj4gPiA+ ICsJCWlmIChJU19CUk9YVE9OKGRldikpCj4gPiA+ICsJCQlpbnRlbF9kcC0+cHBzX3Jlc2V0ID0g dHJ1ZTsKPiA+ID4gKwkJZWxzZQo+ID4gPiArCQkJaW50ZWxfZHAtPnBwc19waXBlID0gSU5WQUxJ RF9QSVBFOwo+ID4gPiDCoAl9Cj4gPiA+IMKgfQo+ID4gPiDCoAo+ID4gPiBAQCAtNTQyLDcgKzU3 Nyw3IEBAIF9wcF9jdHJsX3JlZyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ID4gPiDCoAlz dHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50ZWxfZHBfdG9fZGV2KGludGVsX2RwKTsKPiA+ID4g wqAKPiA+ID4gwqAJaWYgKElTX0JST1hUT04oZGV2KSkKPiA+ID4gLQkJcmV0dXJuIEJYVF9QUF9D T05UUk9MKDApOwo+ID4gPiArCQlyZXR1cm4gQlhUX1BQX0NPTlRST0woYnh0X3Bvd2VyX3NlcXVl bmNlcl9pZHgoaW50ZWxfZHApKTsKPiA+ID4gwqAJZWxzZSBpZiAoSEFTX1BDSF9TUExJVChkZXYp KQo+ID4gPiDCoAkJcmV0dXJuIFBDSF9QUF9DT05UUk9MOwo+ID4gPiDCoAllbHNlCj4gPiA+IEBA IC01NTUsNyArNTkwLDcgQEAgX3BwX3N0YXRfcmVnKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAp Cj4gPiA+IMKgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kcF90b19kZXYoaW50ZWxf ZHApOwo+ID4gPiDCoAo+ID4gPiDCoAlpZiAoSVNfQlJPWFRPTihkZXYpKQo+ID4gPiAtCQlyZXR1 cm4gQlhUX1BQX1NUQVRVUygwKTsKPiA+ID4gKwkJcmV0dXJuIEJYVF9QUF9TVEFUVVMoYnh0X3Bv d2VyX3NlcXVlbmNlcl9pZHgoaW50ZWxfZHApKTsKPiA+ID4gwqAJZWxzZSBpZiAoSEFTX1BDSF9T UExJVChkZXYpKQo+ID4gPiDCoAkJcmV0dXJuIFBDSF9QUF9TVEFUVVM7Cj4gPiA+IMKgCWVsc2UK PiA+ID4gQEAgLTQ3MjIsMTQgKzQ3NTcsMTEgQEAgaW50ZWxfZHBfaW5pdF9wYW5lbF9wb3dlcl9z ZXF1ZW5jZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+ID4gwqAJCXJldHVybjsKPiA+ID4g wqAKPiA+ID4gwqAJaWYgKElTX0JST1hUT04oZGV2KSkgewo+ID4gPiAtCQkvKgo+ID4gPiAtCQnC oCogVE9ETzogQlhUIGhhcyAyIHNldHMgb2YgUFBTIHJlZ2lzdGVycy4KPiA+ID4gLQkJwqAqIENv cnJlY3QgUmVnaXN0ZXIgZm9yIEJyb3h0b24gbmVlZCB0byBiZSBpZGVudGlmaWVkCj4gPiA+IC0J CcKgKiB1c2luZyBWQlQuIGhhcmRjb2RpbmcgZm9yIG5vdwo+ID4gPiAtCQnCoCovCj4gPiA+IC0J CXBwX2N0cmxfcmVnID0gQlhUX1BQX0NPTlRST0woMCk7Cj4gPiA+IC0JCXBwX29uX3JlZyA9IEJY VF9QUF9PTl9ERUxBWVMoMCk7Cj4gPiA+IC0JCXBwX29mZl9yZWcgPSBCWFRfUFBfT0ZGX0RFTEFZ UygwKTsKPiA+ID4gKwkJaW50IGlkeCA9IGJ4dF9wb3dlcl9zZXF1ZW5jZXJfaWR4KGludGVsX2Rw KTsKPiA+ID4gKwo+ID4gPiArCQlwcF9jdHJsX3JlZyA9IEJYVF9QUF9DT05UUk9MKGlkeCk7Cj4g PiA+ICsJCXBwX29uX3JlZyA9IEJYVF9QUF9PTl9ERUxBWVMoaWR4KTsKPiA+ID4gKwkJcHBfb2Zm X3JlZyA9IEJYVF9QUF9PRkZfREVMQVlTKGlkeCk7Cj4gPiA+IMKgCX0gZWxzZSBpZiAoSEFTX1BD SF9TUExJVChkZXYpKSB7Cj4gPiA+IMKgCQlwcF9jdHJsX3JlZyA9IFBDSF9QUF9DT05UUk9MOwo+ ID4gPiDCoAkJcHBfb25fcmVnID0gUENIX1BQX09OX0RFTEFZUzsKPiA+ID4gQEAgLTQ4NDIsMTQg KzQ4NzQsMTEgQEAgaW50ZWxfZHBfaW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXJfcmVnaXN0ZXJz KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gPiA+IMKgCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRl dl9wcml2LT5wcHNfbXV0ZXgpOwo+ID4gPiDCoAo+ID4gPiDCoAlpZiAoSVNfQlJPWFRPTihkZXYp KSB7Cj4gPiA+IC0JCS8qCj4gPiA+IC0JCcKgKiBUT0RPOiBCWFQgaGFzIDIgc2V0cyBvZiBQUFMg cmVnaXN0ZXJzLgo+ID4gPiAtCQnCoCogQ29ycmVjdCBSZWdpc3RlciBmb3IgQnJveHRvbiBuZWVk IHRvIGJlIGlkZW50aWZpZWQKPiA+ID4gLQkJwqAqIHVzaW5nIFZCVC4gaGFyZGNvZGluZyBmb3Ig bm93Cj4gPiA+IC0JCcKgKi8KPiA+ID4gLQkJcHBfY3RybF9yZWcgPSBCWFRfUFBfQ09OVFJPTCgw KTsKPiA+ID4gLQkJcHBfb25fcmVnID0gQlhUX1BQX09OX0RFTEFZUygwKTsKPiA+ID4gLQkJcHBf b2ZmX3JlZyA9IEJYVF9QUF9PRkZfREVMQVlTKDApOwo+ID4gPiArCQlpbnQgaWR4ID0gYnh0X3Bv d2VyX3NlcXVlbmNlcl9pZHgoaW50ZWxfZHApOwo+ID4gPiArCj4gPiA+ICsJCXBwX2N0cmxfcmVn ID0gQlhUX1BQX0NPTlRST0woaWR4KTsKPiA+ID4gKwkJcHBfb25fcmVnID0gQlhUX1BQX09OX0RF TEFZUyhpZHgpOwo+ID4gPiArCQlwcF9vZmZfcmVnID0gQlhUX1BQX09GRl9ERUxBWVMoaWR4KTsK PiA+ID4gwqAKPiA+ID4gwqAJfSBlbHNlIGlmIChIQVNfUENIX1NQTElUKGRldikpIHsKPiA+ID4g wqAJCXBwX29uX3JlZyA9IFBDSF9QUF9PTl9ERUxBWVM7Cj4gPiA+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi5oCj4gPiA+IGluZGV4IDhkYzY3YWQuLjg3MDg0OWUgMTAwNjQ0Cj4gPiA+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCj4gPiA+IEBAIC04NjksNiArODY5LDExIEBAIHN0cnVjdCBpbnRl bF9kcCB7Cj4gPiA+IMKgCcKgKiB0aGlzIHBvcnQuIE9ubHkgcmVsZXZhbnQgb24gVkxWL0NIVi4K PiA+ID4gwqAJwqAqLwo+ID4gPiDCoAllbnVtIHBpcGUgcHBzX3BpcGU7Cj4gPiA+ICsJLyoKPiA+ ID4gKwnCoCogU2V0IGlmIHRoZSBzZXF1ZW5jZXIgbWF5IGJlIHJlc2V0IGR1ZSB0byBhIHBvd2Vy IHRyYW5zaXRpb24sCj4gPiA+ICsJwqAqIHJlcXVpcmluZyBhIHJlaW5pdGlhbGl6YXRpb24uIE9u bHkgcmVsZXZhbnQgb24gQlhULgo+ID4gPiArCcKgKi8KPiA+ID4gKwlib29sIHBwc19yZXNldDsK PiA+ID4gwqAJc3RydWN0IGVkcF9wb3dlcl9zZXEgcHBzX2RlbGF5czsKPiA+ID4gwqAKPiA+ID4g wqAJYm9vbCBjYW5fbXN0OyAvKiB0aGlzIHBvcnQgc3VwcG9ydHMgbXN0ICovCj4gPiA+IEBAIC0x MzQ4LDcgKzEzNTMsNyBAQCB2b2lkIGludGVsX2RwX21zdF9yZXN1bWUoc3RydWN0IGRybV9kZXZp Y2UgKmRldik7Cj4gPiA+IMKgaW50IGludGVsX2RwX21heF9saW5rX3JhdGUoc3RydWN0IGludGVs X2RwICppbnRlbF9kcCk7Cj4gPiA+IMKgaW50IGludGVsX2RwX3JhdGVfc2VsZWN0KHN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHAsIGludCByYXRlKTsKPiA+ID4gwqB2b2lkIGludGVsX2RwX2hvdF9w bHVnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyKTsKPiA+ID4gLXZvaWQgdmx2 X3Bvd2VyX3NlcXVlbmNlcl9yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp Owo+ID4gPiArdm9pZCBpbnRlbF9wb3dlcl9zZXF1ZW5jZXJfcmVzZXQoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KTsKPiA+ID4gwqB1aW50MzJfdCBpbnRlbF9kcF9wYWNrX2F1eChj b25zdCB1aW50OF90ICpzcmMsIGludCBzcmNfYnl0ZXMpOwo+ID4gPiDCoHZvaWQgaW50ZWxfcGxh bmVfZGVzdHJveShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSk7Cj4gPiA+IMKgdm9pZCBpbnRlbF9l ZHBfZHJyc19lbmFibGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCk7Cj4gPiA+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKPiA+ID4gaW5kZXggZTg1NmQ0OS4uMjJiNDZm NSAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9w bS5jCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwo+ ID4gPiBAQCAtNTc4LDYgKzU3OCw3IEBAIHZvaWQgYnh0X2VuYWJsZV9kYzkoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4gPiDCoAo+ID4gPiDCoAlEUk1fREVCVUdfS01TKCJF bmFibGluZyBEQzlcbiIpOwo+ID4gPiDCoAo+ID4gPiArCWludGVsX3Bvd2VyX3NlcXVlbmNlcl9y ZXNldChkZXZfcHJpdik7Cj4gPiA+IMKgCWdlbjlfc2V0X2RjX3N0YXRlKGRldl9wcml2LCBEQ19T VEFURV9FTl9EQzkpOwo+ID4gPiDCoH0KPiA+IAo+ID4gSSB3YXMgd29uZGVyaW5nIGhvdyB3ZSBk ZWFsIHdpdGggY29taW5nIG91dCBvZiBTNCBub3csIGJ1dCBJIHN1cHBvc2Ugd2UKPiA+IGN1cnJl bnRseSBlbmFibGUgREM5IGluIC5mcmVlemUgYXMgd2VsbC4gV2hlbi9pZiB3ZSByZW1vdmUgdGhh dCAodG8gb3B0aW1pemUKPiA+IGF3YXkgdGhlIGJsaW5rcyBkdXJpbmcgaGliZXJuYXRpb24pLCBJ IHRoaW5rIHdlJ2xsIG5lZWQgc29tZXRoaW5nIGRpZmZlcmVudAo+ID4gdG8gZGVhbCB3aXRoIHRo ZSB1bmtub3duIFBQUyBzdGF0ZSBvbiAucmVzdG9yZS4KPiAKPiBIbSB5ZWEsIEkgYXNzdW1lIHdl IGNvdWxkIHJlc2V0IHRoZSBzdGF0ZSBpbiAucmVzdG9yZSB0aGVuLiBCdXQgd2UnZAo+IHN0aWxs IG5lZWQgdGhlIERDOSB0aW1lIHJlc2V0IGV2ZW4gaW4gdGhhdCBjYXNlLgoKWWVhaC4KCj4gCj4g PiBBcmUgeW91IGdvaW5nIHRvIGRvIHNvbWV0aGluZyBhYm91dCBQQ0ggcGxhdGZvcm1zIGFzIHdl bGwsIG9yIGFyZSB5b3UgZ29pbmcKPiA+IGxlYXZlIHRoYXQgZm9yIHNvbWVvbmUgZWxzZT8KPiAK PiBJIGNhbiB0YWtlIGEgbG9vayBhdCB0aGF0IGxhdGVyIGlmIG5vIG9uZSBlbHNlIGRvZXMuIEFG QUlDUyBpdCB3b3VsZAo+IGFtb3VudCB0byByZXBsYWNpbmcgdGhlIFBQUyBzYXZlL3Jlc3RvcmUg aW4gaTkxNV9zdXNwZW5kLmMgd2l0aCBhIHJlc2V0Cj4gZHVyaW5nIHN5c3RlbSBzdXNwZW5kK3Jl Z2lzdGVyIHJlLWluaXQgYmFzZWQgb24gcHBzX3Jlc2V0Cj4gaW7CoGludGVsX3Bwc19nZXRfcmVn aXN0ZXJzKCkuIEknZCBoYXZlIHRvIGFsc28gY2hlY2sgaG93IHRoaXMgd291bGQKPiBhZmZlY3Qg TFZEUy4KCkkgd2FzIHRoaW5raW5nIHRoYXQgbWlnaHQgc2ltcGx5IG1vdmUgdGhlIGN1cnJlbnQg c2F2ZSBjb2RlIHRvCkxWRFMgaW5pdCwgYW5kIHRoZW4gYWRkIGEgLnJlc2V0IGhvb2sgZm9yIExW RFMgdG8gcmVzdG9yZSB0aGUKcmVnaXN0ZXJzIGF0IHJlc3VtZSB0aW1lLiBCdXQgSSBtc3V0IGFk bWl0IHRoYXQgSSBkaWRuJ3Qgc3BlbmQKbXVjaCB0aW1lIHRoaW5raW5nIGFib3V0IGl0LgoKPiAK PiA+ID4gwqAKPiA+ID4gQEAgLTExMTIsNyArMTExMyw3IEBAIHN0YXRpYyB2b2lkIHZsdl9kaXNw bGF5X3Bvd2VyX3dlbGxfZGVpbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK PiA+ID4gwqAJLyogbWFrZSBzdXJlIHdlJ3JlIGRvbmUgcHJvY2Vzc2luZyBkaXNwbGF5IGlycXMg Ki8KPiA+ID4gwqAJc3luY2hyb25pemVfaXJxKGRldl9wcml2LT5kZXYtPmlycSk7Cj4gPiA+IMKg Cj4gPiA+IC0Jdmx2X3Bvd2VyX3NlcXVlbmNlcl9yZXNldChkZXZfcHJpdik7Cj4gPiA+ICsJaW50 ZWxfcG93ZXJfc2VxdWVuY2VyX3Jlc2V0KGRldl9wcml2KTsKPiA+ID4gwqB9Cj4gPiA+IMKgCj4g PiA+IMKgc3RhdGljIHZvaWQgdmx2X2Rpc3BsYXlfcG93ZXJfd2VsbF9lbmFibGUoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gPiAtLcKgCj4gPiA+IDIuNS4wCj4gPiA+IAo+ ID4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4g PiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPiA+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKPiA+ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngKPiA+IAoKLS0gClZpbGxlIFN5cmrDpGzDpApJbnRlbCBPVEMKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==