From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulo Zanoni Subject: Re: [PATCH 11/24] drm/i915/icl: Get DDI clock for ICL based on PLLs. Date: Wed, 23 May 2018 14:54:23 -0700 Message-ID: <1527112463.2699.11.camel@intel.com> References: <20180522002558.29262-1-paulo.r.zanoni@intel.com> <20180522002558.29262-12-paulo.r.zanoni@intel.com> <1526989483.27355.4.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3F8606E58C for ; Wed, 23 May 2018 21:54:36 +0000 (UTC) In-Reply-To: <1526989483.27355.4.camel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: mika.kahola@intel.com, intel-gfx@lists.freedesktop.org Cc: Lucas De Marchi , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org RW0gVGVyLCAyMDE4LTA1LTIyIMOgcyAxNDo0NCArMDMwMCwgTWlrYSBLYWhvbGEgZXNjcmV2ZXU6 Cj4gT24gTW9uLCAyMDE4LTA1LTIxIGF0IDE3OjI1IC0wNzAwLCBQYXVsbyBaYW5vbmkgd3JvdGU6 Cj4gPiBGcm9tOiBNYW5hc2kgTmF2YXJlIDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPgo+ID4g Cj4gPiBQTExzIGFyZSB0aGUgc291cmNlIGNsb2NrcyBmb3IgdGhlIERESXMgc28gaW4gb3JkZXIK PiA+IHRvIGRldGVybWluZSB0aGUgZGRpIGNsb2NrIHdlIG5lZWQgdG8gY2hlY2sgdGhlIFBMTAo+ ID4gY29uZmlndXJhdGlvbi4KPiA+IAo+ID4gVGhpcyBnZXRzIGEgbGl0dGxlIHRyaWNreSBmb3Ig SUNMIHNpbmNlIHRoZXJlIGlzCj4gPiBubyByZWdpc3RlciBiaXQgdGhhdCBtYXBzIGRpcmVjdGx5 IHRvIHRoZSBsaW5rIGNsb2NrLgo+ID4gU28gdGhpcyBwYXRjaCBjcmVhdGVzIGEgc2VwYXJhdGUg ZnVuY3Rpb24gaW4gaW50ZWxfZHBsbF9tZ3IuYwo+ID4gdG8gb2J0YWluIHRoZSB3cml0ZSBhcnJh eSBQTEwgUGFyYW1zIGFuZCBjb21wYXJlcyB0aGUgc2V0Cj4gPiBwbGxfcGFyYW1zIHdpdGggdGhl IHRhYmxlIHRvIGdldCB0aGUgY29ycmVzcG9uZGluZyBsaW5rCj4gPiBjbG9jay4KPiA+IAo+ID4g Q2M6IFJvZHJpZ28gVml2aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KPiA+IENjOiBNaWthIEth aG9sYSA8bWlrYS5rYWhvbGFAaW50ZWwuY29tPgo+ID4gQ2M6IFBhdWxvIFphbm9uaSA8cGF1bG8u ci56YW5vbmlAaW50ZWwuY29tPgo+ID4gU2lnbmVkLW9mZi1ieTogTWFuYXNpIE5hdmFyZSA8bWFu YXNpLmQubmF2YXJlQGludGVsLmNvbT4KPiA+IFNpZ25lZC1vZmYtYnk6IEx1Y2FzIERlIE1hcmNo aSA8bHVjYXMuZGVtYXJjaGlAaW50ZWwuY29tPgo+ID4gU2lnbmVkLW9mZi1ieTogUGF1bG8gWmFu b25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+Cj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oICAgICAgIHwgIDMgKysKPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kZGkuYyAgICAgIHwgMjYgKysrKysrKysrKysrKysKPiA+ICBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcGxsX21nci5jIHwgNjYKPiA+ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuaCB8 ICAyICsrCj4gPiAgNCBmaWxlcyBjaGFuZ2VkLCA5NyBpbnNlcnRpb25zKCspCj4gPiAKPiA+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPiBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiA+IGluZGV4IDdmMjdmZTJlMzhjNy4uMjY5MDNjZmZh YmY2IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ID4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ID4gQEAgLTkxODIsMTMgKzkx ODIsMTYgQEAgZW51bSBza2xfcG93ZXJfZ2F0ZSB7Cj4gPiAgI2RlZmluZSAgRFBMTF9DRkdDUjFf UURJVl9SQVRJT19NQVNLCSgweGZmIDw8IDEwKQo+ID4gICNkZWZpbmUgIERQTExfQ0ZHQ1IxX1FE SVZfUkFUSU9fU0hJRlQJKDEwKQo+ID4gICNkZWZpbmUgIERQTExfQ0ZHQ1IxX1FESVZfUkFUSU8o eCkJKCh4KSA8PCAxMCkKPiA+ICsjZGVmaW5lICBEUExMX0NGR0NSMV9RRElWX01PREVfU0hJRlQJ KDkpCj4gPiAgI2RlZmluZSAgRFBMTF9DRkdDUjFfUURJVl9NT0RFKHgpCSgoeCkgPDwgOSkKPiA+ ICAjZGVmaW5lICBEUExMX0NGR0NSMV9LRElWX01BU0sJCSg3IDw8IDYpCj4gPiArI2RlZmluZSAg RFBMTF9DRkdDUjFfS0RJVl9TSElGVAkJKDYpCj4gPiAgI2RlZmluZSAgRFBMTF9DRkdDUjFfS0RJ Vih4KQkJKCh4KSA8PCA2KQo+ID4gICNkZWZpbmUgIERQTExfQ0ZHQ1IxX0tESVZfMQkJKDEgPDwg NikKPiA+ICAjZGVmaW5lICBEUExMX0NGR0NSMV9LRElWXzIJCSgyIDw8IDYpCj4gPiAgI2RlZmlu ZSAgRFBMTF9DRkdDUjFfS0RJVl80CQkoNCA8PCA2KQo+ID4gICNkZWZpbmUgIERQTExfQ0ZHQ1Ix X1BESVZfTUFTSwkJKDB4ZiA8PCAyKQo+ID4gKyNkZWZpbmUgIERQTExfQ0ZHQ1IxX1BESVZfU0hJ RlQJCSgyKQo+ID4gICNkZWZpbmUgIERQTExfQ0ZHQ1IxX1BESVYoeCkJCSgoeCkgPDwgMikKPiA+ ICAjZGVmaW5lICBEUExMX0NGR0NSMV9QRElWXzIJCSgxIDw8IDIpCj4gPiAgI2RlZmluZSAgRFBM TF9DRkdDUjFfUERJVl8zCQkoMiA8PCAyKQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RkaS5jCj4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5j Cj4gPiBpbmRleCBkOGFlODIwMDFmODMuLjBkOGJlZDhlMjIwMCAxMDA2NDQKPiA+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kZGkuYwo+ID4gQEAgLTE0NTgsNiArMTQ1OCwzMCBAQCBzdGF0aWMgdm9pZCBk ZGlfZG90Y2xvY2tfZ2V0KHN0cnVjdAo+ID4gaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcp Cj4gPiAgCXBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGUuY3J0Y19jbG9jayA9IGRvdGNs b2NrOwo+ID4gIH0KPiA+ICAKPiA+ICtzdGF0aWMgdm9pZCBpY2xfZGRpX2Nsb2NrX2dldChzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ICsJCQkgICAgICBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZQo+ID4gKnBpcGVfY29uZmlnKQo+ID4gK3sKPiA+ICsJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLQo+ID4gPiBiYXNlLmRldik7Cj4gPiAK PiA+ICsJZW51bSBwb3J0IHBvcnQgPSBlbmNvZGVyLT5wb3J0Owo+ID4gKwlpbnQgbGlua19jbG9j ayA9IDA7Cj4gPiArCXVpbnQzMl90IHBsbF9pZDsKPiA+ICsKPiA+ICsJcGxsX2lkID0gaW50ZWxf Z2V0X3NoYXJlZF9kcGxsX2lkKGRldl9wcml2LCBwaXBlX2NvbmZpZy0KPiA+ID4gc2hhcmVkX2Rw bGwpOwo+ID4gCj4gPiArCWlmIChwb3J0ID09IFBPUlRfQSB8fCBwb3J0ID09IFBPUlRfQikgewo+ ID4gKwkJaWYgKGVuY29kZXItPnR5cGUgPT0gSU5URUxfT1VUUFVUX0hETUkpCj4gPiArCQkJbGlu a19jbG9jayA9IGNubF9jYWxjX3dycGxsX2xpbmsoZGV2X3ByaXYsCj4gPiBwbGxfaWQpOwo+ID4g KwkJZWxzZQo+ID4gKwkJCWxpbmtfY2xvY2sgPQo+ID4gaWNsX2NhbGNfZHBfY29tYm9fcGxsX2xp bmsoZGV2X3ByaXYsCj4gPiArCQkJCQkJCQlwbAo+ID4gbF8KPiA+IGlkKTsKPiA+ICsJfSBlbHNl IHsKPiA+ICsJCS8qIEZJWE1FIC0gQWRkIGZvciBNRyBQTEwgKi8KPiA+ICsJCVdBUk4oMSwgIk1H IFBMTCBjbG9ja19nZXQgY29kZSBub3QgaW1wbGVtZW50ZWQKPiA+IHlldFxuIik7Cj4gPiArCX0K PiA+ICsKPiA+ICsJcGlwZV9jb25maWctPnBvcnRfY2xvY2sgPSBsaW5rX2Nsb2NrOwo+ID4gKwlk ZGlfZG90Y2xvY2tfZ2V0KHBpcGVfY29uZmlnKTsKPiA+ICt9Cj4gPiArCj4gPiAgc3RhdGljIHZv aWQgY25sX2RkaV9jbG9ja19nZXQoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiAg CQkJICAgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUKPiA+ICpwaXBlX2NvbmZpZykKPiA+ICB7 Cj4gPiBAQCAtMTY1MSw2ICsxNjc1LDggQEAgc3RhdGljIHZvaWQgaW50ZWxfZGRpX2Nsb2NrX2dl dChzdHJ1Y3QKPiA+IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiAgCQlieHRfZGRpX2Nsb2Nr X2dldChlbmNvZGVyLCBwaXBlX2NvbmZpZyk7Cj4gPiAgCWVsc2UgaWYgKElTX0NBTk5PTkxBS0Uo ZGV2X3ByaXYpKQo+ID4gIAkJY25sX2RkaV9jbG9ja19nZXQoZW5jb2RlciwgcGlwZV9jb25maWcp Owo+ID4gKwllbHNlIGlmIChJU19JQ0VMQUtFKGRldl9wcml2KSkKPiA+ICsJCWljbF9kZGlfY2xv Y2tfZ2V0KGVuY29kZXIsIHBpcGVfY29uZmlnKTsKPiA+ICB9Cj4gPiAgCj4gPiAgdm9pZCBpbnRl bF9kZGlfc2V0X3BpcGVfc2V0dGluZ3MoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUKPiA+ ICpjcnRjX3N0YXRlKQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwbGxfbWdyLmMKPiA+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9tZ3IuYwo+ ID4gaW5kZXggMzgzZmJjMTUxMTNkLi4zY2M4MzdmNzRmZmIgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcGxsX21nci5jCj4gPiBAQCAtMjUyNSw2ICsyNTI1LDcyIEBAIHN0YXRp YyBib29sIGljbF9jYWxjX2RwbGxfc3RhdGUoc3RydWN0Cj4gPiBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlLAo+ID4gIAlyZXR1cm4gdHJ1ZTsKPiA+ICB9Cj4gPiAgCj4gPiAraW50IGljbF9j YWxjX2RwX2NvbWJvX3BsbF9saW5rKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK PiA+ICsJCQkgICAgICAgdWludDMyX3QgcGxsX2lkKQo+ID4gK3sKPiA+ICsJdWludDMyX3QgY2Zn Y3IwLCBjZmdjcjE7Cj4gPiArCXVpbnQzMl90IHBkaXYsIGtkaXYsIHFkaXZfbW9kZSwgcWRpdl9y YXRpbywgZGNvX2ludGVnZXIsCj4gPiBkY29fZnJhY3Rpb247Cj4gPiArCWNvbnN0IHN0cnVjdCBz a2xfd3JwbGxfcGFyYW1zICpwYXJhbXM7Cj4gPiArCWludCBpbmRleCwgbl9lbnRyaWVzLCBsaW5r X2Nsb2NrID0gMDsKPiA+ICsKPiA+ICsJLyogUmVhZCBiYWNrIHZhbHVlcyBmcm9tIERQTEwgQ0ZH Q1IgcmVnaXN0ZXJzICovCj4gPiArCWNmZ2NyMCA9IEk5MTVfUkVBRChJQ0xfRFBMTF9DRkdDUjAo cGxsX2lkKSk7Cj4gPiArCWNmZ2NyMSA9IEk5MTVfUkVBRChJQ0xfRFBMTF9DRkdDUjEocGxsX2lk KSk7Cj4gPiArCj4gPiArCWRjb19pbnRlZ2VyID0gY2ZnY3IwICYgRFBMTF9DRkdDUjBfRENPX0lO VEVHRVJfTUFTSzsKPiA+ICsJZGNvX2ZyYWN0aW9uID0gKGNmZ2NyMCAmIERQTExfQ0ZHQ1IwX0RD T19GUkFDVElPTl9NQVNLKSA+Pgo+ID4gKwkJRFBMTF9DRkdDUjBfRENPX0ZSQUNUSU9OX1NISUZU Owo+ID4gKwlwZGl2ID0gKGNmZ2NyMSAmIERQTExfQ0ZHQ1IxX1BESVZfTUFTSykgPj4KPiA+IERQ TExfQ0ZHQ1IxX1BESVZfU0hJRlQ7Cj4gPiArCWtkaXYgPSAoY2ZnY3IxICYgRFBMTF9DRkdDUjFf S0RJVl9NQVNLKSA+Pgo+ID4gRFBMTF9DRkdDUjFfS0RJVl9TSElGVDsKPiA+ICsJcWRpdl9tb2Rl ID0gKGNmZ2NyMSAmIERQTExfQ0ZHQ1IxX1FESVZfTU9ERSgxKSkgPj4KPiA+ICsJCURQTExfQ0ZH Q1IxX1FESVZfTU9ERV9TSElGVDsKPiA+ICsJcWRpdl9yYXRpbyA9IChjZmdjcjEgJiBEUExMX0NG R0NSMV9RRElWX1JBVElPX01BU0spID4+Cj4gPiArCQlEUExMX0NGR0NSMV9RRElWX1JBVElPX1NI SUZUOwo+ID4gKwo+ID4gKwlwYXJhbXMgPSBkZXZfcHJpdi0+Y2RjbGsuaHcucmVmID09IDI0MDAw ID8KPiA+ICsJCWljbF9kcF9jb21ib19wbGxfMjRNSHpfdmFsdWVzIDoKPiA+ICsJCWljbF9kcF9j b21ib19wbGxfMTlfMk1Iel92YWx1ZXM7Cj4gPiArCW5fZW50cmllcyA9IEFSUkFZX1NJWkUoaWNs X2RwX2NvbWJvX3BsbF8yNE1Iel92YWx1ZXMpOwo+ID4gKwo+ID4gKwlmb3IgKGluZGV4ID0gMDsg aW5kZXggPCBuX2VudHJpZXM7IGluZGV4KyspIHsKPiA+ICsJCWlmIChkY29faW50ZWdlciA9PSBw YXJhbXNbaW5kZXhdLmRjb19pbnRlZ2VyICYmCj4gPiArCQkgICAgZGNvX2ZyYWN0aW9uID09IHBh cmFtc1tpbmRleF0uZGNvX2ZyYWN0aW9uICYmCj4gPiArCQkgICAgcGRpdiA9PSBwYXJhbXNbaW5k ZXhdLnBkaXYgJiYKPiA+ICsJCSAgICBrZGl2ID09IHBhcmFtc1tpbmRleF0ua2RpdiAmJgo+ID4g KwkJICAgIHFkaXZfbW9kZSA9PSBwYXJhbXNbaW5kZXhdLnFkaXZfbW9kZSAmJgo+ID4gKwkJICAg IHFkaXZfcmF0aW8gPT0gcGFyYW1zW2luZGV4XS5xZGl2X3JhdGlvKQo+ID4gKwkJCWJyZWFrOwo+ ID4gKwl9Cj4gPiArCVdBUk4oaW5kZXggPT0gbl9lbnRyaWVzLCAiSW52YWxpZCBQTEwgUGFyYW1l dGVycyIpOwo+ID4gKwo+ID4gKwkvKiBNYXAgUExMIEluZGV4IHRvIExpbmsgQ2xvY2sgKi8KPiA+ ICsJc3dpdGNoIChpbmRleCkgewo+ID4gKwljYXNlIDA6Cj4gPiArCQlsaW5rX2Nsb2NrID0gNTQw MDAwOwo+ID4gKwkJYnJlYWs7Cj4gPiArCWNhc2UgMToKPiA+ICsJCWxpbmtfY2xvY2sgPSAyNzAw MDA7Cj4gPiArCQlicmVhazsKPiA+ICsJY2FzZSAyOgo+ID4gKwkJbGlua19jbG9jayA9IDE2MjAw MDsKPiA+ICsJCWJyZWFrOwo+ID4gKwljYXNlIDM6Cj4gPiArCQlsaW5rX2Nsb2NrID0gMzI0MDAw Owo+ID4gKwkJYnJlYWs7Cj4gPiArCWNhc2UgNDoKPiA+ICsJCWxpbmtfY2xvY2sgPSA0MzIwMDA7 Cj4gPiArCQlicmVhazsKPiA+ICsJY2FzZSA1Ogo+ID4gKwkJbGlua19jbG9jayA9IDQzMjAwMDsK PiA+ICsJCWJyZWFrOwo+ID4gKwljYXNlIDY6Cj4gPiArCQlsaW5rX2Nsb2NrID0gODEwMDAwOwo+ ID4gKwkJYnJlYWs7Cj4gCj4gSnVzdCB0byBwbGF5IGl0IHNhZmUsIHdlIGNvdWxkIGFkZCAKPiAK PiAJZGVmYXVsdDoKPiAJCU1JU1NJTkdfQ0FTRSgpOwo+IAl9Cj4gCj4gaGVyZSBhbmQgcmV0dXJu IHdpdGggc29tZSBkZWZhdWx0IGxpbmsgY2xvY2sgdmFsdWUuCgpJbiB0aGlzIGNhc2UgdGhlIFdB Uk4gYWJvdmUgc2hvdWxkIGJlIHRyaWdnZXJlZCBhbmQgd2UnbGwgcmV0dXJuIDAgKGR1ZQogdG8g bGlua19jbG9jayBiZWluZyBpbml0aWFsaXplZCB0byAwIGF0IGRlZmluaXRpb24pLCBidXQgSSB3 b3VsZApwcmVmZXIgaWYgb3VyIGNvZGUgd2FzIGEgbGl0dGxlIG1vcmUgZXhwbGljaXQgbGlrZSB5 b3UncmUgc3VnZ2VzdGluZywKZXNwZWNpYWxseSByZW1vdmluZyB0aGUgemVybyBpbml0aWFsaXph dGlvbiwgd2hpY2ggb25seSBzZXJ2ZXMgdG8gaGlkZQpkZXRhaWxzIGxpa2UgdGhhdC4KCkFsc28s IHRoZSB0YWJsZSBpcyB3cm9uZzogaXQgaGFzIDQzMiB0d2ljZSBhbmQgaXMgbWlzc2luZyAyMTYg YW5kIDY0OC4KCj4gCj4gPiArCj4gPiArCXJldHVybiBsaW5rX2Nsb2NrOwo+ID4gK30KPiA+ICsK PiA+ICBzdGF0aWMgZW51bSBwb3J0IGljbF9tZ19wbGxfaWRfdG9fcG9ydChlbnVtIGludGVsX2Rw bGxfaWQgaWQpCj4gPiAgewo+ID4gIAlyZXR1cm4gaWQgLSBEUExMX0lEX0lDTF9NR1BMTDEgKyBQ T1JUX0M7Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBsbF9t Z3IuaAo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcGxsX21nci5oCj4gPiBpbmRl eCA3YTBjZDU2NGE5ZWUuLjc4OTE1MDU3ZDJlNiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RwbGxfbWdyLmgKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RwbGxfbWdyLmgKPiA+IEBAIC0zMzYsNSArMzM2LDcgQEAgdm9pZCBpbnRlbF9zaGFy ZWRfZHBsbF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlCj4gPiAqZGV2KTsKPiA+ICAKPiA+ICB2b2lk IGludGVsX2RwbGxfZHVtcF9od19zdGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCj4gPiAgCQkJICAgICAgc3RydWN0IGludGVsX2RwbGxfaHdfc3RhdGUKPiA+ICpod19zdGF0 ZSk7Cj4gPiAraW50IGljbF9jYWxjX2RwX2NvbWJvX3BsbF9saW5rKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwKPiA+ICsJCQkgICAgICAgdWludDMyX3QgcGxsX2lkKTsKPiA+ICAK PiA+ICAjZW5kaWYgLyogX0lOVEVMX0RQTExfTUdSX0hfICovCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=