From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH 6/8] drm/i915/skl: Turn DC handling into a power well Date: Wed, 04 Nov 2015 21:15:51 +0200 Message-ID: <1446664551.20323.40.camel@intel.com> References: <1446553874-22986-1-git-send-email-patrik.jakobsson@linux.intel.com> <1446553874-22986-7-git-send-email-patrik.jakobsson@linux.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 mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id D5FFB6E921 for ; Wed, 4 Nov 2015 11:17:20 -0800 (PST) In-Reply-To: <1446553874-22986-7-git-send-email-patrik.jakobsson@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Patrik Jakobsson Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gdGksIDIwMTUtMTEtMDMgYXQgMTM6MzEgKzAxMDAsIFBhdHJpayBKYWtvYnNzb24gd3JvdGU6 Cj4gSGFuZGxlIERDIG9mZiBhcyBhIHBvd2VyIHdlbGwgd2hlcmUgZW5hYmxpbmcgdGhlIHBvd2Vy IHdlbGwgd2lsbCBwcmV2ZW50Cj4gdGhlIERNQyB0byBlbnRlciBzZWxlY3RlZCBEQyBzdGF0ZXMg KHJlcXVpcmVkIGFyb3VuZCBtb2Rlc2V0cyBhbmQgQXV4Cj4gQSkuIERpc2FibGluZyB0aGUgcG93 ZXIgd2VsbCB3aWxsIGFsbG93IERDIHN0YXRlcyBhZ2Fpbi4gRm9yIG5vdyB0aGUKPiBoaWdoZXN0 IERDIHN0YXRlIGlzIERDNiBidXQgd2lsbCBiZSBjb25maWd1cmFibGUgaW4gYSBsYXRlciBwYXRj aC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBQYXRyaWsgSmFrb2Jzc29uIDxwYXRyaWsuamFrb2Jzc29u QGxpbnV4LmludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu YyAgICAgICAgIHwgICA2IC0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku YyAgICB8ICAgNiArKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMg fCAxMDcgKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KPiAgMyBmaWxlcyBjaGFuZ2Vk LCA3OCBpbnNlcnRpb25zKCspLCA0MSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmMKPiBpbmRleCAzNzMxOWIwLi5lMTkwMjM3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5jCj4gQEAgLTEwNjksOSArMTA2OSw2IEBAIHN0YXRpYyBpbnQgc2tsX3N1c3BlbmRfY29tcGxl dGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICB7Cj4gIAlza2xfdW5pbml0 X2NkY2xrKGRldl9wcml2KTsKPiAgCj4gLQlpZiAoZGV2X3ByaXYtPmNzci5kbWNfcGF5bG9hZCkK PiAtCQlza2xfZW5hYmxlX2RjNihkZXZfcHJpdik7Cj4gLQo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAg Cj4gQEAgLTExMTYsOSArMTExMyw2IEBAIHN0YXRpYyBpbnQgYnh0X3Jlc3VtZV9wcmVwYXJlKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCj4gIHN0YXRpYyBpbnQgc2tsX3Jl c3VtZV9wcmVwYXJlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgewo+IC0J aWYgKGRldl9wcml2LT5jc3IuZG1jX3BheWxvYWQpCj4gLQkJc2tsX2Rpc2FibGVfZGM2KGRldl9w cml2KTsKPiAtCj4gIAlza2xfaW5pdF9jZGNsayhkZXZfcHJpdik7Cj4gIAlpbnRlbF9jc3JfbG9h ZF9wcm9ncmFtKGRldl9wcml2KTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku Ywo+IGluZGV4IGM2ZDYwYjguLmU0MDE4NzEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jCj4gQEAgLTEzMjk2LDYgKzEzMjk2LDkgQEAgc3RhdGljIGludCBpbnRlbF9hdG9t aWNfY29tbWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAkJCXRvX2ludGVsX2NydGNfc3Rh dGUoY3J0Yy0+c3RhdGUpLT51cGRhdGVfcGlwZTsKPiAgCQl1bnNpZ25lZCBsb25nIHB1dF9kb21h aW5zID0gMDsKPiAgCj4gKwkJaWYgKG1vZGVzZXQpCj4gKwkJCWludGVsX2Rpc3BsYXlfcG93ZXJf Z2V0KGRldl9wcml2LCBQT1dFUl9ET01BSU5fTU9ERVNFVCk7Cj4gKwo+ICAJCWlmIChtb2Rlc2V0 ICYmIGNydGMtPnN0YXRlLT5hY3RpdmUpIHsKPiAgCQkJdXBkYXRlX3NjYW5saW5lX29mZnNldCh0 b19pbnRlbF9jcnRjKGNydGMpKTsKPiAgCQkJZGV2X3ByaXYtPmRpc3BsYXkuY3J0Y19lbmFibGUo Y3J0Yyk7Cj4gQEAgLTEzMzE5LDYgKzEzMzIyLDkgQEAgc3RhdGljIGludCBpbnRlbF9hdG9taWNf Y29tbWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAkJCW1vZGVzZXRfcHV0X3Bvd2VyX2Rv bWFpbnMoZGV2X3ByaXYsIHB1dF9kb21haW5zKTsKPiAgCj4gIAkJaW50ZWxfcG9zdF9wbGFuZV91 cGRhdGUoaW50ZWxfY3J0Yyk7Cj4gKwo+ICsJCWlmIChtb2Rlc2V0KQo+ICsJCQlpbnRlbF9kaXNw bGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwgUE9XRVJfRE9NQUlOX01PREVTRVQpOwo+ICAJfQo+ICAK PiAgCS8qIEZJWE1FOiBhZGQgc3VicGl4ZWwgb3JkZXIgKi8KPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcnVudGltZV9wbS5jCj4gaW5kZXggYzkwMWIxOS4uMDQyZDkyZiAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKPiBAQCAtNDksOSArNDksNiBAQAo+ICAg KiBwcmVzZW50IGZvciBhIGdpdmVuIHBsYXRmb3JtLgo+ICAgKi8KPiAgCj4gLSNkZWZpbmUgR0VO OV9FTkFCTEVfREM1KGRldikgMAo+IC0jZGVmaW5lIFNLTF9FTkFCTEVfREM2KGRldikgSVNfU0tZ TEFLRShkZXYpCj4gLQo+ICAjZGVmaW5lIGZvcl9lYWNoX3Bvd2VyX3dlbGwoaSwgcG93ZXJfd2Vs bCwgZG9tYWluX21hc2ssIHBvd2VyX2RvbWFpbnMpCVwKPiAgCWZvciAoaSA9IDA7CQkJCQkJCVwK PiAgCSAgICAgaSA8IChwb3dlcl9kb21haW5zKS0+cG93ZXJfd2VsbF9jb3VudCAmJgkJCVwKPiBA QCAtMzM2LDEwICszMzMsMTUgQEAgc3RhdGljIHZvaWQgaHN3X3NldF9wb3dlcl93ZWxsKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCVNLTF9ESVNQTEFZX1BPV0VSV0VMTF8x X1BPV0VSX0RPTUFJTlMgfAkJXAo+ICAJQklUKFBPV0VSX0RPTUFJTl9QTExTKSB8CQkJXAo+ICAJ QklUKFBPV0VSX0RPTUFJTl9JTklUKSkKPiArI2RlZmluZSBTS0xfRElTUExBWV9EQ19PRkZfUE9X RVJfRE9NQUlOUyAoCQlcCj4gKwlCSVQoUE9XRVJfRE9NQUlOX01PREVTRVQpIHwJCQlcCj4gKwlC SVQoUE9XRVJfRE9NQUlOX0FVWF9BKSB8CQkJXAo+ICsJQklUKFBPV0VSX0RPTUFJTl9JTklUKSkK PiAgI2RlZmluZSBTS0xfRElTUExBWV9BTFdBWVNfT05fUE9XRVJfRE9NQUlOUyAoCQlcCj4gIAko UE9XRVJfRE9NQUlOX01BU0sgJiB+KFNLTF9ESVNQTEFZX1BPV0VSV0VMTF8xX1BPV0VSX0RPTUFJ TlMgfAlcCj4gIAlTS0xfRElTUExBWV9QT1dFUldFTExfMl9QT1dFUl9ET01BSU5TIHwJCVwKPiAt CVNLTF9ESVNQTEFZX01JU0NfSU9fUE9XRVJfRE9NQUlOUykpIHwJCVwKPiArCVNLTF9ESVNQTEFZ X01JU0NfSU9fUE9XRVJfRE9NQUlOUyB8CQlcCj4gKwlTS0xfRElTUExBWV9EQ19PRkZfUE9XRVJf RE9NQUlOUykpIHwJCVwKPiAgCUJJVChQT1dFUl9ET01BSU5fSU5JVCkpCj4gIAo+ICAjZGVmaW5l IEJYVF9ESVNQTEFZX1BPV0VSV0VMTF8yX1BPV0VSX0RPTUFJTlMgKAkJXAo+IEBAIC01MTEsMjAg KzUxMyw2IEBAIHN0YXRpYyB2b2lkIGdlbjlfZW5hYmxlX2RjNShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCj4gIAlQT1NUSU5HX1JFQUQoRENfU1RBVEVfRU4pOwo+ICB9Cj4gIAo+ IC1zdGF0aWMgdm9pZCBnZW45X2Rpc2FibGVfZGM1KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKPiAtewo+IC0JdWludDMyX3QgdmFsOwo+IC0KPiAtCWFzc2VydF9jYW5fZGlzYWJs ZV9kYzUoZGV2X3ByaXYpOwo+IC0KPiAtCURSTV9ERUJVR19LTVMoIkRpc2FibGluZyBEQzVcbiIp Owo+IC0KPiAtCXZhbCA9IEk5MTVfUkVBRChEQ19TVEFURV9FTik7Cj4gLQl2YWwgJj0gfkRDX1NU QVRFX0VOX1VQVE9fREM1Owo+IC0JSTkxNV9XUklURShEQ19TVEFURV9FTiwgdmFsKTsKPiAtCVBP U1RJTkdfUkVBRChEQ19TVEFURV9FTik7Cj4gLX0KPiAtCj4gIHN0YXRpYyB2b2lkIGFzc2VydF9j YW5fZW5hYmxlX2RjNihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIHsKPiAg CXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBkZXZfcHJpdi0+ZGV2Owo+IEBAIC01NTMsNiArNTQx LDIxIEBAIHN0YXRpYyB2b2lkIGFzc2VydF9jYW5fZGlzYWJsZV9kYzYoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQo+ICAJCSAgIkRDNiBhbHJlYWR5IHByb2dyYW1tZWQgdG8gYmUg ZGlzYWJsZWQuXG4iKTsKPiAgfQo+ICAKPiArc3RhdGljIHZvaWQgZ2VuOV9kaXNhYmxlX2RjNV9k YzYoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICt7Cj4gKwl1aW50MzJfdCB2 YWw7Cj4gKwo+ICsJYXNzZXJ0X2Nhbl9kaXNhYmxlX2RjNShkZXZfcHJpdik7Cj4gKwlhc3NlcnRf Y2FuX2Rpc2FibGVfZGM2KGRldl9wcml2KTsKPiArCj4gKwlEUk1fREVCVUdfS01TKCJEaXNhYmxp bmcgREM1IGFuZCBEQzZcbiIpOwo+ICsKPiArCXZhbCA9IEk5MTVfUkVBRChEQ19TVEFURV9FTik7 Cj4gKwl2YWwgJj0gfkRDX1NUQVRFX0VOX1VQVE9fREM1X0RDNl9NQVNLOwo+ICsJSTkxNV9XUklU RShEQ19TVEFURV9FTiwgdmFsKTsKPiArCVBPU1RJTkdfUkVBRChEQ19TVEFURV9FTik7Cj4gK30K PiArCj4gIHZvaWQgc2tsX2VuYWJsZV9kYzYoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQo+ICB7Cj4gIAl1aW50MzJfdCB2YWw7Cj4gQEAgLTYzMiwxNyArNjM1LDEzIEBAIHN0YXRp YyB2b2lkIHNrbF9zZXRfcG93ZXJfd2VsbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCj4gIAkJCQkiSW52YWxpZCBmb3IgcG93ZXIgd2VsbCBzdGF0dXMgdG8gYmUgZW5hYmxlZCwg dW5sZXNzIGRvbmUgYnkgdGhlIEJJT1MsIFwKPiAgCQkJCXdoZW4gcmVxdWVzdCBpcyB0byBkaXNh YmxlIVxuIik7Cj4gIAkJCWlmIChwb3dlcl93ZWxsLT5kYXRhID09IFNLTF9ESVNQX1BXXzIpIHsK PiAtCQkJCWlmIChHRU45X0VOQUJMRV9EQzUoZGV2KSkKPiAtCQkJCQlnZW45X2Rpc2FibGVfZGM1 KGRldl9wcml2KTsKPiAtCQkJCWlmIChTS0xfRU5BQkxFX0RDNihkZXYpKSB7Cj4gLQkJCQkJLyoK PiAtCQkJCQkgKiBEREkgYnVmZmVyIHByb2dyYW1taW5nIHVubmVjZXNzYXJ5IGR1cmluZyBkcml2 ZXItbG9hZC9yZXN1bWUKPiAtCQkJCQkgKiBhcyBpdCdzIGFscmVhZHkgZG9uZSBkdXJpbmcgbW9k ZXNldCBpbml0aWFsaXphdGlvbiB0aGVuLgo+IC0JCQkJCSAqIEl0J3MgYWxzbyBpbnZhbGlkIGhl cmUgYXMgZW5jb2RlciBsaXN0IGlzIHN0aWxsIHVuaW5pdGlhbGl6ZWQuCj4gLQkJCQkJICovCj4g LQkJCQkJaWYgKCFkZXZfcHJpdi0+cG93ZXJfZG9tYWlucy5pbml0aWFsaXppbmcpCj4gLQkJCQkJ CWludGVsX3ByZXBhcmVfZGRpKGRldik7Cj4gLQkJCQl9Cj4gKwkJCQkvKgo+ICsJCQkJICogRERJ IGJ1ZmZlciBwcm9ncmFtbWluZyB1bm5lY2Vzc2FyeSBkdXJpbmcgZHJpdmVyLWxvYWQvcmVzdW1l Cj4gKwkJCQkgKiBhcyBpdCdzIGFscmVhZHkgZG9uZSBkdXJpbmcgbW9kZXNldCBpbml0aWFsaXph dGlvbiB0aGVuLgo+ICsJCQkJICogSXQncyBhbHNvIGludmFsaWQgaGVyZSBhcyBlbmNvZGVyIGxp c3QgaXMgc3RpbGwgdW5pbml0aWFsaXplZC4KPiArCQkJCSAqLwo+ICsJCQkJaWYgKCFkZXZfcHJp di0+cG93ZXJfZG9tYWlucy5pbml0aWFsaXppbmcpCj4gKwkJCQkJaW50ZWxfcHJlcGFyZV9kZGko ZGV2KTsKPiAgCQkJfQo+ICAJCQlJOTE1X1dSSVRFKEhTV19QV1JfV0VMTF9EUklWRVIsIHRtcCB8 IHJlcV9tYXNrKTsKPiAgCQl9Cj4gQEAgLTY1OCwxNyArNjU3LDEzIEBAIHN0YXRpYyB2b2lkIHNr bF9zZXRfcG93ZXJfd2VsbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAl9 IGVsc2Ugewo+ICAJCWlmIChlbmFibGVfcmVxdWVzdGVkKSB7Cj4gIAkJCWlmIChJU19TS1lMQUtF KGRldikgJiYKPiAtCQkJCShwb3dlcl93ZWxsLT5kYXRhID09IFNLTF9ESVNQX1BXXzEpKQo+ICsJ CQkJKHBvd2VyX3dlbGwtPmRhdGEgPT0gU0tMX0RJU1BfUFdfMSkpIHsKPiAgCQkJCURSTV9ERUJV R19LTVMoIk5vdCBEaXNhYmxpbmcgUFcxLCBkbWMgd2lsbCBoYW5kbGVcbiIpOwo+IC0JCQllbHNl IHsKPiArCQkJfSBlbHNlIHsKPiAgCQkJCUk5MTVfV1JJVEUoSFNXX1BXUl9XRUxMX0RSSVZFUiwJ dG1wICYgfnJlcV9tYXNrKTsKPiAgCQkJCVBPU1RJTkdfUkVBRChIU1dfUFdSX1dFTExfRFJJVkVS KTsKPiAgCQkJCURSTV9ERUJVR19LTVMoIkRpc2FibGluZyAlc1xuIiwgcG93ZXJfd2VsbC0+bmFt ZSk7Cj4gIAkJCX0KPiAtCj4gLQkJCWlmIChHRU45X0VOQUJMRV9EQzUoZGV2KSAmJgo+IC0JCQkJ cG93ZXJfd2VsbC0+ZGF0YSA9PSBTS0xfRElTUF9QV18yKQo+IC0JCQkJCWdlbjlfZW5hYmxlX2Rj NShkZXZfcHJpdik7Cj4gIAkJfQo+ICAJfQo+ICAKPiBAQCAtNzQzLDYgKzczOCwzNiBAQCBzdGF0 aWMgdm9pZCBza2xfcG93ZXJfd2VsbF9kaXNhYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKPiAgCXNrbF9zZXRfcG93ZXJfd2VsbChkZXZfcHJpdiwgcG93ZXJfd2VsbCwgZmFs c2UpOwo+ICB9Cj4gIAo+ICtzdGF0aWMgYm9vbCBza2xfZGNfb2ZmX3Bvd2VyX3dlbGxfZW5hYmxl ZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gKwkJCQkJICBzdHJ1Y3QgaTkx NV9wb3dlcl93ZWxsICpwb3dlcl93ZWxsKQo+ICt7Cj4gKwlyZXR1cm4gIShJOTE1X1JFQUQoRENf U1RBVEVfRU4pICYgRENfU1RBVEVfRU5fVVBUT19EQzYpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9p ZCBza2xfZGNfb2ZmX3Bvd2VyX3dlbGxfZW5hYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKPiArCQkJCQkgc3RydWN0IGk5MTVfcG93ZXJfd2VsbCAqcG93ZXJfd2VsbCkKPiAr ewo+ICsJZ2VuOV9kaXNhYmxlX2RjNV9kYzYoZGV2X3ByaXYpOwo+ICt9Cj4gKwo+ICtzdGF0aWMg dm9pZCBza2xfZGNfb2ZmX3Bvd2VyX3dlbGxfZGlzYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCj4gKwkJCQkJICBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsICpwb3dlcl93ZWxs KQo+ICt7Cj4gKwlpZiAoSVNfU0tZTEFLRShkZXZfcHJpdikpCj4gKwkJc2tsX2VuYWJsZV9kYzYo ZGV2X3ByaXYpOwo+ICsJZWxzZQo+ICsJCWdlbjlfZW5hYmxlX2RjNShkZXZfcHJpdik7Cj4gK30K PiArCj4gK3N0YXRpYyB2b2lkIHNrbF9kY19vZmZfcG93ZXJfd2VsbF9zeW5jX2h3KHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiArCQkJCQkgIHN0cnVjdCBpOTE1X3Bvd2VyX3dl bGwgKnBvd2VyX3dlbGwpCj4gK3sKPiArCWlmIChwb3dlcl93ZWxsLT5jb3VudCA+IDApCj4gKwkJ c2tsX2RjX29mZl9wb3dlcl93ZWxsX2VuYWJsZShkZXZfcHJpdiwgcG93ZXJfd2VsbCk7Cj4gKwll bHNlCj4gKwkJc2tsX2RjX29mZl9wb3dlcl93ZWxsX2Rpc2FibGUoZGV2X3ByaXYsIHBvd2VyX3dl bGwpOwo+ICt9Cj4gKwo+ICBzdGF0aWMgdm9pZCBpOXh4X2Fsd2F5c19vbl9wb3dlcl93ZWxsX25v b3Aoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCQkJCSAgIHN0cnVjdCBp OTE1X3Bvd2VyX3dlbGwgKnBvd2VyX3dlbGwpCj4gIHsKPiBAQCAtMTU3NCw2ICsxNTk5LDEzIEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsX29wcyBza2xfcG93ZXJfd2VsbF9v cHMgPSB7Cj4gIAkuaXNfZW5hYmxlZCA9IHNrbF9wb3dlcl93ZWxsX2VuYWJsZWQsCj4gIH07Cj4g IAo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGk5MTVfcG93ZXJfd2VsbF9vcHMgc2tsX2RjX29mZl9w b3dlcl93ZWxsX29wcyA9IHsKPiArCS5zeW5jX2h3ID0gc2tsX2RjX29mZl9wb3dlcl93ZWxsX3N5 bmNfaHcsCj4gKwkuZW5hYmxlID0gc2tsX2RjX29mZl9wb3dlcl93ZWxsX2VuYWJsZSwKPiArCS5k aXNhYmxlID0gc2tsX2RjX29mZl9wb3dlcl93ZWxsX2Rpc2FibGUsCj4gKwkuaXNfZW5hYmxlZCA9 IHNrbF9kY19vZmZfcG93ZXJfd2VsbF9lbmFibGVkLAo+ICt9Owo+ICsKPiAgc3RhdGljIHN0cnVj dCBpOTE1X3Bvd2VyX3dlbGwgaHN3X3Bvd2VyX3dlbGxzW10gPSB7Cj4gIAl7Cj4gIAkJLm5hbWUg PSAiYWx3YXlzLW9uIiwKPiBAQCAtMTczOCw2ICsxNzcwLDExIEBAIHN0YXRpYyBzdHJ1Y3QgaTkx NV9wb3dlcl93ZWxsIHNrbF9wb3dlcl93ZWxsc1tdID0gewo+ICAJCS5kYXRhID0gU0tMX0RJU1Bf UFdfMSwKPiAgCX0sCj4gIAl7Cj4gKwkJLm5hbWUgPSAiREMgb2ZmIiwKPiArCQkuZG9tYWlucyA9 IFNLTF9ESVNQTEFZX0RDX09GRl9QT1dFUl9ET01BSU5TLAo+ICsJCS5vcHMgPSAmc2tsX2RjX29m Zl9wb3dlcl93ZWxsX29wcywKCldlIG5lZWQgdG8gc2V0IGEgdW5pcXVlIElEIGluIC5kYXRhLCBz aW5jZSB3ZSB1c2UgaXQgdG8gbG9vayB1cCBwb3dlcgp3ZWxscy4gSSBoYXZlIGEgcGF0Y2ggdG8g Zml4IHVwIHRoZSBvdGhlciBwbGFjZXMgbWlzc2luZyBhbiBJRCwgYnV0IHlvdQpjb3VsZCBmaXgg dGhpcyBvbmUgdXAgYWxyZWFkeSBub3cuCgo+ICsJfSwKPiArCXsKPiAgCQkubmFtZSA9ICJNSVND IElPIHBvd2VyIHdlbGwiLAo+ICAJCS5kb21haW5zID0gU0tMX0RJU1BMQVlfTUlTQ19JT19QT1dF Ul9ET01BSU5TLAo+ICAJCS5vcHMgPSAmc2tsX3Bvd2VyX3dlbGxfb3BzLAoKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==