From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Kannan, Vandana" Subject: Re: [PATCH v4] drm/i915/bxt: eDP Panel Power sequencing Date: Wed, 13 May 2015 14:52:06 +0530 Message-ID: <555317BE.9050804@intel.com> References: <5550BDF4.5070500@intel.com> <1431510217-2673-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 mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 2973D6E589 for ; Wed, 13 May 2015 02:22:11 -0700 (PDT) In-Reply-To: <1431510217-2673-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: jani.nikula@linux.intel.com Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org CgpPbiA1LzEzLzIwMTUgMzoxMyBQTSwgVmFuZGFuYSBLYW5uYW4gd3JvdGU6Cj4gQ2hhbmdlcyBm 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 aWduZWQtb2ZmLWJ5OiBBLlN1bmlsIEthbWF0aCA8c3VuaWwua2FtYXRoQGludGVsLmNvbT4KPiAt LS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggfCAxMyArKysrKysrCj4gICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIHwgNzYgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKystLS0tLS0tLS0KPiAgIDIgZmlsZXMgY2hhbmdlZCwgNzIgaW5zZXJ0aW9ucygr KSwgMTcgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBpbmRleCAxYjMx MjM4Li43NzdjNTFhIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVn LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gQEAgLTYzMTUsNiAr NjMxNSw4IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewo+ICAgI2RlZmluZSBQQ0hfUFBf Q09OVFJPTAkJMHhjNzIwNAo+ICAgI2RlZmluZSAgUEFORUxfVU5MT0NLX1JFR1MJKDB4YWJjZCA8 PCAxNikKPiAgICNkZWZpbmUgIFBBTkVMX1VOTE9DS19NQVNLCSgweGZmZmYgPDwgMTYpCj4gKyNk ZWZpbmUgIEJYVF9QT1dFUl9DWUNMRV9ERUxBWV9NQVNLCSgweDFmMCkKPiArI2RlZmluZSAgQlhU X1BPV0VSX0NZQ0xFX0RFTEFZX1NISUZUCTQKPiAgICNkZWZpbmUgIEVEUF9GT1JDRV9WREQJCSgx IDw8IDMpCj4gICAjZGVmaW5lICBFRFBfQkxDX0VOQUJMRQkJKDEgPDwgMikKPiAgICNkZWZpbmUg IFBBTkVMX1BPV0VSX1JFU0VUCSgxIDw8IDEpCj4gQEAgLTYzNDMsNiArNjM0NSwxNyBAQCBlbnVt IHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPiAgICNkZWZpbmUgIFBBTkVMX1BPV0VSX0NZQ0xFX0RF TEFZX01BU0sJKDB4MWYpCj4gICAjZGVmaW5lICBQQU5FTF9QT1dFUl9DWUNMRV9ERUxBWV9TSElG VAkwCj4KPiArLyogQlhUIFBQUyBjaGFuZ2VzIC0gMm5kIHNldCBvZiBQUFMgcmVnaXN0ZXJzICov Cj4gKyNkZWZpbmUgX0JYVF9QUF9TVEFUVVMyCQkweGM3MzAwCj4gKyNkZWZpbmUgX0JYVF9QUF9D T05UUk9MMiAJMHhjNzMwNAo+ICsjZGVmaW5lIF9CWFRfUFBfT05fREVMQVlTMgkweGM3MzA4Cj4g KyNkZWZpbmUgX0JYVF9QUF9PRkZfREVMQVlTMgkweGM3MzBjCj4gKwo+ICsjZGVmaW5lIEJYVF9Q UF9TVEFUVVMobikJKCghbikgPyBQQ0hfUFBfU1RBVFVTIDogX0JYVF9QUF9TVEFUVVMyKQo+ICsj ZGVmaW5lIEJYVF9QUF9DT05UUk9MKG4pCSgoIW4pID8gUENIX1BQX0NPTlRST0wgOiBfQlhUX1BQ X0NPTlRST0wyKQo+ICsjZGVmaW5lIEJYVF9QUF9PTl9ERUxBWVMobikJKCghbikgPyBQQ0hfUFBf T05fREVMQVlTIDogX0JYVF9QUF9PTl9ERUxBWVMyKQo+ICsjZGVmaW5lIEJYVF9QUF9PRkZfREVM QVlTKG4pCSgoIW4pID8gUENIX1BQX09GRl9ERUxBWVMgOiBfQlhUX1BQX09GRl9ERUxBWVMyKQo+ ICsKPiAgICNkZWZpbmUgUENIX0RQX0IJCTB4ZTQxMDAKPiAgICNkZWZpbmUgUENIX0RQQl9BVVhf Q0hfQ1RMCTB4ZTQxMTAKPiAgICNkZWZpbmUgUENIX0RQQl9BVVhfQ0hfREFUQTEJMHhlNDExNAo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+IGluZGV4IGJhY2RlYzUuLmM3NDMyYTIgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RwLmMKPiBAQCAtNTU5LDcgKzU1OSw5IEBAIHN0YXRpYyB1MzIgX3Bw X2N0cmxfcmVnKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gICB7Cj4gICAJc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IGludGVsX2RwX3RvX2RldihpbnRlbF9kcCk7Cj4KPiAtCWlmIChIQVNf UENIX1NQTElUKGRldikpCj4gKwlpZiAoSVNfQlJPWFRPTihkZXYpKQo+ICsJCXJldHVybiBCWFRf UFBfQ09OVFJPTCgwKTsKPiArCWVsc2UgaWYgKEhBU19QQ0hfU1BMSVQoZGV2KSkKPiAgIAkJcmV0 dXJuIFBDSF9QUF9DT05UUk9MOwo+ICAgCWVsc2UKPiAgIAkJcmV0dXJuIFZMVl9QSVBFX1BQX0NP TlRST0wodmx2X3Bvd2VyX3NlcXVlbmNlcl9waXBlKGludGVsX2RwKSk7Cj4gQEAgLTU2OSw3ICs1 NzEsOSBAQCBzdGF0aWMgdTMyIF9wcF9zdGF0X3JlZyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2Rw KQo+ICAgewo+ICAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kcF90b19kZXYoaW50 ZWxfZHApOwo+Cj4gLQlpZiAoSEFTX1BDSF9TUExJVChkZXYpKQo+ICsJaWYgKElTX0JST1hUT04o ZGV2KSkKPiArCQlyZXR1cm4gQlhUX1BQX1NUQVRVUygwKTsKPiArCWVsc2UgaWYgKEhBU19QQ0hf U1BMSVQoZGV2KSkKPiAgIAkJcmV0dXJuIFBDSF9QUF9TVEFUVVM7Cj4gICAJZWxzZQo+ICAgCQly ZXR1cm4gVkxWX1BJUEVfUFBfU1RBVFVTKHZsdl9wb3dlcl9zZXF1ZW5jZXJfcGlwZShpbnRlbF9k cCkpOwo+IEBAIC0xNjgxLDggKzE2ODUsMTAgQEAgc3RhdGljICB1MzIgaXJvbmxha2VfZ2V0X3Bw X2NvbnRyb2woc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgIAlsb2NrZGVwX2Fzc2VydF9o ZWxkKCZkZXZfcHJpdi0+cHBzX211dGV4KTsKPgo+ICAgCWNvbnRyb2wgPSBJOTE1X1JFQUQoX3Bw X2N0cmxfcmVnKGludGVsX2RwKSk7Cj4gLQljb250cm9sICY9IH5QQU5FTF9VTkxPQ0tfTUFTSzsK PiAtCWNvbnRyb2wgfD0gUEFORUxfVU5MT0NLX1JFR1M7Cj4gKwlpZiAoIUlTX0JST1hUT04oZGV2 KSkgewo+ICsJCWNvbnRyb2wgJj0gflBBTkVMX1VOTE9DS19NQVNLOwo+ICsJCWNvbnRyb2wgfD0g UEFORUxfVU5MT0NLX1JFR1M7Cj4gKwl9Cj4gICAJcmV0dXJuIGNvbnRyb2w7Cj4gICB9Cj4KPiBA QCAtNDk2OSw4ICs0OTc1LDggQEAgaW50ZWxfZHBfaW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXIo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAgCXN0cnVjdCBlZHBfcG93ZXJfc2VxIGN1ciwg dmJ0LCBzcGVjLAo+ICAgCQkqZmluYWwgPSAmaW50ZWxfZHAtPnBwc19kZWxheXM7Cj4gLQl1MzIg cHBfb24sIHBwX29mZiwgcHBfZGl2LCBwcDsKPiAtCWludCBwcF9jdHJsX3JlZywgcHBfb25fcmVn LCBwcF9vZmZfcmVnLCBwcF9kaXZfcmVnOwo+ICsJdTMyIHBwX29uLCBwcF9vZmYsIHBwX2RpdiA9 IDAsIHBwX2N0bCA9IDA7Cj4gKwlpbnQgcHBfY3RybF9yZWcsIHBwX29uX3JlZywgcHBfb2ZmX3Jl ZywgcHBfZGl2X3JlZyA9IDA7Cj4KPiAgIAlsb2NrZGVwX2Fzc2VydF9oZWxkKCZkZXZfcHJpdi0+ cHBzX211dGV4KTsKPgo+IEBAIC00OTc4LDcgKzQ5ODQsMTYgQEAgaW50ZWxfZHBfaW5pdF9wYW5l bF9wb3dlcl9zZXF1ZW5jZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgIAlpZiAoZmluYWwt PnQxMV90MTIgIT0gMCkKPiAgIAkJcmV0dXJuOwo+Cj4gLQlpZiAoSEFTX1BDSF9TUExJVChkZXYp KSB7Cj4gKwlpZiAoSVNfQlJPWFRPTihkZXYpKSB7Cj4gKwkJLyoKPiArCQkgKiBUT0RPOiBCWFQg aGFzIDIgc2V0cyBvZiBQUFMgcmVnaXN0ZXJzLgo+ICsJCSAqIENvcnJlY3QgUmVnaXN0ZXIgZm9y IEJyb3h0b24gbmVlZCB0byBiZSBpZGVudGlmaWVkCj4gKwkJICogdXNpbmcgVkJULiBoYXJkY29k aW5nIGZvciBub3cKPiArCQkgKi8KPiArCQlwcF9jdHJsX3JlZyA9IEJYVF9QUF9DT05UUk9MKDAp Owo+ICsJCXBwX29uX3JlZyA9IEJYVF9QUF9PTl9ERUxBWVMoMCk7Cj4gKwkJcHBfb2ZmX3JlZyA9 IEJYVF9QUF9PRkZfREVMQVlTKDApOwo+ICsJfSBlbHNlIGlmIChIQVNfUENIX1NQTElUKGRldikp IHsKPiAgIAkJcHBfY3RybF9yZWcgPSBQQ0hfUFBfQ09OVFJPTDsKPiAgIAkJcHBfb25fcmVnID0g UENIX1BQX09OX0RFTEFZUzsKPiAgIAkJcHBfb2ZmX3JlZyA9IFBDSF9QUF9PRkZfREVMQVlTOwo+ IEBAIC00OTk0LDEyICs1MDA5LDEzIEBAIGludGVsX2RwX2luaXRfcGFuZWxfcG93ZXJfc2VxdWVu Y2VyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4KPiAgIAkvKiBXb3JrYXJvdW5kOiBOZWVkIHRv IHdyaXRlIFBQX0NPTlRST0wgd2l0aCB0aGUgdW5sb2NrIGtleSBhcwo+ICAgCSAqIHRoZSB2ZXJ5 IGZpcnN0IHRoaW5nLiAqLwo+IC0JcHAgPSBpcm9ubGFrZV9nZXRfcHBfY29udHJvbChpbnRlbF9k cCk7Cj4gLQlJOTE1X1dSSVRFKHBwX2N0cmxfcmVnLCBwcCk7Cj4gKwlwcF9jdGwgPSBpcm9ubGFr ZV9nZXRfcHBfY29udHJvbChpbnRlbF9kcCk7Cj4gKwlJOTE1X1dSSVRFKHBwX2N0cmxfcmVnLCBw cF9jdGwpOwo+ClRoaXMgd3JpdGUgbWF5IG5vdCBiZSByZXF1aXJlZCBmb3IgQlhULgoKLSBWYW5k YW5hCj4gICAJcHBfb24gPSBJOTE1X1JFQUQocHBfb25fcmVnKTsKPiAgIAlwcF9vZmYgPSBJOTE1 X1JFQUQocHBfb2ZmX3JlZyk7Cj4gLQlwcF9kaXYgPSBJOTE1X1JFQUQocHBfZGl2X3JlZyk7Cj4g KwlpZiAoIUlTX0JST1hUT04oZGV2KSkKPiArCQlwcF9kaXYgPSBJOTE1X1JFQUQocHBfZGl2X3Jl Zyk7Cj4KPiAgIAkvKiBQdWxsIHRpbWluZyB2YWx1ZXMgb3V0IG9mIHJlZ2lzdGVycyAqLwo+ICAg CWN1ci50MV90MyA9IChwcF9vbiAmIFBBTkVMX1BPV0VSX1VQX0RFTEFZX01BU0spID4+Cj4gQEAg LTUwMTQsNyArNTAzMCwxMSBAQCBpbnRlbF9kcF9pbml0X3BhbmVsX3Bvd2VyX3NlcXVlbmNlcihz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAgCWN1ci50MTAgPSAocHBfb2ZmICYgUEFORUxfUE9X RVJfRE9XTl9ERUxBWV9NQVNLKSA+Pgo+ICAgCQlQQU5FTF9QT1dFUl9ET1dOX0RFTEFZX1NISUZU Owo+Cj4gLQljdXIudDExX3QxMiA9ICgocHBfZGl2ICYgUEFORUxfUE9XRVJfQ1lDTEVfREVMQVlf TUFTSykgPj4KPiArCWlmIChJU19CUk9YVE9OKGRldikpCj4gKwkJY3VyLnQxMV90MTIgPSAoKChw cF9jdGwgJiBCWFRfUE9XRVJfQ1lDTEVfREVMQVlfTUFTSykgPj4KPiArCQkJQlhUX1BPV0VSX0NZ Q0xFX0RFTEFZX1NISUZUKSAtIDEpICogMTAwMDsKPiArCWVsc2UKPiArCQljdXIudDExX3QxMiA9 ICgocHBfZGl2ICYgUEFORUxfUE9XRVJfQ1lDTEVfREVMQVlfTUFTSykgPj4KPiAgIAkJICAgICAg IFBBTkVMX1BPV0VSX0NZQ0xFX0RFTEFZX1NISUZUKSAqIDEwMDA7Cj4KPiAgIAlEUk1fREVCVUdf S01TKCJjdXIgdDFfdDMgJWQgdDggJWQgdDkgJWQgdDEwICVkIHQxMV90MTIgJWRcbiIsCj4gQEAg LTUwNzIsMTMgKzUwOTIsMjMgQEAgaW50ZWxfZHBfaW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXJf cmVnaXN0ZXJzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gICAJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgIAl1MzIgcHBfb24sIHBwX29m ZiwgcHBfZGl2LCBwb3J0X3NlbCA9IDA7Cj4gICAJaW50IGRpdiA9IEhBU19QQ0hfU1BMSVQoZGV2 KSA/IGludGVsX3BjaF9yYXdjbGsoZGV2KSA6IGludGVsX2hyYXdjbGsoZGV2KTsKPiAtCWludCBw cF9vbl9yZWcsIHBwX29mZl9yZWcsIHBwX2Rpdl9yZWc7Cj4gKwlpbnQgcHBfb25fcmVnLCBwcF9v ZmZfcmVnLCBwcF9kaXZfcmVnID0gMCwgcHBfY3RybF9yZWc7Cj4gICAJZW51bSBwb3J0IHBvcnQg PSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCktPnBvcnQ7Cj4gICAJY29uc3Qgc3RydWN0IGVkcF9w b3dlcl9zZXEgKnNlcSA9ICZpbnRlbF9kcC0+cHBzX2RlbGF5czsKPgo+ICAgCWxvY2tkZXBfYXNz ZXJ0X2hlbGQoJmRldl9wcml2LT5wcHNfbXV0ZXgpOwo+Cj4gLQlpZiAoSEFTX1BDSF9TUExJVChk ZXYpKSB7Cj4gKwlpZiAoSVNfQlJPWFRPTihkZXYpKSB7Cj4gKwkJLyoKPiArCQkgKiBUT0RPOiBC WFQgaGFzIDIgc2V0cyBvZiBQUFMgcmVnaXN0ZXJzLgo+ICsJCSAqIENvcnJlY3QgUmVnaXN0ZXIg Zm9yIEJyb3h0b24gbmVlZCB0byBiZSBpZGVudGlmaWVkCj4gKwkJICogdXNpbmcgVkJULiBoYXJk Y29kaW5nIGZvciBub3cKPiArCQkgKi8KPiArCQlwcF9jdHJsX3JlZyA9IEJYVF9QUF9DT05UUk9M KDApOwo+ICsJCXBwX29uX3JlZyA9IEJYVF9QUF9PTl9ERUxBWVMoMCk7Cj4gKwkJcHBfb2ZmX3Jl ZyA9IEJYVF9QUF9PRkZfREVMQVlTKDApOwo+ICsKPiArCX0gZWxzZSBpZiAoSEFTX1BDSF9TUExJ VChkZXYpKSB7Cj4gICAJCXBwX29uX3JlZyA9IFBDSF9QUF9PTl9ERUxBWVM7Cj4gICAJCXBwX29m Zl9yZWcgPSBQQ0hfUFBfT0ZGX0RFTEFZUzsKPiAgIAkJcHBfZGl2X3JlZyA9IFBDSF9QUF9ESVZJ U09SOwo+IEBAIC01MTA0LDkgKzUxMzQsMTYgQEAgaW50ZWxfZHBfaW5pdF9wYW5lbF9wb3dlcl9z ZXF1ZW5jZXJfcmVnaXN0ZXJzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gICAJCSAoc2VxLT50 MTAgPDwgUEFORUxfUE9XRVJfRE9XTl9ERUxBWV9TSElGVCk7Cj4gICAJLyogQ29tcHV0ZSB0aGUg ZGl2aXNvciBmb3IgdGhlIHBwIGNsb2NrLCBzaW1wbHkgbWF0Y2ggdGhlIEJzcGVjCj4gICAJICog Zm9ybXVsYS4gKi8KPiAtCXBwX2RpdiA9ICgoMTAwICogZGl2KS8yIC0gMSkgPDwgUFBfUkVGRVJF TkNFX0RJVklERVJfU0hJRlQ7Cj4gLQlwcF9kaXYgfD0gKERJVl9ST1VORF9VUChzZXEtPnQxMV90 MTIsIDEwMDApCj4gLQkJCTw8IFBBTkVMX1BPV0VSX0NZQ0xFX0RFTEFZX1NISUZUKTsKPiArCWlm IChJU19CUk9YVE9OKGRldikpIHsKPiArCQlwcF9kaXYgPSBJOTE1X1JFQUQocHBfY3RybF9yZWcp Owo+ICsJCXBwX2RpdiAmPSB+QlhUX1BPV0VSX0NZQ0xFX0RFTEFZX01BU0s7Cj4gKwkJcHBfZGl2 IHw9IChESVZfUk9VTkRfVVAoKHNlcS0+dDExX3QxMiArIDEpLCAxMDAwKQo+ICsJCQkJPDwgQlhU X1BPV0VSX0NZQ0xFX0RFTEFZX1NISUZUKTsKPiArCX0gZWxzZSB7Cj4gKwkJcHBfZGl2ID0gKCgx MDAgKiBkaXYpLzIgLSAxKSA8PCBQUF9SRUZFUkVOQ0VfRElWSURFUl9TSElGVDsKPiArCQlwcF9k aXYgfD0gKERJVl9ST1VORF9VUChzZXEtPnQxMV90MTIsIDEwMDApCj4gKwkJCQk8PCBQQU5FTF9Q T1dFUl9DWUNMRV9ERUxBWV9TSElGVCk7Cj4gKwl9Cj4KPiAgIAkvKiBIYXN3ZWxsIGRvZXNuJ3Qg aGF2ZSBhbnkgcG9ydCBzZWxlY3Rpb24gYml0cyBmb3IgdGhlIHBhbmVsCj4gICAJICogcG93ZXIg c2VxdWVuY2VyIGFueSBtb3JlLiAqLwo+IEBAIC01MTIzLDExICs1MTYwLDE2IEBAIGludGVsX2Rw X2luaXRfcGFuZWxfcG93ZXJfc2VxdWVuY2VyX3JlZ2lzdGVycyhzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAo+Cj4gICAJSTkxNV9XUklURShwcF9vbl9yZWcsIHBwX29uKTsKPiAgIAlJOTE1X1dSSVRF KHBwX29mZl9yZWcsIHBwX29mZik7Cj4gLQlJOTE1X1dSSVRFKHBwX2Rpdl9yZWcsIHBwX2Rpdik7 Cj4gKwlpZiAoSVNfQlJPWFRPTihkZXYpKQo+ICsJCUk5MTVfV1JJVEUocHBfY3RybF9yZWcsIHBw X2Rpdik7Cj4gKwllbHNlCj4gKwkJSTkxNV9XUklURShwcF9kaXZfcmVnLCBwcF9kaXYpOwo+Cj4g ICAJRFJNX0RFQlVHX0tNUygicGFuZWwgcG93ZXIgc2VxdWVuY2VyIHJlZ2lzdGVyIHNldHRpbmdz OiBQUF9PTiAlI3gsIFBQX09GRiAlI3gsIFBQX0RJViAlI3hcbiIsCj4gICAJCSAgICAgIEk5MTVf UkVBRChwcF9vbl9yZWcpLAo+ICAgCQkgICAgICBJOTE1X1JFQUQocHBfb2ZmX3JlZyksCj4gKwkJ ICAgICAgSVNfQlJPWFRPTihkZXYpID8KPiArCQkgICAgICAoSTkxNV9SRUFEKHBwX2N0cmxfcmVn KSAmIEJYVF9QT1dFUl9DWUNMRV9ERUxBWV9NQVNLKSA6Cj4gICAJCSAgICAgIEk5MTVfUkVBRChw cF9kaXZfcmVnKSk7Cj4gICB9Cj4KPgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=