From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH v4 2/8] drm/i915/skl: Add DC5 Trigger Sequence. Date: Thu, 16 Apr 2015 12:25:15 +0300 Message-ID: <1429176315.26416.18.camel@intel.com> References: <1429174334-12089-1-git-send-email-animesh.manna@intel.com> <1429174334-12089-3-git-send-email-animesh.manna@intel.com> Reply-To: imre.deak@intel.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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 C42F96E118 for ; Thu, 16 Apr 2015 02:25:18 -0700 (PDT) In-Reply-To: <1429174334-12089-3-git-send-email-animesh.manna@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Animesh Manna Cc: Suketu Shah , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gdG8sIDIwMTUtMDQtMTYgYXQgMTQ6MjIgKzA1MzAsIEFuaW1lc2ggTWFubmEgd3JvdGU6Cj4g RnJvbTogU3VrZXR1IFNoYWggPHN1a2V0dS5qLnNoYWhAaW50ZWwuY29tPgo+IAo+IEFkZCB0cmln Z2VycyBhcyBwZXIgZXhwZWN0YXRpb25zIG1lbnRpb25lZCBpbiBnZW45X2VuYWJsZV9kYzUKPiBh bmQgZ2VuOV9kaXNhYmxlX2RjNSBwYXRjaC4KPiAKPiBBbHNvIGNhbGwgUE9TVElOR19SRUFEIGZv ciBldmVyeSB3cml0ZSB0byBhIHJlZ2lzdGVyIHRvIGVuc3VyZSB0aGF0Cj4gaXRzIHdyaXR0ZW4g aW1tZWRpYXRlbHkuCj4gCj4gdjE6IFJlbW92ZSBQT1NUSU5HX1JFQUQgY2FsbHMgYXMgdGhleSd2 ZSBhbHJlYWR5IGJlZW4gYWRkZWQgaW4gcHJldmlvdXMgcGF0Y2hlcy4KPiAKPiB2MjogUmViYXNl IHRvIG1vdmUgYWxsIHJ1bnRpbWUgcG0gc3BlY2lmaWMgY2hhbmdlcyB0byBpbnRlbF9ydW50aW1l X3BtLmMgZmlsZS4KPiAKPiBNb2RpZmllZCBhcyBwZXIgcmV2aWV3IGNvbW1lbnRzIGZyb20gSW1y ZToKPiAxXSBDaGFuZ2UgdmFyaWFibGUgbmFtZSAnZGM1X2FsbG93ZWQnIHRvICdkYzVfZW5hYmxl ZCcgdG8gY29ycmVzcG9uZCB0byByZWxldmFudAo+ICAgIGZ1bmN0aW9ucy4KPiAyXSBNb3ZlIHRo ZSBjaGVjayBkYzVfZW5hYmxlZCBpbiBza2xfc2V0X3Bvd2VyX3dlbGwoKSB0byBkaXNhYmxlIERD NSBpbnRvCj4gICAgZ2VuOV9kaXNhYmxlX0RDNSB3aGljaCBpcyBhIG1vcmUgYXBwcm9wcmlhdGUg cGxhY2UuCj4gM10gQ29udmVydCBjaGVja3MgZm9yICdwbS5kYzVfZW5hYmxlZCcgYW5kICdwbS5z dXNwZW5kZWQnIGluIHNrbF9zZXRfcG93ZXJfd2VsbCgpCj4gICAgdG8gd2FybmluZ3MuIEhvd2V2 ZXIsIHJlbW92aW5nIHRoZW0gZm9yIG5vdyBhcyB0aGV5J2xsIGJlIGluY2x1ZGVkIGluIGEgZnV0 dXJlIHBhdGNoCj4gICAgYXNzZXJ0aW5nIERDLXN0YXRlIGVudHJ5L2V4aXQgY3JpdGVyaWEuCj4g NF0gRW5hYmxlIERDNSwgb25seSB3aGVuIENTUiBmaXJtd2FyZSBpcyB2ZXJpZmllZCB0byBiZSBs b2FkZWQuIENyZWF0ZSBuZXcgc3RydWN0dXJlCj4gICAgdG8gdHJhY2sgJ2VuYWJsZWQnIGFuZCAn ZGVmZXJyZWQnIHN0YXR1cyBvZiBEQzUuCj4gNV0gRW5zdXJlIHJ1bnRpbWUgUE0gcmVmZXJlbmNl IGlzIG9idGFpbmVkLCBpZiBDU1IgaXMgbm90IGxvYWRlZCwgdG8gYXZvaWQgZW50ZXJpbmcKPiAg ICBydW50aW1lLXN1c3BlbmQgYW5kIHJlbGVhc2UgaXQgd2hlbiBpdCdzIGxvYWRlZC4KPiA2XSBQ cm90ZWN0IG5lY2Vzc2FyeSBDU1ItcmVsYXRlZCBjb2RlIHdpdGggbG9ja3MuCj4gN10gTW92ZSBD U1ItbG9hZGluZyBjYWxsIHRvIHJ1bnRpbWUgUE0gaW5pdGlhbGl6YXRpb24sIGFzIHBvd2VyIGRv bWFpbnMgbmVlZGVkIHRvIGJlCj4gICAgYWNjZXNzZWQgZHVyaW5nIGRlZmVycmVkIERDNS1lbmFi bGluZywgYXJlIG5vdCBpbml0aWFsaXplZCBlYXJsaWVyLgo+IAo+IHYzOiBSZWJhc2UgdG8gbGF0 ZXN0Lgo+IAo+IE1vZGlmaWVkIGFzIHBlciByZXZpZXcgY29tbWVudHMgZnJvbSBJbXJlOgo+IDFd IFVzZSBibG9ja2luZyB3YWl0IGZvciBDU1ItbG9hZGluZyB0byBmaW5pc2ggdG8gZW5hYmxlIERD NSAgZm9yIHNpbXBsaWNpdHksIGluc3RlYWQgb2YKPiAgICBkZWZlcnJpbmcgZW5hYmxpbmcgREM1 IHVudGlsIENTUiBpcyBsb2FkZWQuCj4gMl0gT2J0YWluIHJ1bnRpbWUgUE0gcmVmZXJlbmNlIGR1 cmluZyBDU1ItbG9hZGluZyBpbml0aWFsaXphdGlvbiBpdHNlbGYgYXMgZGVmZXJyZWQgREM1LQo+ ICAgIGVuYWJsaW5nIGlzIHJlbW92ZWQgYW5kIHJlbGVhc2UgaXQgYXQgdGhlIGVuZCBvZiBDU1It bG9hZGluZyBmdW5jdGlvbmFsaXR5Lgo+IDNdIFJldmVydCBjYWxsaW5nIENTUi1sb2FkaW5nIGZ1 bmN0aW9uYWxpdHkgdG8gdGhlIGJlZ2lubmluZyBvZiBpOTE1IGRyaXZlci1sb2FkCj4gICAgZnVu Y3Rpb25hbGl0eSB0byBhdm9pZCBhbnkgZGVsYXkgaW4gbG9hZGluZy4KPiA0XSBEZWZpbmUgYW5v dGhlciB2YXJpYWJsZSB0byB0cmFjayB3aGV0aGVyIENTUi1sb2FkaW5nIGZhaWxlZCBhbmQgdXNl IGl0IHRvIGF2b2lkIGVuYWJsaW5nCj4gICAgREM1IGlmIGl0J3MgdHJ1ZS4KPiA1XSBEZWZpbmUg Q1NSLWxvYWQtc3RhdHVzIGFjY2Vzc29yIGZ1bmN0aW9ucyBmb3IgdXNlIGxhdGVyLgo+IAo+IHY0 Ogo+IDFdIERpc2FibGUgREM1IGJlZm9yZSBlbmFibGluZyBQRzIgaW5zdGVhZCBvZiBhZnRlciBp dC4KPiAyXSBEQzUgd2FzIGJlaW5nIG1pc3Rha2VuIGVuYWJsZWQgZXZlbiB3aGVuIENTUi1sb2Fk aW5nIHRpbWVkLW91dC4gRml4IHRoYXQuCj4gM10gRW5hYmxlIERDNS1yZWxhdGVkIGZ1bmN0aW9u YWxpdHkgdXNpbmcgYSBtYWNyby4KPiA0XSBSZW1vdmUgZGM1X2VuYWJsZWQgdHJhY2tpbmcgdmFy aWFibGUgYW5kIGl0cyB1c2UgYXMgaXQncyBub3QgbmVlZGVkIG5vdy4KPiAKPiB2NToKPiAxXSBN YXJrIENTUiBmYWlsZWQgdG8gbG9hZCB3aGVyZSBuZWNlc3NhcnkgaW4gZmluaXNoX2Nzcl9sb2Fk IGZ1bmN0aW9uLgo+IDJdIFVzZSBtdXRleC1wcm90ZWN0ZWQgYWNjZXNzb3IgZnVuY3Rpb24gdG8g Y2hlY2sgaWYgQ1NSIGxvYWRlZCBpbnN0ZWFkIG9mIGRpcmVjdGx5Cj4gICAgYWNjZXNzaW5nIHRo ZSB2YXJpYWJsZS4KPiAzXSBQcmVmaXggY3NyX2xvYWRfc3RhdHVzX2dldC9zZXQgZnVuY3Rpb24g bmFtZXMgd2l0aCBpbnRlbF8uCj4gCj4gdjY6IHJlYmFzZSB0byBsYXRlc3QuCj4gdjc6IFJlYmFz ZSBvbiB0b3Agb2YgbmlnaHRseSAoRGFtaWVuKQo+IHY4OiBTcXVhc2hlZCB0aGUgcGF0Y2ggZnJv bSBJbXJlIC0gYWRkZWQgY3NyIGhlbHBlciBwb2ludGVycyB0byBzaW1wbGlmeSB0aGUgY29kZS4g KEltcmUpCj4gdjk6IEFmdGVyIGFkZGluZyBkbWMgdmVyIDEuMCBzdXBwb3J0IHJlYmFzZWQgb24g dG9wIG9mIG5pZ2h0bHkuIChBbmltZXNoKQo+IHYxMDogQWRkZWQgYSBlbnVtIGZvciBkaWZmZXJl bnQgY3NyIHN0YXRlcywgc3VnZ2VzdGVkIGJ5IEltcmUuIChBbmltZXNoKQo+IAo+IHYxMTogQmFz ZWQgb24gcmV2aWV3IGNvbW1lbnRzIGZyb20gSW1yZSwgRGFtaWVuIGFuZCBEYW5pZWwgZm9sbG93 aW5nIGNoYW5nZXMgZG9uZQo+IC0gZW51bSBuYW1lIGNobmFnZWQgdG8gY3NyX3N0YXRlIChzaW5n dWxhciBmb3JtKS4KPiAtIEZXX1VOSU5JVElBTElaRUQgdXNlZCBhcyB6ZXJvdGggZWxlbWVudCBp biBlbnVtIGNzcl9zdGF0ZS4KPiAtIFByb3RvdHlwZSBjaGFuZ2VkIGZvciBoZWxwZXIgZnVuY3Rp b24oc2V0L2dldCBjc3Igc3RhdHVzKSwgdXNpbmcgZW51bSBjc3Jfc3RhdGUgaW5zdGVhZCBvZiBi b29sLgo+IAo+IElzc3VlOiBWSVotMjgxOQo+IFNpZ25lZC1vZmYtYnk6IEEuU3VuaWwgS2FtYXRo IDxzdW5pbC5rYW1hdGhAaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IFN1a2V0dSBTaGFoIDxz dWtldHUuai5zaGFoQGludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBEYW1pZW4gTGVzcGlhdSA8 ZGFtaWVuLmxlc3BpYXVAaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IEltcmUgRGVhayA8aW1y ZS5kZWFrQGludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBBbmltZXNoIE1hbm5hIDxhbmltZXNo Lm1hbm5hQGludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aCAgICAgICAgIHwgIDcgKysrKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY3NyLmMg ICAgICAgIHwgNDkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICAgICB8ICAzICsrCj4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYyB8IDMzICsrKysrKysrKysrKysrKysrKysrKysKPiAg NCBmaWxlcyBjaGFuZ2VkLCA5MCBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQo+IAo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaAo+IGluZGV4IDkwZTQ3YTkuLjY3MGU0MDcgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmgKPiBAQCAtNjY3LDYgKzY2NywxMiBAQCBzdHJ1Y3QgaW50ZWxfdW5j b3JlIHsKPiAgI2RlZmluZSBmb3JfZWFjaF9md19kb21haW4oZG9tYWluX18sIGRldl9wcml2X18s IGlfXykgXAo+ICAJZm9yX2VhY2hfZndfZG9tYWluX21hc2soZG9tYWluX18sIEZPUkNFV0FLRV9B TEwsIGRldl9wcml2X18sIGlfXykKPiAgCj4gK2VudW0gY3NyX3N0YXRlIHsKPiArCUZXX1VOSU5J VElBTElaRUQgPSAwLAo+ICsJRldfTE9BREVELAo+ICsJRldfRkFJTEVECj4gK307Cj4gKwo+ICBz dHJ1Y3QgaW50ZWxfY3NyIHsKPiAgCWNvbnN0IGNoYXIgKmZ3X3BhdGg7Cj4gIAlfX2JlMzIgKmRt Y19wYXlsb2FkOwo+IEBAIC02NzQsNiArNjgwLDcgQEAgc3RydWN0IGludGVsX2NzciB7Cj4gIAl1 aW50MzJfdCBtbWlvX2NvdW50Owo+ICAJdWludDMyX3QgbW1pb2FkZHJbOF07Cj4gIAl1aW50MzJf dCBtbWlvZGF0YVs4XTsKPiArCWVudW0gY3NyX3N0YXRlIHN0YXRlOwo+ICB9Owo+ICAKPiAgI2Rl ZmluZSBERVZfSU5GT19GT1JfRUFDSF9GTEFHKGZ1bmMsIHNlcCkgXAo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jc3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Nzci5jCj4gaW5kZXggZjVmYTU3NC4uZmU2Nzg5ZiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9jc3IuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Nzci5jCj4gQEAgLTE4Myw2ICsxODMsMjUgQEAgc3RhdGljIGNoYXIgaW50ZWxfZ2V0X3N1 YnN0ZXBwaW5nKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAkJcmV0dXJuIC1FTk9EQVRBOwo+ ICB9Cj4gIAo+ICtlbnVtIGNzcl9zdGF0ZSBpbnRlbF9jc3JfbG9hZF9zdGF0dXNfZ2V0KHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiArewo+ICsJZW51bSBjc3Jfc3RhdGUgc3Rh dGU7Cj4gKwo+ICsJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPmNzcl9sb2NrKTsKPiArCXN0YXRlID0g ZGV2X3ByaXYtPmNzci5zdGF0ZTsKPiArCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPmNzcl9sb2Nr KTsKPiArCj4gKwlyZXR1cm4gc3RhdGU7Cj4gK30KPiArCj4gK3ZvaWQgaW50ZWxfY3NyX2xvYWRf c3RhdHVzX3NldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gKwkJCWVudW0g Y3NyX3N0YXRlIHN0YXRlKQo+ICt7Cj4gKwltdXRleF9sb2NrKCZkZXZfcHJpdi0+Y3NyX2xvY2sp Owo+ICsJZGV2X3ByaXYtPmNzci5zdGF0ZSA9IHN0YXRlOwo+ICsJbXV0ZXhfdW5sb2NrKCZkZXZf cHJpdi0+Y3NyX2xvY2spOwo+ICt9Cj4gKwo+ICB2b2lkIGludGVsX2Nzcl9sb2FkX3Byb2dyYW0o c3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgewo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiBAQCAtMjA0LDYgKzIyMyw4IEBAIHZvaWQg aW50ZWxfY3NyX2xvYWRfcHJvZ3JhbShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJCUk5MTVf V1JJVEUoZGV2X3ByaXYtPmNzci5tbWlvYWRkcltpXSwKPiAgCQkJZGV2X3ByaXYtPmNzci5tbWlv ZGF0YVtpXSk7Cj4gIAl9Cj4gKwo+ICsJZGV2X3ByaXYtPmNzci5zdGF0ZSA9IEZXX0xPQURFRDsK PiAgCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPmNzcl9sb2NrKTsKPiAgfQo+ICAKPiBAQCAtMjIz LDExICsyNDQsMTMgQEAgc3RhdGljIHZvaWQgZmluaXNoX2Nzcl9sb2FkKGNvbnN0IHN0cnVjdCBm aXJtd2FyZSAqZncsIHZvaWQgKmNvbnRleHQpCj4gIAo+ICAJaWYgKCFmdykgewo+ICAJCWk5MTVf ZmlybXdhcmVfbG9hZF9lcnJvcl9wcmludChjc3ItPmZ3X3BhdGgsIDApOwo+ICsJCWludGVsX2Nz cl9sb2FkX3N0YXR1c19zZXQoZGV2X3ByaXYsIEZXX0ZBSUxFRCk7Cj4gIAkJZ290byBvdXQ7Cj4g IAl9Cj4gIAo+ICAJaWYgKChzdGVwcGluZyA9PSAtRU5PREFUQSkgfHwgKHN1YnN0ZXBwaW5nID09 IC1FTk9EQVRBKSkgewo+ICAJCURSTV9FUlJPUigiVW5rbm93biBzdGVwcGluZyBpbmZvLCBmaXJt d2FyZSBsb2FkaW5nIGZhaWxlZFxuIik7Cj4gKwkJaW50ZWxfY3NyX2xvYWRfc3RhdHVzX3NldChk ZXZfcHJpdiwgRldfRkFJTEVEKTsKPiAgCQlnb3RvIG91dDsKPiAgCX0KPiAgCj4gQEAgLTIzNyw2 ICsyNjAsNyBAQCBzdGF0aWMgdm9pZCBmaW5pc2hfY3NyX2xvYWQoY29uc3Qgc3RydWN0IGZpcm13 YXJlICpmdywgdm9pZCAqY29udGV4dCkKPiAgCQkoY3NzX2hlYWRlci0+aGVhZGVyX2xlbiAqIDQp KSB7Cj4gIAkJRFJNX0VSUk9SKCJGaXJtd2FyZSBoYXMgd3JvbmcgQ1NTIGhlYWRlciBsZW5ndGgg JXUgYnl0ZXNcbiIsCj4gIAkJCShjc3NfaGVhZGVyLT5oZWFkZXJfbGVuICogNCkpOwo+ICsJCWlu dGVsX2Nzcl9sb2FkX3N0YXR1c19zZXQoZGV2X3ByaXYsIEZXX0ZBSUxFRCk7Cj4gIAkJZ290byBv dXQ7Cj4gIAl9Cj4gIAlyZWFkY291bnQgKz0gc2l6ZW9mKHN0cnVjdCBpbnRlbF9jc3NfaGVhZGVy KTsKPiBAQCAtMjQ4LDYgKzI3Miw3IEBAIHN0YXRpYyB2b2lkIGZpbmlzaF9jc3JfbG9hZChjb25z dCBzdHJ1Y3QgZmlybXdhcmUgKmZ3LCB2b2lkICpjb250ZXh0KQo+ICAJCShwYWNrYWdlX2hlYWRl ci0+aGVhZGVyX2xlbiAqIDQpKSB7Cj4gIAkJRFJNX0VSUk9SKCJGaXJtd2FyZSBoYXMgd3Jvbmcg cGFja2FnZSBoZWFkZXIgbGVuZ3RoICV1IGJ5dGVzXG4iLAo+ICAJCQkocGFja2FnZV9oZWFkZXIt PmhlYWRlcl9sZW4gKiA0KSk7Cj4gKwkJaW50ZWxfY3NyX2xvYWRfc3RhdHVzX3NldChkZXZfcHJp diwgRldfRkFJTEVEKTsKPiAgCQlnb3RvIG91dDsKPiAgCX0KPiAgCXJlYWRjb3VudCArPSBzaXpl b2Yoc3RydWN0IGludGVsX3BhY2thZ2VfaGVhZGVyKTsKPiBAQCAtMjY4LDYgKzI5Myw3IEBAIHN0 YXRpYyB2b2lkIGZpbmlzaF9jc3JfbG9hZChjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3LCB2b2lk ICpjb250ZXh0KQo+ICAJfQo+ICAJaWYgKGRtY19vZmZzZXQgPT0gQ1NSX0RFRkFVTFRfRldfT0ZG U0VUKSB7Cj4gIAkJRFJNX0VSUk9SKCJGaXJtd2FyZSBub3Qgc3VwcG9ydGVkIGZvciAlYyBzdGVw cGluZ1xuIiwgc3RlcHBpbmcpOwo+ICsJCWludGVsX2Nzcl9sb2FkX3N0YXR1c19zZXQoZGV2X3By aXYsIEZXX0ZBSUxFRCk7Cj4gIAkJZ290byBvdXQ7Cj4gIAl9Cj4gIAlyZWFkY291bnQgKz0gZG1j X29mZnNldDsKPiBAQCAtMjc3LDYgKzMwMyw3IEBAIHN0YXRpYyB2b2lkIGZpbmlzaF9jc3JfbG9h ZChjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3LCB2b2lkICpjb250ZXh0KQo+ICAJaWYgKHNpemVv ZihzdHJ1Y3QgaW50ZWxfZG1jX2hlYWRlcikgIT0gKGRtY19oZWFkZXItPmhlYWRlcl9sZW4pKSB7 Cj4gIAkJRFJNX0VSUk9SKCJGaXJtd2FyZSBoYXMgd3JvbmcgZG1jIGhlYWRlciBsZW5ndGggJXUg Ynl0ZXNcbiIsCj4gIAkJCQkoZG1jX2hlYWRlci0+aGVhZGVyX2xlbikpOwo+ICsJCWludGVsX2Nz cl9sb2FkX3N0YXR1c19zZXQoZGV2X3ByaXYsIEZXX0ZBSUxFRCk7Cj4gIAkJZ290byBvdXQ7Cj4g IAl9Cj4gIAlyZWFkY291bnQgKz0gc2l6ZW9mKHN0cnVjdCBpbnRlbF9kbWNfaGVhZGVyKTsKPiBA QCAtMjg1LDYgKzMxMiw3IEBAIHN0YXRpYyB2b2lkIGZpbmlzaF9jc3JfbG9hZChjb25zdCBzdHJ1 Y3QgZmlybXdhcmUgKmZ3LCB2b2lkICpjb250ZXh0KQo+ICAJaWYgKGRtY19oZWFkZXItPm1taW9f Y291bnQgPiBBUlJBWV9TSVpFKGNzci0+bW1pb2FkZHIpKSB7Cj4gIAkJRFJNX0VSUk9SKCJGaXJt d2FyZSBoYXMgd3JvbmcgbW1pbyBjb3VudCAldVxuIiwKPiAgCQkJCQkJZG1jX2hlYWRlci0+bW1p b19jb3VudCk7Cj4gKwkJaW50ZWxfY3NyX2xvYWRfc3RhdHVzX3NldChkZXZfcHJpdiwgRldfRkFJ TEVEKTsKPiAgCQlnb3RvIG91dDsKPiAgCX0KPiAgCWNzci0+bW1pb19jb3VudCA9IGRtY19oZWFk ZXItPm1taW9fY291bnQ7Cj4gQEAgLTI5Myw2ICszMjEsNyBAQCBzdGF0aWMgdm9pZCBmaW5pc2hf Y3NyX2xvYWQoY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdywgdm9pZCAqY29udGV4dCkKPiAgCQkJ ZG1jX2hlYWRlci0+bW1pb2FkZHJbaV0gPiBDU1JfTU1JT19FTkRfUkFOR0UpIHsKPiAgCQkJRFJN X0VSUk9SKCIgRmlybXdhcmUgaGFzIHdyb25nIG1taW8gYWRkcmVzcyAweCV4XG4iLAo+ICAJCQkJ CQlkbWNfaGVhZGVyLT5tbWlvYWRkcltpXSk7Cj4gKwkJCWludGVsX2Nzcl9sb2FkX3N0YXR1c19z ZXQoZGV2X3ByaXYsIEZXX0ZBSUxFRCk7Cj4gIAkJCWdvdG8gb3V0Owo+ICAJCX0KPiAgCQljc3It Pm1taW9hZGRyW2ldID0gZG1jX2hlYWRlci0+bW1pb2FkZHJbaV07Cj4gQEAgLTMwMyw2ICszMzIs NyBAQCBzdGF0aWMgdm9pZCBmaW5pc2hfY3NyX2xvYWQoY29uc3Qgc3RydWN0IGZpcm13YXJlICpm dywgdm9pZCAqY29udGV4dCkKPiAgCW5ieXRlcyA9IGRtY19oZWFkZXItPmZ3X3NpemUgKiA0Owo+ ICAJaWYgKG5ieXRlcyA+IENTUl9NQVhfRldfU0laRSkgewo+ICAJCURSTV9FUlJPUigiQ1NSIGZp cm13YXJlIHRvbyBiaWcgKCV1KSBieXRlc1xuIiwgbmJ5dGVzKTsKPiArCQlpbnRlbF9jc3JfbG9h ZF9zdGF0dXNfc2V0KGRldl9wcml2LCBGV19GQUlMRUQpOwo+ICAJCWdvdG8gb3V0Owo+ICAJfQo+ ICAJY3NyLT5kbWNfZndfc2l6ZSA9IGRtY19oZWFkZXItPmZ3X3NpemU7Cj4gQEAgLTMxMCw2ICsz NDAsNyBAQCBzdGF0aWMgdm9pZCBmaW5pc2hfY3NyX2xvYWQoY29uc3Qgc3RydWN0IGZpcm13YXJl ICpmdywgdm9pZCAqY29udGV4dCkKPiAgCWNzci0+ZG1jX3BheWxvYWQgPSBrbWFsbG9jKG5ieXRl cywgR0ZQX0tFUk5FTCk7Cj4gIAlpZiAoIWNzci0+ZG1jX3BheWxvYWQpIHsKPiAgCQlEUk1fRVJS T1IoIk1lbW9yeSBhbGxvY2F0aW9uIGZhaWxlZCBmb3IgZG1jIHBheWxvYWRcbiIpOwo+ICsJCWlu dGVsX2Nzcl9sb2FkX3N0YXR1c19zZXQoZGV2X3ByaXYsIEZXX0ZBSUxFRCk7Cj4gIAkJZ290byBv dXQ7Cj4gIAl9Cj4gIAo+IEBAIC0zMjcsNiArMzU4LDExIEBAIHN0YXRpYyB2b2lkIGZpbmlzaF9j c3JfbG9hZChjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3LCB2b2lkICpjb250ZXh0KQo+ICAJLyog bG9hZCBjc3IgcHJvZ3JhbSBkdXJpbmcgc3lzdGVtIGJvb3QsIGFzIG5lZWRlZCBmb3IgREMgc3Rh dGVzICovCj4gIAlpbnRlbF9jc3JfbG9hZF9wcm9ncmFtKGRldik7Cj4gIG91dDoKPiArCS8qCj4g KwkgKiBSZWxlYXNlIHRoZSBydW50aW1lIHBtIHJlZmVyZW5jZSBvYnRhaW5lZCB3aGVuCj4gKwkg KiBDU1Igd2Fzbid0IGxvYWRlZC4KPiArCSAqLwo+ICsJaW50ZWxfcnVudGltZV9wbV9wdXQoZGV2 X3ByaXYpOwoKSSdtIG5vdCBzdXJlIGlmIHJ1bnRpbWUgUE0gd291bGQgd29yayBjb3JyZWN0bHkg d2l0aG91dCBEQzUvNiwgc28gbGV0J3MKbm90IGVuYWJsZSBSUE0gaWYgdGhlIGZpcm13YXJlIGZh aWxzIHRvIGxvYWQuIFRoaXMgaXMgYWxzbyBpbmNvbnNpc3RlbnQKd2l0aCB0aGUgZXJyb3IgaGFu ZGxpbmcgaW4gaW50ZWxfY3NyX3Vjb2RlX2luaXQoKS4KCj4gIAlyZWxlYXNlX2Zpcm13YXJlKGZ3 KTsKPiAgfQo+ICAKPiBAQCAtMzQzLDE3ICszNzksMjUgQEAgdm9pZCBpbnRlbF9jc3JfdWNvZGVf aW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJCWNzci0+ZndfcGF0aCA9IEk5MTVfQ1NS X1NLTDsKPiAgCWVsc2Ugewo+ICAJCURSTV9FUlJPUigiVW5leHBlY3RlZDogbm8ga25vd24gQ1NS IGZpcm13YXJlIGZvciBwbGF0Zm9ybVxuIik7Cj4gKwkJaW50ZWxfY3NyX2xvYWRfc3RhdHVzX3Nl dChkZXZfcHJpdiwgRldfRkFJTEVEKTsKPiAgCQlyZXR1cm47Cj4gIAl9Cj4gIAo+ICsJLyoKPiAr CSAqIE9idGFpbiBhIHJ1bnRpbWUgcG0gcmVmZXJlbmNlLCB1bnRpbCBDU1IgaXMgbG9hZGVkLAo+ ICsJICogdG8gYXZvaWQgZW50ZXJpbmcgcnVudGltZS1zdXNwZW5kLgo+ICsJICovCj4gKwlpbnRl bF9ydW50aW1lX3BtX2dldChkZXZfcHJpdik7Cj4gKwo+ICAJLyogQ1NSIHN1cHBvcnRlZCBmb3Ig cGxhdGZvcm0sIGxvYWQgZmlybXdhcmUgKi8KPiAgCXJldCA9IHJlcXVlc3RfZmlybXdhcmVfbm93 YWl0KFRISVNfTU9EVUxFLCB0cnVlLCBjc3ItPmZ3X3BhdGgsCj4gIAkJCQkmZGV2X3ByaXYtPmRl di0+cGRldi0+ZGV2LAo+ICAJCQkJR0ZQX0tFUk5FTCwgZGV2X3ByaXYsCj4gIAkJCQlmaW5pc2hf Y3NyX2xvYWQpOwo+IC0JaWYgKHJldCkKPiArCWlmIChyZXQpIHsKPiAgCQlpOTE1X2Zpcm13YXJl X2xvYWRfZXJyb3JfcHJpbnQoY3NyLT5md19wYXRoLCByZXQpOwo+IC0KPiArCQlpbnRlbF9jc3Jf bG9hZF9zdGF0dXNfc2V0KGRldl9wcml2LCBGV19GQUlMRUQpOwo+ICsJfQo+ICB9Cj4gIAo+ICB2 b2lkIGludGVsX2Nzcl91Y29kZV9maW5pKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gQEAgLTM2 Myw1ICs0MDcsNiBAQCB2b2lkIGludGVsX2Nzcl91Y29kZV9maW5pKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCj4gIAlpZiAoIUhBU19DU1IoZGV2KSkKPiAgCQlyZXR1cm47Cj4gIAo+ICsJaW50ZWxf Y3NyX2xvYWRfc3RhdHVzX3NldChkZXZfcHJpdiwgRldfRkFJTEVEKTsKPiAgCWtmcmVlKGRldl9w cml2LT5jc3IuZG1jX3BheWxvYWQpOwo+ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBp bmRleCBmM2EyZDg4Li4yNWQ3OTU2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBA QCAtMTA2NCw2ICsxMDY0LDkgQEAgdW5zaWduZWQgbG9uZyBpbnRlbF9wbGFuZV9vYmpfb2Zmc2V0 KHN0cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxhbmUsCj4gIAo+ICAvKiBpbnRlbF9jc3IuYyAq Lwo+ICB2b2lkIGludGVsX2Nzcl91Y29kZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ ICtlbnVtIGNzcl9zdGF0ZSBpbnRlbF9jc3JfbG9hZF9zdGF0dXNfZ2V0KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdik7Cj4gK3ZvaWQgaW50ZWxfY3NyX2xvYWRfc3RhdHVzX3NldChz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gKwkJCQkJZW51bSBjc3Jfc3RhdGUg c3RhdGUpOwo+ICB2b2lkIGludGVsX2Nzcl9sb2FkX3Byb2dyYW0oc3RydWN0IGRybV9kZXZpY2Ug KmRldik7Cj4gIHZvaWQgaW50ZWxfY3NyX3Vjb2RlX2Zpbmkoc3RydWN0IGRybV9kZXZpY2UgKmRl dik7Cj4gIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1l X3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKPiBpbmRleCBj ZTAwZTY5Li4yM2YwMmE4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3J1bnRpbWVfcG0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVf cG0uYwo+IEBAIC00OSw2ICs0OSw4IEBACj4gICAqIHByZXNlbnQgZm9yIGEgZ2l2ZW4gcGxhdGZv cm0uCj4gICAqLwo+ICAKPiArI2RlZmluZSBHRU45X0VOQUJMRV9EQzUoZGV2KSAoSVNfU0tZTEFL RShkZXYpKQo+ICsKPiAgI2RlZmluZSBmb3JfZWFjaF9wb3dlcl93ZWxsKGksIHBvd2VyX3dlbGws IGRvbWFpbl9tYXNrLCBwb3dlcl9kb21haW5zKQlcCj4gIAlmb3IgKGkgPSAwOwkJCQkJCQlcCj4g IAkgICAgIGkgPCAocG93ZXJfZG9tYWlucyktPnBvd2VyX3dlbGxfY291bnQgJiYJCQlcCj4gQEAg LTMxOSw5ICszMjEsMjAgQEAgc3RhdGljIHZvaWQgaHN3X3NldF9wb3dlcl93ZWxsKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCVNLTF9ESVNQTEFZX01JU0NfSU9fUE9XRVJf RE9NQUlOUykpIHwJCVwKPiAgCUJJVChQT1dFUl9ET01BSU5fSU5JVCkpCj4gIAo+ICtzdGF0aWMg dm9pZCBnZW45X2VuYWJsZV9kYzUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ ICt7Cj4gKwkvKiBUT0RPOiBJbXBsZW1lbnRhdGlvbiB0byBiZSBkb25lLiAqLwo+ICt9Cj4gKwo+ ICtzdGF0aWMgdm9pZCBnZW45X2Rpc2FibGVfZGM1KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKPiArewo+ICsJLyogVE9ETzogSW1wbGVtZW50YXRpb24gdG8gYmUgZG9uZS4gKi8K PiArfQo+ICsKPiAgc3RhdGljIHZvaWQgc2tsX3NldF9wb3dlcl93ZWxsKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQkJc3RydWN0IGk5MTVfcG93ZXJfd2VsbCAqcG93ZXJf d2VsbCwgYm9vbCBlbmFibGUpCj4gIHsKPiArCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBkZXZf cHJpdi0+ZGV2Owo+ICAJdWludDMyX3QgdG1wLCBmdXNlX3N0YXR1czsKPiAgCXVpbnQzMl90IHJl cV9tYXNrLCBzdGF0ZV9tYXNrOwo+ICAJYm9vbCBpc19lbmFibGVkLCBlbmFibGVfcmVxdWVzdGVk LCBjaGVja19mdXNlX3N0YXR1cyA9IGZhbHNlOwo+IEBAIC0zNjEsNiArMzc0LDEzIEBAIHN0YXRp YyB2b2lkIHNrbF9zZXRfcG93ZXJfd2VsbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCj4gIAo+ICAJaWYgKGVuYWJsZSkgewo+ICAJCWlmICghZW5hYmxlX3JlcXVlc3RlZCkgewo+ ICsJCQlXQVJOKCh0bXAgJiBzdGF0ZV9tYXNrKSAmJgo+ICsJCQkJIUk5MTVfUkVBRChIU1dfUFdS X1dFTExfQklPUyksCj4gKwkJCQkiSW52YWxpZCBmb3IgcG93ZXIgd2VsbCBzdGF0dXMgdG8gYmUg ZW5hYmxlZCwgdW5sZXNzIGRvbmUgYnkgdGhlIEJJT1MsIFwKPiArCQkJCXdoZW4gcmVxdWVzdCBp cyB0byBkaXNhYmxlIVxuIik7Cj4gKwkJCWlmIChHRU45X0VOQUJMRV9EQzUoZGV2KSAmJgo+ICsJ CQkJcG93ZXJfd2VsbC0+ZGF0YSA9PSBTS0xfRElTUF9QV18yKQo+ICsJCQkJZ2VuOV9kaXNhYmxl X2RjNShkZXZfcHJpdik7Cj4gIAkJCUk5MTVfV1JJVEUoSFNXX1BXUl9XRUxMX0RSSVZFUiwgdG1w IHwgcmVxX21hc2spOwo+ICAJCX0KPiAgCj4gQEAgLTM3Nyw2ICszOTcsMTkgQEAgc3RhdGljIHZv aWQgc2tsX3NldF9wb3dlcl93ZWxsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK PiAgCQkJSTkxNV9XUklURShIU1dfUFdSX1dFTExfRFJJVkVSLAl0bXAgJiB+cmVxX21hc2spOwo+ ICAJCQlQT1NUSU5HX1JFQUQoSFNXX1BXUl9XRUxMX0RSSVZFUik7Cj4gIAkJCURSTV9ERUJVR19L TVMoIkRpc2FibGluZyAlc1xuIiwgcG93ZXJfd2VsbC0+bmFtZSk7Cj4gKwo+ICsJCQlpZiAoR0VO OV9FTkFCTEVfREM1KGRldikgJiYKPiArCQkJCXBvd2VyX3dlbGwtPmRhdGEgPT0gU0tMX0RJU1Bf UFdfMikgewo+ICsJCQkJZW51bSBjc3Jfc3RhdGUgc3RhdGU7Cj4gKwo+ICsJCQkJd2FpdF9mb3Io KHN0YXRlID0gaW50ZWxfY3NyX2xvYWRfc3RhdHVzX2dldChkZXZfcHJpdikpICE9Cj4gKwkJCQkJ CUZXX1VOSU5JVElBTElaRUQsIDEwMDApOwo+ICsJCQkJaWYgKHN0YXRlICE9IEZXX0xPQURFRCkK PiArCQkJCQlEUk1fRVJST1IoIkNTUiBmaXJtd2FyZSBub3QgcmVhZHkgKCVkKVxuIiwKPiArCQkJ CQkJCXN0YXRlKTsKPiArCQkJCWVsc2UKPiArCQkJCQlnZW45X2VuYWJsZV9kYzUoZGV2X3ByaXYp Owo+ICsJCQl9Cj4gIAkJfQo+ICAJfQo+ICAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=