From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Kannan, Vandana" Subject: Re: [PATCH] drm/i915: eDP Panel Power sequencing Date: Thu, 07 May 2015 09:43:48 +0530 Message-ID: <554AE67C.1040805@intel.com> References: <55471087.30502@intel.com> <1430723216-13930-1-git-send-email-vandana.kannan@intel.com> <87vbg5d9vb.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 7EB576E086 for ; Wed, 6 May 2015 21:17:04 -0700 (PDT) In-Reply-To: <87vbg5d9vb.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 CgpPbiA1LzYvMjAxNSA4OjM1IFBNLCBKYW5pIE5pa3VsYSB3cm90ZToKPiBPbiBNb24sIDA0IE1h eSAyMDE1LCBWYW5kYW5hIEthbm5hbiA8dmFuZGFuYS5rYW5uYW5AaW50ZWwuY29tPiB3cm90ZToK Pj4gQ2hhbmdlcyBiYXNlZCBvbiBmdXR1cmUgcGxhdGZvcm0gcmVhZGluZXNzIHBhdGNoZXMgcmVs YXRlZCB0bwo+PiBIQVNfUENIX1NQTElUKCkuIFVzZSBIQVNfR01DSF9ESVNQTEFZKCkgaW5zdGVh ZCBvZiBIQVNfUENIX1NQTElULgo+Cj4gVGhpcyBuZWVkcyBhbiB1cGRhdGUgdG8gcmVmbGVjdCB0 aGUgcGF0Y2guCj4KPj4gQlhUIGRvZXMgbm90IGhhdmUgUFBfRElWIHJlZ2lzdGVyLiBNYWtpbmcg Y2hhbmdlcyB0byBoYW5kbGUgdGhpcy4KPj4gU2Vjb25kIHNldCBvZiBQUFMgcmVnaXN0ZXJzIGhh dmUgYmVlbiBkZWZpbmVkIGJ1dCB3aWxsIGJlIHVzZWQgd2hlbiBWQlQKPj4gcHJvdmlkZXMgYSBz ZWxlY3Rpb24gYmV0d2VlbiB0aGUgMiBzZXRzIG9mIHJlZ2lzdGVycy4KPj4KPj4gdjI6Cj4+IFtK YW5pXSBBZGRlZCAybmQgc2V0IG9mIFBQUyByZWdpc3RlcnMgYW5kIHRoZSBtYWNybwo+PiBKYW5p J3MgcmV2aWV3IGNvbW1lbnRzCj4+IAktIHJlbW92ZSByZWZlcmVuY2UgaW4gaTkxNV9zdXNwZW5k LmMKPj4gCS0gVXNlIEJYVCBQUCBtYWNybwo+PiBTcXVhc2hpbmcgYWxsIFBQUyByZWxhdGVkIHBh dGNoZXMgaW50byBvbmUuCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IFZhbmRhbmEgS2FubmFuIDx2YW5k YW5hLmthbm5hbkBpbnRlbC5jb20+Cj4+IFNpZ25lZC1vZmYtYnk6IEEuU3VuaWwgS2FtYXRoIDxz dW5pbC5rYW1hdGhAaW50ZWwuY29tPgo+PiAtLS0KPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3JlZy5oIHwgMTMgKysrKysrKysKPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cC5jIHwgNjkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0KPj4gICAy IGZpbGVzIGNoYW5nZWQsIDY5IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQo+Pgo+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcmVnLmgKPj4gaW5kZXggMzY4MDViNi4uZThkOTNlYSAxMDA2NDQKPj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+PiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4+IEBAIC02MzE1LDYgKzYzMTUsOCBAQCBlbnVtIHNrbF9k aXNwX3Bvd2VyX3dlbGxzIHsKPj4gICAjZGVmaW5lIFBDSF9QUF9DT05UUk9MCQkweGM3MjA0Cj4+ ICAgI2RlZmluZSAgUEFORUxfVU5MT0NLX1JFR1MJKDB4YWJjZCA8PCAxNikKPj4gICAjZGVmaW5l ICBQQU5FTF9VTkxPQ0tfTUFTSwkoMHhmZmZmIDw8IDE2KQo+PiArI2RlZmluZSAgQlhUX1BPV0VS X0NZQ0xFX0RFTEFZX01BU0sJKDB4MWYwKQo+PiArI2RlZmluZSAgQlhUX1BPV0VSX0NZQ0xFX0RF TEFZX1NISUZUCTQKPj4gICAjZGVmaW5lICBFRFBfRk9SQ0VfVkRECQkoMSA8PCAzKQo+PiAgICNk ZWZpbmUgIEVEUF9CTENfRU5BQkxFCQkoMSA8PCAyKQo+PiAgICNkZWZpbmUgIFBBTkVMX1BPV0VS X1JFU0VUCSgxIDw8IDEpCj4+IEBAIC02MzQzLDYgKzYzNDUsMTcgQEAgZW51bSBza2xfZGlzcF9w b3dlcl93ZWxscyB7Cj4+ICAgI2RlZmluZSAgUEFORUxfUE9XRVJfQ1lDTEVfREVMQVlfTUFTSwko MHgxZikKPj4gICAjZGVmaW5lICBQQU5FTF9QT1dFUl9DWUNMRV9ERUxBWV9TSElGVAkwCj4+Cj4+ ICsvKiBCWFQgUFBTIGNoYW5nZXMgLSAybmQgc2V0IG9mIFBQUyByZWdpc3RlcnMgKi8KPj4gKyNk ZWZpbmUgX0JYVF9QUF9TVEFUVVMyCQkweGM3MzAwCj4+ICsjZGVmaW5lIF9CWFRfUFBfQ09OVFJP TDIgCTB4YzczMDQKPj4gKyNkZWZpbmUgX0JYVF9QUF9PTl9ERUxBWVMyCTB4YzczMDgKPj4gKyNk ZWZpbmUgX0JYVF9QUF9PRkZfREVMQVlTMgkweGM3MzBjCj4+ICsKPj4gKyNkZWZpbmUgQlhUX1BQ X1NUQVRVUyhuKQkoKCFuKSA/IFBDSF9QUF9TVEFUVVMgOiBfQlhUX1BQX1NUQVRVUzIpCj4+ICsj ZGVmaW5lIEJYVF9QUF9DT05UUk9MKG4pCSgoIW4pID8gUENIX1BQX0NPTlRST0wgOiBfQlhUX1BQ X0NPTlRST0wyKQo+PiArI2RlZmluZSBCWFRfUFBfT05fREVMQVlTKG4pCSgoIW4pID8gUENIX1BQ X09OX0RFTEFZUyA6IF9CWFRfUFBfT05fREVMQVlTMikKPj4gKyNkZWZpbmUgQlhUX1BQX09GRl9E RUxBWVMobikJKCghbikgPyBQQ0hfUFBfT0ZGX0RFTEFZUyA6IF9CWFRfUFBfT0ZGX0RFTEFZUzIp Cj4+ICsKPj4gICAjZGVmaW5lIFBDSF9EUF9CCQkweGU0MTAwCj4+ICAgI2RlZmluZSBQQ0hfRFBC X0FVWF9DSF9DVEwJMHhlNDExMAo+PiAgICNkZWZpbmUgUENIX0RQQl9BVVhfQ0hfREFUQTEJMHhl NDExNAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPj4gaW5kZXggOTM3YmEzMS4uZmQ5MTAwNiAx MDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+PiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4+IEBAIC01NTksNyArNTU5LDkgQEAgc3Rh dGljIHUzMiBfcHBfY3RybF9yZWcoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPj4gICB7Cj4+ ICAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kcF90b19kZXYoaW50ZWxfZHApOwo+ Pgo+PiAtCWlmIChIQVNfUENIX1NQTElUKGRldikpCj4+ICsJaWYgKElTX0JST1hUT04oZGV2KSkK Pj4gKwkJcmV0dXJuIEJYVF9QUF9DT05UUk9MKDApOwo+PiArCWVsc2UgaWYgKEhBU19QQ0hfU1BM SVQoZGV2KSkKPj4gICAJCXJldHVybiBQQ0hfUFBfQ09OVFJPTDsKPj4gICAJZWxzZQo+PiAgIAkJ cmV0dXJuIFZMVl9QSVBFX1BQX0NPTlRST0wodmx2X3Bvd2VyX3NlcXVlbmNlcl9waXBlKGludGVs X2RwKSk7Cj4+IEBAIC01NjksNyArNTcxLDkgQEAgc3RhdGljIHUzMiBfcHBfc3RhdF9yZWcoc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCkKPj4gICB7Cj4+ICAgCXN0cnVjdCBkcm1fZGV2aWNlICpk ZXYgPSBpbnRlbF9kcF90b19kZXYoaW50ZWxfZHApOwo+Pgo+PiAtCWlmIChIQVNfUENIX1NQTElU KGRldikpCj4+ICsJaWYgKElTX0JST1hUT04oZGV2KSkKPj4gKwkJcmV0dXJuIEJYVF9QUF9TVEFU VVMoMCk7Cj4+ICsJZWxzZSBpZiAoSEFTX1BDSF9TUExJVChkZXYpKQo+PiAgIAkJcmV0dXJuIFBD SF9QUF9TVEFUVVM7Cj4+ICAgCWVsc2UKPj4gICAJCXJldHVybiBWTFZfUElQRV9QUF9TVEFUVVMo dmx2X3Bvd2VyX3NlcXVlbmNlcl9waXBlKGludGVsX2RwKSk7Cj4+IEBAIC00OTU0LDggKzQ5NTgs OCBAQCBpbnRlbF9kcF9pbml0X3BhbmVsX3Bvd2VyX3NlcXVlbmNlcihzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAo+PiAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRl dl9wcml2YXRlOwo+PiAgIAlzdHJ1Y3QgZWRwX3Bvd2VyX3NlcSBjdXIsIHZidCwgc3BlYywKPj4g ICAJCSpmaW5hbCA9ICZpbnRlbF9kcC0+cHBzX2RlbGF5czsKPj4gLQl1MzIgcHBfb24sIHBwX29m ZiwgcHBfZGl2LCBwcDsKPj4gLQlpbnQgcHBfY3RybF9yZWcsIHBwX29uX3JlZywgcHBfb2ZmX3Jl ZywgcHBfZGl2X3JlZzsKPj4gKwl1MzIgcHBfb24sIHBwX29mZiwgcHBfZGl2ID0gMCwgcHBfY3Rs ID0gMCwgcHA7Cj4+ICsJaW50IHBwX2N0cmxfcmVnLCBwcF9vbl9yZWcsIHBwX29mZl9yZWcsIHBw X2Rpdl9yZWcgPSAwOwo+Cj4gTm90ZSB0aGF0IHBwIGlzIGFjdHVhbGx5IHVzZWQgZm9yIHBwX2N0 bC4gWW91IGNhbiByZW5hbWUgdGhhdCBpZiB5b3UKPiB3YW50Lgo+Ck9rLgo+Pgo+PiAgIAlsb2Nr ZGVwX2Fzc2VydF9oZWxkKCZkZXZfcHJpdi0+cHBzX211dGV4KTsKPj4KPj4gQEAgLTQ5NjMsNyAr NDk2NywxNiBAQCBpbnRlbF9kcF9pbml0X3BhbmVsX3Bvd2VyX3NlcXVlbmNlcihzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAo+PiAgIAlpZiAoZmluYWwtPnQxMV90MTIgIT0gMCkKPj4gICAJCXJldHVy bjsKPj4KPj4gLQlpZiAoSEFTX1BDSF9TUExJVChkZXYpKSB7Cj4+ICsJaWYgKElTX0JST1hUT04o ZGV2KSkgewo+PiArCQkvKgo+PiArCQkgKiBUT0RPOiBCWFQgaGFzIDIgc2V0cyBvZiBQUFMgcmVn aXN0ZXJzLgo+PiArCQkgKiBDb3JyZWN0IFJlZ2lzdGVyIGZvciBCcm94dG9uIG5lZWQgdG8gYmUg aWRlbnRpZmllZAo+PiArCQkgKiB1c2luZyBWQlQuIGhhcmRjb2RpbmcgZm9yIG5vdwo+PiArCQkg Ki8KPj4gKwkJcHBfY3RybF9yZWcgPSBCWFRfUFBfQ09OVFJPTCgwKTsKPj4gKwkJcHBfb25fcmVn ID0gQlhUX1BQX09OX0RFTEFZUygwKTsKPj4gKwkJcHBfb2ZmX3JlZyA9IEJYVF9QUF9PRkZfREVM QVlTKDApOwo+PiArCX0gZWxzZSBpZiAoSEFTX1BDSF9TUExJVChkZXYpKSB7Cj4+ICAgCQlwcF9j dHJsX3JlZyA9IFBDSF9QUF9DT05UUk9MOwo+PiAgIAkJcHBfb25fcmVnID0gUENIX1BQX09OX0RF TEFZUzsKPj4gICAJCXBwX29mZl9yZWcgPSBQQ0hfUFBfT0ZGX0RFTEFZUzsKPj4gQEAgLTQ5ODQs NyArNDk5NywxMCBAQCBpbnRlbF9kcF9pbml0X3BhbmVsX3Bvd2VyX3NlcXVlbmNlcihzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAo+Pgo+PiAgIAlwcF9vbiA9IEk5MTVfUkVBRChwcF9vbl9yZWcpOwo+ PiAgIAlwcF9vZmYgPSBJOTE1X1JFQUQocHBfb2ZmX3JlZyk7Cj4+IC0JcHBfZGl2ID0gSTkxNV9S RUFEKHBwX2Rpdl9yZWcpOwo+PiArCWlmICghSVNfQlJPWFRPTihkZXYpKQo+PiArCQlwcF9kaXYg PSBJOTE1X1JFQUQocHBfZGl2X3JlZyk7Cj4+ICsJZWxzZQo+PiArCQlwcF9jdGwgPSBJOTE1X1JF QUQocHBfY3RybF9yZWcpOwo+Cj4gWW91IGFscmVhZHkgaGF2ZSBwcF9jdGwgaW4gcHAgYXQgdGhp cyBwb2ludC4gSXQgaXMgcmVhZCB1c2luZwo+IGlyb25sYWtlX2dldF9wcF9jb250cm9sLCB3aGlj aCBhbHNvIG5lZWRzIGFuIHVwZGF0ZSBmb3IgYnh0LCBhcyBBRkFJQ1QKPiBwYW5lbCB1bmxvY2sg aXMgbm8gbG9uZ2VyIG5lZWRlZCBhbmQgTUJaLgo+Ck9rLgo+Pgo+PiAgIAkvKiBQdWxsIHRpbWlu ZyB2YWx1ZXMgb3V0IG9mIHJlZ2lzdGVycyAqLwo+PiAgIAljdXIudDFfdDMgPSAocHBfb24gJiBQ QU5FTF9QT1dFUl9VUF9ERUxBWV9NQVNLKSA+Pgo+PiBAQCAtNDk5OSw3ICs1MDE1LDExIEBAIGlu dGVsX2RwX2luaXRfcGFuZWxfcG93ZXJfc2VxdWVuY2VyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs Cj4+ICAgCWN1ci50MTAgPSAocHBfb2ZmICYgUEFORUxfUE9XRVJfRE9XTl9ERUxBWV9NQVNLKSA+ Pgo+PiAgIAkJUEFORUxfUE9XRVJfRE9XTl9ERUxBWV9TSElGVDsKPj4KPj4gLQljdXIudDExX3Qx MiA9ICgocHBfZGl2ICYgUEFORUxfUE9XRVJfQ1lDTEVfREVMQVlfTUFTSykgPj4KPj4gKwlpZiAo SVNfQlJPWFRPTihkZXYpKQo+PiArCQljdXIudDExX3QxMiA9ICgoKHBwX2N0bCAmIEJYVF9QT1dF Ul9DWUNMRV9ERUxBWV9NQVNLKSA+Pgo+PiArCQkJQlhUX1BPV0VSX0NZQ0xFX0RFTEFZX1NISUZU KSAtIDEpICogMTAwMDsKPj4gKwllbHNlCj4+ICsJCWN1ci50MTFfdDEyID0gKChwcF9kaXYgJiBQ QU5FTF9QT1dFUl9DWUNMRV9ERUxBWV9NQVNLKSA+Pgo+PiAgIAkJICAgICAgIFBBTkVMX1BPV0VS X0NZQ0xFX0RFTEFZX1NISUZUKSAqIDEwMDA7Cj4+Cj4+ICAgCURSTV9ERUJVR19LTVMoImN1ciB0 MV90MyAlZCB0OCAlZCB0OSAlZCB0MTAgJWQgdDExX3QxMiAlZFxuIiwKPj4gQEAgLTUwNTcsMTMg KzUwNzcsMjMgQEAgaW50ZWxfZHBfaW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXJfcmVnaXN0ZXJz KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4+ICAgCXUzMiBwcF9vbiwgcHBfb2ZmLCBwcF9k aXYsIHBvcnRfc2VsID0gMDsKPj4gICAJaW50IGRpdiA9IEhBU19QQ0hfU1BMSVQoZGV2KSA/IGlu dGVsX3BjaF9yYXdjbGsoZGV2KSA6IGludGVsX2hyYXdjbGsoZGV2KTsKPj4gLQlpbnQgcHBfb25f cmVnLCBwcF9vZmZfcmVnLCBwcF9kaXZfcmVnOwo+PiArCWludCBwcF9vbl9yZWcsIHBwX29mZl9y ZWcsIHBwX2Rpdl9yZWcgPSAwLCBwcF9jdHJsX3JlZzsKPj4gICAJZW51bSBwb3J0IHBvcnQgPSBk cF90b19kaWdfcG9ydChpbnRlbF9kcCktPnBvcnQ7Cj4+ICAgCWNvbnN0IHN0cnVjdCBlZHBfcG93 ZXJfc2VxICpzZXEgPSAmaW50ZWxfZHAtPnBwc19kZWxheXM7Cj4+Cj4+ICAgCWxvY2tkZXBfYXNz ZXJ0X2hlbGQoJmRldl9wcml2LT5wcHNfbXV0ZXgpOwo+Pgo+PiAtCWlmIChIQVNfUENIX1NQTElU KGRldikpIHsKPj4gKwlpZiAoSVNfQlJPWFRPTihkZXYpKSB7Cj4+ICsJCS8qCj4+ICsJCSAqIFRP RE86IEJYVCBoYXMgMiBzZXRzIG9mIFBQUyByZWdpc3RlcnMuCj4+ICsJCSAqIENvcnJlY3QgUmVn aXN0ZXIgZm9yIEJyb3h0b24gbmVlZCB0byBiZSBpZGVudGlmaWVkCj4+ICsJCSAqIHVzaW5nIFZC VC4gaGFyZGNvZGluZyBmb3Igbm93Cj4+ICsJCSAqLwo+PiArCQlwcF9jdHJsX3JlZyA9IEJYVF9Q UF9DT05UUk9MKDApOwo+PiArCQlwcF9vbl9yZWcgPSBCWFRfUFBfT05fREVMQVlTKDApOwo+PiAr CQlwcF9vZmZfcmVnID0gQlhUX1BQX09GRl9ERUxBWVMoMCk7Cj4+ICsKPj4gKwl9IGVsc2UgaWYg KEhBU19QQ0hfU1BMSVQoZGV2KSkgewo+PiAgIAkJcHBfb25fcmVnID0gUENIX1BQX09OX0RFTEFZ UzsKPj4gICAJCXBwX29mZl9yZWcgPSBQQ0hfUFBfT0ZGX0RFTEFZUzsKPj4gICAJCXBwX2Rpdl9y ZWcgPSBQQ0hfUFBfRElWSVNPUjsKPj4gQEAgLTUwODksOSArNTExOSwxNiBAQCBpbnRlbF9kcF9p bml0X3BhbmVsX3Bvd2VyX3NlcXVlbmNlcl9yZWdpc3RlcnMoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKPj4gICAJCSAoc2VxLT50MTAgPDwgUEFORUxfUE9XRVJfRE9XTl9ERUxBWV9TSElGVCk7Cj4+ ICAgCS8qIENvbXB1dGUgdGhlIGRpdmlzb3IgZm9yIHRoZSBwcCBjbG9jaywgc2ltcGx5IG1hdGNo IHRoZSBCc3BlYwo+PiAgIAkgKiBmb3JtdWxhLiAqLwo+PiAtCXBwX2RpdiA9ICgoMTAwICogZGl2 KS8yIC0gMSkgPDwgUFBfUkVGRVJFTkNFX0RJVklERVJfU0hJRlQ7Cj4+IC0JcHBfZGl2IHw9IChE SVZfUk9VTkRfVVAoc2VxLT50MTFfdDEyLCAxMDAwKQo+PiAtCQkJPDwgUEFORUxfUE9XRVJfQ1lD TEVfREVMQVlfU0hJRlQpOwo+PiArCWlmIChJU19CUk9YVE9OKGRldikpIHsKPj4gKwkJcHBfZGl2 ID0gSTkxNV9SRUFEKHBwX2N0cmxfcmVnKTsKPj4gKwkJcHBfZGl2ICY9IH5CWFRfUE9XRVJfQ1lD TEVfREVMQVlfTUFTSzsKPj4gKwkJcHBfZGl2IHw9IChESVZfUk9VTkRfVVAoKHNlcS0+dDExX3Qx MiArIDEpLCAxMDAwKQo+PiArCQkJCTw8IEJYVF9QT1dFUl9DWUNMRV9ERUxBWV9TSElGVCk7Cj4+ ICsJfSBlbHNlIHsKPj4gKwkJcHBfZGl2ID0gKCgxMDAgKiBkaXYpLzIgLSAxKSA8PCBQUF9SRUZF UkVOQ0VfRElWSURFUl9TSElGVDsKPj4gKwkJcHBfZGl2IHw9IChESVZfUk9VTkRfVVAoc2VxLT50 MTFfdDEyLCAxMDAwKQo+PiArCQkJCTw8IFBBTkVMX1BPV0VSX0NZQ0xFX0RFTEFZX1NISUZUKTsK Pj4gKwl9Cj4+Cj4+ICAgCS8qIEhhc3dlbGwgZG9lc24ndCBoYXZlIGFueSBwb3J0IHNlbGVjdGlv biBiaXRzIGZvciB0aGUgcGFuZWwKPj4gICAJICogcG93ZXIgc2VxdWVuY2VyIGFueSBtb3JlLiAq Lwo+PiBAQCAtNTEwOCwxMSArNTE0NSwxNyBAQCBpbnRlbF9kcF9pbml0X3BhbmVsX3Bvd2VyX3Nl cXVlbmNlcl9yZWdpc3RlcnMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4KPj4gICAJSTkxNV9X UklURShwcF9vbl9yZWcsIHBwX29uKTsKPj4gICAJSTkxNV9XUklURShwcF9vZmZfcmVnLCBwcF9v ZmYpOwo+PiAtCUk5MTVfV1JJVEUocHBfZGl2X3JlZywgcHBfZGl2KTsKPj4gKwlpZiAoSVNfQlJP WFRPTihkZXYpKQo+PiArCQlJOTE1X1dSSVRFKHBwX2N0cmxfcmVnLCBwcF9kaXYpOwo+PiArCWVs c2UKPj4gKwkJSTkxNV9XUklURShwcF9kaXZfcmVnLCBwcF9kaXYpOwo+Pgo+PiAgIAlEUk1fREVC VUdfS01TKCJwYW5lbCBwb3dlciBzZXF1ZW5jZXIgcmVnaXN0ZXIgc2V0dGluZ3M6IFBQX09OICUj eCwgUFBfT0ZGICUjeCwgUFBfRElWICUjeFxuIiwKPj4gICAJCSAgICAgIEk5MTVfUkVBRChwcF9v bl9yZWcpLAo+PiAgIAkJICAgICAgSTkxNV9SRUFEKHBwX29mZl9yZWcpLAo+PiArCQkgICAgICBJ U19CUk9YVE9OKGRldikgPwo+PiArCQkgICAgICAoKEk5MTVfUkVBRChwcF9jdHJsX3JlZykgJiYg QlhUX1BPV0VSX0NZQ0xFX0RFTEFZX01BU0spCj4KPiBTaG91bGQgYmUgJiBub3QgJiYuIE5vdCBz dXJlIGlmIHRoZSBzaGlmdCBpcyBuZWVkZWQgcmVhbGx5LgpPb3BzICEhClRoYW5rcy4uCj4KPiBC UiwKPiBKYW5pLgo+Cj4+ICsJCSAgICAgICA+PiBCWFRfUE9XRVJfQ1lDTEVfREVMQVlfU0hJRlQp IDoKPj4gICAJCSAgICAgIEk5MTVfUkVBRChwcF9kaXZfcmVnKSk7Cj4+ICAgfQo+Pgo+PiAtLQo+ PiAyLjAuMQo+Pgo+Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4 Cg==