From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH 3/8] drm/i915/skl: Add DC5 Trigger Sequence. Date: Thu, 02 Apr 2015 22:33:02 +0300 Message-ID: <1428003182.8235.44.camel@ideak-mobl> References: <1427885382-8753-1-git-send-email-animesh.manna@intel.com> <1427885547-8834-1-git-send-email-animesh.manna@intel.com> <1427885547-8834-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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id CAE9B6EB18 for ; Thu, 2 Apr 2015 12:33:05 -0700 (PDT) In-Reply-To: <1427885547-8834-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 T24gV2VkLCAyMDE1LTA0LTAxIGF0IDE2OjIyICswNTMwLCBBbmltZXNoIE1hbm5hIHdyb3RlOgo+ IEZyb206IFN1a2V0dSBTaGFoIDxzdWtldHUuai5zaGFoQGludGVsLmNvbT4KPiAKPiBBZGQgdHJp Z2dlcnMgYXMgcGVyIGV4cGVjdGF0aW9ucyBtZW50aW9uZWQgaW4gZ2VuOV9lbmFibGVfZGM1Cj4g YW5kIGdlbjlfZGlzYWJsZV9kYzUgcGF0Y2guCj4gCj4gQWxzbyBjYWxsIFBPU1RJTkdfUkVBRCBm b3IgZXZlcnkgd3JpdGUgdG8gYSByZWdpc3RlciB0byBlbnN1cmUgdGhhdAo+IGl0cyB3cml0dGVu IGltbWVkaWF0ZWx5Lgo+IAo+IHYxOiBSZW1vdmUgUE9TVElOR19SRUFEIGNhbGxzIGFzIHRoZXkn dmUgYWxyZWFkeSBiZWVuIGFkZGVkIGluIHByZXZpb3VzIHBhdGNoZXMuCj4gCj4gdjI6IFJlYmFz ZSB0byBtb3ZlIGFsbCBydW50aW1lIHBtIHNwZWNpZmljIGNoYW5nZXMgdG8gaW50ZWxfcnVudGlt ZV9wbS5jIGZpbGUuCj4gCj4gTW9kaWZpZWQgYXMgcGVyIHJldmlldyBjb21tZW50cyBmcm9tIElt cmU6Cj4gMV0gQ2hhbmdlIHZhcmlhYmxlIG5hbWUgJ2RjNV9hbGxvd2VkJyB0byAnZGM1X2VuYWJs ZWQnIHRvIGNvcnJlc3BvbmQgdG8gcmVsZXZhbnQKPiAgICBmdW5jdGlvbnMuCj4gMl0gTW92ZSB0 aGUgY2hlY2sgZGM1X2VuYWJsZWQgaW4gc2tsX3NldF9wb3dlcl93ZWxsKCkgdG8gZGlzYWJsZSBE QzUgaW50bwo+ICAgIGdlbjlfZGlzYWJsZV9EQzUgd2hpY2ggaXMgYSBtb3JlIGFwcHJvcHJpYXRl IHBsYWNlLgo+IDNdIENvbnZlcnQgY2hlY2tzIGZvciAncG0uZGM1X2VuYWJsZWQnIGFuZCAncG0u c3VzcGVuZGVkJyBpbiBza2xfc2V0X3Bvd2VyX3dlbGwoKQo+ICAgIHRvIHdhcm5pbmdzLiBIb3dl dmVyLCByZW1vdmluZyB0aGVtIGZvciBub3cgYXMgdGhleSdsbCBiZSBpbmNsdWRlZCBpbiBhIGZ1 dHVyZSBwYXRjaAo+ICAgIGFzc2VydGluZyBEQy1zdGF0ZSBlbnRyeS9leGl0IGNyaXRlcmlhLgo+ IDRdIEVuYWJsZSBEQzUsIG9ubHkgd2hlbiBDU1IgZmlybXdhcmUgaXMgdmVyaWZpZWQgdG8gYmUg bG9hZGVkLiBDcmVhdGUgbmV3IHN0cnVjdHVyZQo+ICAgIHRvIHRyYWNrICdlbmFibGVkJyBhbmQg J2RlZmVycmVkJyBzdGF0dXMgb2YgREM1Lgo+IDVdIEVuc3VyZSBydW50aW1lIFBNIHJlZmVyZW5j ZSBpcyBvYnRhaW5lZCwgaWYgQ1NSIGlzIG5vdCBsb2FkZWQsIHRvIGF2b2lkIGVudGVyaW5nCj4g ICAgcnVudGltZS1zdXNwZW5kIGFuZCByZWxlYXNlIGl0IHdoZW4gaXQncyBsb2FkZWQuCj4gNl0g UHJvdGVjdCBuZWNlc3NhcnkgQ1NSLXJlbGF0ZWQgY29kZSB3aXRoIGxvY2tzLgo+IDddIE1vdmUg Q1NSLWxvYWRpbmcgY2FsbCB0byBydW50aW1lIFBNIGluaXRpYWxpemF0aW9uLCBhcyBwb3dlciBk b21haW5zIG5lZWRlZCB0byBiZQo+ICAgIGFjY2Vzc2VkIGR1cmluZyBkZWZlcnJlZCBEQzUtZW5h YmxpbmcsIGFyZSBub3QgaW5pdGlhbGl6ZWQgZWFybGllci4KPiAKPiB2MzogUmViYXNlIHRvIGxh dGVzdC4KPiAKPiBNb2RpZmllZCBhcyBwZXIgcmV2aWV3IGNvbW1lbnRzIGZyb20gSW1yZToKPiAx XSBVc2UgYmxvY2tpbmcgd2FpdCBmb3IgQ1NSLWxvYWRpbmcgdG8gZmluaXNoIHRvIGVuYWJsZSBE QzUgIGZvciBzaW1wbGljaXR5LCBpbnN0ZWFkIG9mCj4gICAgZGVmZXJyaW5nIGVuYWJsaW5nIERD NSB1bnRpbCBDU1IgaXMgbG9hZGVkLgo+IDJdIE9idGFpbiBydW50aW1lIFBNIHJlZmVyZW5jZSBk dXJpbmcgQ1NSLWxvYWRpbmcgaW5pdGlhbGl6YXRpb24gaXRzZWxmIGFzIGRlZmVycmVkIERDNS0K PiAgICBlbmFibGluZyBpcyByZW1vdmVkIGFuZCByZWxlYXNlIGl0IGF0IHRoZSBlbmQgb2YgQ1NS LWxvYWRpbmcgZnVuY3Rpb25hbGl0eS4KPiAzXSBSZXZlcnQgY2FsbGluZyBDU1ItbG9hZGluZyBm dW5jdGlvbmFsaXR5IHRvIHRoZSBiZWdpbm5pbmcgb2YgaTkxNSBkcml2ZXItbG9hZAo+ICAgIGZ1 bmN0aW9uYWxpdHkgdG8gYXZvaWQgYW55IGRlbGF5IGluIGxvYWRpbmcuCj4gNF0gRGVmaW5lIGFu b3RoZXIgdmFyaWFibGUgdG8gdHJhY2sgd2hldGhlciBDU1ItbG9hZGluZyBmYWlsZWQgYW5kIHVz ZSBpdCB0byBhdm9pZCBlbmFibGluZwo+ICAgIERDNSBpZiBpdCdzIHRydWUuCj4gNV0gRGVmaW5l IENTUi1sb2FkLXN0YXR1cyBhY2Nlc3NvciBmdW5jdGlvbnMgZm9yIHVzZSBsYXRlci4KPiAKPiB2 NDoKPiAxXSBEaXNhYmxlIERDNSBiZWZvcmUgZW5hYmxpbmcgUEcyIGluc3RlYWQgb2YgYWZ0ZXIg aXQuCj4gMl0gREM1IHdhcyBiZWluZyBtaXN0YWtlbiBlbmFibGVkIGV2ZW4gd2hlbiBDU1ItbG9h ZGluZyB0aW1lZC1vdXQuIEZpeCB0aGF0Lgo+IDNdIEVuYWJsZSBEQzUtcmVsYXRlZCBmdW5jdGlv bmFsaXR5IHVzaW5nIGEgbWFjcm8uCj4gNF0gUmVtb3ZlIGRjNV9lbmFibGVkIHRyYWNraW5nIHZh cmlhYmxlIGFuZCBpdHMgdXNlIGFzIGl0J3Mgbm90IG5lZWRlZCBub3cuCj4gCj4gdjU6Cj4gMV0g TWFyayBDU1IgZmFpbGVkIHRvIGxvYWQgd2hlcmUgbmVjZXNzYXJ5IGluIGZpbmlzaF9jc3JfbG9h ZCBmdW5jdGlvbi4KPiAyXSBVc2UgbXV0ZXgtcHJvdGVjdGVkIGFjY2Vzc29yIGZ1bmN0aW9uIHRv IGNoZWNrIGlmIENTUiBsb2FkZWQgaW5zdGVhZCBvZiBkaXJlY3RseQo+ICAgIGFjY2Vzc2luZyB0 aGUgdmFyaWFibGUuCj4gM10gUHJlZml4IGNzcl9sb2FkX3N0YXR1c19nZXQvc2V0IGZ1bmN0aW9u IG5hbWVzIHdpdGggaW50ZWxfLgo+IAo+IHY2OiByZWJhc2UgdG8gbGF0ZXN0Lgo+IHY3OiBSZWJh c2Ugb24gdG9wIG9mIG5pZ2h0bHkgKERhbWllbikKPiB2ODogU3F1YXNoZWQgdGhlIHBhdGNoIGZy b20gSW1yZSAtIGFkZGVkIGNzciBoZWxwZXIgcG9pbnRlcnMgdG8gc2ltcGxpZnkgdGhlIGNvZGUu IChJbXJlKQo+IHY5OiBBZnRlciBhZGRpbmcgZG1jIHZlciAxLjAgc3VwcG9ydCByZWJhc2VkIG9u IHRvcCBvZiBuaWdodGx5LiAoQW5pbWVzaCkKPiAKPiBJc3N1ZTogVklaLTI4MTkKPiBTaWduZWQt b2ZmLWJ5OiBBLlN1bmlsIEthbWF0aCA8c3VuaWwua2FtYXRoQGludGVsLmNvbT4KPiBTaWduZWQt b2ZmLWJ5OiBTdWtldHUgU2hhaCA8c3VrZXR1Lmouc2hhaEBpbnRlbC5jb20+Cj4gU2lnbmVkLW9m Zi1ieTogRGFtaWVuIExlc3BpYXUgPGRhbWllbi5sZXNwaWF1QGludGVsLmNvbT4KPiBTaWduZWQt b2ZmLWJ5OiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTog QW5pbWVzaCBNYW5uYSA8YW5pbWVzaC5tYW5uYUBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICB8ICAyICsrCj4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Nzci5jICAgICAgICB8IDUwICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgICAgfCAgMiAr Kwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMgfCAzMSArKysrKysr KysrKysrKysrKysrKwo+ICA0IGZpbGVzIGNoYW5nZWQsIDg0IGluc2VydGlvbnMoKyksIDEgZGVs ZXRpb24oLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBpbmRleCBkZDU3MmEwLi4zMzIw ZmI0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gQEAgLTY2OSw2ICs2NjksOCBAQCBz dHJ1Y3QgaW50ZWxfdW5jb3JlIHsKPiAgc3RydWN0IGludGVsX2NzciB7Cj4gIAlpbnQgY3NyX3Np emU7Cj4gIAl1OCAqY3NyX2J1ZjsKPiArCWJvb2wgbG9hZGVkOwo+ICsJYm9vbCBmYWlsZWQ7CgpO aXRwaWNrOiBqdXN0IHVzaW5nIGFuIGVudW0gd2l0aCBsb2FkaW5nLCBsb2FkZWQsIGZhaWxlZCBz dGF0ZXMgd291bGQgYmUKY2xlYXJlci4KCj4gIAljb25zdCBjaGFyICpmd19wYXRoOwo+ICB9Owo+ ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY3NyLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jc3IuYwo+IGluZGV4IGY0NGYxY2QuLjg3ZDM5M2EgMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY3NyLmMKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jc3IuYwo+IEBAIC02MCw2ICs2MCwyNSBAQCBjaGFyIGlu dGVsX2dldF9zdWJzdGVwcGluZyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJZWxzZQo+ICAJ CXJldHVybiAtRU5PREFUQTsKPiAgfQo+ICsKPiArYm9vbCBpbnRlbF9jc3JfbG9hZF9zdGF0dXNf Z2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiArewo+ICsJYm9vbCB2YWwg PSBmYWxzZTsKPiArCj4gKwltdXRleF9sb2NrKCZkZXZfcHJpdi0+Y3NyX2xvY2spOwo+ICsJdmFs ID0gZGV2X3ByaXYtPmNzci5sb2FkZWQ7Cj4gKwltdXRleF91bmxvY2soJmRldl9wcml2LT5jc3Jf bG9jayk7Cj4gKwo+ICsJcmV0dXJuIHZhbDsKPiArfQo+ICsKPiArdm9pZCBpbnRlbF9jc3JfbG9h ZF9zdGF0dXNfc2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgYm9vbCB2YWwp Cj4gK3sKPiArCW11dGV4X2xvY2soJmRldl9wcml2LT5jc3JfbG9jayk7Cj4gKwlkZXZfcHJpdi0+ Y3NyLmxvYWRlZCA9IHZhbDsKPiArCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPmNzcl9sb2NrKTsK PiArfQo+ICsKPiAgdm9pZCBpbnRlbF9jc3JfbG9hZF9wcm9ncmFtKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCj4gIHsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ ZGV2X3ByaXZhdGU7Cj4gQEAgLTkxLDYgKzExMCw4IEBAIHZvaWQgaW50ZWxfY3NyX2xvYWRfcHJv Z3JhbShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJCUk5MTVfV1JJVEUoZGV2X3ByaXYtPmRt Y19pbmZvLm1taW9hZGRyW2ldLAo+ICAJCQlkZXZfcHJpdi0+ZG1jX2luZm8ubW1pb2RhdGFbaV0p Owo+ICAJfQo+ICsKPiArCWRldl9wcml2LT5jc3IubG9hZGVkID0gdHJ1ZTsKPiAgCW11dGV4X3Vu bG9jaygmZGV2X3ByaXYtPmNzcl9sb2NrKTsKPiAgfQo+ICAKPiBAQCAtMTEwLDExICsxMzEsMTMg QEAgc3RhdGljIHZvaWQgZmluaXNoX2Nzcl9sb2FkKGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncs IHZvaWQgKmNvbnRleHQpCj4gIAo+ICAJaWYgKCFmdykgewo+ICAJCWk5MTVfZmlybXdhcmVfbG9h ZF9lcnJvcl9wcmludChjc3ItPmZ3X3BhdGgsIDApOwo+ICsJCWNzci0+ZmFpbGVkID0gdHJ1ZTsK PiAgCQlnb3RvIG91dDsKPiAgCX0KPiAgCj4gIAlpZiAoKHN0ZXBwaW5nID09IC1FTk9EQVRBKSB8 fCAoc3Vic3RlcHBpbmcgPT0gLUVOT0RBVEEpKSB7Cj4gIAkJRFJNX0VSUk9SKCJVbmtub3duIHN0 ZXBwaW5nIGluZm8sIGZpcm13YXJlIGxvYWRpbmcgZmFpbGVkXG4iKTsKPiArCQljc3ItPmZhaWxl ZCA9IHRydWU7Cj4gIAkJZ290byBvdXQ7Cj4gIAl9Cj4gIAo+IEBAIC0xMzEsNiArMTU0LDcgQEAg c3RhdGljIHZvaWQgZmluaXNoX2Nzcl9sb2FkKGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncsIHZv aWQgKmNvbnRleHQpCj4gIAkJKGNzc19oZWFkZXItPmhlYWRlcl9sZW4gKiA0KSkgewo+ICAJCURS TV9FUlJPUigiRmlybXdhcmUgaGFzIHdyb25nIENTUyBoZWFkZXIgbGVuZ3RoICV1IGJ5dGVzXG4i LAo+ICAJCQkoY3NzX2hlYWRlci0+aGVhZGVyX2xlbiAqIDQpKTsKPiArCQljc3ItPmZhaWxlZCA9 IHRydWU7Cj4gIAkJZ290byBvdXQ7Cj4gIAl9Cj4gIAlyZWFkY291bnQgKz0gc2l6ZW9mKHN0cnVj dCBpbnRlbF9jc3NfaGVhZGVyKTsKPiBAQCAtMTQyLDYgKzE2Niw3IEBAIHN0YXRpYyB2b2lkIGZp bmlzaF9jc3JfbG9hZChjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmZ3LCB2b2lkICpjb250ZXh0KQo+ ICAJCShwYWNrYWdlX2hlYWRlci0+aGVhZGVyX2xlbiAqIDQpKSB7Cj4gIAkJRFJNX0VSUk9SKCJG aXJtd2FyZSBoYXMgd3JvbmcgcGFja2FnZSBoZWFkZXIgbGVuZ3RoICV1IGJ5dGVzXG4iLAo+ICAJ CQkocGFja2FnZV9oZWFkZXItPmhlYWRlcl9sZW4gKiA0KSk7Cj4gKwkJY3NyLT5mYWlsZWQgPSB0 cnVlOwo+ICAJCWdvdG8gb3V0Owo+ICAJfQo+ICAJcmVhZGNvdW50ICs9IHNpemVvZihzdHJ1Y3Qg aW50ZWxfcGFja2FnZV9oZWFkZXIpOwo+IEBAIC0xNjIsNiArMTg3LDcgQEAgc3RhdGljIHZvaWQg ZmluaXNoX2Nzcl9sb2FkKGNvbnN0IHN0cnVjdCBmaXJtd2FyZSAqZncsIHZvaWQgKmNvbnRleHQp Cj4gIAl9Cj4gIAlpZiAoZG1jX29mZnNldCA9PSBDU1JfREVGQVVMVF9GV19PRkZTRVQpIHsKPiAg CQlEUk1fRVJST1IoIkZpcm13YXJlIG5vdCBzdXBwb3J0ZWQgZm9yICVjIHN0ZXBwaW5nXG4iLCBz dGVwcGluZyk7Cj4gKwkJY3NyLT5mYWlsZWQgPSB0cnVlOwo+ICAJCWdvdG8gb3V0Owo+ICAJfQo+ ICAJcmVhZGNvdW50ICs9IGRtY19vZmZzZXQ7Cj4gQEAgLTE3MSw2ICsxOTcsNyBAQCBzdGF0aWMg dm9pZCBmaW5pc2hfY3NyX2xvYWQoY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdywgdm9pZCAqY29u dGV4dCkKPiAgCWlmIChzaXplb2Yoc3RydWN0IGludGVsX2RtY19oZWFkZXIpICE9IChkbWNfaGVh ZGVyLT5oZWFkZXJfbGVuKSkgewo+ICAJCURSTV9FUlJPUigiRmlybXdhcmUgaGFzIHdyb25nIGRt YyBoZWFkZXIgbGVuZ3RoICV1IGJ5dGVzXG4iLAo+ICAJCQkJKGRtY19oZWFkZXItPmhlYWRlcl9s ZW4pKTsKPiArCQljc3ItPmZhaWxlZCA9IHRydWU7Cj4gIAkJZ290byBvdXQ7Cj4gIAl9Cj4gIAly ZWFkY291bnQgKz0gc2l6ZW9mKHN0cnVjdCBpbnRlbF9kbWNfaGVhZGVyKTsKPiBAQCAtMTc5LDYg KzIwNiw3IEBAIHN0YXRpYyB2b2lkIGZpbmlzaF9jc3JfbG9hZChjb25zdCBzdHJ1Y3QgZmlybXdh cmUgKmZ3LCB2b2lkICpjb250ZXh0KQo+ICAJaWYgKGRtY19oZWFkZXItPm1taW9fY291bnQgPiBD U1JfTUFYX01NSU9fQ09VTlQpIHsKPiAgCQlEUk1fRVJST1IoIkZpcm13YXJlIGhhcyB3cm9uZyBt bWlvIGNvdW50ICV1XG4iLAo+ICAJCQkJCQlkbWNfaGVhZGVyLT5tbWlvX2NvdW50KTsKPiArCQlj c3ItPmZhaWxlZCA9IHRydWU7Cj4gIAkJZ290byBvdXQ7Cj4gIAl9Cj4gIAlkZXZfcHJpdi0+ZG1j X2luZm8ubW1pb19jb3VudCA9IGRtY19oZWFkZXItPm1taW9fY291bnQ7Cj4gQEAgLTE4Nyw2ICsy MTUsNyBAQCBzdGF0aWMgdm9pZCBmaW5pc2hfY3NyX2xvYWQoY29uc3Qgc3RydWN0IGZpcm13YXJl ICpmdywgdm9pZCAqY29udGV4dCkKPiAgCQkJZG1jX2hlYWRlci0+bW1pb2FkZHJbaV0gPD0gQ1NS X01NSU9fRU5EX1JBTkdFKSB7Cj4gIAkJCURSTV9FUlJPUigiIEZpcm13YXJlIGhhcyB3cm9uZyBt bWlvIGFkZHJlc3MgMHgleFxuIiwKPiAgCQkJCQkJZG1jX2hlYWRlci0+bW1pb2FkZHJbaV0pOwo+ ICsJCQljc3ItPmZhaWxlZCA9IHRydWU7Cj4gIAkJCWdvdG8gb3V0Owo+ICAJCX0KPiAgCQlkZXZf cHJpdi0+ZG1jX2luZm8ubW1pb2FkZHJbaV0gPSBkbWNfaGVhZGVyLT5tbWlvYWRkcltpXTsKPiBA QCAtMTk3LDExICsyMjYsMTMgQEAgc3RhdGljIHZvaWQgZmluaXNoX2Nzcl9sb2FkKGNvbnN0IHN0 cnVjdCBmaXJtd2FyZSAqZncsIHZvaWQgKmNvbnRleHQpCj4gIAluYnl0ZXMgPSBkbWNfaGVhZGVy LT5md19zaXplICogNDsKPiAgCWlmIChuYnl0ZXMgPiBDU1JfTUFYX0ZXX1NJWkUpIHsKPiAgCQlE Uk1fRVJST1IoIkNTUiBmaXJtd2FyZSB0b28gYmlnICgldSkgYnl0ZXNcbiIsIG5ieXRlcyk7Cj4g KwkJY3NyLT5mYWlsZWQgPSB0cnVlOwo+ICAJCWdvdG8gb3V0Owo+ICAJfQo+ICAJZGV2X3ByaXYt PmRtY19pbmZvLmRtY19wYXlsb2FkID0ga21hbGxvYyhuYnl0ZXMsIEdGUF9LRVJORUwpOwo+ICAJ aWYgKCFkZXZfcHJpdi0+ZG1jX2luZm8uZG1jX3BheWxvYWQpIHsKPiAgCQlEUk1fRVJST1IoIk1l bW9yeSBhbGxvY2F0aW9uIGZhaWxlZCBmb3IgZG1jIHBheWxvYWRcbiIpOwo+ICsJCWNzci0+ZmFp bGVkID0gdHJ1ZTsKPiAgCQlnb3RvIG91dDsKPiAgCX0KCk5pdHBpY2s6IHRoZSBhYm92ZSBjb3Vs ZCBiZSBzaW1wbGlmaWVkIGJ5IHNldHRpbmcgdGhlIHN0YXRlIHRvICdmYWlsZWQnCm9uY2Ugb24g dGhlIHRvcCBhbmQgdG8gJ2xvYWRlZCcgaW4gaW50ZWxfY3NyX2xvYWRfcHJvZ3JhbS4KCj4gIAo+ IEBAIC0yMTgsNyArMjQ5LDE0IEBAIHN0YXRpYyB2b2lkIGZpbmlzaF9jc3JfbG9hZChjb25zdCBz dHJ1Y3QgZmlybXdhcmUgKmZ3LCB2b2lkICpjb250ZXh0KQo+ICAKPiAgCS8qIGxvYWQgY3NyIHBy b2dyYW0gZHVyaW5nIHN5c3RlbSBib290LCBhcyBuZWVkZWQgZm9yIERDIHN0YXRlcyAqLwo+ICAJ aW50ZWxfY3NyX2xvYWRfcHJvZ3JhbShkZXYpOwo+ICsKPiAgb3V0Ogo+ICsJLyoKPiArCSAqIFJl bGVhc2UgdGhlIHJ1bnRpbWUgcG0gcmVmZXJlbmNlIG9idGFpbmVkIHdoZW4KPiArCSAqIENTUiB3 YXNuJ3QgbG9hZGVkLgo+ICsJICovCj4gKwlpbnRlbF9ydW50aW1lX3BtX3B1dChkZXZfcHJpdik7 Cj4gKwo+ICAJa2ZyZWUoY3NyLT5jc3JfYnVmKTsKPiAgCWNzci0+Y3NyX2J1ZiA9IE5VTEw7Cj4g IH0KPiBAQCAtMjM2LDE2ICsyNzQsMjUgQEAgaW50IGludGVsX2Nzcl91Y29kZV9pbml0KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCj4gIAkJY3NyLT5md19wYXRoID0gSTkxNV9DU1JfU0tMOwo+ICAJ ZWxzZSB7Cj4gIAkJRFJNX0VSUk9SKCJVbmV4cGVjdGVkOiBubyBrbm93biBDU1IgZmlybXdhcmUg Zm9yIHBsYXRmb3JtXG4iKTsKPiArCQljc3ItPmZhaWxlZCA9IHRydWU7Cj4gIAkJcmV0dXJuIDA7 Cj4gIAl9Cj4gIAo+ICsJLyoKPiArCSAqIE9idGFpbiBhIHJ1bnRpbWUgcG0gcmVmZXJlbmNlLCB1 bnRpbCBDU1IgaXMgbG9hZGVkLAo+ICsJICogdG8gYXZvaWQgZW50ZXJpbmcgcnVudGltZS1zdXNw ZW5kLgo+ICsJICovCj4gKwlpbnRlbF9ydW50aW1lX3BtX2dldChkZXZfcHJpdik7Cj4gKwo+ICAJ LyogQ1NSIHN1cHBvcnRlZCBmb3IgcGxhdGZvcm0sIGxvYWQgZmlybXdhcmUgKi8KPiAgCXJldCA9 IHJlcXVlc3RfZmlybXdhcmVfbm93YWl0KFRISVNfTU9EVUxFLCB0cnVlLCBjc3ItPmZ3X3BhdGgs Cj4gIAkJCQkmZGV2X3ByaXYtPmRldi0+cGRldi0+ZGV2LAo+ICAJCQkJR0ZQX0tFUk5FTCwgZGV2 X3ByaXYsCj4gIAkJCQlmaW5pc2hfY3NyX2xvYWQpOwo+IC0JaWYgKHJldCkKPiArCWlmIChyZXQp IHsKPiAgCQlpOTE1X2Zpcm13YXJlX2xvYWRfZXJyb3JfcHJpbnQoY3NyLT5md19wYXRoLCByZXQp Owo+ICsJCWNzci0+ZmFpbGVkID0gdHJ1ZTsKPiArCX0KPiAgCj4gIAlyZXR1cm4gcmV0Owo+ICB9 Cj4gQEAgLTI1Nyw2ICszMDQsNyBAQCB2b2lkIGludGVsX2Nzcl91Y29kZV9maW5pKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpCj4gIAlpZiAoIUhBU19DU1IoZGV2KSkKPiAgCQlyZXR1cm47Cj4gIAo+ ICsJaW50ZWxfY3NyX2xvYWRfc3RhdHVzX3NldChkZXZfcHJpdiwgZmFsc2UpOwo+ICAJa2ZyZWUo ZGV2X3ByaXYtPmRtY19pbmZvLmRtY19wYXlsb2FkKTsKPiAgCW1lbXNldCgmZGV2X3ByaXYtPmRt Y19pbmZvLCAwLCBzaXplb2Yoc3RydWN0IGludGVsX2RtY19pbmZvKSk7Cj4gIH0KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcnYuaAo+IGluZGV4IGNkMjBiNmEuLjM5Y2IyZGMgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcnYuaAo+IEBAIC0xMDYxLDYgKzEwNjEsOCBAQCB1bnNpZ25lZCBsb25nIGlu dGVsX3BsYW5lX29ial9vZmZzZXQoc3RydWN0IGludGVsX3BsYW5lICppbnRlbF9wbGFuZSwKPiAg Cj4gIC8qIGludGVsX2Nzci5jICovCj4gIGludCBpbnRlbF9jc3JfdWNvZGVfaW5pdChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KTsKPiArYm9vbCBpbnRlbF9jc3JfbG9hZF9zdGF0dXNfZ2V0KHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gK3ZvaWQgaW50ZWxfY3NyX2xvYWRfc3Rh dHVzX3NldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGJvb2wgdmFsKTsKPiAg dm9pZCBpbnRlbF9jc3JfbG9hZF9wcm9ncmFtKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ICB2 b2lkIGludGVsX2Nzcl91Y29kZV9maW5pKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ICAKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gaW5kZXggYmM2Y2VlOS4uOGI5 MTdlMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3Bt LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKPiBAQCAt NDksNiArNDksOCBAQAo+ICAgKiBwcmVzZW50IGZvciBhIGdpdmVuIHBsYXRmb3JtLgo+ICAgKi8K PiAgCj4gKyNkZWZpbmUgR0VOOV9FTkFCTEVfREM1KGRldikgKElTX1NLWUxBS0UoZGV2KSkKPiAr Cj4gICNkZWZpbmUgZm9yX2VhY2hfcG93ZXJfd2VsbChpLCBwb3dlcl93ZWxsLCBkb21haW5fbWFz aywgcG93ZXJfZG9tYWlucykJXAo+ICAJZm9yIChpID0gMDsJCQkJCQkJXAo+ICAJICAgICBpIDwg KHBvd2VyX2RvbWFpbnMpLT5wb3dlcl93ZWxsX2NvdW50ICYmCQkJXAo+IEBAIC0zNjksNiArMzcx LDcgQEAgc3RhdGljIHZvaWQgZ2VuOV9kaXNhYmxlX2RjNShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCj4gIHN0YXRpYyB2b2lkIHNrbF9zZXRfcG93ZXJfd2VsbChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJCXN0cnVjdCBpOTE1X3Bvd2VyX3dlbGwgKnBv d2VyX3dlbGwsIGJvb2wgZW5hYmxlKQo+ICB7Cj4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0g ZGV2X3ByaXYtPmRldjsKPiAgCXVpbnQzMl90IHRtcCwgZnVzZV9zdGF0dXM7Cj4gIAl1aW50MzJf dCByZXFfbWFzaywgc3RhdGVfbWFzazsKPiAgCWJvb2wgaXNfZW5hYmxlZCwgZW5hYmxlX3JlcXVl c3RlZCwgY2hlY2tfZnVzZV9zdGF0dXMgPSBmYWxzZTsKPiBAQCAtNDA4LDYgKzQxMSwxMyBAQCBz dGF0aWMgdm9pZCBza2xfc2V0X3Bvd2VyX3dlbGwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LAo+ICAKPiAgCWlmIChlbmFibGUpIHsKPiAgCQlpZiAoIWVuYWJsZV9yZXF1ZXN0ZWQp IHsKPiArCQkJV0FSTigodG1wICYgc3RhdGVfbWFzaykgJiYKPiArCQkJCSFJOTE1X1JFQUQoSFNX X1BXUl9XRUxMX0JJT1MpLCAiSW52YWxpZCBmb3IgXAo+ICsJCQkJIHBvd2VyIHdlbGwgc3RhdHVz IHRvIGJlIGVuYWJsZWQsIHVubGVzcyBkb25lIFwKPiArCQkJCSBieSB0aGUgQklPUywgd2hlbiBy ZXF1ZXN0IGlzIHRvIGRpc2FibGUhXG4iKTsKClRoaXMgd291bGQgbG9vayB1Z2x5IGluIGRtZXNn LiBZb3UgZG9uJ3QgbmVlZCB0byBicmVhayB0aGUgc3RyaW5nLCB0aGUKODAgY2hhcmFjdGVyIGxp bWl0IGRvZXNuJ3QgYXBwbHkgaGVyZS4gSSB3b3VsZCBhbHNvIGp1c3QgbGVhdmUgb3V0IHRoZQpt ZXNzYWdlIHBhcnQsIHRoZSBjb25kaXRpb24gaXRzZWxmIGlzIHNlbGYgZGVzY3JpcHRpdmUuCgo+ ICsJCQlpZiAoR0VOOV9FTkFCTEVfREM1KGRldikgJiYKPiArCQkJCXBvd2VyX3dlbGwtPmRhdGEg PT0gU0tMX0RJU1BfUFdfMikKPiArCQkJCWdlbjlfZGlzYWJsZV9kYzUoZGV2X3ByaXYpOwo+ICAJ CQlJOTE1X1dSSVRFKEhTV19QV1JfV0VMTF9EUklWRVIsIHRtcCB8IHJlcV9tYXNrKTsKPiAgCQl9 Cj4gIAo+IEBAIC00MjQsNiArNDM0LDI3IEBAIHN0YXRpYyB2b2lkIHNrbF9zZXRfcG93ZXJfd2Vs bChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJCUk5MTVfV1JJVEUoSFNX X1BXUl9XRUxMX0RSSVZFUiwJdG1wICYgfnJlcV9tYXNrKTsKPiAgCQkJUE9TVElOR19SRUFEKEhT V19QV1JfV0VMTF9EUklWRVIpOwo+ICAJCQlEUk1fREVCVUdfS01TKCJEaXNhYmxpbmcgJXNcbiIs IHBvd2VyX3dlbGwtPm5hbWUpOwo+ICsKPiArCQkJaWYgKEdFTjlfRU5BQkxFX0RDNShkZXYpICYm Cj4gKwkJCQlwb3dlcl93ZWxsLT5kYXRhID09IFNLTF9ESVNQX1BXXzIpIHsKPiArCQkJCWlmICgh ZGV2X3ByaXYtPmNzci5mYWlsZWQpIHsKPiArCQkJCQkvKgo+ICsJCQkJCSogVE9ETzogd2FpdCBm b3IgYSBjb21wbGV0aW9uIGV2ZW50IG9yCj4gKwkJCQkJKiBzaW1pbGFyIGhlcmUgaW5zdGVhZCBv ZiBidXN5Cj4gKwkJCQkJKiB3YWl0aW5nIHVzaW5nIHdhaXRfZm9yIGZ1bmN0aW9uLgo+ICsJCQkJ CSovCj4gKwkJCQkJaWYgKHdhaXRfZm9yKAo+ICsJCQkJCQlpbnRlbF9jc3JfbG9hZF9zdGF0dXNf Z2V0KAo+ICsJCQkJCQkJZGV2X3ByaXYpLCAxMDAwKSkKPiArCQkJCQkJRFJNX0VSUk9SKCJUaW1l ZCBvdXQgd2FpdGluZyBcCj4gKwkJCQkJCQlmb3IgQ1NSIHRvIGJlIGxvYWRlZCEiKTsKPiArCQkJ CQllbHNlCj4gKwkJCQkJCWdlbjlfZW5hYmxlX2RjNShkZXZfcHJpdik7Cj4gKwkJCQl9IGVsc2Ug ewo+ICsJCQkJCURSTV9FUlJPUigiQ2Fubm90IGVuYWJsZSBEQzUgYXMgQ1NSIFwKPiArCQkJCQkJ CWZhaWxlZCB0byBsb2FkISIpOwoKQWdhaW4sIHRoZSBhYm92ZSBlcnJvciBtZXNzYWdlcyBzaG91 bGRuJ3QgYmUgYnJva2VuIGludG8gbXVsdGlwbGUgbGluZXMuCgpXaXRoIHRoZSBhYm92ZSBmaXhl ZCAobm90IGNvbnNpZGVyaW5nIHRoZSBuaXRwaWNrcyksIHRoaXMgaXM6ClJldmlld2VkLWJ5OiBJ bXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+Cgo+ICsJCQkJfQo+ICsJCQl9Cj4gIAkJfQo+ ICAJfQo+ICAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=