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, 17 Jun 2015 14:52:00 +0530 Message-ID: <55813C38.6040000@intel.com> References: <1434104850-27974-1-git-send-email-vandana.kannan@intel.com> <55813AB1.2040609@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 6911D6E5DD for ; Wed, 17 Jun 2015 02:22:03 -0700 (PDT) In-Reply-To: <55813AB1.2040609@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Jindal, Sonika" , "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org CgpPbiA2LzE3LzIwMTUgMjo0NSBQTSwgSmluZGFsLCBTb25pa2Egd3JvdGU6Cj4KPgo+IE9uIDYv MTIvMjAxNSAzOjU3IFBNLCBWYW5kYW5hIEthbm5hbiB3cm90ZToKPj4gQ2hhbmdlcyBmb3IgQlhU IC0gYWRkZWQgYSBJU19CUk9YVE9OIGNoZWNrIHRvIHVzZSB0aGUgbWFjcm8gcmVsYXRlZCB0bwo+ PiBQUFMKPj4gcmVnaXN0ZXJzIGZvciBCWFQuCj4+IEJYVCBkb2VzIG5vdCBoYXZlIFBQX0RJViBy ZWdpc3Rlci4gTWFraW5nIGNoYW5nZXMgdG8gaGFuZGxlIHRoaXMuCj4+IFNlY29uZCBzZXQgb2Yg UFBTIHJlZ2lzdGVycyBoYXZlIGJlZW4gZGVmaW5lZCBidXQgd2lsbCBiZSB1c2VkIHdoZW4gVkJU Cj4+IHByb3ZpZGVzIGEgc2VsZWN0aW9uIGJldHdlZW4gdGhlIDIgc2V0cyBvZiByZWdpc3RlcnMu Cj4+Cj4+IHYyOgo+PiBbSmFuaV0gQWRkZWQgMm5kIHNldCBvZiBQUFMgcmVnaXN0ZXJzIGFuZCB0 aGUgbWFjcm8KPj4gSmFuaSdzIHJldmlldyBjb21tZW50cwo+PiAgICAgLSByZW1vdmUgcmVmZXJl bmNlIGluIGk5MTVfc3VzcGVuZC5jCj4+ICAgICAtIFVzZSBCWFQgUFAgbWFjcm8KPj4gU3F1YXNo aW5nIGFsbCBQUFMgcmVsYXRlZCBwYXRjaGVzIGludG8gb25lLgo+Pgo+PiB2MzogSmFuaSdzIHJl dmlldyBjb21tZW50cyBhZGRyZXNzZWQKPj4gICAgIC0gVXNlIHBwX2N0bCBpbnN0ZWFkIG9mIHBw Cj4+ICAgICAtIGlyb25sYWtlX2dldF9wcF9jb250cm9sKCkgaXMgbm90IHJlcXVpcmVkIGZvciBC WFQKPj4gICAgIC0gY29ycmVjdCB0aGUgdXNlIG9mICYmIGluIHRoZSBwcmludCBzdGF0ZW1lbnQK Pj4gICAgIC0gZHJvcCB0aGUgc2hpZnQgaW4gdGhlIHByaW50IHN0YXRlbWVudAo+Pgo+PiB2NDog SmFuaSdzIGNvbW1lbnRzCj4+ICAgICAtIG1vZGlmeSBpcm9ubGFrZV9nZXRfcHBfY29udHJvbCgp IC0gZG9udCBzZXQgdW5sb2NrIGtleSBmb3IgYnh0Cj4+Cj4+IFNpZ25lZC1vZmYtYnk6IFZhbmRh bmEgS2FubmFuIDx2YW5kYW5hLmthbm5hbkBpbnRlbC5jb20+Cj4+IFNpZ25lZC1vZmYtYnk6IEEu U3VuaWwgS2FtYXRoIDxzdW5pbC5rYW1hdGhAaW50ZWwuY29tPgo+PiBDYzogSmFuaSBOaWt1bGEg PGphbmkubmlrdWxhQGxpbnV4LmludGVsLmNvbT4KPj4gLS0tCj4+ICAgZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZWcuaCB8IDEzICsrKysrKysKPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcC5jIHwgNzYKPj4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0t LS0KPj4gICAyIGZpbGVzIGNoYW5nZWQsIDcyIGluc2VydGlvbnMoKyksIDE3IGRlbGV0aW9ucygt KQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+PiBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPj4gaW5kZXggNzIxMzIyNC4uY2MwM2I1 YiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4+IEBAIC02Mzc3LDYgKzYzNzcsOCBA QCBlbnVtIHNrbF9kaXNwX3Bvd2VyX3dlbGxzIHsKPj4gICAjZGVmaW5lIFBDSF9QUF9DT05UUk9M ICAgICAgICAweGM3MjA0Cj4+ICAgI2RlZmluZSAgUEFORUxfVU5MT0NLX1JFR1MgICAgKDB4YWJj ZCA8PCAxNikKPj4gICAjZGVmaW5lICBQQU5FTF9VTkxPQ0tfTUFTSyAgICAoMHhmZmZmIDw8IDE2 KQo+PiArI2RlZmluZSAgQlhUX1BPV0VSX0NZQ0xFX0RFTEFZX01BU0sgICAgKDB4MWYwKQo+PiAr I2RlZmluZSAgQlhUX1BPV0VSX0NZQ0xFX0RFTEFZX1NISUZUICAgIDQKPj4gICAjZGVmaW5lICBF RFBfRk9SQ0VfVkREICAgICAgICAoMSA8PCAzKQo+PiAgICNkZWZpbmUgIEVEUF9CTENfRU5BQkxF ICAgICAgICAoMSA8PCAyKQo+PiAgICNkZWZpbmUgIFBBTkVMX1BPV0VSX1JFU0VUICAgICgxIDw8 IDEpCj4+IEBAIC02NDA1LDYgKzY0MDcsMTcgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7 Cj4+ICAgI2RlZmluZSAgUEFORUxfUE9XRVJfQ1lDTEVfREVMQVlfTUFTSyAgICAoMHgxZikKPj4g ICAjZGVmaW5lICBQQU5FTF9QT1dFUl9DWUNMRV9ERUxBWV9TSElGVCAgICAwCj4+Cj4+ICsvKiBC WFQgUFBTIGNoYW5nZXMgLSAybmQgc2V0IG9mIFBQUyByZWdpc3RlcnMgKi8KPj4gKyNkZWZpbmUg X0JYVF9QUF9TVEFUVVMyICAgICAgICAweGM3MzAwCj4gTm90IGFsaWduZWQ/Cj4KPj4gKyNkZWZp bmUgX0JYVF9QUF9DT05UUk9MMiAgICAgMHhjNzMwNAo+PiArI2RlZmluZSBfQlhUX1BQX09OX0RF TEFZUzIgICAgMHhjNzMwOAo+PiArI2RlZmluZSBfQlhUX1BQX09GRl9ERUxBWVMyICAgIDB4Yzcz MGMKPj4gKwo+PiArI2RlZmluZSBCWFRfUFBfU1RBVFVTKG4pICAgICgoIW4pID8gUENIX1BQX1NU QVRVUyA6IF9CWFRfUFBfU1RBVFVTMikKPj4gKyNkZWZpbmUgQlhUX1BQX0NPTlRST0wobikgICAg KCghbikgPyBQQ0hfUFBfQ09OVFJPTCA6IF9CWFRfUFBfQ09OVFJPTDIpCj4+ICsjZGVmaW5lIEJY VF9QUF9PTl9ERUxBWVMobikgICAgKCghbikgPyBQQ0hfUFBfT05fREVMQVlTIDoKPj4gX0JYVF9Q UF9PTl9ERUxBWVMyKQo+PiArI2RlZmluZSBCWFRfUFBfT0ZGX0RFTEFZUyhuKSAgICAoKCFuKSA/ IFBDSF9QUF9PRkZfREVMQVlTIDoKPj4gX0JYVF9QUF9PRkZfREVMQVlTMikKPj4gKwo+PiAgICNk ZWZpbmUgUENIX0RQX0IgICAgICAgIDB4ZTQxMDAKPj4gICAjZGVmaW5lIFBDSF9EUEJfQVVYX0NI X0NUTCAgICAweGU0MTEwCj4+ICAgI2RlZmluZSBQQ0hfRFBCX0FVWF9DSF9EQVRBMSAgICAweGU0 MTE0Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4+IGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+PiBpbmRleCAxNWU4ODkyLi5hZDljYjBl OSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+PiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4+IEBAIC01NjcsNyArNTY3LDkgQEAg c3RhdGljIHUzMiBfcHBfY3RybF9yZWcoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPj4gICB7 Cj4+ICAgICAgIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kcF90b19kZXYoaW50ZWxf ZHApOwo+Pgo+PiAtICAgIGlmIChIQVNfUENIX1NQTElUKGRldikpCj4+ICsgICAgaWYgKElTX0JS T1hUT04oZGV2KSkKPj4gKyAgICAgICAgcmV0dXJuIEJYVF9QUF9DT05UUk9MKDApOwo+PiArICAg IGVsc2UgaWYgKEhBU19QQ0hfU1BMSVQoZGV2KSkKPj4gICAgICAgICAgIHJldHVybiBQQ0hfUFBf Q09OVFJPTDsKPj4gICAgICAgZWxzZQo+PiAgICAgICAgICAgcmV0dXJuIFZMVl9QSVBFX1BQX0NP TlRST0wodmx2X3Bvd2VyX3NlcXVlbmNlcl9waXBlKGludGVsX2RwKSk7Cj4+IEBAIC01NzcsNyAr NTc5LDkgQEAgc3RhdGljIHUzMiBfcHBfc3RhdF9yZWcoc3RydWN0IGludGVsX2RwICppbnRlbF9k cCkKPj4gICB7Cj4+ICAgICAgIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBpbnRlbF9kcF90b19k ZXYoaW50ZWxfZHApOwo+Pgo+PiAtICAgIGlmIChIQVNfUENIX1NQTElUKGRldikpCj4+ICsgICAg aWYgKElTX0JST1hUT04oZGV2KSkKPj4gKyAgICAgICAgcmV0dXJuIEJYVF9QUF9TVEFUVVMoMCk7 Cj4+ICsgICAgZWxzZSBpZiAoSEFTX1BDSF9TUExJVChkZXYpKQo+PiAgICAgICAgICAgcmV0dXJu IFBDSF9QUF9TVEFUVVM7Cj4+ICAgICAgIGVsc2UKPj4gICAgICAgICAgIHJldHVybiBWTFZfUElQ RV9QUF9TVEFUVVModmx2X3Bvd2VyX3NlcXVlbmNlcl9waXBlKGludGVsX2RwKSk7Cj4+IEBAIC0x NzAxLDggKzE3MDUsMTAgQEAgc3RhdGljICB1MzIgaXJvbmxha2VfZ2V0X3BwX2NvbnRyb2woc3Ry dWN0Cj4+IGludGVsX2RwICppbnRlbF9kcCkKPj4gICAgICAgbG9ja2RlcF9hc3NlcnRfaGVsZCgm ZGV2X3ByaXYtPnBwc19tdXRleCk7Cj4+Cj4+ICAgICAgIGNvbnRyb2wgPSBJOTE1X1JFQUQoX3Bw X2N0cmxfcmVnKGludGVsX2RwKSk7Cj4+IC0gICAgY29udHJvbCAmPSB+UEFORUxfVU5MT0NLX01B U0s7Cj4+IC0gICAgY29udHJvbCB8PSBQQU5FTF9VTkxPQ0tfUkVHUzsKPj4gKyAgICBpZiAoIUlT X0JST1hUT04oZGV2KSkgewo+PiArICAgICAgICBjb250cm9sICY9IH5QQU5FTF9VTkxPQ0tfTUFT SzsKPj4gKyAgICAgICAgY29udHJvbCB8PSBQQU5FTF9VTkxPQ0tfUkVHUzsKPj4gKyAgICB9Cj4+ ICAgICAgIHJldHVybiBjb250cm9sOwo+PiAgIH0KPj4KPj4gQEAgLTUwOTEsOCArNTA5Nyw4IEBA IGludGVsX2RwX2luaXRfcGFuZWxfcG93ZXJfc2VxdWVuY2VyKHN0cnVjdAo+PiBkcm1fZGV2aWNl ICpkZXYsCj4+ICAgICAgIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ ZGV2X3ByaXZhdGU7Cj4+ICAgICAgIHN0cnVjdCBlZHBfcG93ZXJfc2VxIGN1ciwgdmJ0LCBzcGVj LAo+PiAgICAgICAgICAgKmZpbmFsID0gJmludGVsX2RwLT5wcHNfZGVsYXlzOwo+PiAtICAgIHUz MiBwcF9vbiwgcHBfb2ZmLCBwcF9kaXYsIHBwOwo+PiAtICAgIGludCBwcF9jdHJsX3JlZywgcHBf b25fcmVnLCBwcF9vZmZfcmVnLCBwcF9kaXZfcmVnOwo+PiArICAgIHUzMiBwcF9vbiwgcHBfb2Zm LCBwcF9kaXYgPSAwLCBwcF9jdGwgPSAwOwo+PiArICAgIGludCBwcF9jdHJsX3JlZywgcHBfb25f cmVnLCBwcF9vZmZfcmVnLCBwcF9kaXZfcmVnID0gMDsKPj4KPj4gICAgICAgbG9ja2RlcF9hc3Nl cnRfaGVsZCgmZGV2X3ByaXYtPnBwc19tdXRleCk7Cj4+Cj4+IEBAIC01MTAwLDcgKzUxMDYsMTYg QEAgaW50ZWxfZHBfaW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXIoc3RydWN0Cj4+IGRybV9kZXZp Y2UgKmRldiwKPj4gICAgICAgaWYgKGZpbmFsLT50MTFfdDEyICE9IDApCj4+ICAgICAgICAgICBy ZXR1cm47Cj4+Cj4+IC0gICAgaWYgKEhBU19QQ0hfU1BMSVQoZGV2KSkgewo+PiArICAgIGlmIChJ U19CUk9YVE9OKGRldikpIHsKPj4gKyAgICAgICAgLyoKPj4gKyAgICAgICAgICogVE9ETzogQlhU IGhhcyAyIHNldHMgb2YgUFBTIHJlZ2lzdGVycy4KPj4gKyAgICAgICAgICogQ29ycmVjdCBSZWdp c3RlciBmb3IgQnJveHRvbiBuZWVkIHRvIGJlIGlkZW50aWZpZWQKPj4gKyAgICAgICAgICogdXNp bmcgVkJULiBoYXJkY29kaW5nIGZvciBub3cKPj4gKyAgICAgICAgICovCj4+ICsgICAgICAgIHBw X2N0cmxfcmVnID0gQlhUX1BQX0NPTlRST0woMCk7Cj4+ICsgICAgICAgIHBwX29uX3JlZyA9IEJY VF9QUF9PTl9ERUxBWVMoMCk7Cj4+ICsgICAgICAgIHBwX29mZl9yZWcgPSBCWFRfUFBfT0ZGX0RF TEFZUygwKTsKPj4gKyAgICB9IGVsc2UgaWYgKEhBU19QQ0hfU1BMSVQoZGV2KSkgewo+PiAgICAg ICAgICAgcHBfY3RybF9yZWcgPSBQQ0hfUFBfQ09OVFJPTDsKPj4gICAgICAgICAgIHBwX29uX3Jl ZyA9IFBDSF9QUF9PTl9ERUxBWVM7Cj4+ICAgICAgICAgICBwcF9vZmZfcmVnID0gUENIX1BQX09G Rl9ERUxBWVM7Cj4+IEBAIC01MTE2LDEyICs1MTMxLDEzIEBAIGludGVsX2RwX2luaXRfcGFuZWxf cG93ZXJfc2VxdWVuY2VyKHN0cnVjdAo+PiBkcm1fZGV2aWNlICpkZXYsCj4+Cj4+ICAgICAgIC8q IFdvcmthcm91bmQ6IE5lZWQgdG8gd3JpdGUgUFBfQ09OVFJPTCB3aXRoIHRoZSB1bmxvY2sga2V5 IGFzCj4+ICAgICAgICAqIHRoZSB2ZXJ5IGZpcnN0IHRoaW5nLiAqLwo+PiAtICAgIHBwID0gaXJv bmxha2VfZ2V0X3BwX2NvbnRyb2woaW50ZWxfZHApOwo+PiAtICAgIEk5MTVfV1JJVEUocHBfY3Ry bF9yZWcsIHBwKTsKPj4gKyAgICBwcF9jdGwgPSBpcm9ubGFrZV9nZXRfcHBfY29udHJvbChpbnRl bF9kcCk7Cj4+ICsgICAgSTkxNV9XUklURShwcF9jdHJsX3JlZywgcHBfY3RsKTsKPiBTaW5jZSB5 b3UgYXJlIG5vdCBkb2luZyBhbnl0aGluZyBpbiBpcm9ubGFrZV9nZXRfcHBfY29udHJvbCwgeW91 IGNhbgo+IG1vdmUgdGhpcyB3cml0ZSB0byAhSVNfQlJPWFRPTiBiZWxvdwo+CkFncmVlZC4KPj4K Pj4gICAgICAgcHBfb24gPSBJOTE1X1JFQUQocHBfb25fcmVnKTsKPj4gICAgICAgcHBfb2ZmID0g STkxNV9SRUFEKHBwX29mZl9yZWcpOwo+PiAtICAgIHBwX2RpdiA9IEk5MTVfUkVBRChwcF9kaXZf cmVnKTsKPj4gKyAgICBpZiAoIUlTX0JST1hUT04oZGV2KSkKPj4gKyAgICAgICAgcHBfZGl2ID0g STkxNV9SRUFEKHBwX2Rpdl9yZWcpOwo+Pgo+PiAgICAgICAvKiBQdWxsIHRpbWluZyB2YWx1ZXMg b3V0IG9mIHJlZ2lzdGVycyAqLwo+PiAgICAgICBjdXIudDFfdDMgPSAocHBfb24gJiBQQU5FTF9Q T1dFUl9VUF9ERUxBWV9NQVNLKSA+Pgo+PiBAQCAtNTEzNiw3ICs1MTUyLDExIEBAIGludGVsX2Rw X2luaXRfcGFuZWxfcG93ZXJfc2VxdWVuY2VyKHN0cnVjdAo+PiBkcm1fZGV2aWNlICpkZXYsCj4+ ICAgICAgIGN1ci50MTAgPSAocHBfb2ZmICYgUEFORUxfUE9XRVJfRE9XTl9ERUxBWV9NQVNLKSA+ Pgo+PiAgICAgICAgICAgUEFORUxfUE9XRVJfRE9XTl9ERUxBWV9TSElGVDsKPj4KPj4gLSAgICBj dXIudDExX3QxMiA9ICgocHBfZGl2ICYgUEFORUxfUE9XRVJfQ1lDTEVfREVMQVlfTUFTSykgPj4K Pj4gKyAgICBpZiAoSVNfQlJPWFRPTihkZXYpKQo+PiArICAgICAgICBjdXIudDExX3QxMiA9ICgo KHBwX2N0bCAmIEJYVF9QT1dFUl9DWUNMRV9ERUxBWV9NQVNLKSA+Pgo+PiArICAgICAgICAgICAg QlhUX1BPV0VSX0NZQ0xFX0RFTEFZX1NISUZUKSAtIDEpICogMTAwMDsKPiBXaHkgYSAtMSBoZXJl IGZvciBicm94dG9uIGFuZCBub3QgZm9yIG90aGVyIHBsYXRmb3Jtcz8KQWNjb3JkaW5nIHRvIHRo ZSBCU3BlYywgIlRoZSB2YWx1ZSBzaG91bGQgYmUgcHJvZ3JhbW1lZCB0byAoZGVzaXJlZCAKZGVs YXkgLyAxMDAgbWlsbGlzZWNvbmRzKSArIDEiLiBUaGlzIC0xIGlzIHRvIG1ha2UgdXAgZm9yIHRo YXQuIFRoaXMgaXMgCm1lbnRpb25lZCBmb3Igb3RoZXIgcGxhdGZvcm1zIGFzIHdlbGwuIFNvIG1h eWJlIHdlIHNob3VsZCBtYWtlIHRoZSAKY2hhbmdlIHRoZXJlIGFzIHdlbGwgPz8KPiBBbHNvLCBz aW5jZSAwIGlzIGFsc28gYSB2YWxpZCB2YWx1ZSBhbmQgY3VyLnQxMV90MTIgaXMgdTE2LCB0aGlz IC0xIHdpbGwKPiByZXN1bHQgaW4gdW5kZWZpbmVkIHZhbHVlLgpBZ3JlZWQuIE1ha2luZyB0aGUg Y2hhbmdlLgoKLSBWYW5kYW5hCj4KPiBSZWdhcmRzLAo+IFNvbmlrYQo+PiArICAgIGVsc2UKPj4g KyAgICAgICAgY3VyLnQxMV90MTIgPSAoKHBwX2RpdiAmIFBBTkVMX1BPV0VSX0NZQ0xFX0RFTEFZ X01BU0spID4+Cj4+ICAgICAgICAgICAgICAgICAgUEFORUxfUE9XRVJfQ1lDTEVfREVMQVlfU0hJ RlQpICogMTAwMDsKPj4KPj4gICAgICAgRFJNX0RFQlVHX0tNUygiY3VyIHQxX3QzICVkIHQ4ICVk IHQ5ICVkIHQxMCAlZCB0MTFfdDEyICVkXG4iLAo+PiBAQCAtNTE5NCwxMyArNTIxNCwyMyBAQAo+ PiBpbnRlbF9kcF9pbml0X3BhbmVsX3Bvd2VyX3NlcXVlbmNlcl9yZWdpc3RlcnMoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwKPj4gICAgICAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPj4gICAgICAgdTMyIHBwX29uLCBwcF9vZmYsIHBwX2Rpdiwg cG9ydF9zZWwgPSAwOwo+PiAgICAgICBpbnQgZGl2ID0gSEFTX1BDSF9TUExJVChkZXYpID8gaW50 ZWxfcGNoX3Jhd2NsayhkZXYpIDoKPj4gaW50ZWxfaHJhd2NsayhkZXYpOwo+PiAtICAgIGludCBw cF9vbl9yZWcsIHBwX29mZl9yZWcsIHBwX2Rpdl9yZWc7Cj4+ICsgICAgaW50IHBwX29uX3JlZywg cHBfb2ZmX3JlZywgcHBfZGl2X3JlZyA9IDAsIHBwX2N0cmxfcmVnOwo+PiAgICAgICBlbnVtIHBv cnQgcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKS0+cG9ydDsKPj4gICAgICAgY29uc3Qg c3RydWN0IGVkcF9wb3dlcl9zZXEgKnNlcSA9ICZpbnRlbF9kcC0+cHBzX2RlbGF5czsKPj4KPj4g ICAgICAgbG9ja2RlcF9hc3NlcnRfaGVsZCgmZGV2X3ByaXYtPnBwc19tdXRleCk7Cj4+Cj4+IC0g ICAgaWYgKEhBU19QQ0hfU1BMSVQoZGV2KSkgewo+PiArICAgIGlmIChJU19CUk9YVE9OKGRldikp IHsKPj4gKyAgICAgICAgLyoKPj4gKyAgICAgICAgICogVE9ETzogQlhUIGhhcyAyIHNldHMgb2Yg UFBTIHJlZ2lzdGVycy4KPj4gKyAgICAgICAgICogQ29ycmVjdCBSZWdpc3RlciBmb3IgQnJveHRv biBuZWVkIHRvIGJlIGlkZW50aWZpZWQKPj4gKyAgICAgICAgICogdXNpbmcgVkJULiBoYXJkY29k aW5nIGZvciBub3cKPj4gKyAgICAgICAgICovCj4+ICsgICAgICAgIHBwX2N0cmxfcmVnID0gQlhU X1BQX0NPTlRST0woMCk7Cj4+ICsgICAgICAgIHBwX29uX3JlZyA9IEJYVF9QUF9PTl9ERUxBWVMo MCk7Cj4+ICsgICAgICAgIHBwX29mZl9yZWcgPSBCWFRfUFBfT0ZGX0RFTEFZUygwKTsKPj4gKwo+ PiArICAgIH0gZWxzZSBpZiAoSEFTX1BDSF9TUExJVChkZXYpKSB7Cj4+ICAgICAgICAgICBwcF9v bl9yZWcgPSBQQ0hfUFBfT05fREVMQVlTOwo+PiAgICAgICAgICAgcHBfb2ZmX3JlZyA9IFBDSF9Q UF9PRkZfREVMQVlTOwo+PiAgICAgICAgICAgcHBfZGl2X3JlZyA9IFBDSF9QUF9ESVZJU09SOwo+ PiBAQCAtNTIyNiw5ICs1MjU2LDE2IEBACj4+IGludGVsX2RwX2luaXRfcGFuZWxfcG93ZXJfc2Vx dWVuY2VyX3JlZ2lzdGVycyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+PiAgICAgICAgICAgIChz ZXEtPnQxMCA8PCBQQU5FTF9QT1dFUl9ET1dOX0RFTEFZX1NISUZUKTsKPj4gICAgICAgLyogQ29t cHV0ZSB0aGUgZGl2aXNvciBmb3IgdGhlIHBwIGNsb2NrLCBzaW1wbHkgbWF0Y2ggdGhlIEJzcGVj Cj4+ICAgICAgICAqIGZvcm11bGEuICovCj4+IC0gICAgcHBfZGl2ID0gKCgxMDAgKiBkaXYpLzIg LSAxKSA8PCBQUF9SRUZFUkVOQ0VfRElWSURFUl9TSElGVDsKPj4gLSAgICBwcF9kaXYgfD0gKERJ Vl9ST1VORF9VUChzZXEtPnQxMV90MTIsIDEwMDApCj4+IC0gICAgICAgICAgICA8PCBQQU5FTF9Q T1dFUl9DWUNMRV9ERUxBWV9TSElGVCk7Cj4+ICsgICAgaWYgKElTX0JST1hUT04oZGV2KSkgewo+ PiArICAgICAgICBwcF9kaXYgPSBJOTE1X1JFQUQocHBfY3RybF9yZWcpOwo+PiArICAgICAgICBw cF9kaXYgJj0gfkJYVF9QT1dFUl9DWUNMRV9ERUxBWV9NQVNLOwo+PiArICAgICAgICBwcF9kaXYg fD0gKERJVl9ST1VORF9VUCgoc2VxLT50MTFfdDEyICsgMSksIDEwMDApCj4+ICsgICAgICAgICAg ICAgICAgPDwgQlhUX1BPV0VSX0NZQ0xFX0RFTEFZX1NISUZUKTsKPj4gKyAgICB9IGVsc2Ugewo+ PiArICAgICAgICBwcF9kaXYgPSAoKDEwMCAqIGRpdikvMiAtIDEpIDw8IFBQX1JFRkVSRU5DRV9E SVZJREVSX1NISUZUOwo+PiArICAgICAgICBwcF9kaXYgfD0gKERJVl9ST1VORF9VUChzZXEtPnQx MV90MTIsIDEwMDApCj4+ICsgICAgICAgICAgICAgICAgPDwgUEFORUxfUE9XRVJfQ1lDTEVfREVM QVlfU0hJRlQpOwo+PiArICAgIH0KPj4KPj4gICAgICAgLyogSGFzd2VsbCBkb2Vzbid0IGhhdmUg YW55IHBvcnQgc2VsZWN0aW9uIGJpdHMgZm9yIHRoZSBwYW5lbAo+PiAgICAgICAgKiBwb3dlciBz ZXF1ZW5jZXIgYW55IG1vcmUuICovCj4+IEBAIC01MjQ1LDExICs1MjgyLDE2IEBACj4+IGludGVs X2RwX2luaXRfcGFuZWxfcG93ZXJfc2VxdWVuY2VyX3JlZ2lzdGVycyhzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAo+Pgo+PiAgICAgICBJOTE1X1dSSVRFKHBwX29uX3JlZywgcHBfb24pOwo+PiAgICAg ICBJOTE1X1dSSVRFKHBwX29mZl9yZWcsIHBwX29mZik7Cj4+IC0gICAgSTkxNV9XUklURShwcF9k aXZfcmVnLCBwcF9kaXYpOwo+PiArICAgIGlmIChJU19CUk9YVE9OKGRldikpCj4+ICsgICAgICAg IEk5MTVfV1JJVEUocHBfY3RybF9yZWcsIHBwX2Rpdik7Cj4+ICsgICAgZWxzZQo+PiArICAgICAg ICBJOTE1X1dSSVRFKHBwX2Rpdl9yZWcsIHBwX2Rpdik7Cj4+Cj4+ICAgICAgIERSTV9ERUJVR19L TVMoInBhbmVsIHBvd2VyIHNlcXVlbmNlciByZWdpc3RlciBzZXR0aW5nczogUFBfT04KPj4gJSN4 LCBQUF9PRkYgJSN4LCBQUF9ESVYgJSN4XG4iLAo+PiAgICAgICAgICAgICAgICAgSTkxNV9SRUFE KHBwX29uX3JlZyksCj4+ICAgICAgICAgICAgICAgICBJOTE1X1JFQUQocHBfb2ZmX3JlZyksCj4+ ICsgICAgICAgICAgICAgIElTX0JST1hUT04oZGV2KSA/Cj4+ICsgICAgICAgICAgICAgIChJOTE1 X1JFQUQocHBfY3RybF9yZWcpICYgQlhUX1BPV0VSX0NZQ0xFX0RFTEFZX01BU0spIDoKPj4gICAg ICAgICAgICAgICAgIEk5MTVfUkVBRChwcF9kaXZfcmVnKSk7Cj4+ICAgfQo+Pgo+PgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=