From mboxrd@z Thu Jan 1 00:00:00 1970 From: Evan Quan Subject: [PATCH 3/3] drm/amd/powerplay: support ppfeatures sysfs interface on sw smu routine Date: Mon, 13 May 2019 15:53:02 +0800 Message-ID: <20190513075302.10731-3-evan.quan@amd.com> References: <20190513075302.10731-1-evan.quan@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190513075302.10731-1-evan.quan-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Evan Quan U3VwcG9ydCBwcGZlYXR1cmVzIHN5c2ZzIGludGVyZmFjZSBvbiBWZWdhMjAgc3cgc211IHJvdXRp bmUuCgpDaGFuZ2UtSWQ6IElmNjdmMmQ4N2U3ZDVhYTA5Y2ZkNjFlODZkYWFhYWY4OGQ1ZjJmNGRk ClNpZ25lZC1vZmYtYnk6IEV2YW4gUXVhbiA8ZXZhbi5xdWFuQGFtZC5jb20+Ci0tLQogZHJpdmVy cy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3BtLmMgICAgICAgIHwgIDEwICstCiAuLi4vZ3B1 L2RybS9hbWQvcG93ZXJwbGF5L2luYy9hbWRncHVfc211LmggICAgfCAgIDcgKy0KIGRyaXZlcnMv Z3B1L2RybS9hbWQvcG93ZXJwbGF5L3ZlZ2EyMF9wcHQuYyAgICB8IDE1MyArKysrKysrKysrKysr KysrKysKIGRyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3ZlZ2EyMF9wcHQuaCAgICB8ICA0 NCArKysrKwogNCBmaWxlcyBjaGFuZ2VkLCAyMTEgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcG0uYyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wbS5jCmluZGV4IGJkNDBkNWQ3MjUw OC4uYWRiYTllYTAzZTYzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfcG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcG0uYwpA QCAtNzY3LDcgKzc2NywxMSBAQCBzdGF0aWMgc3NpemVfdCBhbWRncHVfc2V0X3BwZmVhdHVyZV9z dGF0dXMoc3RydWN0IGRldmljZSAqZGV2LAogCiAJcHJfZGVidWcoImZlYXR1cmVtYXNrID0gMHgl bGx4XG4iLCBmZWF0dXJlbWFzayk7CiAKLQlpZiAoYWRldi0+cG93ZXJwbGF5LnBwX2Z1bmNzLT5z ZXRfcHBmZWF0dXJlX3N0YXR1cykgeworCWlmIChpc19zdXBwb3J0X3N3X3NtdShhZGV2KSkgewor CQlyZXQgPSBzbXVfc2V0X3BwZmVhdHVyZV9zdGF0dXMoJmFkZXYtPnNtdSwgZmVhdHVyZW1hc2sp OworCQlpZiAocmV0KQorCQkJcmV0dXJuIC1FSU5WQUw7CisJfSBlbHNlIGlmIChhZGV2LT5wb3dl cnBsYXkucHBfZnVuY3MtPnNldF9wcGZlYXR1cmVfc3RhdHVzKSB7CiAJCXJldCA9IGFtZGdwdV9k cG1fc2V0X3BwZmVhdHVyZV9zdGF0dXMoYWRldiwgZmVhdHVyZW1hc2spOwogCQlpZiAocmV0KQog CQkJcmV0dXJuIC1FSU5WQUw7CkBAIC03ODMsNyArNzg3LDkgQEAgc3RhdGljIHNzaXplX3QgYW1k Z3B1X2dldF9wcGZlYXR1cmVfc3RhdHVzKHN0cnVjdCBkZXZpY2UgKmRldiwKIAlzdHJ1Y3QgZHJt X2RldmljZSAqZGRldiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOwogCXN0cnVjdCBhbWRncHVfZGV2 aWNlICphZGV2ID0gZGRldi0+ZGV2X3ByaXZhdGU7CiAKLQlpZiAoYWRldi0+cG93ZXJwbGF5LnBw X2Z1bmNzLT5nZXRfcHBmZWF0dXJlX3N0YXR1cykKKwlpZiAoaXNfc3VwcG9ydF9zd19zbXUoYWRl dikpIHsKKwkJcmV0dXJuIHNtdV9nZXRfcHBmZWF0dXJlX3N0YXR1cygmYWRldi0+c211LCBidWYp OworCX0gZWxzZSBpZiAoYWRldi0+cG93ZXJwbGF5LnBwX2Z1bmNzLT5nZXRfcHBmZWF0dXJlX3N0 YXR1cykKIAkJcmV0dXJuIGFtZGdwdV9kcG1fZ2V0X3BwZmVhdHVyZV9zdGF0dXMoYWRldiwgYnVm KTsKIAogCXJldHVybiBzbnByaW50ZihidWYsIFBBR0VfU0laRSwgIlxuIik7CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9pbmMvYW1kZ3B1X3NtdS5oIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2FtZGdwdV9zbXUuaAppbmRleCA4OTA1MjQxNGU5 ZjEuLjNhOWMyNTM3NTlkYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBs YXkvaW5jL2FtZGdwdV9zbXUuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9p bmMvYW1kZ3B1X3NtdS5oCkBAIC00NTgsNiArNDU4LDggQEAgc3RydWN0IHBwdGFibGVfZnVuY3Mg ewogCQkJCSAgICAgIHVpbnQzMl90ICptY2xrX21hc2ssCiAJCQkJICAgICAgdWludDMyX3QgKnNv Y19tYXNrKTsKIAlpbnQgKCpzZXRfY3B1X3Bvd2VyX3N0YXRlKShzdHJ1Y3Qgc211X2NvbnRleHQg KnNtdSk7CisJaW50ICgqc2V0X3BwZmVhdHVyZV9zdGF0dXMpKHN0cnVjdCBzbXVfY29udGV4dCAq c211LCB1aW50NjRfdCBwcGZlYXR1cmVzKTsKKwlpbnQgKCpnZXRfcHBmZWF0dXJlX3N0YXR1cyko c3RydWN0IHNtdV9jb250ZXh0ICpzbXUsIGNoYXIgKmJ1Zik7CiB9OwogCiBzdHJ1Y3Qgc211X2Z1 bmNzCkBAIC03MjcsNyArNzI5LDEwIEBAIHN0cnVjdCBzbXVfZnVuY3MKIAkoKHNtdSktPmZ1bmNz LT5nZXRfbWNsayA/IChzbXUpLT5mdW5jcy0+Z2V0X21jbGsoKHNtdSksIChsb3cpKSA6IDApCiAj ZGVmaW5lIHNtdV9zZXRfeGdtaV9wc3RhdGUoc211LCBwc3RhdGUpIFwKIAkJKChzbXUpLT5mdW5j cy0+c2V0X3hnbWlfcHN0YXRlID8gKHNtdSktPmZ1bmNzLT5zZXRfeGdtaV9wc3RhdGUoKHNtdSks IChwc3RhdGUpKSA6IDApCi0KKyNkZWZpbmUgc211X3NldF9wcGZlYXR1cmVfc3RhdHVzKHNtdSwg cHBmZWF0dXJlcykgXAorCSgoc211KS0+cHB0X2Z1bmNzLT5zZXRfcHBmZWF0dXJlX3N0YXR1cyA/ IChzbXUpLT5wcHRfZnVuY3MtPnNldF9wcGZlYXR1cmVfc3RhdHVzKChzbXUpLCAocHBmZWF0dXJl cykpIDogLUVJTlZBTCkKKyNkZWZpbmUgc211X2dldF9wcGZlYXR1cmVfc3RhdHVzKHNtdSwgYnVm KSBcCisJKChzbXUpLT5wcHRfZnVuY3MtPmdldF9wcGZlYXR1cmVfc3RhdHVzID8gKHNtdSktPnBw dF9mdW5jcy0+Z2V0X3BwZmVhdHVyZV9zdGF0dXMoKHNtdSksIChidWYpKSA6IC1FSU5WQUwpCiAK IGV4dGVybiBpbnQgc211X2dldF9hdG9tX2RhdGFfdGFibGUoc3RydWN0IHNtdV9jb250ZXh0ICpz bXUsIHVpbnQzMl90IHRhYmxlLAogCQkJCSAgIHVpbnQxNl90ICpzaXplLCB1aW50OF90ICpmcmV2 LCB1aW50OF90ICpjcmV2LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBs YXkvdmVnYTIwX3BwdC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvdmVnYTIwX3Bw dC5jCmluZGV4IDhmYWZjYmRiMWRmZC4uYjM5ZjNkNDM5MzMyIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vYW1kL3Bvd2VycGxheS92ZWdhMjBfcHB0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9wb3dlcnBsYXkvdmVnYTIwX3BwdC5jCkBAIC0yMzc0LDYgKzIzNzQsMTU3IEBAIHN0YXRp YyBpbnQgdmVnYTIwX29kbl9lZGl0X2RwbV90YWJsZShzdHJ1Y3Qgc211X2NvbnRleHQgKnNtdSwK IAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMgaW50IHZlZ2EyMF9nZXRfZW5hYmxlZF9zbWNfZmVh dHVyZXMoc3RydWN0IHNtdV9jb250ZXh0ICpzbXUsCisJCXVpbnQ2NF90ICpmZWF0dXJlc19lbmFi bGVkKQoreworCXVpbnQzMl90IGZlYXR1cmVfbWFza1syXTsKKwlpbnQgcmV0ID0gMDsKKworCXJl dCA9IHNtdV9mZWF0dXJlX2dldF9lbmFibGVkX21hc2soc211LCBmZWF0dXJlX21hc2ssIDIpOwor CWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKKwkqZmVhdHVyZXNfZW5hYmxlZCA9ICgoKCh1aW50 NjRfdClmZWF0dXJlX21hc2tbMF0gPDwgU01VX0ZFQVRVUkVTX0xPV19TSElGVCkgJiBTTVVfRkVB VFVSRVNfTE9XX01BU0spIHwKKwkJCSgoKHVpbnQ2NF90KWZlYXR1cmVfbWFza1sxXSA8PCBTTVVf RkVBVFVSRVNfSElHSF9TSElGVCkgJiBTTVVfRkVBVFVSRVNfSElHSF9NQVNLKSk7CisKKwlyZXR1 cm4gcmV0OworfQorCitzdGF0aWMgaW50IHZlZ2EyMF9lbmFibGVfc21jX2ZlYXR1cmVzKHN0cnVj dCBzbXVfY29udGV4dCAqc211LAorCQlib29sIGVuYWJsZSwgdWludDY0X3QgZmVhdHVyZV9tYXNr KQoreworCXVpbnQzMl90IHNtdV9mZWF0dXJlc19sb3csIHNtdV9mZWF0dXJlc19oaWdoOworCWlu dCByZXQgPSAwOworCisJc211X2ZlYXR1cmVzX2xvdyA9ICh1aW50MzJfdCkoKGZlYXR1cmVfbWFz ayAmIFNNVV9GRUFUVVJFU19MT1dfTUFTSykgPj4gU01VX0ZFQVRVUkVTX0xPV19TSElGVCk7CisJ c211X2ZlYXR1cmVzX2hpZ2ggPSAodWludDMyX3QpKChmZWF0dXJlX21hc2sgJiBTTVVfRkVBVFVS RVNfSElHSF9NQVNLKSA+PiBTTVVfRkVBVFVSRVNfSElHSF9TSElGVCk7CisKKwlpZiAoZW5hYmxl KSB7CisJCXJldCA9IHNtdV9zZW5kX3NtY19tc2dfd2l0aF9wYXJhbShzbXUsIFNNVV9NU0dfRW5h YmxlU211RmVhdHVyZXNMb3csCisJCQkJCQkgIHNtdV9mZWF0dXJlc19sb3cpOworCQlpZiAocmV0 KQorCQkJcmV0dXJuIHJldDsKKwkJcmV0ID0gc211X3NlbmRfc21jX21zZ193aXRoX3BhcmFtKHNt dSwgU01VX01TR19FbmFibGVTbXVGZWF0dXJlc0hpZ2gsCisJCQkJCQkgIHNtdV9mZWF0dXJlc19o aWdoKTsKKwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7CisJfSBlbHNlIHsKKwkJcmV0ID0gc211 X3NlbmRfc21jX21zZ193aXRoX3BhcmFtKHNtdSwgU01VX01TR19EaXNhYmxlU211RmVhdHVyZXNM b3csCisJCQkJCQkgIHNtdV9mZWF0dXJlc19sb3cpOworCQlpZiAocmV0KQorCQkJcmV0dXJuIHJl dDsKKwkJcmV0ID0gc211X3NlbmRfc21jX21zZ193aXRoX3BhcmFtKHNtdSwgU01VX01TR19EaXNh YmxlU211RmVhdHVyZXNIaWdoLAorCQkJCQkJICBzbXVfZmVhdHVyZXNfaGlnaCk7CisJCWlmIChy ZXQpCisJCQlyZXR1cm4gcmV0OworCX0KKworCXJldHVybiAwOworCit9CisKK3N0YXRpYyBpbnQg dmVnYTIwX2dldF9wcGZlYXR1cmVfc3RhdHVzKHN0cnVjdCBzbXVfY29udGV4dCAqc211LCBjaGFy ICpidWYpCit7CisJc3RhdGljIGNvbnN0IGNoYXIgKnBwZmVhdHVyZV9uYW1lW10gPSB7CisJCQkJ IkRQTV9QUkVGRVRDSEVSIiwKKwkJCQkiR0ZYQ0xLX0RQTSIsCisJCQkJIlVDTEtfRFBNIiwKKwkJ CQkiU09DQ0xLX0RQTSIsCisJCQkJIlVWRF9EUE0iLAorCQkJCSJWQ0VfRFBNIiwKKwkJCQkiVUxW IiwKKwkJCQkiTVAwQ0xLX0RQTSIsCisJCQkJIkxJTktfRFBNIiwKKwkJCQkiRENFRkNMS19EUE0i LAorCQkJCSJHRlhDTEtfRFMiLAorCQkJCSJTT0NDTEtfRFMiLAorCQkJCSJMQ0xLX0RTIiwKKwkJ CQkiUFBUIiwKKwkJCQkiVERDIiwKKwkJCQkiVEhFUk1BTCIsCisJCQkJIkdGWF9QRVJfQ1VfQ0ci LAorCQkJCSJSTSIsCisJCQkJIkRDRUZDTEtfRFMiLAorCQkJCSJBQ0RDIiwKKwkJCQkiVlIwSE9U IiwKKwkJCQkiVlIxSE9UIiwKKwkJCQkiRldfQ1RGIiwKKwkJCQkiTEVEX0RJU1BMQVkiLAorCQkJ CSJGQU5fQ09OVFJPTCIsCisJCQkJIkdGWF9FREMiLAorCQkJCSJHRlhPRkYiLAorCQkJCSJDRyIs CisJCQkJIkZDTEtfRFBNIiwKKwkJCQkiRkNMS19EUyIsCisJCQkJIk1QMUNMS19EUyIsCisJCQkJ Ik1QMENMS19EUyIsCisJCQkJIlhHTUkiLAorCQkJCSJFQ0MifTsKKwlzdGF0aWMgY29uc3QgY2hh ciAqb3V0cHV0X3RpdGxlW10gPSB7CisJCQkJIkZFQVRVUkVTIiwKKwkJCQkiQklUTUFTSyIsCisJ CQkJIkVOQUJMRU1FTlQifTsKKwl1aW50NjRfdCBmZWF0dXJlc19lbmFibGVkOworCWludCBpOwor CWludCByZXQgPSAwOworCWludCBzaXplID0gMDsKKworCXJldCA9IHZlZ2EyMF9nZXRfZW5hYmxl ZF9zbWNfZmVhdHVyZXMoc211LCAmZmVhdHVyZXNfZW5hYmxlZCk7CisJaWYgKHJldCkKKwkJcmV0 dXJuIHJldDsKKworCXNpemUgKz0gc3ByaW50ZihidWYgKyBzaXplLCAiQ3VycmVudCBwcGZlYXR1 cmVzOiAweCUwMTZsbHhcbiIsIGZlYXR1cmVzX2VuYWJsZWQpOworCXNpemUgKz0gc3ByaW50Zihi dWYgKyBzaXplLCAiJS0xOXMgJS0yMnMgJXNcbiIsCisJCQkJb3V0cHV0X3RpdGxlWzBdLAorCQkJ CW91dHB1dF90aXRsZVsxXSwKKwkJCQlvdXRwdXRfdGl0bGVbMl0pOworCWZvciAoaSA9IDA7IGkg PCBHTkxEX0ZFQVRVUkVTX01BWDsgaSsrKSB7CisJCXNpemUgKz0gc3ByaW50ZihidWYgKyBzaXpl LCAiJS0xOXMgMHglMDE2bGx4ICU2c1xuIiwKKwkJCQkJcHBmZWF0dXJlX25hbWVbaV0sCisJCQkJ CTFVTEwgPDwgaSwKKwkJCQkJKGZlYXR1cmVzX2VuYWJsZWQgJiAoMVVMTCA8PCBpKSkgPyAiWSIg OiAiTiIpOworCX0KKworCXJldHVybiBzaXplOworfQorCitzdGF0aWMgaW50IHZlZ2EyMF9zZXRf cHBmZWF0dXJlX3N0YXR1cyhzdHJ1Y3Qgc211X2NvbnRleHQgKnNtdSwgdWludDY0X3QgbmV3X3Bw ZmVhdHVyZV9tYXNrcykKK3sKKwl1aW50NjRfdCBmZWF0dXJlc19lbmFibGVkOworCXVpbnQ2NF90 IGZlYXR1cmVzX3RvX2VuYWJsZTsKKwl1aW50NjRfdCBmZWF0dXJlc190b19kaXNhYmxlOworCWlu dCByZXQgPSAwOworCisJaWYgKG5ld19wcGZlYXR1cmVfbWFza3MgPj0gKDFVTEwgPDwgR05MRF9G RUFUVVJFU19NQVgpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXJldCA9IHZlZ2EyMF9nZXRfZW5h YmxlZF9zbWNfZmVhdHVyZXMoc211LCAmZmVhdHVyZXNfZW5hYmxlZCk7CisJaWYgKHJldCkKKwkJ cmV0dXJuIHJldDsKKworCWZlYXR1cmVzX3RvX2Rpc2FibGUgPQorCQlmZWF0dXJlc19lbmFibGVk ICYgfm5ld19wcGZlYXR1cmVfbWFza3M7CisJZmVhdHVyZXNfdG9fZW5hYmxlID0KKwkJfmZlYXR1 cmVzX2VuYWJsZWQgJiBuZXdfcHBmZWF0dXJlX21hc2tzOworCisJcHJfZGVidWcoImZlYXR1cmVz X3RvX2Rpc2FibGUgMHglbGx4XG4iLCBmZWF0dXJlc190b19kaXNhYmxlKTsKKwlwcl9kZWJ1Zygi ZmVhdHVyZXNfdG9fZW5hYmxlIDB4JWxseFxuIiwgZmVhdHVyZXNfdG9fZW5hYmxlKTsKKworCWlm IChmZWF0dXJlc190b19kaXNhYmxlKSB7CisJCXJldCA9IHZlZ2EyMF9lbmFibGVfc21jX2ZlYXR1 cmVzKHNtdSwgZmFsc2UsIGZlYXR1cmVzX3RvX2Rpc2FibGUpOworCQlpZiAocmV0KQorCQkJcmV0 dXJuIHJldDsKKwl9CisKKwlpZiAoZmVhdHVyZXNfdG9fZW5hYmxlKSB7CisJCXJldCA9IHZlZ2Ey MF9lbmFibGVfc21jX2ZlYXR1cmVzKHNtdSwgdHJ1ZSwgZmVhdHVyZXNfdG9fZW5hYmxlKTsKKwkJ aWYgKHJldCkKKwkJCXJldHVybiByZXQ7CisJfQorCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBj b25zdCBzdHJ1Y3QgcHB0YWJsZV9mdW5jcyB2ZWdhMjBfcHB0X2Z1bmNzID0gewogCS5hbGxvY19k cG1fY29udGV4dCA9IHZlZ2EyMF9hbGxvY2F0ZV9kcG1fY29udGV4dCwKIAkuc3RvcmVfcG93ZXJw bGF5X3RhYmxlID0gdmVnYTIwX3N0b3JlX3Bvd2VycGxheV90YWJsZSwKQEAgLTI0MDQsNiArMjU1 NSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcHB0YWJsZV9mdW5jcyB2ZWdhMjBfcHB0X2Z1bmNz ID0gewogCS51bmZvcmNlX2RwbV9sZXZlbHMgPSB2ZWdhMjBfdW5mb3JjZV9kcG1fbGV2ZWxzLAog CS51cGxvYWRfZHBtX2xldmVsID0gdmVnYTIwX3VwbG9hZF9kcG1fbGV2ZWwsCiAJLmdldF9wcm9m aWxpbmdfY2xrX21hc2sgPSB2ZWdhMjBfZ2V0X3Byb2ZpbGluZ19jbGtfbWFzaywKKwkuc2V0X3Bw ZmVhdHVyZV9zdGF0dXMgPSB2ZWdhMjBfc2V0X3BwZmVhdHVyZV9zdGF0dXMsCisJLmdldF9wcGZl YXR1cmVfc3RhdHVzID0gdmVnYTIwX2dldF9wcGZlYXR1cmVfc3RhdHVzLAogfTsKIAogdm9pZCB2 ZWdhMjBfc2V0X3BwdF9mdW5jcyhzdHJ1Y3Qgc211X2NvbnRleHQgKnNtdSkKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3ZlZ2EyMF9wcHQuaCBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvcG93ZXJwbGF5L3ZlZ2EyMF9wcHQuaAppbmRleCA1YTBkMmFmNjMxNzMuLjg3ZjNh ODMwMzY0NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvdmVnYTIw X3BwdC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3ZlZ2EyMF9wcHQuaApA QCAtMzYsNiArMzYsNTAgQEAKICNkZWZpbmUgQVZGU19DVVJWRSAwCiAjZGVmaW5lIE9EOF9IT1RD VVJWRV9URU1QRVJBVFVSRSA4NQogCisjZGVmaW5lIFNNVV9GRUFUVVJFU19MT1dfTUFTSyAgICAg ICAgMHgwMDAwMDAwMEZGRkZGRkZGCisjZGVmaW5lIFNNVV9GRUFUVVJFU19MT1dfU0hJRlQgICAg ICAgMAorI2RlZmluZSBTTVVfRkVBVFVSRVNfSElHSF9NQVNLICAgICAgIDB4RkZGRkZGRkYwMDAw MDAwMAorI2RlZmluZSBTTVVfRkVBVFVSRVNfSElHSF9TSElGVCAgICAgIDMyCisKK2VudW0gewor CUdOTERfRFBNX1BSRUZFVENIRVIgPSAwLAorCUdOTERfRFBNX0dGWENMSywKKwlHTkxEX0RQTV9V Q0xLLAorCUdOTERfRFBNX1NPQ0NMSywKKwlHTkxEX0RQTV9VVkQsCisJR05MRF9EUE1fVkNFLAor CUdOTERfVUxWLAorCUdOTERfRFBNX01QMENMSywKKwlHTkxEX0RQTV9MSU5LLAorCUdOTERfRFBN X0RDRUZDTEssCisJR05MRF9EU19HRlhDTEssCisJR05MRF9EU19TT0NDTEssCisJR05MRF9EU19M Q0xLLAorCUdOTERfUFBULAorCUdOTERfVERDLAorCUdOTERfVEhFUk1BTCwKKwlHTkxEX0dGWF9Q RVJfQ1VfQ0csCisJR05MRF9STSwKKwlHTkxEX0RTX0RDRUZDTEssCisJR05MRF9BQ0RDLAorCUdO TERfVlIwSE9ULAorCUdOTERfVlIxSE9ULAorCUdOTERfRldfQ1RGLAorCUdOTERfTEVEX0RJU1BM QVksCisJR05MRF9GQU5fQ09OVFJPTCwKKwlHTkxEX0RJRFQsCisJR05MRF9HRlhPRkYsCisJR05M RF9DRywKKwlHTkxEX0RQTV9GQ0xLLAorCUdOTERfRFNfRkNMSywKKwlHTkxEX0RTX01QMUNMSywK KwlHTkxEX0RTX01QMENMSywKKwlHTkxEX1hHTUksCisJR05MRF9FQ0MsCisKKwlHTkxEX0ZFQVRV UkVTX01BWAorfTsKKwogc3RydWN0IHZlZ2EyMF9kcG1fbGV2ZWwgewogICAgICAgICBib29sICAg ICAgICAgICAgZW5hYmxlZDsKICAgICAgICAgdWludDMyX3QgICAgICAgIHZhbHVlOwotLSAKMi4y MS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQt Z2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZng=