From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anshuman Gupta Subject: Re: [PATCH v7 3/7] drm/i915/tgl: Enable DC3CO state in "DC Off" power well Date: Mon, 9 Sep 2019 21:49:17 +0530 Message-ID: <20190909161917.GA18105@intel.com> References: <20190907171443.16181-1-anshuman.gupta@intel.com> <20190907171443.16181-4-anshuman.gupta@intel.com> <20190908164435.GA28096@ideak-desk.fi.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6B59389CBC for ; Mon, 9 Sep 2019 16:25:53 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190908164435.GA28096@ideak-desk.fi.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Imre Deak Cc: jani.nikula@intel.com, intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gMjAxOS0wOS0wOCBhdCAxOTo0NDozNSArMDMwMCwgSW1yZSBEZWFrIHdyb3RlOgo+IE9uIFNh dCwgU2VwIDA3LCAyMDE5IGF0IDEwOjQ0OjM5UE0gKzA1MzAsIEFuc2h1bWFuIEd1cHRhIHdyb3Rl OgpIaSBJbXJlLApUaGFua3MgZm9yIHJldmlld2luZyB0aGUgcGFjdGhlcyBpIHdpbGwgcmV3b3Jr IHRoZSBwYXRjaGVzLgpUaGVyZSBhcmUgZmV3IGNvbW1lbnRzIGZyb20gbXkgc2lkZSB3aGljaCB3 aWxsIGhlbHAgdG8gcmV3b3JrLiAKPiA+IEFkZCBtYXhfZGNfc3RhdGUgYW5kIHRnbF9zZXRfdGFy Z2V0X2RjX3N0YXRlKCkgQVBJCj4gPiBpbiBvcmRlciB0byBlbmFibGUgREMzQ08gc3RhdGUgd2l0 aCBleGlzdGluZyBEQyBzdGF0ZXMuCj4gPiBtYXhfZGNfc3RhdGUgd2lsbCBlbmFibGUvZGlzYWJs ZSB0aGUgZGVzaXJlZCBEQyBzdGF0ZSBpbgo+ID4gRENfU1RBVEVfRU4gcmVnIHdoZW4gIkRDIE9m ZiIgcG93ZXIgd2VsbCBnZXRzIGRpc2FibGUvZW5hYmxlLgo+ID4gCj4gPiB2MjogY29tbWl0IGxv ZyBpbXByb3ZlbWVudC4KPiA+IHYzOiBVc2VkIGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyIHRvIHdh aXQgZm9yIERDM0NPIGV4aXQuIFtJbXJlXQo+ID4gICAgIFVzZWQgZ2VuOV9zZXRfZGNfc3RhdGUo KSB0byBhbGxvdy9kaXNhbGxvdyBEQzNDTy4gW0ltcmVdCj4gPiAgICAgTW92ZWQgdHJhbnNjb2Rl ciBwc3IyIGV4aXQgbGluZSBlbmFibGVtZW50IGZyb20gdGdsX2FsbG93X2RjM2NvKCkKPiA+ICAg ICB0byBhIGFwcHJvcHJpYXRlIHBsYWNlIGhhc3dlbGxfY3J0Y19lbmFibGUoKS4gW0ltcmVdCj4g PiAgICAgQ2hhbmdlZCB0aGUgREMzQ08gcG93ZXIgd2VsbCBlbmFibGVkIGNhbGwgYmFjayBsb2dp YyBhcwo+ID4gICAgIHJlY29tbWVuZGVkIGluIHJldmlldyBjb21tZW50cy4gW0ltcmVdCj4gPiB2 NDogVXNlZCB3YWl0X2Zvcl91cygpIGluc3RlYWQgb2YgaW50ZWxfd2FpdF9mb3JfcmVnKCkuIFtJ bXJlIChJUkMpXQo+ID4gdjU6IHVzaW5nIHVkZWxheSgpIGluc3RlYWQgb2Ygd2FpdGluZyBmb3Ig REMzQ08gZXhpdCBzdGF0dXMuCj4gPiB2NjogRml4ZWQgbWlub3IgdW53YW50ZWQgY2hhbmdlLgo+ ID4gdjc6IFJlbW92ZWQgREMzQ08gcG93ZXJ3ZWxsIGFuZCBQT1dFUl9ET01BSU5fVklERU8uCj4g PiAKPiA+IENjOiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgo+ID4gQ2M6IElt cmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4KPiA+IENjOiBBbmltZXNoIE1hbm5hIDxhbmlt ZXNoLm1hbm5hQGludGVsLmNvbT4KPiA+IFNpZ25lZC1vZmYtYnk6IEFuc2h1bWFuIEd1cHRhIDxh bnNodW1hbi5ndXB0YUBpbnRlbC5jb20+Cj4gPiAtLS0KPiA+ICAuLi4vZHJtL2k5MTUvZGlzcGxh eS9pbnRlbF9kaXNwbGF5X3Bvd2VyLmMgICAgfCAxMTEgKysrKysrKysrKysrKystLS0tCj4gPiAg Li4uL2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5oICAgIHwgICAzICsKPiA+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAgICAgfCAgIDEgKwo+ ID4gIDMgZmlsZXMgY2hhbmdlZCwgOTUgaW5zZXJ0aW9ucygrKSwgMjAgZGVsZXRpb25zKC0pCj4g PiAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rp c3BsYXlfcG93ZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxh eV9wb3dlci5jCj4gPiBpbmRleCA0OTZmYTFiNTNmZmIuLjgzYjEwZjYxZWU0MiAxMDA2NDQKPiA+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5j Cj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfcG93 ZXIuYwo+ID4gQEAgLTc3Miw2ICs3NzIsMjkgQEAgc3RhdGljIHZvaWQgZ2VuOV9zZXRfZGNfc3Rh dGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgc3RhdGUpCj4gPiAgCWRl dl9wcml2LT5jc3IuZGNfc3RhdGUgPSB2YWwgJiBtYXNrOwo+ID4gIH0KPiA+ICAKPiA+ICtzdGF0 aWMgdm9pZCB0Z2xfYWxsb3dfZGMzY28oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 KQo+IAo+IFNob3VsZCBiZSB0Z2xfZW5hYmxlX2RjM2NvKCksIHRvIG1hdGNoIHRoZSByZXN0IG9m IERDIHN0YXRlIGhlbHBlcnMuCj4gCj4gPiArewo+ID4gKwlpZiAoIWRldl9wcml2LT5wc3Iuc2lu a19wc3IyX3N1cHBvcnQpCj4gPiArCQlyZXR1cm47Cj4gCj4gUFNSIGtub3dzIHdoZW4gdG8gZW5h YmxlIERDM2NvLCBzbyBubyBuZWVkIHRvIGRvdWJsZS1jaGVjayB0aGF0IGhlcmUuCj4gCj4gPiAr Cj4gPiArCWlmIChkZXZfcHJpdi0+Y3NyLmFsbG93ZWRfZGNfbWFzayAmIERDX1NUQVRFX0VOX0RD M0NPKQo+IAo+IFRoaXMgY2hlY2sgaXMgb3V0LW9mLXBsYWNlIHdydC4gdGhlIHNhbWUgY2hlY2tz IGZvciBvdGhlciBEQyBzdGF0ZXMuCj4gCj4gPiArCQlnZW45X3NldF9kY19zdGF0ZShkZXZfcHJp diwgRENfU1RBVEVfRU5fREMzQ08pOwo+ID4gK30KPiA+ICsKPiA+ICtzdGF0aWMgdm9pZCB0Z2xf ZGlzYWxsb3dfZGMzY28oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4gK3sK PiA+ICsJdTMyIHZhbDsKPiA+ICsKPiA+ICsJdmFsID0gSTkxNV9SRUFEKERDX1NUQVRFX0VOKTsK PiA+ICsJdmFsICY9IH5EQ19TVEFURV9EQzNDT19TVEFUVVM7Cj4gPiArCUk5MTVfV1JJVEUoRENf U1RBVEVfRU4sIHZhbCk7Cj4gPiArCWdlbjlfc2V0X2RjX3N0YXRlKGRldl9wcml2LCBEQ19TVEFU RV9ESVNBQkxFKTsKPiA+ICsJLyoKPiA+ICsJICogRGVsYXkgb2YgMjAwdXMgREMzQ08gRXhpdCB0 aW1lIEIuU3BlYyA0OTE5Ngo+ID4gKwkgKi8KPiA+ICsJdWRlbGF5KDIwMCk7Cj4gPiArfQo+ID4g Kwo+ID4gIHN0YXRpYyB2b2lkIGJ4dF9lbmFibGVfZGM5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKPiA+ICB7Cj4gPiAgCWFzc2VydF9jYW5fZW5hYmxlX2RjOShkZXZfcHJpdik7 Cj4gPiBAQCAtOTM5LDcgKzk2Miw4IEBAIHN0YXRpYyB2b2lkIGJ4dF92ZXJpZnlfZGRpX3BoeV9w b3dlcl93ZWxscyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gPiAgc3RhdGlj IGJvb2wgZ2VuOV9kY19vZmZfcG93ZXJfd2VsbF9lbmFibGVkKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwKPiA+ICAJCQkJCSAgIHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGwgKnBvd2Vy X3dlbGwpCj4gPiAgewo+ID4gLQlyZXR1cm4gKEk5MTVfUkVBRChEQ19TVEFURV9FTikgJiBEQ19T VEFURV9FTl9VUFRPX0RDNV9EQzZfTUFTSykgPT0gMDsKPiA+ICsJcmV0dXJuICgoSTkxNV9SRUFE KERDX1NUQVRFX0VOKSAmIERDX1NUQVRFX0VOX0RDM0NPKSA9PSAwICYmCj4gPiArCQkoSTkxNV9S RUFEKERDX1NUQVRFX0VOKSAmIERDX1NUQVRFX0VOX1VQVE9fREM1X0RDNl9NQVNLKSA9PSAwKTsK PiA+ICB9Cj4gPiAgCj4gPiAgc3RhdGljIHZvaWQgZ2VuOV9hc3NlcnRfZGJ1Zl9lbmFibGVkKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+IEBAIC05NTUsMjQgKzk3OSwzMiBA QCBzdGF0aWMgdm9pZCBnZW45X2Rpc2FibGVfZGNfc3RhdGVzKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKPiA+ICB7Cj4gPiAgCXN0cnVjdCBpbnRlbF9jZGNsa19zdGF0ZSBjZGNs a19zdGF0ZSA9IHt9Owo+ID4gIAo+ID4gLQlnZW45X3NldF9kY19zdGF0ZShkZXZfcHJpdiwgRENf U1RBVEVfRElTQUJMRSk7Cj4gPiArCWlmIChkZXZfcHJpdi0+Y3NyLm1heF9kY19zdGF0ZSAmIERD X1NUQVRFX0VOX0RDM0NPKSB7Cj4gPiArCQl0Z2xfZGlzYWxsb3dfZGMzY28oZGV2X3ByaXYpOwo+ ID4gKwl9IGVsc2Ugewo+IAo+IFdpdGggYW4gZWFybHkgcmV0dXJuIHlvdSBjYW4gYXZvaWQgdGhl IGV4dHJhIGRpZmYgYW5kIG1ha2UgcmV2aWV3aW5nCj4gZWFzaWVyLgo+IAo+ID4gKwkJZ2VuOV9z ZXRfZGNfc3RhdGUoZGV2X3ByaXYsIERDX1NUQVRFX0RJU0FCTEUpOwo+ID4gIAo+ID4gLQlkZXZf cHJpdi0+ZGlzcGxheS5nZXRfY2RjbGsoZGV2X3ByaXYsICZjZGNsa19zdGF0ZSk7Cj4gPiAtCS8q IENhbid0IHJlYWQgb3V0IHZvbHRhZ2VfbGV2ZWwgc28gY2FuJ3QgdXNlIGludGVsX2NkY2xrX2No YW5nZWQoKSAqLwo+ID4gLQlXQVJOX09OKGludGVsX2NkY2xrX25lZWRzX21vZGVzZXQoJmRldl9w cml2LT5jZGNsay5odywgJmNkY2xrX3N0YXRlKSk7Cj4gPiArCQlkZXZfcHJpdi0+ZGlzcGxheS5n ZXRfY2RjbGsoZGV2X3ByaXYsICZjZGNsa19zdGF0ZSk7Cj4gPiArCQkvKgo+ID4gKwkJICogQ2Fu J3QgcmVhZCBvdXQgdm9sdGFnZV9sZXZlbCBzbyBjYW4ndCB1c2UKPiA+ICsJCSAqIGludGVsX2Nk Y2xrX2NoYW5nZWQoKQo+ID4gKwkJICovCj4gPiArCQlXQVJOX09OKGludGVsX2NkY2xrX25lZWRz X21vZGVzZXQoJmRldl9wcml2LT5jZGNsay5odywKPiA+ICsJCQkJCQkgICZjZGNsa19zdGF0ZSkp Owo+ID4gIAo+ID4gLQlnZW45X2Fzc2VydF9kYnVmX2VuYWJsZWQoZGV2X3ByaXYpOwo+ID4gKwkJ Z2VuOV9hc3NlcnRfZGJ1Zl9lbmFibGVkKGRldl9wcml2KTsKPiA+ICAKPiA+IC0JaWYgKElTX0dF TjlfTFAoZGV2X3ByaXYpKQo+ID4gLQkJYnh0X3ZlcmlmeV9kZGlfcGh5X3Bvd2VyX3dlbGxzKGRl dl9wcml2KTsKPiA+ICsJCWlmIChJU19HRU45X0xQKGRldl9wcml2KSkKPiA+ICsJCQlieHRfdmVy aWZ5X2RkaV9waHlfcG93ZXJfd2VsbHMoZGV2X3ByaXYpOwo+ID4gIAo+ID4gLQlpZiAoSU5URUxf R0VOKGRldl9wcml2KSA+PSAxMSkKPiA+IC0JCS8qCj4gPiAtCQkgKiBETUMgcmV0YWlucyBIVyBj b250ZXh0IG9ubHkgZm9yIHBvcnQgQSwgdGhlIG90aGVyIGNvbWJvCj4gPiAtCQkgKiBQSFkncyBI VyBjb250ZXh0IGZvciBwb3J0IEIgaXMgbG9zdCBhZnRlciBEQyB0cmFuc2l0aW9ucywKPiA+IC0J CSAqIHNvIHdlIG5lZWQgdG8gcmVzdG9yZSBpdCBtYW51YWxseS4KPiA+IC0JCSAqLwo+ID4gLQkJ aW50ZWxfY29tYm9fcGh5X2luaXQoZGV2X3ByaXYpOwo+ID4gKwkJaWYgKElOVEVMX0dFTihkZXZf cHJpdikgPj0gMTEpCj4gPiArCQkJLyoKPiA+ICsJCQkgKiBETUMgcmV0YWlucyBIVyBjb250ZXh0 IG9ubHkgZm9yIHBvcnQgQSwgdGhlIG90aGVyCj4gPiArCQkJICogY29tYm8gUEhZJ3MgSFcgY29u dGV4dCBmb3IgcG9ydCBCIGlzIGxvc3QgYWZ0ZXIKPiA+ICsJCQkgKiBEQyB0cmFuc2l0aW9ucywg c28gd2UgbmVlZCB0byByZXN0b3JlIGl0IG1hbnVhbGx5Lgo+ID4gKwkJCSAqLwo+ID4gKwkJCWlu dGVsX2NvbWJvX3BoeV9pbml0KGRldl9wcml2KTsKPiA+ICsJfQo+ID4gIH0KPiA+ICAKPiA+ICBz dGF0aWMgdm9pZCBnZW45X2RjX29mZl9wb3dlcl93ZWxsX2VuYWJsZShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiBAQCAtOTg3LDEwICsxMDE5LDQ4IEBAIHN0YXRpYyB2b2lk IGdlbjlfZGNfb2ZmX3Bvd2VyX3dlbGxfZGlzYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsCj4gPiAgCWlmICghZGV2X3ByaXYtPmNzci5kbWNfcGF5bG9hZCkKPiA+ICAJCXJl dHVybjsKPiA+ICAKPiA+IC0JaWYgKGRldl9wcml2LT5jc3IuYWxsb3dlZF9kY19tYXNrICYgRENf U1RBVEVfRU5fVVBUT19EQzYpCj4gPiAtCQlza2xfZW5hYmxlX2RjNihkZXZfcHJpdik7Cj4gPiAt CWVsc2UgaWYgKGRldl9wcml2LT5jc3IuYWxsb3dlZF9kY19tYXNrICYgRENfU1RBVEVfRU5fVVBU T19EQzUpCj4gPiAtCQlnZW45X2VuYWJsZV9kYzUoZGV2X3ByaXYpOwo+ID4gKwlpZiAoZGV2X3By aXYtPmNzci5tYXhfZGNfc3RhdGUgJiBEQ19TVEFURV9FTl9EQzNDTykgewo+IAo+IHRhcmdldF9k Y19zdGF0ZSB3b3VsZCBiZSBhIGJldHRlciBuYW1lIGFuZCBpdCBzaG9sZCBiZSBhbiBleGFjdCBz dGF0ZQo+IGluc3RlYWQgb2YgYSBtYXNrLgo+IAo+ID4gKwkJdGdsX2FsbG93X2RjM2NvKGRldl9w cml2KTsKPiA+ICsJfSBlbHNlIGlmIChkZXZfcHJpdi0+Y3NyLm1heF9kY19zdGF0ZSAmIERDX1NU QVRFX0VOX1VQVE9fREM1X0RDNl9NQVNLKSB7Cj4gPiArCQlpZiAoZGV2X3ByaXYtPmNzci5hbGxv d2VkX2RjX21hc2sgJiBEQ19TVEFURV9FTl9VUFRPX0RDNikKPiAKPiBXZSBzaG91bGQgbWFrZSB0 aGVzZSBjaGVja3MgbW9yZSB1bmlmb3JtLCBieSBjaGVja2luZyBoZXJlIG9ubHkKPiB0YXJnZXRf ZGNfc3RhdGUuCklmIGkgdW5kZXJzdGFuZCBjb3JyZWN0bHkgdGhpcyBjb21tZW50IGlzIGFib3V0 IHRvIGhhdmUgYSB1bmlmb3JtIApjb25kaXRpb24gdGFyZ2V0X2RjX3N0YXRlIGluIG9yZGVyIHRv IGRlY2lkZSB3aGljaCBEQyBzdGF0ZSB3ZSAKaW50ZXJlc3RlZC4gVGhlbiB3ZSBtYXkgcmVxdWly ZSB0byBjaGVjayBhbGxvd2VkX2RjX21hc2sgYWNjb3JkaW5nbHkgaW4gCnRnbF9zZXRfdGFyZ2V0 X2RjX3N0YXRlKCksIGJ1dCB0aGF0IHdvdWxkIG5vdCBiZSBmaXR0aW5nIGZvciAKb2xkZXIgcGxh dGZvcm1zLgpXaGF0IGlzIHlvdXIgaW5wdXQgb24gdGhpcz8gcGxlYXNlIGNvcnJlY3QgbWUgaWYg aSBhbSB3cm9uZyBoZXJlLgo+IAo+ID4gKwkJCXNrbF9lbmFibGVfZGM2KGRldl9wcml2KTsKPiA+ ICsJCWVsc2UgaWYgKGRldl9wcml2LT5jc3IuYWxsb3dlZF9kY19tYXNrICYgRENfU1RBVEVfRU5f VVBUT19EQzUpCj4gPiArCQkJZ2VuOV9lbmFibGVfZGM1KGRldl9wcml2KTsKPiA+ICsJfQo+ID4g K30KPiA+ICsKPiA+ICt2b2lkIHRnbF9zZXRfdGFyZ2V0X2RjX3N0YXRlKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwgdTMyIHN0YXRlLAo+ID4gKwkJCSAgICAgYm9vbCBwc3IyX2Rl ZXBfc2xlZXApCj4gCj4gcHNyMl9kZWVwX3NsZWVwIGlzIGEgUFNSIGludGVybmFsIHN0dWZmLCB3 aGlsZSBQU1IgaXMgdXNpbmcgdGhlIHBvd2VyCj4gZG9tYWlucyBmcmFtZXdvcmssIHNvIGxldCdz IGtlZXAgdGhlIGRlZXAgc2xlZXAgcHJvZ3JhbW1pbmcgaW4gdGhlIFBTUgo+IGNvZGUuCkkgd2Fu dGVkIG5vdCB0byBlbmFibGUvZGlzYWJsZSBwc3IyIGRlZXAgc2xlZXAgZm9yIGVhY2ggZmxpcCBm bHVzaCByZXF1ZXN0LgpUaG91Z2ggUFNSMiBkZWVwIHNsZWVwIGlzIFBTUiBpbnRlcm5hbCBzdHVm ZiBidXQgaXQgaXMgSC9XIGhhcyB0aWVkIHdpdGggREMzQ08uClRoYXQgd2FzIGludGVudGlvbiB0 byBrZWVwIHBzcjJfZGVlcCBzbGVlcCBlbmFibGUvZGlhYmxlIGhlcmUgKERvaW5nIGluIFBhdGNo IDYpLgpJbiBvcmRlciB0byBzd2l0Y2ggYmV0d2VlbiBEQzNDTyBhbmQgREM1IHdlIG5lZWQgdG8g Y2FsbCAKdGdsX3BzcjJfZGVlcF9zbGVlcF9kaXNhYmxlL2VuYWJsZSgpIGZyb20gb3V0c2lkZSBv ZiBQU1IgY29kZS4KcGxlYXNlIGNvcnJlY3QgbWUgaWYgaSBhbSB3cm9uZyBoZXJlLgpUaGFua3Mg LApBbnNodW1hbiBHdXB0YS4gIAo+IAo+ID4gK3sKPiA+ICsJc3RydWN0IGk5MTVfcG93ZXJfd2Vs bCAqcG93ZXJfd2VsbDsKPiA+ICsJYm9vbCBkY19vZmZfZW5hYmxlZDsKPiA+ICsJc3RydWN0IGk5 MTVfcG93ZXJfZG9tYWlucyAqcG93ZXJfZG9tYWlucyA9ICZkZXZfcHJpdi0+cG93ZXJfZG9tYWlu czsKPiA+ICsKPiA+ICsJbXV0ZXhfbG9jaygmcG93ZXJfZG9tYWlucy0+bG9jayk7Cj4gPiArCXBv d2VyX3dlbGwgPSBsb29rdXBfcG93ZXJfd2VsbChkZXZfcHJpdiwgVEdMX0RJU1BfRENfT0ZGKTsK PiA+ICsKPiA+ICsJaWYgKCFwb3dlcl93ZWxsKQo+ID4gKwkJZ290byB1bmxvY2s7Cj4gPiArCj4g PiArCWRjX29mZl9lbmFibGVkID0gcG93ZXJfd2VsbC0+ZGVzYy0+b3BzLT5pc19lbmFibGVkKGRl dl9wcml2LAo+ID4gKwkJCQkJCQkgICBwb3dlcl93ZWxsKTsKPiA+ICsJaWYgKHN0YXRlID09IGRl dl9wcml2LT5jc3IubWF4X2RjX3N0YXRlKQo+ID4gKwkJZ290byB1bmxvY2s7Cj4gPiArCj4gPiAr CWlmICghZGNfb2ZmX2VuYWJsZWQpIHsKPiA+ICsJCS8qCj4gPiArCQkgKiBOZWVkIHRvIGRpc2Fi bGUgdGhlIERDIG9mZiBwb3dlciB3ZWxsIHRvCj4gPiArCQkgKiBlZmZlY3QgdGFyZ2V0IERDIHN0 YXRlLgo+ID4gKwkJICovCj4gPiArCQlwb3dlcl93ZWxsLT5kZXNjLT5vcHMtPmVuYWJsZShkZXZf cHJpdiwgcG93ZXJfd2VsbCk7Cj4gPiArCQlkZXZfcHJpdi0+Y3NyLm1heF9kY19zdGF0ZSA9IHN0 YXRlOwo+ID4gKwkJcG93ZXJfd2VsbC0+ZGVzYy0+b3BzLT5kaXNhYmxlKGRldl9wcml2LCBwb3dl cl93ZWxsKTsKPiA+ICsJCWdvdG8gdW5sb2NrOwo+ID4gKwl9Cj4gPiArCQlkZXZfcHJpdi0+Y3Ny Lm1heF9kY19zdGF0ZSA9IHN0YXRlOwo+ID4gKwo+ID4gK3VubG9jazoKPiA+ICsJbXV0ZXhfdW5s b2NrKCZwb3dlcl9kb21haW5zLT5sb2NrKTsKPiA+ICB9Cj4gPiAgCj4gPiAgc3RhdGljIHZvaWQg aTl4eF9wb3dlcl93ZWxsX3N5bmNfaHdfbm9vcChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsCj4gPiBAQCAtMzYxMCw3ICszNjgwLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1 X3Bvd2VyX3dlbGxfZGVzYyB0Z2xfcG93ZXJfd2VsbHNbXSA9IHsKPiA+ICAJCS5uYW1lID0gIkRD IG9mZiIsCj4gPiAgCQkuZG9tYWlucyA9IFRHTF9ESVNQTEFZX0RDX09GRl9QT1dFUl9ET01BSU5T LAo+ID4gIAkJLm9wcyA9ICZnZW45X2RjX29mZl9wb3dlcl93ZWxsX29wcywKPiA+IC0JCS5pZCA9 IERJU1BfUFdfSURfTk9ORSwKPiA+ICsJCS5pZCA9IFRHTF9ESVNQX0RDX09GRiwKPiAKPiBMZXQn cyBhc3NpZ24gdGhpcyBJRCBvbiBhbGwgcGxhdGZvcm1zIGZvciBjb25zaXN0ZW5jeS4KSU1PIHRo YXQgc2hvdWxkIGJlIGRvbmUgaW4gZGlmZmVyZW50IHBhdGNoLCBhcyB0Z2xfc2V0X3RhcmdldF9k Y19zdGF0ZSgpIGlzIApvbmx5IGNvbnN1bWVyIG9mIHRoaXMgaWQgPwpXaGF0IGlzIHlvdXIgb3Bp bmlvbiBvbiB0aGlzID8KPiAKPiA+ICAJfSwKPiA+ICAJewo+ID4gIAkJLm5hbWUgPSAicG93ZXIg d2VsbCAyIiwKPiA+IEBAIC00MDM5LDYgKzQxMDksNyBAQCBpbnQgaW50ZWxfcG93ZXJfZG9tYWlu c19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+ICAJZGV2X3ByaXYt PmNzci5hbGxvd2VkX2RjX21hc2sgPQo+ID4gIAkJZ2V0X2FsbG93ZWRfZGNfbWFzayhkZXZfcHJp diwgaTkxNV9tb2RwYXJhbXMuZW5hYmxlX2RjKTsKPiA+ICAKPiA+ICsJZGV2X3ByaXYtPmNzci5t YXhfZGNfc3RhdGUgPSBEQ19TVEFURV9FTl9VUFRPX0RDNV9EQzZfTUFTSzsKPiA+ICAJQlVJTERf QlVHX09OKFBPV0VSX0RPTUFJTl9OVU0gPiA2NCk7Cj4gPiAgCj4gPiAgCW11dGV4X2luaXQoJnBv d2VyX2RvbWFpbnMtPmxvY2spOwo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV9wb3dlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9kaXNwbGF5X3Bvd2VyLmgKPiA+IGluZGV4IDczN2I1ZGVmN2ZjNi4uNjllYmRl OTkyMzQyIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRl bF9kaXNwbGF5X3Bvd2VyLmgKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfZGlzcGxheV9wb3dlci5oCj4gPiBAQCAtMTAwLDYgKzEwMCw3IEBAIGVudW0gaTkxNV9w b3dlcl93ZWxsX2lkIHsKPiA+ICAJU0tMX0RJU1BfUFdfTUlTQ19JTywKPiA+ICAJU0tMX0RJU1Bf UFdfMSwKPiA+ICAJU0tMX0RJU1BfUFdfMiwKPiA+ICsJVEdMX0RJU1BfRENfT0ZGLAo+ID4gIH07 Cj4gPiAgCj4gPiAgI2RlZmluZSBQT1dFUl9ET01BSU5fUElQRShwaXBlKSAoKHBpcGUpICsgUE9X RVJfRE9NQUlOX1BJUEVfQSkKPiA+IEBAIC0yNTYsNiArMjU3LDggQEAgdm9pZCBpbnRlbF9kaXNw bGF5X3Bvd2VyX3N1c3BlbmRfbGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSk7Cj4g PiAgdm9pZCBpbnRlbF9kaXNwbGF5X3Bvd2VyX3Jlc3VtZV9lYXJseShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqaTkxNSk7Cj4gPiAgdm9pZCBpbnRlbF9kaXNwbGF5X3Bvd2VyX3N1c3BlbmQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpOwo+ID4gIHZvaWQgaW50ZWxfZGlzcGxheV9wb3dl cl9yZXN1bWUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpOwo+ID4gK3ZvaWQgdGdsX3Nl dF90YXJnZXRfZGNfc3RhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIg c3RhdGUsCj4gPiArCQkJICAgICBib29sIHBzcjJfZGVlcF9zbGVlcCk7Cj4gPiAgCj4gPiAgY29u c3QgY2hhciAqCj4gPiAgaW50ZWxfZGlzcGxheV9wb3dlcl9kb21haW5fc3RyKGVudW0gaW50ZWxf ZGlzcGxheV9wb3dlcl9kb21haW4gZG9tYWluKTsKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ ID4gaW5kZXggZGI3NDgwODMxZTUyLi45OTlkYTVkMmRhMGIgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oCj4gPiBAQCAtMzM2LDYgKzMzNiw3IEBAIHN0cnVjdCBpbnRlbF9jc3Igewo+ ID4gIAlpOTE1X3JlZ190IG1taW9hZGRyWzIwXTsKPiA+ICAJdTMyIG1taW9kYXRhWzIwXTsKPiA+ ICAJdTMyIGRjX3N0YXRlOwo+ID4gKwl1MzIgbWF4X2RjX3N0YXRlOwo+ID4gIAl1MzIgYWxsb3dl ZF9kY19tYXNrOwo+ID4gIAlpbnRlbF93YWtlcmVmX3Qgd2FrZXJlZjsKPiA+ICB9Owo+ID4gLS0g Cj4gPiAyLjIxLjAKPiA+IApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZng=