From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jindal, Sonika" Subject: Re: [PATCH v4] drm/i915/bxt: eDP Panel Power sequencing Date: Wed, 17 Jun 2015 14:45:29 +0530 Message-ID: <55813AB1.2040609@intel.com> References: <1434104850-27974-1-git-send-email-vandana.kannan@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 88E576E022 for ; Wed, 17 Jun 2015 02:15:42 -0700 (PDT) In-Reply-To: <1434104850-27974-1-git-send-email-vandana.kannan@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Vandana Kannan , "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org CgpPbiA2LzEyLzIwMTUgMzo1NyBQTSwgVmFuZGFuYSBLYW5uYW4gd3JvdGU6Cj4gQ2hhbmdlcyBm b3IgQlhUIC0gYWRkZWQgYSBJU19CUk9YVE9OIGNoZWNrIHRvIHVzZSB0aGUgbWFjcm8gcmVsYXRl ZCB0byBQUFMKPiByZWdpc3RlcnMgZm9yIEJYVC4KPiBCWFQgZG9lcyBub3QgaGF2ZSBQUF9ESVYg cmVnaXN0ZXIuIE1ha2luZyBjaGFuZ2VzIHRvIGhhbmRsZSB0aGlzLgo+IFNlY29uZCBzZXQgb2Yg UFBTIHJlZ2lzdGVycyBoYXZlIGJlZW4gZGVmaW5lZCBidXQgd2lsbCBiZSB1c2VkIHdoZW4gVkJU Cj4gcHJvdmlkZXMgYSBzZWxlY3Rpb24gYmV0d2VlbiB0aGUgMiBzZXRzIG9mIHJlZ2lzdGVycy4K Pgo+IHYyOgo+IFtKYW5pXSBBZGRlZCAybmQgc2V0IG9mIFBQUyByZWdpc3RlcnMgYW5kIHRoZSBt YWNybwo+IEphbmkncyByZXZpZXcgY29tbWVudHMKPiAJLSByZW1vdmUgcmVmZXJlbmNlIGluIGk5 MTVfc3VzcGVuZC5jCj4gCS0gVXNlIEJYVCBQUCBtYWNybwo+IFNxdWFzaGluZyBhbGwgUFBTIHJl bGF0ZWQgcGF0Y2hlcyBpbnRvIG9uZS4KPgo+IHYzOiBKYW5pJ3MgcmV2aWV3IGNvbW1lbnRzIGFk ZHJlc3NlZAo+IAktIFVzZSBwcF9jdGwgaW5zdGVhZCBvZiBwcAo+IAktIGlyb25sYWtlX2dldF9w cF9jb250cm9sKCkgaXMgbm90IHJlcXVpcmVkIGZvciBCWFQKPiAJLSBjb3JyZWN0IHRoZSB1c2Ug b2YgJiYgaW4gdGhlIHByaW50IHN0YXRlbWVudAo+IAktIGRyb3AgdGhlIHNoaWZ0IGluIHRoZSBw cmludCBzdGF0ZW1lbnQKPgo+IHY0OiBKYW5pJ3MgY29tbWVudHMKPiAJLSBtb2RpZnkgaXJvbmxh a2VfZ2V0X3BwX2NvbnRyb2woKSAtIGRvbnQgc2V0IHVubG9jayBrZXkgZm9yIGJ4dAo+Cj4gU2ln bmVkLW9mZi1ieTogVmFuZGFuYSBLYW5uYW4gPHZhbmRhbmEua2FubmFuQGludGVsLmNvbT4KPiBT aWduZWQtb2ZmLWJ5OiBBLlN1bmlsIEthbWF0aCA8c3VuaWwua2FtYXRoQGludGVsLmNvbT4KPiBD YzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGxpbnV4LmludGVsLmNvbT4KPiAtLS0KPiAgIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggfCAxMyArKysrKysrCj4gICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcC5jIHwgNzYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0KPiAgIDIgZmlsZXMgY2hhbmdlZCwgNzIgaW5zZXJ0aW9ucygrKSwgMTcgZGVs ZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBpbmRleCA3MjEzMjI0Li5jYzAz YjViIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gQEAgLTYzNzcsNiArNjM3Nyw4IEBA IGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAgI2RlZmluZSBQQ0hfUFBfQ09OVFJPTAkJ MHhjNzIwNAo+ICAgI2RlZmluZSAgUEFORUxfVU5MT0NLX1JFR1MJKDB4YWJjZCA8PCAxNikKPiAg ICNkZWZpbmUgIFBBTkVMX1VOTE9DS19NQVNLCSgweGZmZmYgPDwgMTYpCj4gKyNkZWZpbmUgIEJY VF9QT1dFUl9DWUNMRV9ERUxBWV9NQVNLCSgweDFmMCkKPiArI2RlZmluZSAgQlhUX1BPV0VSX0NZ Q0xFX0RFTEFZX1NISUZUCTQKPiAgICNkZWZpbmUgIEVEUF9GT1JDRV9WREQJCSgxIDw8IDMpCj4g ICAjZGVmaW5lICBFRFBfQkxDX0VOQUJMRQkJKDEgPDwgMikKPiAgICNkZWZpbmUgIFBBTkVMX1BP V0VSX1JFU0VUCSgxIDw8IDEpCj4gQEAgLTY0MDUsNiArNjQwNywxNyBAQCBlbnVtIHNrbF9kaXNw X3Bvd2VyX3dlbGxzIHsKPiAgICNkZWZpbmUgIFBBTkVMX1BPV0VSX0NZQ0xFX0RFTEFZX01BU0sJ KDB4MWYpCj4gICAjZGVmaW5lICBQQU5FTF9QT1dFUl9DWUNMRV9ERUxBWV9TSElGVAkwCj4KPiAr LyogQlhUIFBQUyBjaGFuZ2VzIC0gMm5kIHNldCBvZiBQUFMgcmVnaXN0ZXJzICovCj4gKyNkZWZp bmUgX0JYVF9QUF9TVEFUVVMyCQkweGM3MzAwCk5vdCBhbGlnbmVkPwoKPiArI2RlZmluZSBfQlhU X1BQX0NPTlRST0wyIAkweGM3MzA0Cj4gKyNkZWZpbmUgX0JYVF9QUF9PTl9ERUxBWVMyCTB4Yzcz MDgKPiArI2RlZmluZSBfQlhUX1BQX09GRl9ERUxBWVMyCTB4YzczMGMKPiArCj4gKyNkZWZpbmUg QlhUX1BQX1NUQVRVUyhuKQkoKCFuKSA/IFBDSF9QUF9TVEFUVVMgOiBfQlhUX1BQX1NUQVRVUzIp Cj4gKyNkZWZpbmUgQlhUX1BQX0NPTlRST0wobikJKCghbikgPyBQQ0hfUFBfQ09OVFJPTCA6IF9C WFRfUFBfQ09OVFJPTDIpCj4gKyNkZWZpbmUgQlhUX1BQX09OX0RFTEFZUyhuKQkoKCFuKSA/IFBD SF9QUF9PTl9ERUxBWVMgOiBfQlhUX1BQX09OX0RFTEFZUzIpCj4gKyNkZWZpbmUgQlhUX1BQX09G Rl9ERUxBWVMobikJKCghbikgPyBQQ0hfUFBfT0ZGX0RFTEFZUyA6IF9CWFRfUFBfT0ZGX0RFTEFZ UzIpCj4gKwo+ICAgI2RlZmluZSBQQ0hfRFBfQgkJMHhlNDEwMAo+ICAgI2RlZmluZSBQQ0hfRFBC X0FVWF9DSF9DVEwJMHhlNDExMAo+ICAgI2RlZmluZSBQQ0hfRFBCX0FVWF9DSF9EQVRBMQkweGU0 MTE0Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gaW5kZXggMTVlODg5Mi4uYWQ5Y2IwZTkgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiBAQCAtNTY3LDcgKzU2Nyw5IEBAIHN0YXRpYyB1 MzIgX3BwX2N0cmxfcmVnKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gICB7Cj4gICAJc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2RwX3RvX2RldihpbnRlbF9kcCk7Cj4KPiAtCWlm IChIQVNfUENIX1NQTElUKGRldikpCj4gKwlpZiAoSVNfQlJPWFRPTihkZXYpKQo+ICsJCXJldHVy biBCWFRfUFBfQ09OVFJPTCgwKTsKPiArCWVsc2UgaWYgKEhBU19QQ0hfU1BMSVQoZGV2KSkKPiAg IAkJcmV0dXJuIFBDSF9QUF9DT05UUk9MOwo+ICAgCWVsc2UKPiAgIAkJcmV0dXJuIFZMVl9QSVBF X1BQX0NPTlRST0wodmx2X3Bvd2VyX3NlcXVlbmNlcl9waXBlKGludGVsX2RwKSk7Cj4gQEAgLTU3 Nyw3ICs1NzksOSBAQCBzdGF0aWMgdTMyIF9wcF9zdGF0X3JlZyhzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwKQo+ICAgewo+ICAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kcF90b19k ZXYoaW50ZWxfZHApOwo+Cj4gLQlpZiAoSEFTX1BDSF9TUExJVChkZXYpKQo+ICsJaWYgKElTX0JS T1hUT04oZGV2KSkKPiArCQlyZXR1cm4gQlhUX1BQX1NUQVRVUygwKTsKPiArCWVsc2UgaWYgKEhB U19QQ0hfU1BMSVQoZGV2KSkKPiAgIAkJcmV0dXJuIFBDSF9QUF9TVEFUVVM7Cj4gICAJZWxzZQo+ ICAgCQlyZXR1cm4gVkxWX1BJUEVfUFBfU1RBVFVTKHZsdl9wb3dlcl9zZXF1ZW5jZXJfcGlwZShp bnRlbF9kcCkpOwo+IEBAIC0xNzAxLDggKzE3MDUsMTAgQEAgc3RhdGljICB1MzIgaXJvbmxha2Vf Z2V0X3BwX2NvbnRyb2woc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgIAlsb2NrZGVwX2Fz c2VydF9oZWxkKCZkZXZfcHJpdi0+cHBzX211dGV4KTsKPgo+ICAgCWNvbnRyb2wgPSBJOTE1X1JF QUQoX3BwX2N0cmxfcmVnKGludGVsX2RwKSk7Cj4gLQljb250cm9sICY9IH5QQU5FTF9VTkxPQ0tf TUFTSzsKPiAtCWNvbnRyb2wgfD0gUEFORUxfVU5MT0NLX1JFR1M7Cj4gKwlpZiAoIUlTX0JST1hU T04oZGV2KSkgewo+ICsJCWNvbnRyb2wgJj0gflBBTkVMX1VOTE9DS19NQVNLOwo+ICsJCWNvbnRy b2wgfD0gUEFORUxfVU5MT0NLX1JFR1M7Cj4gKwl9Cj4gICAJcmV0dXJuIGNvbnRyb2w7Cj4gICB9 Cj4KPiBAQCAtNTA5MSw4ICs1MDk3LDggQEAgaW50ZWxfZHBfaW5pdF9wYW5lbF9wb3dlcl9zZXF1 ZW5jZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAgCXN0cnVjdCBlZHBfcG93ZXJfc2Vx IGN1ciwgdmJ0LCBzcGVjLAo+ICAgCQkqZmluYWwgPSAmaW50ZWxfZHAtPnBwc19kZWxheXM7Cj4g LQl1MzIgcHBfb24sIHBwX29mZiwgcHBfZGl2LCBwcDsKPiAtCWludCBwcF9jdHJsX3JlZywgcHBf b25fcmVnLCBwcF9vZmZfcmVnLCBwcF9kaXZfcmVnOwo+ICsJdTMyIHBwX29uLCBwcF9vZmYsIHBw X2RpdiA9IDAsIHBwX2N0bCA9IDA7Cj4gKwlpbnQgcHBfY3RybF9yZWcsIHBwX29uX3JlZywgcHBf b2ZmX3JlZywgcHBfZGl2X3JlZyA9IDA7Cj4KPiAgIAlsb2NrZGVwX2Fzc2VydF9oZWxkKCZkZXZf cHJpdi0+cHBzX211dGV4KTsKPgo+IEBAIC01MTAwLDcgKzUxMDYsMTYgQEAgaW50ZWxfZHBfaW5p dF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgIAlpZiAo ZmluYWwtPnQxMV90MTIgIT0gMCkKPiAgIAkJcmV0dXJuOwo+Cj4gLQlpZiAoSEFTX1BDSF9TUExJ VChkZXYpKSB7Cj4gKwlpZiAoSVNfQlJPWFRPTihkZXYpKSB7Cj4gKwkJLyoKPiArCQkgKiBUT0RP OiBCWFQgaGFzIDIgc2V0cyBvZiBQUFMgcmVnaXN0ZXJzLgo+ICsJCSAqIENvcnJlY3QgUmVnaXN0 ZXIgZm9yIEJyb3h0b24gbmVlZCB0byBiZSBpZGVudGlmaWVkCj4gKwkJICogdXNpbmcgVkJULiBo YXJkY29kaW5nIGZvciBub3cKPiArCQkgKi8KPiArCQlwcF9jdHJsX3JlZyA9IEJYVF9QUF9DT05U Uk9MKDApOwo+ICsJCXBwX29uX3JlZyA9IEJYVF9QUF9PTl9ERUxBWVMoMCk7Cj4gKwkJcHBfb2Zm X3JlZyA9IEJYVF9QUF9PRkZfREVMQVlTKDApOwo+ICsJfSBlbHNlIGlmIChIQVNfUENIX1NQTElU KGRldikpIHsKPiAgIAkJcHBfY3RybF9yZWcgPSBQQ0hfUFBfQ09OVFJPTDsKPiAgIAkJcHBfb25f cmVnID0gUENIX1BQX09OX0RFTEFZUzsKPiAgIAkJcHBfb2ZmX3JlZyA9IFBDSF9QUF9PRkZfREVM QVlTOwo+IEBAIC01MTE2LDEyICs1MTMxLDEzIEBAIGludGVsX2RwX2luaXRfcGFuZWxfcG93ZXJf c2VxdWVuY2VyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4KPiAgIAkvKiBXb3JrYXJvdW5kOiBO ZWVkIHRvIHdyaXRlIFBQX0NPTlRST0wgd2l0aCB0aGUgdW5sb2NrIGtleSBhcwo+ICAgCSAqIHRo ZSB2ZXJ5IGZpcnN0IHRoaW5nLiAqLwo+IC0JcHAgPSBpcm9ubGFrZV9nZXRfcHBfY29udHJvbChp bnRlbF9kcCk7Cj4gLQlJOTE1X1dSSVRFKHBwX2N0cmxfcmVnLCBwcCk7Cj4gKwlwcF9jdGwgPSBp cm9ubGFrZV9nZXRfcHBfY29udHJvbChpbnRlbF9kcCk7Cj4gKwlJOTE1X1dSSVRFKHBwX2N0cmxf cmVnLCBwcF9jdGwpOwpTaW5jZSB5b3UgYXJlIG5vdCBkb2luZyBhbnl0aGluZyBpbiBpcm9ubGFr ZV9nZXRfcHBfY29udHJvbCwgeW91IGNhbiAKbW92ZSB0aGlzIHdyaXRlIHRvICFJU19CUk9YVE9O IGJlbG93Cgo+Cj4gICAJcHBfb24gPSBJOTE1X1JFQUQocHBfb25fcmVnKTsKPiAgIAlwcF9vZmYg PSBJOTE1X1JFQUQocHBfb2ZmX3JlZyk7Cj4gLQlwcF9kaXYgPSBJOTE1X1JFQUQocHBfZGl2X3Jl Zyk7Cj4gKwlpZiAoIUlTX0JST1hUT04oZGV2KSkKPiArCQlwcF9kaXYgPSBJOTE1X1JFQUQocHBf ZGl2X3JlZyk7Cj4KPiAgIAkvKiBQdWxsIHRpbWluZyB2YWx1ZXMgb3V0IG9mIHJlZ2lzdGVycyAq Lwo+ICAgCWN1ci50MV90MyA9IChwcF9vbiAmIFBBTkVMX1BPV0VSX1VQX0RFTEFZX01BU0spID4+ Cj4gQEAgLTUxMzYsNyArNTE1MiwxMSBAQCBpbnRlbF9kcF9pbml0X3BhbmVsX3Bvd2VyX3NlcXVl bmNlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAgCWN1ci50MTAgPSAocHBfb2ZmICYgUEFO RUxfUE9XRVJfRE9XTl9ERUxBWV9NQVNLKSA+Pgo+ICAgCQlQQU5FTF9QT1dFUl9ET1dOX0RFTEFZ X1NISUZUOwo+Cj4gLQljdXIudDExX3QxMiA9ICgocHBfZGl2ICYgUEFORUxfUE9XRVJfQ1lDTEVf REVMQVlfTUFTSykgPj4KPiArCWlmIChJU19CUk9YVE9OKGRldikpCj4gKwkJY3VyLnQxMV90MTIg PSAoKChwcF9jdGwgJiBCWFRfUE9XRVJfQ1lDTEVfREVMQVlfTUFTSykgPj4KPiArCQkJQlhUX1BP V0VSX0NZQ0xFX0RFTEFZX1NISUZUKSAtIDEpICogMTAwMDsKV2h5IGEgLTEgaGVyZSBmb3IgYnJv eHRvbiBhbmQgbm90IGZvciBvdGhlciBwbGF0Zm9ybXM/CkFsc28sIHNpbmNlIDAgaXMgYWxzbyBh IHZhbGlkIHZhbHVlIGFuZCBjdXIudDExX3QxMiBpcyB1MTYsIHRoaXMgLTEgd2lsbCAKcmVzdWx0 IGluIHVuZGVmaW5lZCB2YWx1ZS4KClJlZ2FyZHMsClNvbmlrYQo+ICsJZWxzZQo+ICsJCWN1ci50 MTFfdDEyID0gKChwcF9kaXYgJiBQQU5FTF9QT1dFUl9DWUNMRV9ERUxBWV9NQVNLKSA+Pgo+ICAg CQkgICAgICAgUEFORUxfUE9XRVJfQ1lDTEVfREVMQVlfU0hJRlQpICogMTAwMDsKPgo+ICAgCURS TV9ERUJVR19LTVMoImN1ciB0MV90MyAlZCB0OCAlZCB0OSAlZCB0MTAgJWQgdDExX3QxMiAlZFxu IiwKPiBAQCAtNTE5NCwxMyArNTIxNCwyMyBAQCBpbnRlbF9kcF9pbml0X3BhbmVsX3Bvd2VyX3Nl cXVlbmNlcl9yZWdpc3RlcnMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAgCXUzMiBwcF9v biwgcHBfb2ZmLCBwcF9kaXYsIHBvcnRfc2VsID0gMDsKPiAgIAlpbnQgZGl2ID0gSEFTX1BDSF9T UExJVChkZXYpID8gaW50ZWxfcGNoX3Jhd2NsayhkZXYpIDogaW50ZWxfaHJhd2NsayhkZXYpOwo+ IC0JaW50IHBwX29uX3JlZywgcHBfb2ZmX3JlZywgcHBfZGl2X3JlZzsKPiArCWludCBwcF9vbl9y ZWcsIHBwX29mZl9yZWcsIHBwX2Rpdl9yZWcgPSAwLCBwcF9jdHJsX3JlZzsKPiAgIAllbnVtIHBv cnQgcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKS0+cG9ydDsKPiAgIAljb25zdCBzdHJ1 Y3QgZWRwX3Bvd2VyX3NlcSAqc2VxID0gJmludGVsX2RwLT5wcHNfZGVsYXlzOwo+Cj4gICAJbG9j a2RlcF9hc3NlcnRfaGVsZCgmZGV2X3ByaXYtPnBwc19tdXRleCk7Cj4KPiAtCWlmIChIQVNfUENI X1NQTElUKGRldikpIHsKPiArCWlmIChJU19CUk9YVE9OKGRldikpIHsKPiArCQkvKgo+ICsJCSAq IFRPRE86IEJYVCBoYXMgMiBzZXRzIG9mIFBQUyByZWdpc3RlcnMuCj4gKwkJICogQ29ycmVjdCBS ZWdpc3RlciBmb3IgQnJveHRvbiBuZWVkIHRvIGJlIGlkZW50aWZpZWQKPiArCQkgKiB1c2luZyBW QlQuIGhhcmRjb2RpbmcgZm9yIG5vdwo+ICsJCSAqLwo+ICsJCXBwX2N0cmxfcmVnID0gQlhUX1BQ X0NPTlRST0woMCk7Cj4gKwkJcHBfb25fcmVnID0gQlhUX1BQX09OX0RFTEFZUygwKTsKPiArCQlw cF9vZmZfcmVnID0gQlhUX1BQX09GRl9ERUxBWVMoMCk7Cj4gKwo+ICsJfSBlbHNlIGlmIChIQVNf UENIX1NQTElUKGRldikpIHsKPiAgIAkJcHBfb25fcmVnID0gUENIX1BQX09OX0RFTEFZUzsKPiAg IAkJcHBfb2ZmX3JlZyA9IFBDSF9QUF9PRkZfREVMQVlTOwo+ICAgCQlwcF9kaXZfcmVnID0gUENI X1BQX0RJVklTT1I7Cj4gQEAgLTUyMjYsOSArNTI1NiwxNiBAQCBpbnRlbF9kcF9pbml0X3BhbmVs X3Bvd2VyX3NlcXVlbmNlcl9yZWdpc3RlcnMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgIAkJ IChzZXEtPnQxMCA8PCBQQU5FTF9QT1dFUl9ET1dOX0RFTEFZX1NISUZUKTsKPiAgIAkvKiBDb21w dXRlIHRoZSBkaXZpc29yIGZvciB0aGUgcHAgY2xvY2ssIHNpbXBseSBtYXRjaCB0aGUgQnNwZWMK PiAgIAkgKiBmb3JtdWxhLiAqLwo+IC0JcHBfZGl2ID0gKCgxMDAgKiBkaXYpLzIgLSAxKSA8PCBQ UF9SRUZFUkVOQ0VfRElWSURFUl9TSElGVDsKPiAtCXBwX2RpdiB8PSAoRElWX1JPVU5EX1VQKHNl cS0+dDExX3QxMiwgMTAwMCkKPiAtCQkJPDwgUEFORUxfUE9XRVJfQ1lDTEVfREVMQVlfU0hJRlQp Owo+ICsJaWYgKElTX0JST1hUT04oZGV2KSkgewo+ICsJCXBwX2RpdiA9IEk5MTVfUkVBRChwcF9j dHJsX3JlZyk7Cj4gKwkJcHBfZGl2ICY9IH5CWFRfUE9XRVJfQ1lDTEVfREVMQVlfTUFTSzsKPiAr CQlwcF9kaXYgfD0gKERJVl9ST1VORF9VUCgoc2VxLT50MTFfdDEyICsgMSksIDEwMDApCj4gKwkJ CQk8PCBCWFRfUE9XRVJfQ1lDTEVfREVMQVlfU0hJRlQpOwo+ICsJfSBlbHNlIHsKPiArCQlwcF9k aXYgPSAoKDEwMCAqIGRpdikvMiAtIDEpIDw8IFBQX1JFRkVSRU5DRV9ESVZJREVSX1NISUZUOwo+ ICsJCXBwX2RpdiB8PSAoRElWX1JPVU5EX1VQKHNlcS0+dDExX3QxMiwgMTAwMCkKPiArCQkJCTw8 IFBBTkVMX1BPV0VSX0NZQ0xFX0RFTEFZX1NISUZUKTsKPiArCX0KPgo+ICAgCS8qIEhhc3dlbGwg ZG9lc24ndCBoYXZlIGFueSBwb3J0IHNlbGVjdGlvbiBiaXRzIGZvciB0aGUgcGFuZWwKPiAgIAkg KiBwb3dlciBzZXF1ZW5jZXIgYW55IG1vcmUuICovCj4gQEAgLTUyNDUsMTEgKzUyODIsMTYgQEAg aW50ZWxfZHBfaW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXJfcmVnaXN0ZXJzKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCj4KPiAgIAlJOTE1X1dSSVRFKHBwX29uX3JlZywgcHBfb24pOwo+ICAgCUk5 MTVfV1JJVEUocHBfb2ZmX3JlZywgcHBfb2ZmKTsKPiAtCUk5MTVfV1JJVEUocHBfZGl2X3JlZywg cHBfZGl2KTsKPiArCWlmIChJU19CUk9YVE9OKGRldikpCj4gKwkJSTkxNV9XUklURShwcF9jdHJs X3JlZywgcHBfZGl2KTsKPiArCWVsc2UKPiArCQlJOTE1X1dSSVRFKHBwX2Rpdl9yZWcsIHBwX2Rp dik7Cj4KPiAgIAlEUk1fREVCVUdfS01TKCJwYW5lbCBwb3dlciBzZXF1ZW5jZXIgcmVnaXN0ZXIg c2V0dGluZ3M6IFBQX09OICUjeCwgUFBfT0ZGICUjeCwgUFBfRElWICUjeFxuIiwKPiAgIAkJICAg ICAgSTkxNV9SRUFEKHBwX29uX3JlZyksCj4gICAJCSAgICAgIEk5MTVfUkVBRChwcF9vZmZfcmVn KSwKPiArCQkgICAgICBJU19CUk9YVE9OKGRldikgPwo+ICsJCSAgICAgIChJOTE1X1JFQUQocHBf Y3RybF9yZWcpICYgQlhUX1BPV0VSX0NZQ0xFX0RFTEFZX01BU0spIDoKPiAgIAkJICAgICAgSTkx NV9SRUFEKHBwX2Rpdl9yZWcpKTsKPiAgIH0KPgo+Cl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cg==