From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: [PATCH v4 2/5] drm/i915/gen11: Program DPCLKA_CFGCR0_ICL according to PHY Date: Wed, 3 Jul 2019 16:37:33 -0700 Message-ID: <20190703233736.5816-3-matthew.d.roper@intel.com> References: <20190703233736.5816-1-matthew.d.roper@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 ESMTPS id 1964A6E21B for ; Wed, 3 Jul 2019 23:37:59 +0000 (UTC) In-Reply-To: <20190703233736.5816-1-matthew.d.roper@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 List-Id: intel-gfx@lists.freedesktop.org QWx0aG91Z2ggdGhlIHJlZ2lzdGVyIG5hbWUgaW1wbGllcyB0aGF0IGl0IG9wZXJhdGVzIG9uIERE SSdzLApEUENMS0FfQ0ZHQ1IwX0lDTCBhY3R1YWxseSBuZWVkcyB0byBiZSBwcm9ncmFtbWVkIGFj Y29yZGluZyB0byB0aGUgUEhZCnRoYXQncyBpbiB1c2UuICBJLmUuLCB3aGVuIHVzaW5nIEVITCdz IERESS1EIG9uIGNvbWJvIFBIWSBBLCB0aGUgYml0cwpkZXNjcmliZWQgYXMgInBvcnQgQSIgaW4g dGhlIGJzcGVjIGFyZSB3aGF0IHdlIG5lZWQgdG8gc2V0LiAgVGhlIGJzcGVjCmNsYXJpZmllczoK CiAgICAgICAgIltGb3IgRUhMXSBERElEIGNsb2NrIHRpZWQgdG8gRERJQSBjbG9jaywgc28gRFBD TEtBX0NGR0NSMCBERElBCiAgICAgICAgQ2xvY2sgU2VsZWN0IGNob29zZXMgdGhlIFBMTCBmb3Ig Ym90aCBERElBIGFuZCBERElEIGFuZCBkcml2ZXMKICAgICAgICBwb3J0IEEgaW4gYWxsIGNhc2Vz LiIKCkFsc28sIHNpbmNlIHRoZSBDTkwgRFBDTEtBX0NGR0NSMCBiaXQgZGVmaW5lcyBhcmUgc3Rp bGwgcG9ydC1iYXNlZCwgd2UKY3JlYXRlIHNlcGFyYXRlIElDTC1zcGVjaWZpYyBkZWZpbmVzIHRo YXQgYWNjZXB0IHRoZSBQSFkgcmF0aGVyIHRoYW4KdHJ5aW5nIHRvIHNoYXJlIHRoZSBzYW1lIGJp dCBkZWZpbml0aW9ucyBiZXR3ZWVuIENOTCBhbmQgSUNMLgoKQnNwZWM6IDMzMTQ4CkNjOiBKb3PD qSBSb2JlcnRvIGRlIFNvdXphIDxqb3NlLnNvdXphQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTog TWF0dCBSb3BlciA8bWF0dGhldy5kLnJvcGVyQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ljbF9kc2kuYyAgIHwgMTcgKysrKysrKy0tLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMgfCAzNiArKysrKysrKysrKysrKysrLS0tLS0t LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAgICAgICAgfCAxMiArKysrKy0t LQogMyBmaWxlcyBjaGFuZ2VkLCA0NCBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ljbF9kc2kuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaWNsX2RzaS5jCmluZGV4IGI4NjczZGViZjkzMi4uZjU3 NGFmNjI4ODhjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ljbF9k c2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ljbF9kc2kuYwpAQCAtNTYw LDExICs1NjAsMTMgQEAgc3RhdGljIHZvaWQgZ2VuMTFfZHNpX2dhdGVfY2xvY2tzKHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyKQogCXN0cnVjdCBpbnRlbF9kc2kgKmludGVsX2RzaSA9IGVu Y190b19pbnRlbF9kc2koJmVuY29kZXItPmJhc2UpOwogCXUzMiB0bXA7CiAJZW51bSBwb3J0IHBv cnQ7CisJZW51bSBwaHkgcGh5OwogCiAJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPmRwbGxfbG9jayk7 CiAJdG1wID0gSTkxNV9SRUFEKERQQ0xLQV9DRkdDUjBfSUNMKTsKIAlmb3JfZWFjaF9kc2lfcG9y dChwb3J0LCBpbnRlbF9kc2ktPnBvcnRzKSB7Ci0JCXRtcCB8PSBEUENMS0FfQ0ZHQ1IwX0RESV9D TEtfT0ZGKHBvcnQpOworCQlwaHkgPSBpbnRlbF9wb3J0X3RvX3BoeShkZXZfcHJpdiwgcG9ydCk7 CisJCXRtcCB8PSBJQ0xfRFBDTEtBX0NGR0NSMF9ERElfQ0xLX09GRihwaHkpOwogCX0KIAogCUk5 MTVfV1JJVEUoRFBDTEtBX0NGR0NSMF9JQ0wsIHRtcCk7CkBAIC01NzcsMTEgKzU3OSwxMyBAQCBz dGF0aWMgdm9pZCBnZW4xMV9kc2lfdW5nYXRlX2Nsb2NrcyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAq ZW5jb2RlcikKIAlzdHJ1Y3QgaW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNp KCZlbmNvZGVyLT5iYXNlKTsKIAl1MzIgdG1wOwogCWVudW0gcG9ydCBwb3J0OworCWVudW0gcGh5 IHBoeTsKIAogCW11dGV4X2xvY2soJmRldl9wcml2LT5kcGxsX2xvY2spOwogCXRtcCA9IEk5MTVf UkVBRChEUENMS0FfQ0ZHQ1IwX0lDTCk7CiAJZm9yX2VhY2hfZHNpX3BvcnQocG9ydCwgaW50ZWxf ZHNpLT5wb3J0cykgewotCQl0bXAgJj0gfkRQQ0xLQV9DRkdDUjBfRERJX0NMS19PRkYocG9ydCk7 CisJCXBoeSA9IGludGVsX3BvcnRfdG9fcGh5KGRldl9wcml2LCBwb3J0KTsKKwkJdG1wICY9IH5J Q0xfRFBDTEtBX0NGR0NSMF9ERElfQ0xLX09GRihwaHkpOwogCX0KIAogCUk5MTVfV1JJVEUoRFBD TEtBX0NGR0NSMF9JQ0wsIHRtcCk7CkBAIC01OTUsMTkgKzU5OSwyMiBAQCBzdGF0aWMgdm9pZCBn ZW4xMV9kc2lfbWFwX3BsbChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAlzdHJ1Y3Qg aW50ZWxfZHNpICppbnRlbF9kc2kgPSBlbmNfdG9faW50ZWxfZHNpKCZlbmNvZGVyLT5iYXNlKTsK IAlzdHJ1Y3QgaW50ZWxfc2hhcmVkX2RwbGwgKnBsbCA9IGNydGNfc3RhdGUtPnNoYXJlZF9kcGxs OwogCWVudW0gcG9ydCBwb3J0OworCWVudW0gcGh5IHBoeTsKIAl1MzIgdmFsOwogCiAJbXV0ZXhf bG9jaygmZGV2X3ByaXYtPmRwbGxfbG9jayk7CiAKIAl2YWwgPSBJOTE1X1JFQUQoRFBDTEtBX0NG R0NSMF9JQ0wpOwogCWZvcl9lYWNoX2RzaV9wb3J0KHBvcnQsIGludGVsX2RzaS0+cG9ydHMpIHsK LQkJdmFsICY9IH5EUENMS0FfQ0ZHQ1IwX0RESV9DTEtfU0VMX01BU0socG9ydCk7Ci0JCXZhbCB8 PSBEUENMS0FfQ0ZHQ1IwX0RESV9DTEtfU0VMKHBsbC0+aW5mby0+aWQsIHBvcnQpOworCQlwaHkg PSBpbnRlbF9wb3J0X3RvX3BoeShkZXZfcHJpdiwgcG9ydCk7CisJCXZhbCAmPSB+SUNMX0RQQ0xL QV9DRkdDUjBfRERJX0NMS19TRUxfTUFTSyhwaHkpOworCQl2YWwgfD0gSUNMX0RQQ0xLQV9DRkdD UjBfRERJX0NMS19TRUwocGxsLT5pbmZvLT5pZCwgcGh5KTsKIAl9CiAJSTkxNV9XUklURShEUENM S0FfQ0ZHQ1IwX0lDTCwgdmFsKTsKIAogCWZvcl9lYWNoX2RzaV9wb3J0KHBvcnQsIGludGVsX2Rz aS0+cG9ydHMpIHsKLQkJdmFsICY9IH5EUENMS0FfQ0ZHQ1IwX0RESV9DTEtfT0ZGKHBvcnQpOwor CQlwaHkgPSBpbnRlbF9wb3J0X3RvX3BoeShkZXZfcHJpdiwgcG9ydCk7CisJCXZhbCAmPSB+SUNM X0RQQ0xLQV9DRkdDUjBfRERJX0NMS19PRkYocGh5KTsKIAl9CiAJSTkxNV9XUklURShEUENMS0Ff Q0ZHQ1IwX0lDTCwgdmFsKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRp LmMKaW5kZXggYTQxNzI1OTVjOGQ4Li5hNDBhNTM1MjdkOTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZGlzcGxheS9pbnRlbF9kZGkuYwpAQCAtMjc0NywyMiArMjc0NywzMiBAQCBzdGF0aWMgdm9p ZCBpY2xfbWFwX3BsbHNfdG9fcG9ydHMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiB7 CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5i YXNlLmRldik7CiAJc3RydWN0IGludGVsX3NoYXJlZF9kcGxsICpwbGwgPSBjcnRjX3N0YXRlLT5z aGFyZWRfZHBsbDsKLQllbnVtIHBvcnQgcG9ydCA9IGVuY29kZXItPnBvcnQ7CisJZW51bSBwaHkg cGh5ID0gaW50ZWxfcG9ydF90b19waHkoZGV2X3ByaXYsIGVuY29kZXItPnBvcnQpOwogCXUzMiB2 YWw7CiAKIAltdXRleF9sb2NrKCZkZXZfcHJpdi0+ZHBsbF9sb2NrKTsKIAogCXZhbCA9IEk5MTVf UkVBRChEUENMS0FfQ0ZHQ1IwX0lDTCk7Ci0JV0FSTl9PTigodmFsICYgaWNsX2RwY2xrYV9jZmdj cjBfY2xrX29mZihkZXZfcHJpdiwgcG9ydCkpID09IDApOworCVdBUk5fT04oKHZhbCAmIGljbF9k cGNsa2FfY2ZnY3IwX2Nsa19vZmYoZGV2X3ByaXYsIHBoeSkpID09IDApOwogCi0JaWYgKGludGVs X3BvcnRfaXNfY29tYm9waHkoZGV2X3ByaXYsIHBvcnQpKSB7Ci0JCXZhbCAmPSB+RFBDTEtBX0NG R0NSMF9ERElfQ0xLX1NFTF9NQVNLKHBvcnQpOwotCQl2YWwgfD0gRFBDTEtBX0NGR0NSMF9ERElf Q0xLX1NFTChwbGwtPmluZm8tPmlkLCBwb3J0KTsKKwlpZiAoaW50ZWxfcGh5X2lzX2NvbWJvKGRl dl9wcml2LCBwaHkpKSB7CisJCS8qCisJCSAqIEV2ZW4gdGhvdWdoIHRoaXMgcmVnaXN0ZXIgcmVm ZXJlbmNlcyBERElzLCBub3RlIHRoYXQgd2UKKwkJICogd2FudCB0byBwYXNzIHRoZSBQSFkgcmF0 aGVyIHRoYW4gdGhlIHBvcnQgKERESSkuICBGb3IKKwkJICogSUNMLCBwb3J0PXBoeSBpbiBhbGwg Y2FzZXMgc28gaXQgZG9lc24ndCBtYXR0ZXIsIGJ1dCBmb3IKKwkJICogRUhMIHRoZSBic3BlYyBu b3RlcyB0aGUgZm9sbG93aW5nOgorCQkgKgorCQkgKiAgICJERElEIGNsb2NrIHRpZWQgdG8gRERJ QSBjbG9jaywgc28gRFBDTEtBX0NGR0NSMCBERElBCisJCSAqICAgQ2xvY2sgU2VsZWN0IGNob29z ZXMgdGhlIFBMTCBmb3IgYm90aCBERElBIGFuZCBERElEIGFuZAorCQkgKiAgIGRyaXZlcyBwb3J0 IEEgaW4gYWxsIGNhc2VzLiIKKwkJICovCisJCXZhbCAmPSB+SUNMX0RQQ0xLQV9DRkdDUjBfRERJ X0NMS19TRUxfTUFTSyhwaHkpOworCQl2YWwgfD0gSUNMX0RQQ0xLQV9DRkdDUjBfRERJX0NMS19T RUwocGxsLT5pbmZvLT5pZCwgcGh5KTsKIAkJSTkxNV9XUklURShEUENMS0FfQ0ZHQ1IwX0lDTCwg dmFsKTsKIAkJUE9TVElOR19SRUFEKERQQ0xLQV9DRkdDUjBfSUNMKTsKIAl9CiAKLQl2YWwgJj0g fmljbF9kcGNsa2FfY2ZnY3IwX2Nsa19vZmYoZGV2X3ByaXYsIHBvcnQpOworCXZhbCAmPSB+aWNs X2RwY2xrYV9jZmdjcjBfY2xrX29mZihkZXZfcHJpdiwgcGh5KTsKIAlJOTE1X1dSSVRFKERQQ0xL QV9DRkdDUjBfSUNMLCB2YWwpOwogCiAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+ZHBsbF9sb2Nr KTsKQEAgLTI3NzEsMTMgKzI3ODEsMTMgQEAgc3RhdGljIHZvaWQgaWNsX21hcF9wbGxzX3RvX3Bv cnRzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogc3RhdGljIHZvaWQgaWNsX3VubWFw X3BsbHNfdG9fcG9ydHMoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiB7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7 Ci0JZW51bSBwb3J0IHBvcnQgPSBlbmNvZGVyLT5wb3J0OworCWVudW0gcGh5IHBoeSA9IGludGVs X3BvcnRfdG9fcGh5KGRldl9wcml2LCBlbmNvZGVyLT5wb3J0KTsKIAl1MzIgdmFsOwogCiAJbXV0 ZXhfbG9jaygmZGV2X3ByaXYtPmRwbGxfbG9jayk7CiAKIAl2YWwgPSBJOTE1X1JFQUQoRFBDTEtB X0NGR0NSMF9JQ0wpOwotCXZhbCB8PSBpY2xfZHBjbGthX2NmZ2NyMF9jbGtfb2ZmKGRldl9wcml2 LCBwb3J0KTsKKwl2YWwgfD0gaWNsX2RwY2xrYV9jZmdjcjBfY2xrX29mZihkZXZfcHJpdiwgcGh5 KTsKIAlJOTE1X1dSSVRFKERQQ0xLQV9DRkdDUjBfSUNMLCB2YWwpOwogCiAJbXV0ZXhfdW5sb2Nr KCZkZXZfcHJpdi0+ZHBsbF9sb2NrKTsKQEAgLTI4MzgsOSArMjg0OCwxMSBAQCB2b2lkIGljbF9z YW5pdGl6ZV9lbmNvZGVyX3BsbF9tYXBwaW5nKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy KQogCiAJdmFsID0gSTkxNV9SRUFEKERQQ0xLQV9DRkdDUjBfSUNMKTsKIAlmb3JfZWFjaF9wb3J0 X21hc2tlZChwb3J0LCBwb3J0X21hc2spIHsKKwkJZW51bSBwaHkgcGh5ID0gaW50ZWxfcG9ydF90 b19waHkoZGV2X3ByaXYsIHBvcnQpOworCiAJCWJvb2wgZGRpX2Nsa191bmdhdGVkID0gISh2YWwg JgogCQkJCQkgaWNsX2RwY2xrYV9jZmdjcjBfY2xrX29mZihkZXZfcHJpdiwKLQkJCQkJCQkJICAg cG9ydCkpOworCQkJCQkJCQkgICBwaHkpKTsKIAogCQlpZiAoZGRpX2Nsa19uZWVkZWQgPT0gZGRp X2Nsa191bmdhdGVkKQogCQkJY29udGludWU7CkBAIC0yODUyLDkgKzI4NjQsOSBAQCB2b2lkIGlj bF9zYW5pdGl6ZV9lbmNvZGVyX3BsbF9tYXBwaW5nKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNv ZGVyKQogCQlpZiAoV0FSTl9PTihkZGlfY2xrX25lZWRlZCkpCiAJCQljb250aW51ZTsKIAotCQlE Uk1fTk9URSgiUG9ydCAlYyBpcyBkaXNhYmxlZC9pbiBEU0kgbW9kZSB3aXRoIGFuIHVuZ2F0ZWQg RERJIGNsb2NrLCBnYXRlIGl0XG4iLAotCQkJIHBvcnRfbmFtZShwb3J0KSk7Ci0JCXZhbCB8PSBp Y2xfZHBjbGthX2NmZ2NyMF9jbGtfb2ZmKGRldl9wcml2LCBwb3J0KTsKKwkJRFJNX05PVEUoIlBI WSAlYyBpcyBkaXNhYmxlZC9pbiBEU0kgbW9kZSB3aXRoIGFuIHVuZ2F0ZWQgRERJIGNsb2NrLCBn YXRlIGl0XG4iLAorCQkJIHBoeV9uYW1lKHBvcnQpKTsKKwkJdmFsIHw9IGljbF9kcGNsa2FfY2Zn Y3IwX2Nsa19vZmYoZGV2X3ByaXYsIHBoeSk7CiAJCUk5MTVfV1JJVEUoRFBDTEtBX0NGR0NSMF9J Q0wsIHZhbCk7CiAJfQogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKaW5kZXggYzgxNGNjMWIzYWU1 Li5jOWUyZTA5YjZmMDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVn LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaApAQCAtOTY4MCwxNyArOTY4 MCwyMSBAQCBlbnVtIHNrbF9wb3dlcl9nYXRlIHsKICAqIENOTCBDbG9ja3MKICAqLwogI2RlZmlu ZSBEUENMS0FfQ0ZHQ1IwCQkJCV9NTUlPKDB4NkMyMDApCi0jZGVmaW5lIERQQ0xLQV9DRkdDUjBf SUNMCQkJX01NSU8oMHgxNjQyODApCiAjZGVmaW5lICBEUENMS0FfQ0ZHQ1IwX0RESV9DTEtfT0ZG KHBvcnQpCSgxIDw8ICgocG9ydCkgPT0gIFBPUlRfRiA/IDIzIDogXAogCQkJCQkJICAgICAgKHBv cnQpICsgMTApKQotI2RlZmluZSAgSUNMX0RQQ0xLQV9DRkdDUjBfRERJX0NMS19PRkYocG9ydCkg ICAoMSA8PCAoKHBvcnQpICsgMTApKQotI2RlZmluZSAgSUNMX0RQQ0xLQV9DRkdDUjBfVENfQ0xL X09GRih0Y19wb3J0KSAoMSA8PCAoKHRjX3BvcnQpID09IFBPUlRfVEM0ID8gXAotCQkJCQkJICAg ICAgMjEgOiAodGNfcG9ydCkgKyAxMikpCiAjZGVmaW5lICBEUENMS0FfQ0ZHQ1IwX0RESV9DTEtf U0VMX1NISUZUKHBvcnQpCSgocG9ydCkgPT0gUE9SVF9GID8gMjEgOiBcCiAJCQkJCQkocG9ydCkg KiAyKQogI2RlZmluZSAgRFBDTEtBX0NGR0NSMF9ERElfQ0xLX1NFTF9NQVNLKHBvcnQpCSgzIDw8 IERQQ0xLQV9DRkdDUjBfRERJX0NMS19TRUxfU0hJRlQocG9ydCkpCiAjZGVmaW5lICBEUENMS0Ff Q0ZHQ1IwX0RESV9DTEtfU0VMKHBsbCwgcG9ydCkJKChwbGwpIDw8IERQQ0xLQV9DRkdDUjBfRERJ X0NMS19TRUxfU0hJRlQocG9ydCkpCiAKKyNkZWZpbmUgRFBDTEtBX0NGR0NSMF9JQ0wJCQlfTU1J TygweDE2NDI4MCkKKyNkZWZpbmUgIElDTF9EUENMS0FfQ0ZHQ1IwX0RESV9DTEtfT0ZGKHBoeSkJ KDEgPDwgX1BJQ0socGh5LCAxMCwgMTEsIDI0KSkKKyNkZWZpbmUgIElDTF9EUENMS0FfQ0ZHQ1Iw X1RDX0NMS19PRkYodGNfcG9ydCkgKDEgPDwgKCh0Y19wb3J0KSA9PSBQT1JUX1RDNCA/IFwKKwkJ CQkJCSAgICAgIDIxIDogKHRjX3BvcnQpICsgMTIpKQorI2RlZmluZSAgSUNMX0RQQ0xLQV9DRkdD UjBfRERJX0NMS19TRUxfU0hJRlQocGh5KQkoKHBoeSkgKiAyKQorI2RlZmluZSAgSUNMX0RQQ0xL QV9DRkdDUjBfRERJX0NMS19TRUxfTUFTSyhwaHkpCSgzIDw8IElDTF9EUENMS0FfQ0ZHQ1IwX0RE SV9DTEtfU0VMX1NISUZUKHBoeSkpCisjZGVmaW5lICBJQ0xfRFBDTEtBX0NGR0NSMF9ERElfQ0xL X1NFTChwbGwsIHBoeSkJKChwbGwpIDw8IElDTF9EUENMS0FfQ0ZHQ1IwX0RESV9DTEtfU0VMX1NI SUZUKHBoeSkpCisKIC8qIENOTCBQTEwgKi8KICNkZWZpbmUgRFBMTDBfRU5BQkxFCQkweDQ2MDEw CiAjZGVmaW5lIERQTEwxX0VOQUJMRQkJMHg0NjAxNAotLSAKMi4xNy4yCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=