From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH v3 3/8] drm/i915/skl: Add DC5 Trigger Sequence Date: Mon, 13 Apr 2015 14:33:50 +0300 Message-ID: <1428924830.29827.48.camel@intel.com> References: <1428678684-11326-1-git-send-email-animesh.manna@intel.com> <1428920783-23802-1-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 92F846E090 for ; Mon, 13 Apr 2015 04:33:53 -0700 (PDT) In-Reply-To: <1428920783-23802-1-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 T24gbWEsIDIwMTUtMDQtMTMgYXQgMTU6NTYgKzA1MzAsIEFuaW1lc2ggTWFubmEgd3JvdGU6Cj4g 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+IElzc3VlOiBW SVotMjgxOQo+IFNpZ25lZC1vZmYtYnk6IEEuU3VuaWwgS2FtYXRoIDxzdW5pbC5rYW1hdGhAaW50 ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IFN1a2V0dSBTaGFoIDxzdWtldHUuai5zaGFoQGludGVs LmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAaW50 ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4K PiBTaWduZWQtb2ZmLWJ5OiBBbmltZXNoIE1hbm5hIDxhbmltZXNoLm1hbm5hQGludGVsLmNvbT4K PiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgIHwgIDcgKysr KysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY3NyLmMgICAgICAgIHwgNTEgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi5oICAgICAgICB8ICAyICsrCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRp bWVfcG0uYyB8IDI5ICsrKysrKysrKysrKysrKysrKysKPiAgNCBmaWxlcyBjaGFuZ2VkLCA4NyBp bnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ IGluZGV4IDkwZTQ3YTkuLjhkNmRlYWEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBA QCAtNjY3LDYgKzY2NywxMiBAQCBzdHJ1Y3QgaW50ZWxfdW5jb3JlIHsKPiAgI2RlZmluZSBmb3Jf ZWFjaF9md19kb21haW4oZG9tYWluX18sIGRldl9wcml2X18sIGlfXykgXAo+ICAJZm9yX2VhY2hf ZndfZG9tYWluX21hc2soZG9tYWluX18sIEZPUkNFV0FLRV9BTEwsIGRldl9wcml2X18sIGlfXykK PiAgCj4gK2VudW0gY3NyX3N0YXRlcyB7CgpOaXRwaWNrOiBqdXN0IGNzcl9zdGF0ZS4KCj4gKwlG V19MT0FERUQgPSAwLAo+ICsJRldfTE9BRElORywKPiArCUZXX0ZBSUxFRAo+ICt9OwoKSSdkIHJh dGhlciBoYXZlIEZXX0xPQURJTkcgPSAwLCBhcyB0aGF0J3Mgd2hhdCB0aGUgdW5pbml0aWFsaXpl ZCBzdGF0ZQpyZWFsbHkgaXMuIFlvdSBjb3VsZCBhbHNvIHJlbmFtZSBpdCB0byBGV19VTklOSVRJ QUxJWkVEIGFjY29yZGluZ2x5LgoKPiArCj4gIHN0cnVjdCBpbnRlbF9jc3Igewo+ICAJY29uc3Qg Y2hhciAqZndfcGF0aDsKPiAgCV9fYmUzMiAqZG1jX3BheWxvYWQ7Cj4gQEAgLTY3NCw2ICs2ODAs NyBAQCBzdHJ1Y3QgaW50ZWxfY3NyIHsKPiAgCXVpbnQzMl90IG1taW9fY291bnQ7Cj4gIAl1aW50 MzJfdCBtbWlvYWRkcls4XTsKPiAgCXVpbnQzMl90IG1taW9kYXRhWzhdOwo+ICsJZW51bSBjc3Jf c3RhdGVzIHN0YXRlczsKPiAgfTsKPiAgCj4gICNkZWZpbmUgREVWX0lORk9fRk9SX0VBQ0hfRkxB RyhmdW5jLCBzZXApIFwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf Y3NyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jc3IuYwo+IGluZGV4IGFiOWIxNmIu LjZkMDhhNDEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY3NyLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jc3IuYwo+IEBAIC00OSw2ICs0OSwy NSBAQCBzdGF0aWMgY2hhciBpbnRlbF9nZXRfc3Vic3RlcHBpbmcoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKPiAgCWVsc2UKPiAgCQlyZXR1cm4gLUVOT0RBVEE7Cj4gIH0KPiArCj4gK2Jvb2wgaW50 ZWxfY3NyX2xvYWRfc3RhdHVzX2dldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp Cj4gK3sKPiArCWJvb2wgdmFsID0gZmFsc2U7Cj4gKwo+ICsJbXV0ZXhfbG9jaygmZGV2X3ByaXYt PmNzcl9sb2NrKTsKPiArCXZhbCA9IGRldl9wcml2LT5jc3Iuc3RhdGVzOwo+ICsJbXV0ZXhfdW5s b2NrKCZkZXZfcHJpdi0+Y3NyX2xvY2spOwo+ICsKPiArCXJldHVybiB2YWw7Cj4gK30KPiArCj4g K3ZvaWQgaW50ZWxfY3NyX2xvYWRfc3RhdHVzX3NldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsIGJvb2wgdmFsKQo+ICt7Cj4gKwltdXRleF9sb2NrKCZkZXZfcHJpdi0+Y3NyX2xv Y2spOwo+ICsJZGV2X3ByaXYtPmNzci5zdGF0ZXMgPSB2YWw7Cj4gKwltdXRleF91bmxvY2soJmRl dl9wcml2LT5jc3JfbG9jayk7Cj4gK30KPiArCj4gIHZvaWQgaW50ZWxfY3NyX2xvYWRfcHJvZ3Jh bShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+IEBAIC03MSw2ICs5MCw4IEBAIHZvaWQg aW50ZWxfY3NyX2xvYWRfcHJvZ3JhbShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJCUk5MTVf V1JJVEUoZGV2X3ByaXYtPmNzci5tbWlvYWRkcltpXSwKPiAgCQkJZGV2X3ByaXYtPmNzci5tbWlv ZGF0YVtpXSk7Cj4gIAl9Cj4gKwo+ICsJaW50ZWxfY3NyX2xvYWRfc3RhdHVzX3NldChkZXZfcHJp diwgRldfTE9BREVEKTsKPiAgCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPmNzcl9sb2NrKTsKPiAg fQo+ICAKPiBAQCAtOTAsMTEgKzExMSwxMyBAQCBzdGF0aWMgdm9pZCBmaW5pc2hfY3NyX2xvYWQo Y29uc3Qgc3RydWN0IGZpcm13YXJlICpmdywgdm9pZCAqY29udGV4dCkKPiAgCj4gIAlpZiAoIWZ3 KSB7Cj4gIAkJaTkxNV9maXJtd2FyZV9sb2FkX2Vycm9yX3ByaW50KGNzci0+ZndfcGF0aCwgMCk7 Cj4gKwkJaW50ZWxfY3NyX2xvYWRfc3RhdHVzX3NldChkZXZfcHJpdiwgRldfRkFJTEVEKTsKPiAg CQlnb3RvIG91dDsKPiAgCX0KPiAgCj4gIAlpZiAoKHN0ZXBwaW5nID09IC1FTk9EQVRBKSB8fCAo c3Vic3RlcHBpbmcgPT0gLUVOT0RBVEEpKSB7Cj4gIAkJRFJNX0VSUk9SKCJVbmtub3duIHN0ZXBw aW5nIGluZm8sIGZpcm13YXJlIGxvYWRpbmcgZmFpbGVkXG4iKTsKPiArCQlpbnRlbF9jc3JfbG9h ZF9zdGF0dXNfc2V0KGRldl9wcml2LCBGV19GQUlMRUQpOwo+ICAJCWdvdG8gb3V0Owo+ICAJfQo+ ICAKPiBAQCAtMTA0LDYgKzEyNyw3IEBAIHN0YXRpYyB2b2lkIGZpbmlzaF9jc3JfbG9hZChjb25z dCBzdHJ1Y3QgZmlybXdhcmUgKmZ3LCB2b2lkICpjb250ZXh0KQo+ICAJCShjc3NfaGVhZGVyLT5o ZWFkZXJfbGVuICogNCkpIHsKPiAgCQlEUk1fRVJST1IoIkZpcm13YXJlIGhhcyB3cm9uZyBDU1Mg aGVhZGVyIGxlbmd0aCAldSBieXRlc1xuIiwKPiAgCQkJKGNzc19oZWFkZXItPmhlYWRlcl9sZW4g KiA0KSk7Cj4gKwkJaW50ZWxfY3NyX2xvYWRfc3RhdHVzX3NldChkZXZfcHJpdiwgRldfRkFJTEVE KTsKPiAgCQlnb3RvIG91dDsKPiAgCX0KPiAgCXJlYWRjb3VudCArPSBzaXplb2Yoc3RydWN0IGlu dGVsX2Nzc19oZWFkZXIpOwo+IEBAIC0xMTUsNiArMTM5LDcgQEAgc3RhdGljIHZvaWQgZmluaXNo X2Nzcl9sb2FkKGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncsIHZvaWQgKmNvbnRleHQpCj4gIAkJ KHBhY2thZ2VfaGVhZGVyLT5oZWFkZXJfbGVuICogNCkpIHsKPiAgCQlEUk1fRVJST1IoIkZpcm13 YXJlIGhhcyB3cm9uZyBwYWNrYWdlIGhlYWRlciBsZW5ndGggJXUgYnl0ZXNcbiIsCj4gIAkJCShw YWNrYWdlX2hlYWRlci0+aGVhZGVyX2xlbiAqIDQpKTsKPiArCQlpbnRlbF9jc3JfbG9hZF9zdGF0 dXNfc2V0KGRldl9wcml2LCBGV19GQUlMRUQpOwo+ICAJCWdvdG8gb3V0Owo+ICAJfQo+ICAJcmVh ZGNvdW50ICs9IHNpemVvZihzdHJ1Y3QgaW50ZWxfcGFja2FnZV9oZWFkZXIpOwo+IEBAIC0xMzUs NiArMTYwLDcgQEAgc3RhdGljIHZvaWQgZmluaXNoX2Nzcl9sb2FkKGNvbnN0IHN0cnVjdCBmaXJt d2FyZSAqZncsIHZvaWQgKmNvbnRleHQpCj4gIAl9Cj4gIAlpZiAoZG1jX29mZnNldCA9PSBDU1Jf REVGQVVMVF9GV19PRkZTRVQpIHsKPiAgCQlEUk1fRVJST1IoIkZpcm13YXJlIG5vdCBzdXBwb3J0 ZWQgZm9yICVjIHN0ZXBwaW5nXG4iLCBzdGVwcGluZyk7Cj4gKwkJaW50ZWxfY3NyX2xvYWRfc3Rh dHVzX3NldChkZXZfcHJpdiwgRldfRkFJTEVEKTsKPiAgCQlnb3RvIG91dDsKPiAgCX0KPiAgCXJl YWRjb3VudCArPSBkbWNfb2Zmc2V0Owo+IEBAIC0xNDQsNiArMTcwLDcgQEAgc3RhdGljIHZvaWQg ZmluaXNoX2Nzcl9sb2FkKGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncsIHZvaWQgKmNvbnRleHQp Cj4gIAlpZiAoc2l6ZW9mKHN0cnVjdCBpbnRlbF9kbWNfaGVhZGVyKSAhPSAoZG1jX2hlYWRlci0+ aGVhZGVyX2xlbikpIHsKPiAgCQlEUk1fRVJST1IoIkZpcm13YXJlIGhhcyB3cm9uZyBkbWMgaGVh ZGVyIGxlbmd0aCAldSBieXRlc1xuIiwKPiAgCQkJCShkbWNfaGVhZGVyLT5oZWFkZXJfbGVuKSk7 Cj4gKwkJaW50ZWxfY3NyX2xvYWRfc3RhdHVzX3NldChkZXZfcHJpdiwgRldfRkFJTEVEKTsKPiAg CQlnb3RvIG91dDsKPiAgCX0KPiAgCXJlYWRjb3VudCArPSBzaXplb2Yoc3RydWN0IGludGVsX2Rt Y19oZWFkZXIpOwo+IEBAIC0xNTIsNiArMTc5LDcgQEAgc3RhdGljIHZvaWQgZmluaXNoX2Nzcl9s b2FkKGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncsIHZvaWQgKmNvbnRleHQpCj4gIAlpZiAoZG1j X2hlYWRlci0+bW1pb19jb3VudCA+IEFSUkFZX1NJWkUoY3NyLT5tbWlvYWRkcikpIHsKPiAgCQlE Uk1fRVJST1IoIkZpcm13YXJlIGhhcyB3cm9uZyBtbWlvIGNvdW50ICV1XG4iLAo+ICAJCQkJCQlk bWNfaGVhZGVyLT5tbWlvX2NvdW50KTsKPiArCQlpbnRlbF9jc3JfbG9hZF9zdGF0dXNfc2V0KGRl dl9wcml2LCBGV19GQUlMRUQpOwo+ICAJCWdvdG8gb3V0Owo+ICAJfQo+ICAJY3NyLT5tbWlvX2Nv dW50ID0gZG1jX2hlYWRlci0+bW1pb19jb3VudDsKPiBAQCAtMTYwLDYgKzE4OCw3IEBAIHN0YXRp YyB2b2lkIGZpbmlzaF9jc3JfbG9hZChjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3LCB2b2lkICpj b250ZXh0KQo+ICAJCQlkbWNfaGVhZGVyLT5tbWlvYWRkcltpXSA+IENTUl9NTUlPX0VORF9SQU5H RSkgewo+ICAJCQlEUk1fRVJST1IoIiBGaXJtd2FyZSBoYXMgd3JvbmcgbW1pbyBhZGRyZXNzIDB4 JXhcbiIsCj4gIAkJCQkJCWRtY19oZWFkZXItPm1taW9hZGRyW2ldKTsKPiArCQkJaW50ZWxfY3Ny X2xvYWRfc3RhdHVzX3NldChkZXZfcHJpdiwgRldfRkFJTEVEKTsKPiAgCQkJZ290byBvdXQ7Cj4g IAkJfQo+ICAJCWNzci0+bW1pb2FkZHJbaV0gPSBkbWNfaGVhZGVyLT5tbWlvYWRkcltpXTsKPiBA QCAtMTcwLDYgKzE5OSw3IEBAIHN0YXRpYyB2b2lkIGZpbmlzaF9jc3JfbG9hZChjb25zdCBzdHJ1 Y3QgZmlybXdhcmUgKmZ3LCB2b2lkICpjb250ZXh0KQo+ICAJbmJ5dGVzID0gZG1jX2hlYWRlci0+ Zndfc2l6ZSAqIDQ7Cj4gIAlpZiAobmJ5dGVzID4gQ1NSX01BWF9GV19TSVpFKSB7Cj4gIAkJRFJN X0VSUk9SKCJDU1IgZmlybXdhcmUgdG9vIGJpZyAoJXUpIGJ5dGVzXG4iLCBuYnl0ZXMpOwo+ICsJ CWludGVsX2Nzcl9sb2FkX3N0YXR1c19zZXQoZGV2X3ByaXYsIEZXX0ZBSUxFRCk7Cj4gIAkJZ290 byBvdXQ7Cj4gIAl9Cj4gIAljc3ItPmRtY19md19zaXplID0gZG1jX2hlYWRlci0+Zndfc2l6ZTsK PiBAQCAtMTc3LDYgKzIwNyw3IEBAIHN0YXRpYyB2b2lkIGZpbmlzaF9jc3JfbG9hZChjb25zdCBz dHJ1Y3QgZmlybXdhcmUgKmZ3LCB2b2lkICpjb250ZXh0KQo+ICAJY3NyLT5kbWNfcGF5bG9hZCA9 IGttYWxsb2MobmJ5dGVzLCBHRlBfS0VSTkVMKTsKPiAgCWlmICghY3NyLT5kbWNfcGF5bG9hZCkg ewo+ICAJCURSTV9FUlJPUigiTWVtb3J5IGFsbG9jYXRpb24gZmFpbGVkIGZvciBkbWMgcGF5bG9h ZFxuIik7Cj4gKwkJaW50ZWxfY3NyX2xvYWRfc3RhdHVzX3NldChkZXZfcHJpdiwgRldfRkFJTEVE KTsKPiAgCQlnb3RvIG91dDsKPiAgCX0KPiAgCj4gQEAgLTE5NCw2ICsyMjUsMTEgQEAgc3RhdGlj IHZvaWQgZmluaXNoX2Nzcl9sb2FkKGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncsIHZvaWQgKmNv bnRleHQpCj4gIAkvKiBsb2FkIGNzciBwcm9ncmFtIGR1cmluZyBzeXN0ZW0gYm9vdCwgYXMgbmVl ZGVkIGZvciBEQyBzdGF0ZXMgKi8KPiAgCWludGVsX2Nzcl9sb2FkX3Byb2dyYW0oZGV2KTsKPiAg b3V0Ogo+ICsJLyoKPiArCSAqIFJlbGVhc2UgdGhlIHJ1bnRpbWUgcG0gcmVmZXJlbmNlIG9idGFp bmVkIHdoZW4KPiArCSAqIENTUiB3YXNuJ3QgbG9hZGVkLgo+ICsJICovCj4gKwlpbnRlbF9ydW50 aW1lX3BtX3B1dChkZXZfcHJpdik7Cj4gIAlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKPiAgfQo+ICAK PiBAQCAtMjEwLDE3ICsyNDYsMjcgQEAgdm9pZCBpbnRlbF9jc3JfdWNvZGVfaW5pdChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQo+ICAJCWNzci0+ZndfcGF0aCA9IEk5MTVfQ1NSX1NLTDsKPiAgCWVs c2Ugewo+ICAJCURSTV9FUlJPUigiVW5leHBlY3RlZDogbm8ga25vd24gQ1NSIGZpcm13YXJlIGZv ciBwbGF0Zm9ybVxuIik7Cj4gKwkJaW50ZWxfY3NyX2xvYWRfc3RhdHVzX3NldChkZXZfcHJpdiwg RldfRkFJTEVEKTsKPiAgCQlyZXR1cm47Cj4gIAl9Cj4gIAo+ICsJLyoKPiArCSAqIE9idGFpbiBh IHJ1bnRpbWUgcG0gcmVmZXJlbmNlLCB1bnRpbCBDU1IgaXMgbG9hZGVkLAo+ICsJICogdG8gYXZv aWQgZW50ZXJpbmcgcnVudGltZS1zdXNwZW5kLgo+ICsJICovCj4gKwlpbnRlbF9ydW50aW1lX3Bt X2dldChkZXZfcHJpdik7Cj4gKwo+ICsJaW50ZWxfY3NyX2xvYWRfc3RhdHVzX3NldChkZXZfcHJp diwgRldfTE9BRElORyk7CgpXaXRoIHRoZSBhYm92ZSBjaGFuZ2UgdGhpcyB3b3VsZG4ndCBiZSBu ZWVkZWQuCgo+ICsKPiAgCS8qIENTUiBzdXBwb3J0ZWQgZm9yIHBsYXRmb3JtLCBsb2FkIGZpcm13 YXJlICovCj4gIAlyZXQgPSByZXF1ZXN0X2Zpcm13YXJlX25vd2FpdChUSElTX01PRFVMRSwgdHJ1 ZSwgY3NyLT5md19wYXRoLAo+ICAJCQkJJmRldl9wcml2LT5kZXYtPnBkZXYtPmRldiwKPiAgCQkJ CUdGUF9LRVJORUwsIGRldl9wcml2LAo+ICAJCQkJZmluaXNoX2Nzcl9sb2FkKTsKPiAtCWlmIChy ZXQpCj4gKwlpZiAocmV0KSB7Cj4gIAkJaTkxNV9maXJtd2FyZV9sb2FkX2Vycm9yX3ByaW50KGNz ci0+ZndfcGF0aCwgcmV0KTsKPiAtCj4gKwkJaW50ZWxfY3NyX2xvYWRfc3RhdHVzX3NldChkZXZf cHJpdiwgRldfRkFJTEVEKTsKPiArCX0KPiAgfQo+ICAKPiAgdm9pZCBpbnRlbF9jc3JfdWNvZGVf ZmluaShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+IEBAIC0yMzAsNSArMjc2LDYgQEAgdm9pZCBp bnRlbF9jc3JfdWNvZGVfZmluaShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJaWYgKCFIQVNf Q1NSKGRldikpCj4gIAkJcmV0dXJuOwo+ICAKPiArCWludGVsX2Nzcl9sb2FkX3N0YXR1c19zZXQo ZGV2X3ByaXYsIEZXX0ZBSUxFRCk7Cj4gIAlrZnJlZShkZXZfcHJpdi0+Y3NyLmRtY19wYXlsb2Fk KTsKPiAgfQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gaW5kZXggZjNhMmQ4OC4uM2ZjMjQ3 MyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gQEAgLTEwNjQsNiArMTA2NCw4IEBA IHVuc2lnbmVkIGxvbmcgaW50ZWxfcGxhbmVfb2JqX29mZnNldChzdHJ1Y3QgaW50ZWxfcGxhbmUg KmludGVsX3BsYW5lLAo+ICAKPiAgLyogaW50ZWxfY3NyLmMgKi8KPiAgdm9pZCBpbnRlbF9jc3Jf dWNvZGVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiArYm9vbCBpbnRlbF9jc3JfbG9h ZF9zdGF0dXNfZ2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gK3ZvaWQg aW50ZWxfY3NyX2xvYWRfc3RhdHVzX3NldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsIGJvb2wgdmFsKTsKPiAgdm9pZCBpbnRlbF9jc3JfbG9hZF9wcm9ncmFtKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpOwo+ICB2b2lkIGludGVsX2Nzcl91Y29kZV9maW5pKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpOwo+ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cnVudGltZV9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4g aW5kZXggYmM2Y2VlOS4uMDc1MDE5MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9ydW50aW1lX3BtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y dW50aW1lX3BtLmMKPiBAQCAtNDksNiArNDksOCBAQAo+ICAgKiBwcmVzZW50IGZvciBhIGdpdmVu IHBsYXRmb3JtLgo+ICAgKi8KPiAgCj4gKyNkZWZpbmUgR0VOOV9FTkFCTEVfREM1KGRldikgKElT X1NLWUxBS0UoZGV2KSkKPiArCj4gICNkZWZpbmUgZm9yX2VhY2hfcG93ZXJfd2VsbChpLCBwb3dl cl93ZWxsLCBkb21haW5fbWFzaywgcG93ZXJfZG9tYWlucykJXAo+ICAJZm9yIChpID0gMDsJCQkJ CQkJXAo+ICAJICAgICBpIDwgKHBvd2VyX2RvbWFpbnMpLT5wb3dlcl93ZWxsX2NvdW50ICYmCQkJ XAo+IEBAIC0zNjksNiArMzcxLDcgQEAgc3RhdGljIHZvaWQgZ2VuOV9kaXNhYmxlX2RjNShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIHN0YXRpYyB2b2lkIHNrbF9zZXRfcG93 ZXJfd2VsbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJCXN0cnVjdCBp OTE1X3Bvd2VyX3dlbGwgKnBvd2VyX3dlbGwsIGJvb2wgZW5hYmxlKQo+ICB7Cj4gKwlzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2ID0gZGV2X3ByaXYtPmRldjsKPiAgCXVpbnQzMl90IHRtcCwgZnVzZV9z dGF0dXM7Cj4gIAl1aW50MzJfdCByZXFfbWFzaywgc3RhdGVfbWFzazsKPiAgCWJvb2wgaXNfZW5h YmxlZCwgZW5hYmxlX3JlcXVlc3RlZCwgY2hlY2tfZnVzZV9zdGF0dXMgPSBmYWxzZTsKPiBAQCAt NDA4LDYgKzQxMSwxMyBAQCBzdGF0aWMgdm9pZCBza2xfc2V0X3Bvd2VyX3dlbGwoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAKPiAgCWlmIChlbmFibGUpIHsKPiAgCQlpZiAo IWVuYWJsZV9yZXF1ZXN0ZWQpIHsKPiArCQkJV0FSTigodG1wICYgc3RhdGVfbWFzaykgJiYKPiAr CQkJCSFJOTE1X1JFQUQoSFNXX1BXUl9XRUxMX0JJT1MpLAo+ICsJCQkJIkludmFsaWQgZm9yIHBv d2VyIHdlbGwgc3RhdHVzIHRvIGJlIGVuYWJsZWQsIHVubGVzcyBkb25lIGJ5IHRoZSBCSU9TLCBc Cj4gKwkJCQl3aGVuIHJlcXVlc3QgaXMgdG8gZGlzYWJsZSFcbiIpOwo+ICsJCQlpZiAoR0VOOV9F TkFCTEVfREM1KGRldikgJiYKPiArCQkJCXBvd2VyX3dlbGwtPmRhdGEgPT0gU0tMX0RJU1BfUFdf MikKPiArCQkJCWdlbjlfZGlzYWJsZV9kYzUoZGV2X3ByaXYpOwo+ICAJCQlJOTE1X1dSSVRFKEhT V19QV1JfV0VMTF9EUklWRVIsIHRtcCB8IHJlcV9tYXNrKTsKPiAgCQl9Cj4gIAo+IEBAIC00MjQs NiArNDM0LDI1IEBAIHN0YXRpYyB2b2lkIHNrbF9zZXRfcG93ZXJfd2VsbChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJCUk5MTVfV1JJVEUoSFNXX1BXUl9XRUxMX0RSSVZF UiwJdG1wICYgfnJlcV9tYXNrKTsKPiAgCQkJUE9TVElOR19SRUFEKEhTV19QV1JfV0VMTF9EUklW RVIpOwo+ICAJCQlEUk1fREVCVUdfS01TKCJEaXNhYmxpbmcgJXNcbiIsIHBvd2VyX3dlbGwtPm5h bWUpOwo+ICsKPiArCQkJaWYgKEdFTjlfRU5BQkxFX0RDNShkZXYpICYmCj4gKwkJCQlwb3dlcl93 ZWxsLT5kYXRhID09IFNLTF9ESVNQX1BXXzIpIHsKPiArCQkJCWlmIChkZXZfcHJpdi0+Y3NyLnN0 YXRlcyA8PSBGV19MT0FESU5HKSB7Cj4gKwkJCQkJLyoKPiArCQkJCQkqIFRPRE86IHdhaXQgZm9y IGEgY29tcGxldGlvbiBldmVudCBvcgo+ICsJCQkJCSogc2ltaWxhciBoZXJlIGluc3RlYWQgb2Yg YnVzeQo+ICsJCQkJCSogd2FpdGluZyB1c2luZyB3YWl0X2ZvciBmdW5jdGlvbi4KPiArCQkJCQkq Lwo+ICsJCQkJCWlmICh3YWl0X2ZvcigKPiArCQkJCQkJaW50ZWxfY3NyX2xvYWRfc3RhdHVzX2dl dCgKPiArCQkJCQkJCWRldl9wcml2KSwgMTAwMCkpCj4gKwkJCQkJCURSTV9FUlJPUigiVGltZWQg b3V0IHdhaXRpbmcgZm9yIENTUiB0byBiZSBsb2FkZWQhIik7CgpUaGlzIHdhaXRzIHVudGlsIHRo ZSBzdGF0ZSBpcyBzZXQgdG8gRldfTE9BRElORyBvciBGV19GQUlMRUQsIHdoZXJlYXMgaXQKc2hv dWxkIHdhaXQgdW50aWwgaXQncyBGV19MT0FERUQuIEkgdGhpbmsgdGhlIGFib3ZlIGJsb2NrIGJl Y29tZXMKY2xlYXJlciBieSByZXR1cm5pbmcgdGhlIHN0YXRlIGZyb20gdGhlIGhlbHBlcjoKCmlm IChHRU45X0VOQUJMRV9EQzUoZGV2KSAmJiBwb3dlcl93ZWxsLT5kYXRhID09IFNLTF9ESVNQX1BX XzIpIHsKCWVudW0gY3NyX3N0YXRlIHN0YXRlOwoKCXdhaXRfZm9yKChzdGF0ZSA9IGludGVsX2Nz cl9zdGF0ZShkZXZfcHJpdikpICE9IEZXX1VOSU5JVElBTElaRUQsIDEwMDApOwoJaWYgKHN0YXRl ICE9IEZXX0xPQURFRCkKCQlEUk1fRVJST1IoIkNTUiBmaXJtd2FyZSBub3QgcmVhZHkgKCVkKVxu Iiwgc3RhdGUpOwoJZWxzZQoJCWdlbjlfZW5hYmxlX2RjNShkZXZfcHJpdik7Cn0KCj4gKwkJCQkJ ZWxzZQo+ICsJCQkJCQlnZW45X2VuYWJsZV9kYzUoZGV2X3ByaXYpOwo+ICsJCQkJfSBlbHNlIHsK PiArCQkJCQlEUk1fRVJST1IoIkNhbm5vdCBlbmFibGUgREM1IGFzIENTUiBmYWlsZWQgdG8gbG9h ZCEiKTsKPiArCQkJCX0KPiArCQkJfQo+ICAJCX0KPiAgCX0KPiAgCgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK