From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH v5 2/2] drm/i915/skl: Add DC5 Trigger Sequence Date: Thu, 30 Apr 2015 16:18:31 +0300 Message-ID: <1430399911.9584.9.camel@intel.com> References: <1429254906.17538.8.camel@ideak-mobl> <1429280176-21178-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 mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 270536E80A for ; Thu, 30 Apr 2015 06:18:45 -0700 (PDT) In-Reply-To: <1429280176-21178-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 T24gcGUsIDIwMTUtMDQtMTcgYXQgMTk6NDYgKzA1MzAsIEFuaW1lc2ggTWFubmEgd3JvdGU6Cj4g 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+IHYxMjogQmFzZWQgb24gcmV2aWV3IGNvbW1lbnQgZnJvbSBJbXJlLCBpbnRyb2R1 Y2VkIGJvb2wgZndfbG9hZGVkIGxvY2FsIHRvIGZpbmlzaF9jc3JfbG9hZCgpIHdoaWNoIGhlbHBz Cj4gY2FsbGluZyBvbmNlIHRvIHNldCB0aGUgY3NyIHN0YXR1cy4gVGhlIHNhbWUgZmxhZyB1c2Vk IHRvIGZhaWwgUlBNIGlmIGZpbmQgYW55IGlzc3VlIGR1cmluZwo+IGZpcm13YXJlIGxvYWRpbmcu Cj4gCj4gSXNzdWU6IFZJWi0yODE5Cj4gU2lnbmVkLW9mZi1ieTogQS5TdW5pbCBLYW1hdGggPHN1 bmlsLmthbWF0aEBpbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogU3VrZXR1IFNoYWggPHN1a2V0 dS5qLnNoYWhAaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IERhbWllbiBMZXNwaWF1IDxkYW1p ZW4ubGVzcGlhdUBpbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogSW1yZSBEZWFrIDxpbXJlLmRl YWtAaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IEFuaW1lc2ggTWFubmEgPGFuaW1lc2gubWFu bmFAaW50ZWwuY29tPgoKVGhpcyBhZGRzIHNvbWUgY2hlY2twYXRjaCB3YXJuaW5ncywgYnV0IHRo ZXkgYXJlIGZpeGVkIGxhdGVyIGluIHRoZQpwYXRjaHNldC4gQXMgZGlzY3Vzc2VkIGVhcmxpZXIg aW4gdGhlIGZ1dHVyZSBsZXQncyBhdm9pZCBzdWNoIHJld3JpdGVzCmluIHRoZSBzYW1lIHBhdGNo c2V0LgoKUmV2aWV3ZWQtYnk6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4KCj4gLS0t Cj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICB8ICA3ICsrKysrKwo+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jc3IuYyAgICAgICAgfCA0MiArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmggICAgICAgIHwgIDMgKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVf cG0uYyB8IDMzICsrKysrKysrKysrKysrKysrKysrKysrKysrCj4gIDQgZmlsZXMgY2hhbmdlZCwg ODMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKPiBpbmRleCA5MGU0N2E5Li42NzBlNDA3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o Cj4gQEAgLTY2Nyw2ICs2NjcsMTIgQEAgc3RydWN0IGludGVsX3VuY29yZSB7Cj4gICNkZWZpbmUg Zm9yX2VhY2hfZndfZG9tYWluKGRvbWFpbl9fLCBkZXZfcHJpdl9fLCBpX18pIFwKPiAgCWZvcl9l YWNoX2Z3X2RvbWFpbl9tYXNrKGRvbWFpbl9fLCBGT1JDRVdBS0VfQUxMLCBkZXZfcHJpdl9fLCBp X18pCj4gIAo+ICtlbnVtIGNzcl9zdGF0ZSB7Cj4gKwlGV19VTklOSVRJQUxJWkVEID0gMCwKPiAr CUZXX0xPQURFRCwKPiArCUZXX0ZBSUxFRAo+ICt9Owo+ICsKPiAgc3RydWN0IGludGVsX2NzciB7 Cj4gIAljb25zdCBjaGFyICpmd19wYXRoOwo+ICAJX19iZTMyICpkbWNfcGF5bG9hZDsKPiBAQCAt Njc0LDYgKzY4MCw3IEBAIHN0cnVjdCBpbnRlbF9jc3Igewo+ICAJdWludDMyX3QgbW1pb19jb3Vu dDsKPiAgCXVpbnQzMl90IG1taW9hZGRyWzhdOwo+ICAJdWludDMyX3QgbW1pb2RhdGFbOF07Cj4g KwllbnVtIGNzcl9zdGF0ZSBzdGF0ZTsKPiAgfTsKPiAgCj4gICNkZWZpbmUgREVWX0lORk9fRk9S X0VBQ0hfRkxBRyhmdW5jLCBzZXApIFwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfY3NyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jc3IuYwo+IGluZGV4 IGY1ZmE1NzQuLjNiZDI5YjUgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfY3NyLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jc3IuYwo+IEBAIC0x ODMsNiArMTgzLDI1IEBAIHN0YXRpYyBjaGFyIGludGVsX2dldF9zdWJzdGVwcGluZyhzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQo+ICAJCXJldHVybiAtRU5PREFUQTsKPiAgfQo+ICAKPiArZW51bSBj c3Jfc3RhdGUgaW50ZWxfY3NyX2xvYWRfc3RhdHVzX2dldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCj4gK3sKPiArCWVudW0gY3NyX3N0YXRlIHN0YXRlOwo+ICsKPiArCW11dGV4 X2xvY2soJmRldl9wcml2LT5jc3JfbG9jayk7Cj4gKwlzdGF0ZSA9IGRldl9wcml2LT5jc3Iuc3Rh dGU7Cj4gKwltdXRleF91bmxvY2soJmRldl9wcml2LT5jc3JfbG9jayk7Cj4gKwo+ICsJcmV0dXJu IHN0YXRlOwo+ICt9Cj4gKwo+ICt2b2lkIGludGVsX2Nzcl9sb2FkX3N0YXR1c19zZXQoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICsJCQllbnVtIGNzcl9zdGF0ZSBzdGF0ZSkK PiArewo+ICsJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPmNzcl9sb2NrKTsKPiArCWRldl9wcml2LT5j c3Iuc3RhdGUgPSBzdGF0ZTsKPiArCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPmNzcl9sb2NrKTsK PiArfQo+ICsKPiAgdm9pZCBpbnRlbF9jc3JfbG9hZF9wcm9ncmFtKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCj4gIHsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ ZGV2X3ByaXZhdGU7Cj4gQEAgLTIwNCw2ICsyMjMsOCBAQCB2b2lkIGludGVsX2Nzcl9sb2FkX3By b2dyYW0oc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCQlJOTE1X1dSSVRFKGRldl9wcml2LT5j c3IubW1pb2FkZHJbaV0sCj4gIAkJCWRldl9wcml2LT5jc3IubW1pb2RhdGFbaV0pOwo+ICAJfQo+ ICsKPiArCWRldl9wcml2LT5jc3Iuc3RhdGUgPSBGV19MT0FERUQ7Cj4gIAltdXRleF91bmxvY2so JmRldl9wcml2LT5jc3JfbG9jayk7Cj4gIH0KPiAgCj4gQEAgLTIyMCw2ICsyNDEsNyBAQCBzdGF0 aWMgdm9pZCBmaW5pc2hfY3NyX2xvYWQoY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdywgdm9pZCAq Y29udGV4dCkKPiAgCXVpbnQzMl90IGRtY19vZmZzZXQgPSBDU1JfREVGQVVMVF9GV19PRkZTRVQs IHJlYWRjb3VudCA9IDAsIG5ieXRlczsKPiAgCXVpbnQzMl90IGk7Cj4gIAlfX2JlMzIgKmRtY19w YXlsb2FkOwo+ICsJYm9vbCBmd19sb2FkZWQgPSBmYWxzZTsKPiAgCj4gIAlpZiAoIWZ3KSB7Cj4g IAkJaTkxNV9maXJtd2FyZV9sb2FkX2Vycm9yX3ByaW50KGNzci0+ZndfcGF0aCwgMCk7Cj4gQEAg LTMyNiw3ICszNDgsMTQgQEAgc3RhdGljIHZvaWQgZmluaXNoX2Nzcl9sb2FkKGNvbnN0IHN0cnVj dCBmaXJtd2FyZSAqZncsIHZvaWQgKmNvbnRleHQpCj4gIAo+ICAJLyogbG9hZCBjc3IgcHJvZ3Jh bSBkdXJpbmcgc3lzdGVtIGJvb3QsIGFzIG5lZWRlZCBmb3IgREMgc3RhdGVzICovCj4gIAlpbnRl bF9jc3JfbG9hZF9wcm9ncmFtKGRldik7Cj4gKwlmd19sb2FkZWQgPSB0cnVlOwo+ICsKPiAgb3V0 Ogo+ICsJaWYgKGZ3X2xvYWRlZCkKPiArCQlpbnRlbF9ydW50aW1lX3BtX3B1dChkZXZfcHJpdik7 Cj4gKwllbHNlCj4gKwkJaW50ZWxfY3NyX2xvYWRfc3RhdHVzX3NldChkZXZfcHJpdiwgRldfRkFJ TEVEKTsKPiArCj4gIAlyZWxlYXNlX2Zpcm13YXJlKGZ3KTsKPiAgfQo+ICAKPiBAQCAtMzQzLDE3 ICszNzIsMjUgQEAgdm9pZCBpbnRlbF9jc3JfdWNvZGVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KQo+ICAJCWNzci0+ZndfcGF0aCA9IEk5MTVfQ1NSX1NLTDsKPiAgCWVsc2Ugewo+ICAJCURS TV9FUlJPUigiVW5leHBlY3RlZDogbm8ga25vd24gQ1NSIGZpcm13YXJlIGZvciBwbGF0Zm9ybVxu Iik7Cj4gKwkJaW50ZWxfY3NyX2xvYWRfc3RhdHVzX3NldChkZXZfcHJpdiwgRldfRkFJTEVEKTsK PiAgCQlyZXR1cm47Cj4gIAl9Cj4gIAo+ICsJLyoKPiArCSAqIE9idGFpbiBhIHJ1bnRpbWUgcG0g cmVmZXJlbmNlLCB1bnRpbCBDU1IgaXMgbG9hZGVkLAo+ICsJICogdG8gYXZvaWQgZW50ZXJpbmcg cnVudGltZS1zdXNwZW5kLgo+ICsJICovCj4gKwlpbnRlbF9ydW50aW1lX3BtX2dldChkZXZfcHJp dik7Cj4gKwo+ICAJLyogQ1NSIHN1cHBvcnRlZCBmb3IgcGxhdGZvcm0sIGxvYWQgZmlybXdhcmUg Ki8KPiAgCXJldCA9IHJlcXVlc3RfZmlybXdhcmVfbm93YWl0KFRISVNfTU9EVUxFLCB0cnVlLCBj c3ItPmZ3X3BhdGgsCj4gIAkJCQkmZGV2X3ByaXYtPmRldi0+cGRldi0+ZGV2LAo+ICAJCQkJR0ZQ X0tFUk5FTCwgZGV2X3ByaXYsCj4gIAkJCQlmaW5pc2hfY3NyX2xvYWQpOwo+IC0JaWYgKHJldCkK PiArCWlmIChyZXQpIHsKPiAgCQlpOTE1X2Zpcm13YXJlX2xvYWRfZXJyb3JfcHJpbnQoY3NyLT5m d19wYXRoLCByZXQpOwo+IC0KPiArCQlpbnRlbF9jc3JfbG9hZF9zdGF0dXNfc2V0KGRldl9wcml2 LCBGV19GQUlMRUQpOwo+ICsJfQo+ICB9Cj4gIAo+ICB2b2lkIGludGVsX2Nzcl91Y29kZV9maW5p KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gQEAgLTM2Myw1ICs0MDAsNiBAQCB2b2lkIGludGVs X2Nzcl91Y29kZV9maW5pKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAlpZiAoIUhBU19DU1Io ZGV2KSkKPiAgCQlyZXR1cm47Cj4gIAo+ICsJaW50ZWxfY3NyX2xvYWRfc3RhdHVzX3NldChkZXZf cHJpdiwgRldfRkFJTEVEKTsKPiAgCWtmcmVlKGRldl9wcml2LT5jc3IuZG1jX3BheWxvYWQpOwo+ ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBpbmRleCBmM2EyZDg4Li4yNWQ3OTU2IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBAQCAtMTA2NCw2ICsxMDY0LDkgQEAgdW5z aWduZWQgbG9uZyBpbnRlbF9wbGFuZV9vYmpfb2Zmc2V0KHN0cnVjdCBpbnRlbF9wbGFuZSAqaW50 ZWxfcGxhbmUsCj4gIAo+ICAvKiBpbnRlbF9jc3IuYyAqLwo+ICB2b2lkIGludGVsX2Nzcl91Y29k ZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ICtlbnVtIGNzcl9zdGF0ZSBpbnRlbF9j c3JfbG9hZF9zdGF0dXNfZ2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4g K3ZvaWQgaW50ZWxfY3NyX2xvYWRfc3RhdHVzX3NldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsCj4gKwkJCQkJZW51bSBjc3Jfc3RhdGUgc3RhdGUpOwo+ICB2b2lkIGludGVsX2Nz cl9sb2FkX3Byb2dyYW0oc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gIHZvaWQgaW50ZWxfY3Ny X3Vjb2RlX2Zpbmkoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gIAo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKPiBpbmRleCBjZTAwZTY5Li4yM2YwMmE4IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwo+IEBAIC00OSw2ICs0OSw4IEBA Cj4gICAqIHByZXNlbnQgZm9yIGEgZ2l2ZW4gcGxhdGZvcm0uCj4gICAqLwo+ICAKPiArI2RlZmlu ZSBHRU45X0VOQUJMRV9EQzUoZGV2KSAoSVNfU0tZTEFLRShkZXYpKQo+ICsKPiAgI2RlZmluZSBm b3JfZWFjaF9wb3dlcl93ZWxsKGksIHBvd2VyX3dlbGwsIGRvbWFpbl9tYXNrLCBwb3dlcl9kb21h aW5zKQlcCj4gIAlmb3IgKGkgPSAwOwkJCQkJCQlcCj4gIAkgICAgIGkgPCAocG93ZXJfZG9tYWlu cyktPnBvd2VyX3dlbGxfY291bnQgJiYJCQlcCj4gQEAgLTMxOSw5ICszMjEsMjAgQEAgc3RhdGlj IHZvaWQgaHN3X3NldF9wb3dlcl93ZWxsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKPiAgCVNLTF9ESVNQTEFZX01JU0NfSU9fUE9XRVJfRE9NQUlOUykpIHwJCVwKPiAgCUJJVChQ T1dFUl9ET01BSU5fSU5JVCkpCj4gIAo+ICtzdGF0aWMgdm9pZCBnZW45X2VuYWJsZV9kYzUoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICt7Cj4gKwkvKiBUT0RPOiBJbXBsZW1l bnRhdGlvbiB0byBiZSBkb25lLiAqLwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBnZW45X2Rpc2Fi bGVfZGM1KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiArewo+ICsJLyogVE9E TzogSW1wbGVtZW50YXRpb24gdG8gYmUgZG9uZS4gKi8KPiArfQo+ICsKPiAgc3RhdGljIHZvaWQg c2tsX3NldF9wb3dlcl93ZWxsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAg CQkJc3RydWN0IGk5MTVfcG93ZXJfd2VsbCAqcG93ZXJfd2VsbCwgYm9vbCBlbmFibGUpCj4gIHsK PiArCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBkZXZfcHJpdi0+ZGV2Owo+ICAJdWludDMyX3Qg dG1wLCBmdXNlX3N0YXR1czsKPiAgCXVpbnQzMl90IHJlcV9tYXNrLCBzdGF0ZV9tYXNrOwo+ICAJ Ym9vbCBpc19lbmFibGVkLCBlbmFibGVfcmVxdWVzdGVkLCBjaGVja19mdXNlX3N0YXR1cyA9IGZh bHNlOwo+IEBAIC0zNjEsNiArMzc0LDEzIEBAIHN0YXRpYyB2b2lkIHNrbF9zZXRfcG93ZXJfd2Vs bChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAo+ICAJaWYgKGVuYWJsZSkg ewo+ICAJCWlmICghZW5hYmxlX3JlcXVlc3RlZCkgewo+ICsJCQlXQVJOKCh0bXAgJiBzdGF0ZV9t YXNrKSAmJgo+ICsJCQkJIUk5MTVfUkVBRChIU1dfUFdSX1dFTExfQklPUyksCj4gKwkJCQkiSW52 YWxpZCBmb3IgcG93ZXIgd2VsbCBzdGF0dXMgdG8gYmUgZW5hYmxlZCwgdW5sZXNzIGRvbmUgYnkg dGhlIEJJT1MsIFwKPiArCQkJCXdoZW4gcmVxdWVzdCBpcyB0byBkaXNhYmxlIVxuIik7Cj4gKwkJ CWlmIChHRU45X0VOQUJMRV9EQzUoZGV2KSAmJgo+ICsJCQkJcG93ZXJfd2VsbC0+ZGF0YSA9PSBT S0xfRElTUF9QV18yKQo+ICsJCQkJZ2VuOV9kaXNhYmxlX2RjNShkZXZfcHJpdik7Cj4gIAkJCUk5 MTVfV1JJVEUoSFNXX1BXUl9XRUxMX0RSSVZFUiwgdG1wIHwgcmVxX21hc2spOwo+ICAJCX0KPiAg Cj4gQEAgLTM3Nyw2ICszOTcsMTkgQEAgc3RhdGljIHZvaWQgc2tsX3NldF9wb3dlcl93ZWxsKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQkJSTkxNV9XUklURShIU1dfUFdS X1dFTExfRFJJVkVSLAl0bXAgJiB+cmVxX21hc2spOwo+ICAJCQlQT1NUSU5HX1JFQUQoSFNXX1BX Ul9XRUxMX0RSSVZFUik7Cj4gIAkJCURSTV9ERUJVR19LTVMoIkRpc2FibGluZyAlc1xuIiwgcG93 ZXJfd2VsbC0+bmFtZSk7Cj4gKwo+ICsJCQlpZiAoR0VOOV9FTkFCTEVfREM1KGRldikgJiYKPiAr CQkJCXBvd2VyX3dlbGwtPmRhdGEgPT0gU0tMX0RJU1BfUFdfMikgewo+ICsJCQkJZW51bSBjc3Jf c3RhdGUgc3RhdGU7Cj4gKwo+ICsJCQkJd2FpdF9mb3IoKHN0YXRlID0gaW50ZWxfY3NyX2xvYWRf c3RhdHVzX2dldChkZXZfcHJpdikpICE9Cj4gKwkJCQkJCUZXX1VOSU5JVElBTElaRUQsIDEwMDAp Owo+ICsJCQkJaWYgKHN0YXRlICE9IEZXX0xPQURFRCkKPiArCQkJCQlEUk1fRVJST1IoIkNTUiBm aXJtd2FyZSBub3QgcmVhZHkgKCVkKVxuIiwKPiArCQkJCQkJCXN0YXRlKTsKPiArCQkJCWVsc2UK PiArCQkJCQlnZW45X2VuYWJsZV9kYzUoZGV2X3ByaXYpOwo+ICsJCQl9Cj4gIAkJfQo+ICAJfQo+ ICAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=