From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rodrigo Vivi Subject: Re: [PATCH] drm/i915/icl: Enable DC9 as lowest possible state during screen-off Date: Tue, 23 Oct 2018 13:34:54 -0700 Message-ID: <20181023203454.GM5342@intel.com> References: <20181023183221.312-1-anusha.srivatsa@intel.com> <20181023185231.GI5342@intel.com> <20181023200109.GA10186@jausmus-gentoo-dev6.jf.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 ESMTPS id 6BD5789AEA for ; Tue, 23 Oct 2018 20:34:58 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20181023200109.GA10186@jausmus-gentoo-dev6.jf.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: James Ausmus Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBPY3QgMjMsIDIwMTggYXQgMDE6MDE6MTFQTSAtMDcwMCwgSmFtZXMgQXVzbXVzIHdy b3RlOgo+IE9uIFR1ZSwgT2N0IDIzLCAyMDE4IGF0IDExOjUyOjMxQU0gLTA3MDAsIFJvZHJpZ28g Vml2aSB3cm90ZToKPiA+IE9uIFR1ZSwgT2N0IDIzLCAyMDE4IGF0IDExOjMyOjIxQU0gLTA3MDAs IEFudXNoYSBTcml2YXRzYSB3cm90ZToKPiA+ID4gRnJvbTogQW5pbWVzaCBNYW5uYSA8YW5pbWVz aC5tYW5uYUBpbnRlbC5jb20+Cj4gPiA+IAo+ID4gPiBJQ0wgc3VwcG9ydHMgREM1LCBEQzYsIGFu ZCBEQzkuIEVuYWJsZSBEQzkgZHVyaW5nIHNjcmVlbi1vZmYsIGFuZCBlbmFibGUKPiA+ID4gREM1 LzYgd2hlbiBhcHByb3ByaWF0ZS4KPiA+ID4gCj4gPiA+IHYyOiAoSmFtZXMgQXVzbXVzKQo+ID4g PiAgLSBBbHNvIGhhbmRsZSBJQ0wgYXMgR0VOOV9MUCBpbiBpOTE1X2RybV9zdXNwZW5kX2xhdGUg YW5kCj4gPiA+ICAgIGk5MTVfZHJtX3N1c3BlbmRfZWFybHkKPiA+ID4gIC0gQWRkIERDOSB0byBn ZW45X2RjX21hc2sgZm9yIElDTAo+ID4gPiAgLSBSZS1vcmRlciBHRU4gY2hlY2tzIGZvciBuZXdl c3QgcGxhdGZvcm0gZmlyc3QKPiA+ID4gIC0gVXNlIElOVEVMX0dFTiBpbnN0ZWFkIG9mIElOVEVM X0lORk8tPmdlbgo+ID4gPiAgLSBVc2UgSU5URUxfR0VOID49IDExIGluc3RlYWQgb2YgSVNfSUNF TEFLRQo+ID4gPiAgLSBDb25zb2xpZGF0ZSBHRU4gY2hlY2tzCj4gPiA+IAo+ID4gPiB2MzogKEph bWVzIEF1c211cykKPiA+ID4gIC0gQWxzbyBhbGxvdyBEQzYgZm9yIElDTCAoSW1yZSwgQXJ0KQo+ ID4gPiAgLSBTaW1wbGlmeSAhKEdFTiA+PSAxMSkgdG8gR0VOIDwgMTEgKEltcmUpCj4gPiA+IAo+ ID4gPiB2NDogKEphbWVzIEF1c211cykKPiA+ID4gIC0gRG9uJ3QgY2FsbCBpbnRlbF9wb3dlcl9z ZXF1ZW5jZXJfcmVzZXQgYWZ0ZXIgREM5IGZvciBHZW4xMSssIGFzIHRoZQo+ID4gPiAgICBQUFMg cmVncyBhcmUgQWx3YXlzIE9uCj4gPiA+ICAtIFJlYmFzZSBhZ2FpbnN0IHVwc3RyZWFtIGNoYW5n ZXMKPiA+ID4gCj4gPiA+IHY1OiAoQW51c2hhIFNyaXZhdHNhKQo+ID4gPiAtIHJlYmFzZWQgYWdh aW5zdCB0aGUgbGF0ZXN0IHVwc3RyZWFtIGNoYW5nZXMuCj4gPiA+IAo+ID4gPiB2NjogKEFudXNo YSBTcml2YXRzYSkKPiA+ID4gLSByZWJhc2VkLlVzZSBJTlRFTF9HRU4gY29uc2lzdGVudGx5Lgo+ ID4gPiAtIFNpbXBsaWZ5IHRoZSBjb2RlIChSb2RyaWdvKQo+ID4gPiAKPiA+ID4gdjc6IHJlYmFz ZWQuIENoYW5nZSBvcmRlciBhY2NvcmRpbmcgdG8gcGxhdGZvcm1zKEp5b3RpKQo+ID4gPiAKPiA+ ID4gQ2M6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4KPiA+ID4gQ2M6IFJvZHJpZ28g Vml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KPiA+ID4gU2lnbmVkLW9mZi1ieTogQW5pbWVz aCBNYW5uYSA8YW5pbWVzaC5tYW5uYUBpbnRlbC5jb20+Cj4gPiA+IFNpZ25lZC1vZmYtYnk6IEph bWVzIEF1c211cyA8amFtZXMuYXVzbXVzQGludGVsLmNvbT4KPiA+ID4gU2lnbmVkLW9mZi1ieTog QW51c2hhIFNyaXZhdHNhIDxhbnVzaGEuc3JpdmF0c2FAaW50ZWwuY29tPgo+ID4gPiAtLS0KPiA+ ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgICAgICAgICB8IDIwICsrKysrKysr KysrKysrKy0tLQo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgICAg IHwgIDMgKysrCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMg fCAyNyArKysrKysrKysrKysrKystLS0tLS0tLS0tCj4gPiA+ICAzIGZpbGVzIGNoYW5nZWQsIDM2 IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQo+ID4gPiAKPiA+ID4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5jCj4gPiA+IGluZGV4IGJhYWMzNWY2OThmOS4uNjY5MWI5ZWU5NWRiIDEwMDY0NAo+ ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4gPiA+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKPiA+ID4gQEAgLTIxNTYsNyArMjE1Niw3IEBA IHN0YXRpYyBpbnQgaTkxNV9kcm1fcmVzdW1lX2Vhcmx5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp Cj4gPiA+ICAKPiA+ID4gIAlpbnRlbF91bmNvcmVfcmVzdW1lX2Vhcmx5KGRldl9wcml2KTsKPiA+ ID4gIAo+ID4gPiAtCWlmIChJU19HRU45X0xQKGRldl9wcml2KSkgewo+ID4gPiArCWlmIChJTlRF TF9HRU4oZGV2X3ByaXYpID49IDExIHx8IElTX0dFTjlfTFAoZGV2X3ByaXYpKSB7Cj4gPiA+ICAJ CWdlbjlfc2FuaXRpemVfZGNfc3RhdGUoZGV2X3ByaXYpOwo+ID4gPiAgCQlieHRfZGlzYWJsZV9k YzkoZGV2X3ByaXYpOwo+ID4gPiAgCX0gZWxzZSBpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikgfHwg SVNfQlJPQURXRUxMKGRldl9wcml2KSkgewo+ID4gPiBAQCAtMjkyMyw3ICsyOTIzLDEwIEBAIHN0 YXRpYyBpbnQgaW50ZWxfcnVudGltZV9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmtkZXYpCj4gPiA+ ICAJaW50ZWxfdW5jb3JlX3N1c3BlbmQoZGV2X3ByaXYpOwo+ID4gPiAgCj4gPiA+ICAJcmV0ID0g MDsKPiA+ID4gLQlpZiAoSVNfR0VOOV9MUChkZXZfcHJpdikpIHsKPiA+ID4gKwlpZiAoSU5URUxf R0VOKGRldl9wcml2KSA+PSAxMSkgewo+ID4gPiArCQlpY2xfZGlzcGxheV9jb3JlX3VuaW5pdChk ZXZfcHJpdik7Cj4gPiA+ICsJCWJ4dF9lbmFibGVfZGM5KGRldl9wcml2KTsKPiA+ID4gKwl9IGVs c2UgaWYgKElTX0dFTjlfTFAoZGV2X3ByaXYpKSB7Cj4gPiA+ICAJCWJ4dF9kaXNwbGF5X2NvcmVf dW5pbml0KGRldl9wcml2KTsKPiA+ID4gIAkJYnh0X2VuYWJsZV9kYzkoZGV2X3ByaXYpOwo+ID4g PiAgCX0gZWxzZSBpZiAoSVNfSEFTV0VMTChkZXZfcHJpdikgfHwgSVNfQlJPQURXRUxMKGRldl9w cml2KSkgewo+ID4gPiBAQCAtMzAwOCw3ICszMDExLDE4IEBAIHN0YXRpYyBpbnQgaW50ZWxfcnVu dGltZV9yZXN1bWUoc3RydWN0IGRldmljZSAqa2RldikKPiA+ID4gIAlpZiAoaW50ZWxfdW5jb3Jl X3VuY2xhaW1lZF9tbWlvKGRldl9wcml2KSkKPiA+ID4gIAkJRFJNX0RFQlVHX0RSSVZFUigiVW5j bGFpbWVkIGFjY2VzcyBkdXJpbmcgc3VzcGVuZCwgYmlvcz9cbiIpOwo+ID4gPiAgCj4gPiA+IC0J aWYgKElTX0dFTjlfTFAoZGV2X3ByaXYpKSB7Cj4gPiA+ICsJaWYgKElOVEVMX0dFTihkZXZfcHJp dikgPj0gMTEpIHsKPiA+ID4gKwkJYnh0X2Rpc2FibGVfZGM5KGRldl9wcml2KTsKPiA+ID4gKwkJ aWNsX2Rpc3BsYXlfY29yZV9pbml0KGRldl9wcml2LCB0cnVlKTsKPiA+ID4gKwkJaWYgKGRldl9w cml2LT5jc3IuZG1jX3BheWxvYWQpIHsKPiA+ID4gKwkJCWlmIChkZXZfcHJpdi0+Y3NyLmFsbG93 ZWRfZGNfbWFzayAmCj4gPiA+ICsJCQkgICAgRENfU1RBVEVfRU5fVVBUT19EQzYpCj4gPiA+ICsJ CQkJc2tsX2VuYWJsZV9kYzYoZGV2X3ByaXYpOwo+ID4gPiArCQkJZWxzZSBpZiAoZGV2X3ByaXYt PmNzci5hbGxvd2VkX2RjX21hc2sgJgo+ID4gPiArCQkJCSBEQ19TVEFURV9FTl9VUFRPX0RDNSkK PiA+ID4gKwkJCQlnZW45X2VuYWJsZV9kYzUoZGV2X3ByaXYpOwo+ID4gPiArCQl9Cj4gPiA+ICsJ fSBlbHNlIGlmIChJU19HRU45X0xQKGRldl9wcml2KSkgewo+ID4gPiAgCQlieHRfZGlzYWJsZV9k YzkoZGV2X3ByaXYpOwo+ID4gPiAgCQlieHRfZGlzcGxheV9jb3JlX2luaXQoZGV2X3ByaXYsIHRy dWUpOwo+ID4gPiAgCQlpZiAoZGV2X3ByaXYtPmNzci5kbWNfcGF5bG9hZCAmJgo+ID4gPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gPiBpbmRleCAwZTlhOTI2ZmNhMDQuLjUyOWZmMTlhNWU0 OCAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+ID4gQEAgLTE2NDAs NiArMTY0MCw3IEBAIHZvaWQgYnh0X2VuYWJsZV9kYzkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KTsKPiA+ID4gIHZvaWQgYnh0X2Rpc2FibGVfZGM5KHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdik7Cj4gPiA+ICB2b2lkIGdlbjlfZW5hYmxlX2RjNShzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ID4gPiAgdW5zaWduZWQgaW50IHNrbF9jZGNsa19n ZXRfdmNvKHVuc2lnbmVkIGludCBmcmVxKTsKPiA+ID4gK3ZvaWQgc2tsX2VuYWJsZV9kYzYoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPiA+ID4gIHZvaWQgaW50ZWxfZHBfZ2V0 X21fbihzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKPiA+ID4gIAkJICAgICAgc3RydWN0IGludGVs X2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKTsKPiA+ID4gIHZvaWQgaW50ZWxfZHBfc2V0X21fbihj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiA+ID4gQEAgLTE5ODks NiArMTk5MCw4IEBAIGludCBpbnRlbF9wb3dlcl9kb21haW5zX2luaXQoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKik7Cj4gPiA+ICB2b2lkIGludGVsX3Bvd2VyX2RvbWFpbnNfY2xlYW51cChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ID4gPiAgdm9pZCBpbnRlbF9wb3dlcl9k b21haW5zX2luaXRfaHcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBib29sIHJl c3VtZSk7Cj4gPiA+ICB2b2lkIGludGVsX3Bvd2VyX2RvbWFpbnNfZmluaV9odyhzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ID4gPiArdm9pZCBpY2xfZGlzcGxheV9jb3JlX2lu aXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBib29sIHJlc3VtZSk7Cj4gPiA+ ICt2b2lkIGljbF9kaXNwbGF5X2NvcmVfdW5pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdik7Cj4gPiA+ICB2b2lkIGludGVsX3Bvd2VyX2RvbWFpbnNfZW5hYmxlKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Cj4gPiA+ICB2b2lkIGludGVsX3Bvd2VyX2RvbWFp bnNfZGlzYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwo+ID4gPiAgCj4g PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKPiA+ID4gaW5kZXggNWY1 NDE2ZWI5NjQ0Li5lZjA4MzEzY2YzNTkgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9ydW50aW1lX3BtLmMKPiA+ID4gQEAgLTU2MCw3ICs1NjAsOSBAQCBzdGF0aWMgdTMy IGdlbjlfZGNfbWFzayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gPiA+ICAJ dTMyIG1hc2s7Cj4gPiA+ICAKPiA+ID4gIAltYXNrID0gRENfU1RBVEVfRU5fVVBUT19EQzU7Cj4g PiA+IC0JaWYgKElTX0dFTjlfTFAoZGV2X3ByaXYpKQo+ID4gPiArCWlmIChJTlRFTF9HRU4oZGV2 X3ByaXYpID49IDExKQo+ID4gPiArCQltYXNrIHw9IERDX1NUQVRFX0VOX1VQVE9fREM2IHwgRENf U1RBVEVfRU5fREM5Owo+ID4gPiArCWVsc2UgaWYgKElTX0dFTjlfTFAoZGV2X3ByaXYpKQo+ID4g PiAgCQltYXNrIHw9IERDX1NUQVRFX0VOX0RDOTsKPiA+ID4gIAllbHNlCj4gPiA+ICAJCW1hc2sg fD0gRENfU1RBVEVfRU5fVVBUT19EQzY7Cj4gPiA+IEBAIC02MzMsOCArNjM1LDggQEAgdm9pZCBi eHRfZW5hYmxlX2RjOShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gPiA+ICAJ YXNzZXJ0X2Nhbl9lbmFibGVfZGM5KGRldl9wcml2KTsKPiA+ID4gIAo+ID4gPiAgCURSTV9ERUJV R19LTVMoIkVuYWJsaW5nIERDOVxuIik7Cj4gPiA+IC0KPiA+ID4gLQlpbnRlbF9wb3dlcl9zZXF1 ZW5jZXJfcmVzZXQoZGV2X3ByaXYpOwo+ID4gPiArCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpIDwg MTEpCj4gPiA+ICsJCWludGVsX3Bvd2VyX3NlcXVlbmNlcl9yZXNldChkZXZfcHJpdik7Cj4gPiAK PiA+IEknbSBzb3JyeSBpZiB0aGlzIHdhcyBkaXNjdXNzZWQgYWxyZWFkeSwgYnV0IHdoeSBpcyB0 aGlzIG9ubHkKPiA+IG5lZWRlZCBvbiBCWFQ/Cj4gPiAKPiA+IENvdWxkIHdlIGhhdmUgYSBjb21t ZW50IGhlcmUgb3IgbWVudGlvbiBvbiBjb21taXQgbWVzc2FnZT8KPiAKPiBJdCBpcyBpbiB0aGUg Y29tbWl0IG1lc3NhZ2UhIDspCgpvcHMuLi4gbXkgYmFkLiBzb3JyeS4KCkkgZGlkbid0IHJlYWQg dGhlIHJldmlzaW9uIGhpc3RvcnkuIDovCgo+IAo+IDxzbmlwPgo+ID4gPiB2NDogKEphbWVzIEF1 c211cykKPiA+ID4gIC0gRG9uJ3QgY2FsbCBpbnRlbF9wb3dlcl9zZXF1ZW5jZXJfcmVzZXQgYWZ0 ZXIgREM5IGZvciBHZW4xMSssIGFzIHRoZQo+ID4gPiAgICBQUFMgcmVncyBhcmUgQWx3YXlzIE9u CgpJcyB0aGlzIGJlY2F1c2UgaXQgaXMgZ2VuMTErIG9yIGJlY2F1c2UgUFBTIHJlZ3Mgb24gaWNs IGlzIG9uIFBDSCBhbmQgQlhUCmRvZXNuJ3QgaGF2ZSBpdD8KCmluIG90aGVyIHdvcmRzOiBJcyB0 aGUgZ2VuIGNoZWNrIGJldHRlciBoZXJlIG9yIHNob3VsZCB3ZSB1c2UgSEFTX1BDSF9TUExJVCA/ CgphbmQgaXMgdGhpcyBhIHBvc3NpYmxlIHRoaW5nIHRvIGhhcHBlbiBvbiB0aGUgZnV0dXJlPwoK PiA8L3NuaXA+Cj4gCj4gRW5vdWdoLCBvciBuZWVkIG1vcmU/CgpJIGJlbGlldmUgYSBjb21tZW50 IGNsb3NlIHRvIHRoZSBpZiBpcyBtb3JlIGFwcHJvcHJpYXRlZCB0byByZW1pbmQKdXMgd2hhdCB0 byBkbyBpbiB0aGUgZnV0dXJlLiA7KQoKVGhhbmtzLApSb2RyaWdvLgoKPiAKPiAtSmFtZXMKPiAK PiA+IAo+ID4gPiAgCWdlbjlfc2V0X2RjX3N0YXRlKGRldl9wcml2LCBEQ19TVEFURV9FTl9EQzkp Owo+ID4gPiAgfQo+ID4gPiAgCj4gPiA+IEBAIC03MTYsNyArNzE4LDcgQEAgc3RhdGljIHZvaWQg YXNzZXJ0X2Nhbl9lbmFibGVfZGM2KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK PiA+ID4gIAlhc3NlcnRfY3NyX2xvYWRlZChkZXZfcHJpdik7Cj4gPiA+ICB9Cj4gPiA+ICAKPiA+ ID4gLXN0YXRpYyB2b2lkIHNrbF9lbmFibGVfZGM2KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKPiA+ID4gK3ZvaWQgc2tsX2VuYWJsZV9kYzYoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQo+ID4gPiAgewo+ID4gPiAgCWFzc2VydF9jYW5fZW5hYmxlX2RjNihkZXZf cHJpdik7Cj4gPiA+ICAKPiA+ID4gQEAgLTI5NzgsMTcgKzI5ODAsMjAgQEAgc3RhdGljIHVpbnQz Ml90IGdldF9hbGxvd2VkX2RjX21hc2soY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LAo+ID4gPiAgCWludCByZXF1ZXN0ZWRfZGM7Cj4gPiA+ICAJaW50IG1heF9kYzsKPiA+ ID4gIAo+ID4gPiAtCWlmIChJU19HRU45X0JDKGRldl9wcml2KSB8fCBJTlRFTF9JTkZPKGRldl9w cml2KS0+Z2VuID49IDEwKSB7Cj4gPiA+ICsJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gMTEp IHsKPiA+ID4gIAkJbWF4X2RjID0gMjsKPiA+ID4gLQkJbWFzayA9IDA7Cj4gPiA+IC0JfSBlbHNl IGlmIChJU19HRU45X0xQKGRldl9wcml2KSkgewo+ID4gPiAtCQltYXhfZGMgPSAxOwo+ID4gPiAg CQkvKgo+ID4gPiAgCQkgKiBEQzkgaGFzIGEgc2VwYXJhdGUgSFcgZmxvdyBmcm9tIHRoZSByZXN0 IG9mIHRoZSBEQyBzdGF0ZXMsCj4gPiA+ICAJCSAqIG5vdCBkZXBlbmRpbmcgb24gdGhlIERNQyBm aXJtd2FyZS4gSXQncyBuZWVkZWQgYnkgc3lzdGVtCj4gPiA+ICAJCSAqIHN1c3BlbmQvcmVzdW1l LCBzbyBhbGxvdyBpdCB1bmNvbmRpdGlvbmFsbHkuCj4gPiA+ICAJCSAqLwo+ID4gPiAgCQltYXNr ID0gRENfU1RBVEVfRU5fREM5Owo+ID4gPiArCX0gZWxzZSBpZiAoSVNfR0VOMTAoZGV2X3ByaXYp IHx8IElTX0dFTjlfQkMoZGV2X3ByaXYpKSB7Cj4gPiA+ICsJCW1heF9kYyA9IDI7Cj4gPiA+ICsJ CW1hc2sgPSAwOwo+ID4gPiArCX0gZWxzZSBpZiAoSVNfR0VOOV9MUChkZXZfcHJpdikpIHsKPiA+ ID4gKwkJbWF4X2RjID0gMTsKPiA+ID4gKwkJbWFzayA9IERDX1NUQVRFX0VOX0RDOTsKPiA+ID4g IAl9IGVsc2Ugewo+ID4gPiAgCQltYXhfZGMgPSAwOwo+ID4gPiAgCQltYXNrID0gMDsKPiA+ID4g QEAgLTM1MzksOCArMzU0NCw4IEBAIHN0YXRpYyB2b2lkIGNubF9kaXNwbGF5X2NvcmVfdW5pbml0 KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+ID4gIAlJOTE1X1dSSVRFKENI SUNLRU5fTUlTQ18yLCB2YWwpOwo+ID4gPiAgfQo+ID4gPiAgCj4gPiA+IC1zdGF0aWMgdm9pZCBp Y2xfZGlzcGxheV9jb3JlX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ ID4gPiAtCQkJCSAgYm9vbCByZXN1bWUpCj4gPiA+ICt2b2lkIGljbF9kaXNwbGF5X2NvcmVfaW5p dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiA+ICsJCQkgICBib29sIHJl c3VtZSkKPiA+ID4gIHsKPiA+ID4gIAlzdHJ1Y3QgaTkxNV9wb3dlcl9kb21haW5zICpwb3dlcl9k b21haW5zID0gJmRldl9wcml2LT5wb3dlcl9kb21haW5zOwo+ID4gPiAgCXN0cnVjdCBpOTE1X3Bv d2VyX3dlbGwgKndlbGw7Cj4gPiA+IEBAIC0zNTkyLDcgKzM1OTcsNyBAQCBzdGF0aWMgdm9pZCBp Y2xfZGlzcGxheV9jb3JlX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ ID4gPiAgCQlpbnRlbF9jc3JfbG9hZF9wcm9ncmFtKGRldl9wcml2KTsKPiA+ID4gIH0KPiA+ID4g IAo+ID4gPiAtc3RhdGljIHZvaWQgaWNsX2Rpc3BsYXlfY29yZV91bmluaXQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4gPiArdm9pZCBpY2xfZGlzcGxheV9jb3JlX3VuaW5p dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gPiA+ICB7Cj4gPiA+ICAJc3Ry dWN0IGk5MTVfcG93ZXJfZG9tYWlucyAqcG93ZXJfZG9tYWlucyA9ICZkZXZfcHJpdi0+cG93ZXJf ZG9tYWluczsKPiA+ID4gIAlzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsICp3ZWxsOwo+ID4gPiAtLSAK PiA+ID4gMi4xNy4xCj4gPiA+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK