From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ankit Navik Subject: [PATCH v3 3/4] drm/i915: set optimum eu/slice/sub-slice configuration based on load type Date: Tue, 11 Dec 2018 15:44:20 +0530 Message-ID: <1544523261-26905-4-git-send-email-ankit.p.navik@intel.com> References: <1544523261-26905-1-git-send-email-ankit.p.navik@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 10C366E056 for ; Tue, 11 Dec 2018 10:13:16 +0000 (UTC) In-Reply-To: <1544523261-26905-1-git-send-email-ankit.p.navik@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: ankit.p.navik@intel.com List-Id: intel-gfx@lists.freedesktop.org RnJvbTogUHJhdmVlbiBEaXdha2FyIDxwcmF2ZWVuLmRpd2FrYXJAaW50ZWwuY29tPgoKVGhpcyBw YXRjaCB3aWxsIHNlbGVjdCBvcHRpbXVtIGV1L3NsaWNlL3N1Yi1zbGljZSBjb25maWd1cmF0aW9u IGJhc2VkIG9uCnR5cGUgb2YgbG9hZCAobG93LCBtZWRpdW0sIGhpZ2gpIGFzIGlucHV0LgpCYXNl ZCBvbiBvdXIgcmVhZGluZ3MgYW5kIGV4cGVyaW1lbnRzIHdlIGhhdmUgcHJlZGVmaW5lZCBzZXQg b2Ygb3B0aW11bQpjb25maWd1cmF0aW9uIGZvciBlYWNoIHBsYXRmb3JtKENIVCwgS0JMKS4KaTkx NV9nZW1fY29udGV4dF9zZXRfbG9hZF90eXBlIHdpbGwgc2VsZWN0IG9wdGltdW0gY29uZmlndXJh dGlvbiBmcm9tCnByZS1kZWZpbmVkIG9wdGltdW0gY29uZmlndXJhdGlvbiB0YWJsZShvcHRfY29u ZmlnKS4KCkl0IGFsc28gaW50cm9kdWNlIGZsYWcgdXBkYXRlX3JlbmRlcl9jb25maWcgd2hpY2gg Y2FuIHNldCBieSBhbnkgZ292ZXJub3IuCgp2MjoKICogTW92ZSBzdGF0aWMgb3B0aW11bV9jb25m aWcgdG8gZGV2aWNlIGluaXQgdGltZS4KICogUmVuYW1lIGZ1bmN0aW9uIHRvIGFwcHJvcHJpYXRl IG5hbWUsIGZpeCBkYXRhIHR5cGVzIGFuZCBwYXRjaCBvcmRlcmluZy4KICogUmVuYW1lIHByZXZf bG9hZF90eXBlIHRvIHBlbmRpbmdfbG9hZF90eXBlLiAoVHZydGtvIFVyc3VsaW4pCgp2MzoKICog QWRkIHNhZmUgZ3VhcmQgY2hlY2sgaW4gaTkxNV9nZW1fY29udGV4dF9zZXRfbG9hZF90eXBlLgog KiBSZW5hbWUgc3RydWN0IGZyb20gb3B0aW11bV9jb25maWcgdG8gaTkxNV9zc2V1X29wdGltdW1f Y29uZmlnIHRvCiAgIGF2b2lkIG5hbWVzcGFjZSBjbGFzaGVzLgogKiBSZWR1Y2VzIG1lbWNweSBm b3Igc3BhY2UgZWZmaWNpZW50LgogKiBSZWJhc2UuCiAqIEltcHJvdmVkIGNvbW1pdCBtZXNzYWdl LiAoVHZydGtvIFVyc3VsaW4pCgpDYzogS2VkYXIgSiBLYXJhbmplIDxrZWRhci5qLmthcmFuamVA aW50ZWwuY29tPgpDYzogWW9nZXNoIE1hcmF0aGUgPHlvZ2VzaC5tYXJhdGhlQGludGVsLmNvbT4K UmV2aWV3ZWQtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBsaW51eC5pbnRlbC5j b20+ClNpZ25lZC1vZmYtYnk6IFByYXZlZW4gRGl3YWthciA8cHJhdmVlbi5kaXdha2FyQGludGVs LmNvbT4KU2lnbmVkLW9mZi1ieTogQXJhdmluZGFuIE11dGh1a3VtYXIgPGFyYXZpbmRhbi5tdXRo dWt1bWFyQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogQW5raXQgTmF2aWsgPGFua2l0LnAubmF2 aWtAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAg ICAgfCAgMyArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jICB8IDE4 ICsrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5oICB8 IDI1ICsrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2Vf aW5mby5jIHwgNDcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2xyYy5jICAgICAgICAgfCAgNCArKy0KIDUgZmlsZXMgY2hhbmdlZCwg OTQgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApp bmRleCA0YWNhNTM0Li40YjlhOGM1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTE2ODEs NiArMTY4MSw5IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKIAlzdHJ1Y3QgZHJtX2k5MTVf ZmVuY2VfcmVnIGZlbmNlX3JlZ3NbSTkxNV9NQVhfTlVNX0ZFTkNFU107IC8qIGFzc3VtZSA5NjUg Ki8KIAlpbnQgbnVtX2ZlbmNlX3JlZ3M7IC8qIDggb24gcHJlLTk2NSwgMTYgb3RoZXJ3aXNlICov CiAKKwkvKiBvcHRpbWFsIHNsaWNlL3N1YnNsaWNlL0VVIGNvbmZpZ3JhdGlvbiBzdGF0ZSAqLwor CXN0cnVjdCBpOTE1X3NzZXVfb3B0aW11bV9jb25maWcgb3B0X2NvbmZpZ1tMT0FEX1RZUEVfTEFT VF07CisKIAl1bnNpZ25lZCBpbnQgZnNiX2ZyZXEsIG1lbV9mcmVxLCBpc19kZHIzOwogCXVuc2ln bmVkIGludCBza2xfcHJlZmVycmVkX3Zjb19mcmVxOwogCXVuc2lnbmVkIGludCBtYXhfY2RjbGtf ZnJlcTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwppbmRleCBkMDQwODU4 Li5jMGNlZDcyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250 ZXh0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCkBAIC0z OTIsMTAgKzM5MiwyOCBAQCBpOTE1X2dlbV9jcmVhdGVfY29udGV4dChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCiAJY3R4LT5zdWJzbGljZV9jbnQgPSBod2VpZ2h0OCgKIAkJCUlO VEVMX0lORk8oZGV2X3ByaXYpLT5zc2V1LnN1YnNsaWNlX21hc2tbMF0pOwogCWN0eC0+ZXVfY250 ID0gSU5URUxfSU5GTyhkZXZfcHJpdiktPnNzZXUuZXVfcGVyX3N1YnNsaWNlOworCWN0eC0+bG9h ZF90eXBlID0gMDsKKwljdHgtPnBlbmRpbmdfbG9hZF90eXBlID0gMDsKIAogCXJldHVybiBjdHg7 CiB9CiAKKwordm9pZCBpOTE1X2dlbV9jb250ZXh0X3NldF9sb2FkX3R5cGUoc3RydWN0IGk5MTVf Z2VtX2NvbnRleHQgKmN0eCwKKwkJZW51bSBnZW1fbG9hZF90eXBlIHR5cGUpCit7CisJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gY3R4LT5pOTE1OworCisJaWYgKEdFTV9XQVJO X09OKHR5cGUgPiBMT0FEX1RZUEVfTEFTVCkpCisJCXJldHVybjsKKworCS8qIENhbGwgb3B0X2Nv bmZpZyB0byBnZXQgY29ycmVjdCBjb25maWd1cmF0aW9uIGZvciBldSxzbGljZSxzdWJzbGljZSAq LworCWN0eC0+c2xpY2VfY250ID0gZGV2X3ByaXYtPm9wdF9jb25maWdbdHlwZV0uc2xpY2U7CisJ Y3R4LT5zdWJzbGljZV9jbnQgPSBkZXZfcHJpdi0+b3B0X2NvbmZpZ1t0eXBlXS5zdWJzbGljZTsK KwljdHgtPmV1X2NudCA9IGRldl9wcml2LT5vcHRfY29uZmlnW3R5cGVdLmV1OworCWN0eC0+cGVu ZGluZ19sb2FkX3R5cGUgPSB0eXBlOworfQorCiAvKioKICAqIGk5MTVfZ2VtX2NvbnRleHRfY3Jl YXRlX2d2dCAtIGNyZWF0ZSBhIEdWVCBHRU0gY29udGV4dAogICogQGRldjogZHJtIGRldmljZSAq CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmggYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmgKaW5kZXggZTAwMDUzMC4uYTBk YjEzYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuaApAQCAtNTMsNiAr NTMsMTkgQEAgc3RydWN0IGludGVsX2NvbnRleHRfb3BzIHsKIAl2b2lkICgqZGVzdHJveSkoc3Ry dWN0IGludGVsX2NvbnRleHQgKmNlKTsKIH07CiAKK2VudW0gZ2VtX2xvYWRfdHlwZSB7CisJTE9B RF9UWVBFX0xPVywKKwlMT0FEX1RZUEVfTUVESVVNLAorCUxPQURfVFlQRV9ISUdILAorCUxPQURf VFlQRV9MQVNUCit9OworCitzdHJ1Y3QgaTkxNV9zc2V1X29wdGltdW1fY29uZmlnIHsKKwl1OCBz bGljZTsKKwl1OCBzdWJzbGljZTsKKwl1OCBldTsKK307CisKIC8qKgogICogc3RydWN0IGk5MTVf Z2VtX2NvbnRleHQgLSBjbGllbnQgc3RhdGUKICAqCkBAIC0yMDgsNiArMjIxLDE2IEBAIHN0cnVj dCBpOTE1X2dlbV9jb250ZXh0IHsKIAogCS8qKiBldV9jbnQ6IHVzZWQgdG8gc2V0IHRoZSAjIG9m IGV1IHRvIGJlIGVuYWJsZWQuICovCiAJdTggZXVfY250OworCisJLyoqIGxvYWRfdHlwZTogVGhl IGRlc2lnbmF0ZWQgbG9hZF90eXBlIChoaWdoL21lZGl1bS9sb3cpIGZvciBhIGdpdmVuCisJICog bnVtYmVyIG9mIHBlbmRpbmcgY29tbWFuZHMgaW4gdGhlIGNvbW1hbmQgcXVldWUuCisJICovCisJ ZW51bSBnZW1fbG9hZF90eXBlIGxvYWRfdHlwZTsKKworCS8qKiBwZW5kaW5nX2xvYWRfdHlwZTog VGhlIGVhcmxpZXIgbG9hZCB0eXBlIHRoYXQgdGhlIEdQVSB3YXMgY29uZmlndXJlZAorCSAqIGZv ciAoaGlnaC9tZWRpdW0vbG93KS4KKwkgKi8KKwllbnVtIGdlbV9sb2FkX3R5cGUgcGVuZGluZ19s b2FkX3R5cGU7CiB9OwogCiBzdGF0aWMgaW5saW5lIGJvb2wgaTkxNV9nZW1fY29udGV4dF9pc19j bG9zZWQoY29uc3Qgc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCkKQEAgLTMzNiw2ICszNTks OCBAQCBpbnQgaTkxNV9nZW1fY29udGV4dF9zZXRwYXJhbV9pb2N0bChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCB2b2lkICpkYXRhLAogCQkJCSAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdik7 CiBpbnQgaTkxNV9nZW1fY29udGV4dF9yZXNldF9zdGF0c19pb2N0bChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCB2b2lkICpkYXRhLAogCQkJCSAgICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpOwor dm9pZCBpOTE1X2dlbV9jb250ZXh0X3NldF9sb2FkX3R5cGUoc3RydWN0IGk5MTVfZ2VtX2NvbnRl eHQgKmN0eCwKKwkJZW51bSBnZW1fbG9hZF90eXBlIHR5cGUpOwogCiBzdHJ1Y3QgaTkxNV9nZW1f Y29udGV4dCAqCiBpOTE1X2dlbV9jb250ZXh0X2NyZWF0ZV9rZXJuZWwoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmk5MTUsIGludCBwcmlvKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RldmljZV9pbmZvLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZp Y2VfaW5mby5jCmluZGV4IDBlZjBjNjQuLjMzYzYzMTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGV2aWNlX2luZm8uYwpAQCAtNzQxLDYgKzc0MSwyOCBAQCB2b2lkIGludGVsX2Rldmlj ZV9pbmZvX3J1bnRpbWVfaW5pdChzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gKmluZm8pCiAJCWNv bnRhaW5lcl9vZihpbmZvLCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSwgaW5mbyk7CiAJZW51bSBw aXBlIHBpcGU7CiAKKwlzdHJ1Y3QgaTkxNV9zc2V1X29wdGltdW1fY29uZmlnICpvcHRfY29uZmln ID0gTlVMTDsKKwkvKiBzdGF0aWMgdGFibGUgb2Ygc2xpY2Uvc3Vic2xpY2UvRVUgZm9yIENoZXJy eXZpZXcgKi8KKwlzdHJ1Y3QgaTkxNV9zc2V1X29wdGltdW1fY29uZmlnIGNodl9jb25maWdbTE9B RF9UWVBFX0xBU1RdID0geworCQl7MSwgMSwgNH0sCS8qIExvdyAqLworCQl7MSwgMSwgNn0sCS8q IE1lZGl1bSAqLworCQl7MSwgMiwgNn0JLyogSGlnaCAqLworCX07CisKKwkvKiBzdGF0aWMgdGFi bGUgb2Ygc2xpY2Uvc3Vic2xpY2UvRVUgZm9yIEtCTCBHVDIgKi8KKwlzdHJ1Y3QgaTkxNV9zc2V1 X29wdGltdW1fY29uZmlnIGtibF9ndDJfY29uZmlnW0xPQURfVFlQRV9MQVNUXSA9IHsKKwkJezEs IDMsIDJ9LAkvKiBMb3cgKi8KKwkJezEsIDMsIDR9LAkvKiBNZWRpdW0gKi8KKwkJezEsIDMsIDh9 CS8qIEhpZ2ggKi8KKwl9OworCisJLyogc3RhdGljIHRhYmxlIG9mIHNsaWNlL3N1YnNsaWNlL0VV IGZvciBLQkwgR1QzICovCisJc3RydWN0IGk5MTVfc3NldV9vcHRpbXVtX2NvbmZpZyBrYmxfZ3Qz X2NvbmZpZ1tMT0FEX1RZUEVfTEFTVF0gPSB7CisJCXsyLCAzLCA0fSwJLyogTG93ICovCisJCXsy LCAzLCA2fSwJLyogTWVkaXVtICovCisJCXsyLCAzLCA4fQkvKiBIaWdoICovCisJfTsKKwogCWlm IChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDEwKSB7CiAJCWZvcl9lYWNoX3BpcGUoZGV2X3ByaXYs IHBpcGUpCiAJCQlpbmZvLT5udW1fc2NhbGVyc1twaXBlXSA9IDI7CkBAIC04NDAsMTcgKzg2Miwz OCBAQCB2b2lkIGludGVsX2RldmljZV9pbmZvX3J1bnRpbWVfaW5pdChzdHJ1Y3QgaW50ZWxfZGV2 aWNlX2luZm8gKmluZm8pCiAJLyogSW5pdGlhbGl6ZSBzbGljZS9zdWJzbGljZS9FVSBpbmZvICov CiAJaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpKQogCQloYXN3ZWxsX3NzZXVfaW5mb19pbml0KGRl dl9wcml2KTsKLQllbHNlIGlmIChJU19DSEVSUllWSUVXKGRldl9wcml2KSkKKwllbHNlIGlmIChJ U19DSEVSUllWSUVXKGRldl9wcml2KSkgewogCQljaGVycnl2aWV3X3NzZXVfaW5mb19pbml0KGRl dl9wcml2KTsKKwkJb3B0X2NvbmZpZyA9IGNodl9jb25maWc7CisJfQogCWVsc2UgaWYgKElTX0JS T0FEV0VMTChkZXZfcHJpdikpCiAJCWJyb2Fkd2VsbF9zc2V1X2luZm9faW5pdChkZXZfcHJpdik7 Ci0JZWxzZSBpZiAoSU5URUxfR0VOKGRldl9wcml2KSA9PSA5KQorCWVsc2UgaWYgKElOVEVMX0dF TihkZXZfcHJpdikgPT0gOSkgewogCQlnZW45X3NzZXVfaW5mb19pbml0KGRldl9wcml2KTsKKwor CQlpZiAoSVNfS0FCWUxBS0UoZGV2X3ByaXYpKSB7CisJCQlzd2l0Y2ggKGluZm8tPmd0KSB7CisJ CQlkZWZhdWx0OgorCQkJCU1JU1NJTkdfQ0FTRShpbmZvLT5ndCk7CisJCQkJLyogZmFsbCB0aHJv dWdoICovCisJCQljYXNlIDI6CisJCQkJb3B0X2NvbmZpZyA9IGtibF9ndDJfY29uZmlnOworCQkJ YnJlYWs7CisJCQljYXNlIDM6CisJCQkJb3B0X2NvbmZpZyA9IGtibF9ndDNfY29uZmlnOworCQkJ YnJlYWs7CisJCQl9CisJCX0KKwl9CiAJZWxzZSBpZiAoSU5URUxfR0VOKGRldl9wcml2KSA9PSAx MCkKIAkJZ2VuMTBfc3NldV9pbmZvX2luaXQoZGV2X3ByaXYpOwogCWVsc2UgaWYgKElOVEVMX0dF TihkZXZfcHJpdikgPj0gMTEpCiAJCWdlbjExX3NzZXVfaW5mb19pbml0KGRldl9wcml2KTsKIAor CWlmIChvcHRfY29uZmlnKQorCQltZW1jcHkoZGV2X3ByaXYtPm9wdF9jb25maWcsIG9wdF9jb25m aWcsIExPQURfVFlQRV9MQVNUICoKKwkJCXNpemVvZihzdHJ1Y3QgaTkxNV9zc2V1X29wdGltdW1f Y29uZmlnKSk7CisKIAkvKiBJbml0aWFsaXplIGNvbW1hbmQgc3RyZWFtIHRpbWVzdGFtcCBmcmVx dWVuY3kgKi8KIAlpbmZvLT5jc190aW1lc3RhbXBfZnJlcXVlbmN5X2toeiA9IHJlYWRfdGltZXN0 YW1wX2ZyZXF1ZW5jeShkZXZfcHJpdik7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCmluZGV4 IGExN2Y2NzYuLjdmYjljZDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2xyYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCkBAIC00MjcsMTEg KzQyNywxMyBAQCBzdGF0aWMgdTY0IGV4ZWNsaXN0c191cGRhdGVfY29udGV4dChzdHJ1Y3QgaTkx NV9yZXF1ZXN0ICpycSkKIAogCXJlZ19zdGF0ZVtDVFhfUklOR19UQUlMKzFdID0gaW50ZWxfcmlu Z19zZXRfdGFpbChycS0+cmluZywgcnEtPnRhaWwpOwogCS8qIEZJWE1FOiBUbyBhdm9pZCBzdGFs ZSBycGNzIGNvbmZpZywgbW92ZSBpdCB0byBjb250ZXh0X3BpbiAqLwotCWlmIChjdHgtPnBpZCAm JiBjdHgtPm5hbWUgJiYgKHJxLT5lbmdpbmUtPmlkID09IFJDUykpIHsKKwlpZiAoY3R4LT5waWQg JiYgY3R4LT5uYW1lICYmIChycS0+ZW5naW5lLT5pZCA9PSBSQ1MpICYmCisJCQkoY3R4LT5sb2Fk X3R5cGUgIT0gY3R4LT5wZW5kaW5nX2xvYWRfdHlwZSkpIHsKIAkJcnBjc19jb25maWcgPSBtYWtl X3JwY3MoY3R4LT5pOTE1KTsKIAkJcmVnX3N0YXRlW0NUWF9MUklfSEVBREVSXzJdID0gTUlfTE9B RF9SRUdJU1RFUl9JTU0oMSk7CiAJCUNUWF9SRUcocmVnX3N0YXRlLCBDVFhfUl9QV1JfQ0xLX1NU QVRFLCBHRU44X1JfUFdSX0NMS19TVEFURSwKIAkJCQlycGNzX2NvbmZpZyk7CisJCWN0eC0+bG9h ZF90eXBlID0gY3R4LT5wZW5kaW5nX2xvYWRfdHlwZTsKIAl9CiAKIAkvKiBUcnVlIDMyYiBQUEdU VCB3aXRoIGR5bmFtaWMgcGFnZSBhbGxvY2F0aW9uOiB1cGRhdGUgUERQCi0tIAoyLjcuNAoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==