From: Rex Zhu Subject: [PATCH 2/3] drm/amd/powerplay: move functions to amd_pm_funcs table Date: Thu, 28 Sep 2017 17:40:32 +0800 Message-ID: <1506591633-5352-2-git-send-email-Rex.Zhu@amd.com> References: <1506591633-5352-1-git-send-email-Rex.Zhu@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1506591633-5352-1-git-send-email-Rex.Zhu-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: Rex Zhu dGhvc2UgZnVuY3Rpb25zIGFyZSBleHBvcnRlZCB0byBEQwoKQ2hhbmdlLUlkOiBJNjc2MzczMzdl ZTQwYTZkYTZlY2RkMTVmZDc4YWYwMzM1ZjRjODQxNApTaWduZWQtb2ZmLWJ5OiBSZXggWmh1IDxS ZXguWmh1QGFtZC5jb20+Ci0tLQogLi4uL2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1 X2RtX3NlcnZpY2VzLmMgfCAgMjkgKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5 L2FtZF9wb3dlcnBsYXkuYyAgICAgIHwgMTQwICsrKysrKysrKysrLS0tLS0tLS0tLQogZHJpdmVy cy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2FtZF9wb3dlcnBsYXkuaCAgfCAgMzIgLS0tLS0K IDMgZmlsZXMgY2hhbmdlZCwgOTMgaW5zZXJ0aW9ucygrKSwgMTA4IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2Rt X3NlcnZpY2VzLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdw dV9kbV9zZXJ2aWNlcy5jCmluZGV4IGFlZmQ5ZWIuLjU2YmM3Y2MgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtX3NlcnZpY2VzLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG1fc2Vydmlj ZXMuYwpAQCAtMTg1LDExICsxODUsMTIgQEAgYm9vbCBkbV9wcF9hcHBseV9kaXNwbGF5X3JlcXVp cmVtZW50cygKIAkJYWRldi0+cG0ucG1fZGlzcGxheV9jZmcubWluX2J1c19iYW5kd2lkdGggPSAw OwogCiAJCS8qIFRPRE86IGNvbXBsZXRlIGltcGxlbWVudGF0aW9uIG9mCi0JCSAqIGFtZF9wb3dl cnBsYXlfZGlzcGxheV9jb25maWd1cmF0aW9uX2NoYW5nZSgpLgorCQkgKiBwcF9kaXNwbGF5X2Nv bmZpZ3VyYXRpb25fY2hhbmdlKCkuCiAJCSAqIEZvbGxvdyBleGFtcGxlIG9mOgogCQkgKiBQSE1f U3RvcmVEQUxDb25maWd1cmF0aW9uRGF0YSAtIHBvd2VycGxheVxod21nclxoYXJkd2FyZW1hbmFn ZXIuYwogCQkgKiBQUF9JUklfRGlzcGxheUNvbmZpZ3VyYXRpb25DaGFuZ2UgLSBwb3dlcnBsYXlc ZXZlbnRtZ3JcaXJpLmMgKi8KLQkJYW1kX3Bvd2VycGxheV9kaXNwbGF5X2NvbmZpZ3VyYXRpb25f Y2hhbmdlKAorCQlpZiAoYWRldi0+cG93ZXJwbGF5LnBwX2Z1bmNzLT5kaXNwbGF5X2NvbmZpZ3Vy YXRpb25fY2hhbmdlKQorCQkJYWRldi0+cG93ZXJwbGF5LnBwX2Z1bmNzLT5kaXNwbGF5X2NvbmZp Z3VyYXRpb25fY2hhbmdlKAogCQkJCWFkZXYtPnBvd2VycGxheS5wcF9oYW5kbGUsCiAJCQkJJmFk ZXYtPnBtLnBtX2Rpc3BsYXlfY2ZnKTsKIApAQCAtMzE4LDIyICszMTksMjYgQEAgYm9vbCBkbV9w cF9nZXRfY2xvY2tfbGV2ZWxzX2J5X3R5cGUoCiAJc3RydWN0IGFtZF9wcF9zaW1wbGVfY2xvY2tf aW5mbyB2YWxpZGF0aW9uX2Nsa3MgPSB7IDAgfTsKIAl1aW50MzJfdCBpOwogCi0JaWYgKGFtZF9w b3dlcnBsYXlfZ2V0X2Nsb2NrX2J5X3R5cGUocHBfaGFuZGxlLAorCWlmIChhZGV2LT5wb3dlcnBs YXkucHBfZnVuY3MtPmdldF9jbG9ja19ieV90eXBlKSB7CisJCWlmIChhZGV2LT5wb3dlcnBsYXku cHBfZnVuY3MtPmdldF9jbG9ja19ieV90eXBlKHBwX2hhbmRsZSwKIAkJCWRjX3RvX3BwX2Nsb2Nr X3R5cGUoY2xrX3R5cGUpLCAmcHBfY2xrcykpIHsKIAkJLyogRXJyb3IgaW4gcHBsaWIuIFByb3Zp ZGUgZGVmYXVsdCB2YWx1ZXMuICovCi0JCWdldF9kZWZhdWx0X2Nsb2NrX2xldmVscyhjbGtfdHlw ZSwgZGNfY2xrcyk7Ci0JCXJldHVybiB0cnVlOworCQkJZ2V0X2RlZmF1bHRfY2xvY2tfbGV2ZWxz KGNsa190eXBlLCBkY19jbGtzKTsKKwkJCXJldHVybiB0cnVlOworCQl9CiAJfQogCiAJcHBfdG9f ZGNfY2xvY2tfbGV2ZWxzKCZwcF9jbGtzLCBkY19jbGtzLCBjbGtfdHlwZSk7CiAKLQlpZiAoYW1k X3Bvd2VycGxheV9nZXRfZGlzcGxheV9tb2RlX3ZhbGlkYXRpb25fY2xvY2tzKHBwX2hhbmRsZSwK LQkJCSZ2YWxpZGF0aW9uX2Nsa3MpKSB7Ci0JCS8qIEVycm9yIGluIHBwbGliLiBQcm92aWRlIGRl ZmF1bHQgdmFsdWVzLiAqLwotCQlEUk1fSU5GTygiRE1fUFBMSUI6IFdhcm5pbmc6IHVzaW5nIGRl ZmF1bHQgdmFsaWRhdGlvbiBjbG9ja3MhXG4iKTsKLQkJdmFsaWRhdGlvbl9jbGtzLmVuZ2luZV9t YXhfY2xvY2sgPSA3MjAwMDsKLQkJdmFsaWRhdGlvbl9jbGtzLm1lbW9yeV9tYXhfY2xvY2sgPSA4 MDAwMDsKLQkJdmFsaWRhdGlvbl9jbGtzLmxldmVsID0gMDsKKwlpZiAoYWRldi0+cG93ZXJwbGF5 LnBwX2Z1bmNzLT5nZXRfZGlzcGxheV9tb2RlX3ZhbGlkYXRpb25fY2xvY2tzKSB7CisJCWlmIChh ZGV2LT5wb3dlcnBsYXkucHBfZnVuY3MtPmdldF9kaXNwbGF5X21vZGVfdmFsaWRhdGlvbl9jbG9j a3MoCisJCQkJCQlwcF9oYW5kbGUsICZ2YWxpZGF0aW9uX2Nsa3MpKSB7CisJCQkvKiBFcnJvciBp biBwcGxpYi4gUHJvdmlkZSBkZWZhdWx0IHZhbHVlcy4gKi8KKwkJCURSTV9JTkZPKCJETV9QUExJ QjogV2FybmluZzogdXNpbmcgZGVmYXVsdCB2YWxpZGF0aW9uIGNsb2NrcyFcbiIpOworCQkJdmFs aWRhdGlvbl9jbGtzLmVuZ2luZV9tYXhfY2xvY2sgPSA3MjAwMDsKKwkJCXZhbGlkYXRpb25fY2xr cy5tZW1vcnlfbWF4X2Nsb2NrID0gODAwMDA7CisJCQl2YWxpZGF0aW9uX2Nsa3MubGV2ZWwgPSAw OworCQl9CiAJfQogCiAJRFJNX0lORk8oIkRNX1BQTElCOiBWYWxpZGF0aW9uIGNsb2NrczpcbiIp OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvYW1kX3Bvd2VycGxh eS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvYW1kX3Bvd2VycGxheS5jCmluZGV4 IDAzOTk5YTYuLmEwZjA4ZWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJw bGF5L2FtZF9wb3dlcnBsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9h bWRfcG93ZXJwbGF5LmMKQEAgLTc4MSw2ICs3ODEsMjkgQEAgc3RhdGljIGludCBwcF9kcG1fZ2V0 X3BwX3RhYmxlKHZvaWQgKmhhbmRsZSwgY2hhciAqKnRhYmxlKQogCXJldHVybiBzaXplOwogfQog CitzdGF0aWMgaW50IGFtZF9wb3dlcnBsYXlfcmVzZXQodm9pZCAqaGFuZGxlKQoreworCXN0cnVj dCBwcF9pbnN0YW5jZSAqaW5zdGFuY2UgPSAoc3RydWN0IHBwX2luc3RhbmNlICopaGFuZGxlOwor CWludCByZXQ7CisKKwlpZiAoIWluc3RhbmNlLT5wbV9lbikKKwkJcmV0dXJuIDA7CisKKwlyZXQg PSBwcF9jaGVjayhpbnN0YW5jZSk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKworCXJldCA9 IHBwX2h3X2ZpbmkoaW5zdGFuY2UpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKKwlyZXQg PSBod21ncl9od19pbml0KGluc3RhbmNlKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJ cmV0dXJuIGh3bWdyX2hhbmRsZV90YXNrKGluc3RhbmNlLCBBTURfUFBfVEFTS19DT01QTEVURV9J TklULCBOVUxMLCBOVUxMKTsKK30KKwogc3RhdGljIGludCBwcF9kcG1fc2V0X3BwX3RhYmxlKHZv aWQgKmhhbmRsZSwgY29uc3QgY2hhciAqYnVmLCBzaXplX3Qgc2l6ZSkKIHsKIAlzdHJ1Y3QgcHBf aHdtZ3IgKmh3bWdyOwpAQCAtMTEzNiw2NCArMTE1OSw5IEBAIHN0YXRpYyBpbnQgcHBfZHBtX3N3 aXRjaF9wb3dlcl9wcm9maWxlKHZvaWQgKmhhbmRsZSwKIAlyZXR1cm4gMDsKIH0KIAotY29uc3Qg c3RydWN0IGFtZF9wbV9mdW5jcyBwcF9kcG1fZnVuY3MgPSB7Ci0JLmdldF90ZW1wZXJhdHVyZSA9 IHBwX2RwbV9nZXRfdGVtcGVyYXR1cmUsCi0JLmxvYWRfZmlybXdhcmUgPSBwcF9kcG1fbG9hZF9m dywKLQkud2FpdF9mb3JfZndfbG9hZGluZ19jb21wbGV0ZSA9IHBwX2RwbV9md19sb2FkaW5nX2Nv bXBsZXRlLAotCS5mb3JjZV9wZXJmb3JtYW5jZV9sZXZlbCA9IHBwX2RwbV9mb3JjZV9wZXJmb3Jt YW5jZV9sZXZlbCwKLQkuZ2V0X3BlcmZvcm1hbmNlX2xldmVsID0gcHBfZHBtX2dldF9wZXJmb3Jt YW5jZV9sZXZlbCwKLQkuZ2V0X2N1cnJlbnRfcG93ZXJfc3RhdGUgPSBwcF9kcG1fZ2V0X2N1cnJl bnRfcG93ZXJfc3RhdGUsCi0JLmdldF9zY2xrID0gcHBfZHBtX2dldF9zY2xrLAotCS5nZXRfbWNs ayA9IHBwX2RwbV9nZXRfbWNsaywKLQkucG93ZXJnYXRlX3ZjZSA9IHBwX2RwbV9wb3dlcmdhdGVf dmNlLAotCS5wb3dlcmdhdGVfdXZkID0gcHBfZHBtX3Bvd2VyZ2F0ZV91dmQsCi0JLmRpc3BhdGNo X3Rhc2tzID0gcHBfZHBtX2Rpc3BhdGNoX3Rhc2tzLAotCS5zZXRfZmFuX2NvbnRyb2xfbW9kZSA9 IHBwX2RwbV9zZXRfZmFuX2NvbnRyb2xfbW9kZSwKLQkuZ2V0X2Zhbl9jb250cm9sX21vZGUgPSBw cF9kcG1fZ2V0X2Zhbl9jb250cm9sX21vZGUsCi0JLnNldF9mYW5fc3BlZWRfcGVyY2VudCA9IHBw X2RwbV9zZXRfZmFuX3NwZWVkX3BlcmNlbnQsCi0JLmdldF9mYW5fc3BlZWRfcGVyY2VudCA9IHBw X2RwbV9nZXRfZmFuX3NwZWVkX3BlcmNlbnQsCi0JLmdldF9mYW5fc3BlZWRfcnBtID0gcHBfZHBt X2dldF9mYW5fc3BlZWRfcnBtLAotCS5nZXRfcHBfbnVtX3N0YXRlcyA9IHBwX2RwbV9nZXRfcHBf bnVtX3N0YXRlcywKLQkuZ2V0X3BwX3RhYmxlID0gcHBfZHBtX2dldF9wcF90YWJsZSwKLQkuc2V0 X3BwX3RhYmxlID0gcHBfZHBtX3NldF9wcF90YWJsZSwKLQkuZm9yY2VfY2xvY2tfbGV2ZWwgPSBw cF9kcG1fZm9yY2VfY2xvY2tfbGV2ZWwsCi0JLnByaW50X2Nsb2NrX2xldmVscyA9IHBwX2RwbV9w cmludF9jbG9ja19sZXZlbHMsCi0JLmdldF9zY2xrX29kID0gcHBfZHBtX2dldF9zY2xrX29kLAot CS5zZXRfc2Nsa19vZCA9IHBwX2RwbV9zZXRfc2Nsa19vZCwKLQkuZ2V0X21jbGtfb2QgPSBwcF9k cG1fZ2V0X21jbGtfb2QsCi0JLnNldF9tY2xrX29kID0gcHBfZHBtX3NldF9tY2xrX29kLAotCS5y ZWFkX3NlbnNvciA9IHBwX2RwbV9yZWFkX3NlbnNvciwKLQkuZ2V0X3ZjZV9jbG9ja19zdGF0ZSA9 IHBwX2RwbV9nZXRfdmNlX2Nsb2NrX3N0YXRlLAotCS5yZXNldF9wb3dlcl9wcm9maWxlX3N0YXRl ID0gcHBfZHBtX3Jlc2V0X3Bvd2VyX3Byb2ZpbGVfc3RhdGUsCi0JLmdldF9wb3dlcl9wcm9maWxl X3N0YXRlID0gcHBfZHBtX2dldF9wb3dlcl9wcm9maWxlX3N0YXRlLAotCS5zZXRfcG93ZXJfcHJv ZmlsZV9zdGF0ZSA9IHBwX2RwbV9zZXRfcG93ZXJfcHJvZmlsZV9zdGF0ZSwKLQkuc3dpdGNoX3Bv d2VyX3Byb2ZpbGUgPSBwcF9kcG1fc3dpdGNoX3Bvd2VyX3Byb2ZpbGUsCi0JLnNldF9jbG9ja2dh dGluZ19ieV9zbXUgPSBwcF9zZXRfY2xvY2tnYXRpbmdfYnlfc211LAotfTsKLQotaW50IGFtZF9w b3dlcnBsYXlfcmVzZXQodm9pZCAqaGFuZGxlKQotewotCXN0cnVjdCBwcF9pbnN0YW5jZSAqaW5z dGFuY2UgPSAoc3RydWN0IHBwX2luc3RhbmNlICopaGFuZGxlOwotCWludCByZXQ7Ci0KLQlyZXQg PSBwcF9jaGVjayhpbnN0YW5jZSk7Ci0JaWYgKHJldCkKLQkJcmV0dXJuIHJldDsKLQotCXJldCA9 IHBwX2h3X2ZpbmkoaW5zdGFuY2UpOwotCWlmIChyZXQpCi0JCXJldHVybiByZXQ7Ci0KLQlyZXQg PSBod21ncl9od19pbml0KGluc3RhbmNlKTsKLQlpZiAocmV0KQotCQlyZXR1cm4gcmV0OwotCi0J cmV0dXJuIGh3bWdyX2hhbmRsZV90YXNrKGluc3RhbmNlLCBBTURfUFBfVEFTS19DT01QTEVURV9J TklULCBOVUxMLCBOVUxMKTsKLX0KLQogLyogZXhwb3J0IHRoaXMgZnVuY3Rpb24gdG8gREFMICov CiAKLWludCBhbWRfcG93ZXJwbGF5X2Rpc3BsYXlfY29uZmlndXJhdGlvbl9jaGFuZ2Uodm9pZCAq aGFuZGxlLAorc3RhdGljIGludCBwcF9kaXNwbGF5X2NvbmZpZ3VyYXRpb25fY2hhbmdlKHZvaWQg KmhhbmRsZSwKIAljb25zdCBzdHJ1Y3QgYW1kX3BwX2Rpc3BsYXlfY29uZmlndXJhdGlvbiAqZGlz cGxheV9jb25maWcpCiB7CiAJc3RydWN0IHBwX2h3bWdyICAqaHdtZ3I7CkBAIC0xMjEyLDcgKzEx ODAsNyBAQCBpbnQgYW1kX3Bvd2VycGxheV9kaXNwbGF5X2NvbmZpZ3VyYXRpb25fY2hhbmdlKHZv aWQgKmhhbmRsZSwKIAlyZXR1cm4gMDsKIH0KIAotaW50IGFtZF9wb3dlcnBsYXlfZ2V0X2Rpc3Bs YXlfcG93ZXJfbGV2ZWwodm9pZCAqaGFuZGxlLAorc3RhdGljIGludCBwcF9nZXRfZGlzcGxheV9w b3dlcl9sZXZlbCh2b2lkICpoYW5kbGUsCiAJCXN0cnVjdCBhbWRfcHBfc2ltcGxlX2Nsb2NrX2lu Zm8gKm91dHB1dCkKIHsKIAlzdHJ1Y3QgcHBfaHdtZ3IgICpod21ncjsKQEAgLTEyMzUsNyArMTIw Myw3IEBAIGludCBhbWRfcG93ZXJwbGF5X2dldF9kaXNwbGF5X3Bvd2VyX2xldmVsKHZvaWQgKmhh bmRsZSwKIAlyZXR1cm4gcmV0OwogfQogCi1pbnQgYW1kX3Bvd2VycGxheV9nZXRfY3VycmVudF9j bG9ja3Modm9pZCAqaGFuZGxlLAorc3RhdGljIGludCBwcF9nZXRfY3VycmVudF9jbG9ja3Modm9p ZCAqaGFuZGxlLAogCQlzdHJ1Y3QgYW1kX3BwX2Nsb2NrX2luZm8gKmNsb2NrcykKIHsKIAlzdHJ1 Y3QgYW1kX3BwX3NpbXBsZV9jbG9ja19pbmZvIHNpbXBsZV9jbG9ja3M7CkBAIC0xMjg5LDcgKzEy NTcsNyBAQCBpbnQgYW1kX3Bvd2VycGxheV9nZXRfY3VycmVudF9jbG9ja3Modm9pZCAqaGFuZGxl LAogCXJldHVybiAwOwogfQogCi1pbnQgYW1kX3Bvd2VycGxheV9nZXRfY2xvY2tfYnlfdHlwZSh2 b2lkICpoYW5kbGUsIGVudW0gYW1kX3BwX2Nsb2NrX3R5cGUgdHlwZSwgc3RydWN0IGFtZF9wcF9j bG9ja3MgKmNsb2NrcykKK3N0YXRpYyBpbnQgcHBfZ2V0X2Nsb2NrX2J5X3R5cGUodm9pZCAqaGFu ZGxlLCBlbnVtIGFtZF9wcF9jbG9ja190eXBlIHR5cGUsIHN0cnVjdCBhbWRfcHBfY2xvY2tzICpj bG9ja3MpCiB7CiAJc3RydWN0IHBwX2h3bWdyICAqaHdtZ3I7CiAJc3RydWN0IHBwX2luc3RhbmNl ICpwcF9oYW5kbGUgPSAoc3RydWN0IHBwX2luc3RhbmNlICopaGFuZGxlOwpAQCAtMTMxMSw3ICsx Mjc5LDcgQEAgaW50IGFtZF9wb3dlcnBsYXlfZ2V0X2Nsb2NrX2J5X3R5cGUodm9pZCAqaGFuZGxl LCBlbnVtIGFtZF9wcF9jbG9ja190eXBlIHR5cGUsIHMKIAlyZXR1cm4gcmV0OwogfQogCi1pbnQg YW1kX3Bvd2VycGxheV9nZXRfY2xvY2tfYnlfdHlwZV93aXRoX2xhdGVuY3kodm9pZCAqaGFuZGxl LAorc3RhdGljIGludCBwcF9nZXRfY2xvY2tfYnlfdHlwZV93aXRoX2xhdGVuY3kodm9pZCAqaGFu ZGxlLAogCQllbnVtIGFtZF9wcF9jbG9ja190eXBlIHR5cGUsCiAJCXN0cnVjdCBwcF9jbG9ja19s ZXZlbHNfd2l0aF9sYXRlbmN5ICpjbG9ja3MpCiB7CkBAIC0xMzMzLDcgKzEzMDEsNyBAQCBpbnQg YW1kX3Bvd2VycGxheV9nZXRfY2xvY2tfYnlfdHlwZV93aXRoX2xhdGVuY3kodm9pZCAqaGFuZGxl LAogCXJldHVybiByZXQ7CiB9CiAKLWludCBhbWRfcG93ZXJwbGF5X2dldF9jbG9ja19ieV90eXBl X3dpdGhfdm9sdGFnZSh2b2lkICpoYW5kbGUsCitzdGF0aWMgaW50IHBwX2dldF9jbG9ja19ieV90 eXBlX3dpdGhfdm9sdGFnZSh2b2lkICpoYW5kbGUsCiAJCWVudW0gYW1kX3BwX2Nsb2NrX3R5cGUg dHlwZSwKIAkJc3RydWN0IHBwX2Nsb2NrX2xldmVsc193aXRoX3ZvbHRhZ2UgKmNsb2NrcykKIHsK QEAgLTEzNTgsNyArMTMyNiw3IEBAIGludCBhbWRfcG93ZXJwbGF5X2dldF9jbG9ja19ieV90eXBl X3dpdGhfdm9sdGFnZSh2b2lkICpoYW5kbGUsCiAJcmV0dXJuIHJldDsKIH0KIAotaW50IGFtZF9w b3dlcnBsYXlfc2V0X3dhdGVybWFya3NfZm9yX2Nsb2Nrc19yYW5nZXModm9pZCAqaGFuZGxlLAor c3RhdGljIGludCBwcF9zZXRfd2F0ZXJtYXJrc19mb3JfY2xvY2tzX3Jhbmdlcyh2b2lkICpoYW5k bGUsCiAJCXN0cnVjdCBwcF93bV9zZXRzX3dpdGhfY2xvY2tfcmFuZ2VzX3NvYzE1ICp3bV93aXRo X2Nsb2NrX3JhbmdlcykKIHsKIAlzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyOwpAQCAtMTM4Miw3ICsx MzUwLDcgQEAgaW50IGFtZF9wb3dlcnBsYXlfc2V0X3dhdGVybWFya3NfZm9yX2Nsb2Nrc19yYW5n ZXModm9pZCAqaGFuZGxlLAogCXJldHVybiByZXQ7CiB9CiAKLWludCBhbWRfcG93ZXJwbGF5X2Rp c3BsYXlfY2xvY2tfdm9sdGFnZV9yZXF1ZXN0KHZvaWQgKmhhbmRsZSwKK3N0YXRpYyBpbnQgcHBf ZGlzcGxheV9jbG9ja192b2x0YWdlX3JlcXVlc3Qodm9pZCAqaGFuZGxlLAogCQlzdHJ1Y3QgcHBf ZGlzcGxheV9jbG9ja19yZXF1ZXN0ICpjbG9jaykKIHsKIAlzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdy OwpAQCAtMTQwNSw3ICsxMzczLDcgQEAgaW50IGFtZF9wb3dlcnBsYXlfZGlzcGxheV9jbG9ja192 b2x0YWdlX3JlcXVlc3Qodm9pZCAqaGFuZGxlLAogCXJldHVybiByZXQ7CiB9CiAKLWludCBhbWRf cG93ZXJwbGF5X2dldF9kaXNwbGF5X21vZGVfdmFsaWRhdGlvbl9jbG9ja3Modm9pZCAqaGFuZGxl LAorc3RhdGljIGludCBwcF9nZXRfZGlzcGxheV9tb2RlX3ZhbGlkYXRpb25fY2xvY2tzKHZvaWQg KmhhbmRsZSwKIAkJc3RydWN0IGFtZF9wcF9zaW1wbGVfY2xvY2tfaW5mbyAqY2xvY2tzKQogewog CXN0cnVjdCBwcF9od21nciAgKmh3bWdyOwpAQCAtMTQzMSwzICsxMzk5LDQ3IEBAIGludCBhbWRf cG93ZXJwbGF5X2dldF9kaXNwbGF5X21vZGVfdmFsaWRhdGlvbl9jbG9ja3Modm9pZCAqaGFuZGxl LAogCXJldHVybiByZXQ7CiB9CiAKK2NvbnN0IHN0cnVjdCBhbWRfcG1fZnVuY3MgcHBfZHBtX2Z1 bmNzID0geworCS5nZXRfdGVtcGVyYXR1cmUgPSBwcF9kcG1fZ2V0X3RlbXBlcmF0dXJlLAorCS5s b2FkX2Zpcm13YXJlID0gcHBfZHBtX2xvYWRfZncsCisJLndhaXRfZm9yX2Z3X2xvYWRpbmdfY29t cGxldGUgPSBwcF9kcG1fZndfbG9hZGluZ19jb21wbGV0ZSwKKwkuZm9yY2VfcGVyZm9ybWFuY2Vf bGV2ZWwgPSBwcF9kcG1fZm9yY2VfcGVyZm9ybWFuY2VfbGV2ZWwsCisJLmdldF9wZXJmb3JtYW5j ZV9sZXZlbCA9IHBwX2RwbV9nZXRfcGVyZm9ybWFuY2VfbGV2ZWwsCisJLmdldF9jdXJyZW50X3Bv d2VyX3N0YXRlID0gcHBfZHBtX2dldF9jdXJyZW50X3Bvd2VyX3N0YXRlLAorCS5wb3dlcmdhdGVf dmNlID0gcHBfZHBtX3Bvd2VyZ2F0ZV92Y2UsCisJLnBvd2VyZ2F0ZV91dmQgPSBwcF9kcG1fcG93 ZXJnYXRlX3V2ZCwKKwkuZGlzcGF0Y2hfdGFza3MgPSBwcF9kcG1fZGlzcGF0Y2hfdGFza3MsCisJ LnNldF9mYW5fY29udHJvbF9tb2RlID0gcHBfZHBtX3NldF9mYW5fY29udHJvbF9tb2RlLAorCS5n ZXRfZmFuX2NvbnRyb2xfbW9kZSA9IHBwX2RwbV9nZXRfZmFuX2NvbnRyb2xfbW9kZSwKKwkuc2V0 X2Zhbl9zcGVlZF9wZXJjZW50ID0gcHBfZHBtX3NldF9mYW5fc3BlZWRfcGVyY2VudCwKKwkuZ2V0 X2Zhbl9zcGVlZF9wZXJjZW50ID0gcHBfZHBtX2dldF9mYW5fc3BlZWRfcGVyY2VudCwKKwkuZ2V0 X2Zhbl9zcGVlZF9ycG0gPSBwcF9kcG1fZ2V0X2Zhbl9zcGVlZF9ycG0sCisJLmdldF9wcF9udW1f c3RhdGVzID0gcHBfZHBtX2dldF9wcF9udW1fc3RhdGVzLAorCS5nZXRfcHBfdGFibGUgPSBwcF9k cG1fZ2V0X3BwX3RhYmxlLAorCS5zZXRfcHBfdGFibGUgPSBwcF9kcG1fc2V0X3BwX3RhYmxlLAor CS5mb3JjZV9jbG9ja19sZXZlbCA9IHBwX2RwbV9mb3JjZV9jbG9ja19sZXZlbCwKKwkucHJpbnRf Y2xvY2tfbGV2ZWxzID0gcHBfZHBtX3ByaW50X2Nsb2NrX2xldmVscywKKwkuZ2V0X3NjbGtfb2Qg PSBwcF9kcG1fZ2V0X3NjbGtfb2QsCisJLnNldF9zY2xrX29kID0gcHBfZHBtX3NldF9zY2xrX29k LAorCS5nZXRfbWNsa19vZCA9IHBwX2RwbV9nZXRfbWNsa19vZCwKKwkuc2V0X21jbGtfb2QgPSBw cF9kcG1fc2V0X21jbGtfb2QsCisJLnJlYWRfc2Vuc29yID0gcHBfZHBtX3JlYWRfc2Vuc29yLAor CS5nZXRfdmNlX2Nsb2NrX3N0YXRlID0gcHBfZHBtX2dldF92Y2VfY2xvY2tfc3RhdGUsCisJLnJl c2V0X3Bvd2VyX3Byb2ZpbGVfc3RhdGUgPSBwcF9kcG1fcmVzZXRfcG93ZXJfcHJvZmlsZV9zdGF0 ZSwKKwkuZ2V0X3Bvd2VyX3Byb2ZpbGVfc3RhdGUgPSBwcF9kcG1fZ2V0X3Bvd2VyX3Byb2ZpbGVf c3RhdGUsCisJLnNldF9wb3dlcl9wcm9maWxlX3N0YXRlID0gcHBfZHBtX3NldF9wb3dlcl9wcm9m aWxlX3N0YXRlLAorCS5zd2l0Y2hfcG93ZXJfcHJvZmlsZSA9IHBwX2RwbV9zd2l0Y2hfcG93ZXJf cHJvZmlsZSwKKwkuc2V0X2Nsb2NrZ2F0aW5nX2J5X3NtdSA9IHBwX3NldF9jbG9ja2dhdGluZ19i eV9zbXUsCisvKiBleHBvcnQgdG8gREMgKi8KKwkuZ2V0X3NjbGsgPSBwcF9kcG1fZ2V0X3NjbGss CisJLmdldF9tY2xrID0gcHBfZHBtX2dldF9tY2xrLAorCS5kaXNwbGF5X2NvbmZpZ3VyYXRpb25f Y2hhbmdlID0gcHBfZGlzcGxheV9jb25maWd1cmF0aW9uX2NoYW5nZSwKKwkuZ2V0X2Rpc3BsYXlf cG93ZXJfbGV2ZWwgPSBwcF9nZXRfZGlzcGxheV9wb3dlcl9sZXZlbCwKKwkuZ2V0X2N1cnJlbnRf Y2xvY2tzID0gcHBfZ2V0X2N1cnJlbnRfY2xvY2tzLAorCS5nZXRfY2xvY2tfYnlfdHlwZSA9IHBw X2dldF9jbG9ja19ieV90eXBlLAorCS5nZXRfY2xvY2tfYnlfdHlwZV93aXRoX2xhdGVuY3kgPSBw cF9nZXRfY2xvY2tfYnlfdHlwZV93aXRoX2xhdGVuY3ksCisJLmdldF9jbG9ja19ieV90eXBlX3dp dGhfdm9sdGFnZSA9IHBwX2dldF9jbG9ja19ieV90eXBlX3dpdGhfdm9sdGFnZSwKKwkuc2V0X3dh dGVybWFya3NfZm9yX2Nsb2Nrc19yYW5nZXMgPSBwcF9zZXRfd2F0ZXJtYXJrc19mb3JfY2xvY2tz X3JhbmdlcywKKwkuZGlzcGxheV9jbG9ja192b2x0YWdlX3JlcXVlc3QgPSBwcF9kaXNwbGF5X2Ns b2NrX3ZvbHRhZ2VfcmVxdWVzdCwKKwkuZ2V0X2Rpc3BsYXlfbW9kZV92YWxpZGF0aW9uX2Nsb2Nr cyA9IHBwX2dldF9kaXNwbGF5X21vZGVfdmFsaWRhdGlvbl9jbG9ja3MsCit9OwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2FtZF9wb3dlcnBsYXkuaCBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2luYy9hbWRfcG93ZXJwbGF5LmgKaW5kZXggZGEy ZTZlZS4uMDA2OTU0ZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkv aW5jL2FtZF9wb3dlcnBsYXkuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9p bmMvYW1kX3Bvd2VycGxheS5oCkBAIC0xMjksMzcgKzEyOSw1IEBAIHN0cnVjdCBhbWRfcG93ZXJw bGF5IHsKIAljb25zdCBzdHJ1Y3QgYW1kX3BtX2Z1bmNzICpwcF9mdW5jczsKIH07CiAKLWludCBh bWRfcG93ZXJwbGF5X3Jlc2V0KHZvaWQgKmhhbmRsZSk7Ci0KLWludCBhbWRfcG93ZXJwbGF5X2Rp c3BsYXlfY29uZmlndXJhdGlvbl9jaGFuZ2Uodm9pZCAqaGFuZGxlLAotCQljb25zdCBzdHJ1Y3Qg YW1kX3BwX2Rpc3BsYXlfY29uZmlndXJhdGlvbiAqaW5wdXQpOwotCi1pbnQgYW1kX3Bvd2VycGxh eV9nZXRfZGlzcGxheV9wb3dlcl9sZXZlbCh2b2lkICpoYW5kbGUsCi0JCXN0cnVjdCBhbWRfcHBf c2ltcGxlX2Nsb2NrX2luZm8gKm91dHB1dCk7Ci0KLWludCBhbWRfcG93ZXJwbGF5X2dldF9jdXJy ZW50X2Nsb2Nrcyh2b2lkICpoYW5kbGUsCi0JCXN0cnVjdCBhbWRfcHBfY2xvY2tfaW5mbyAqb3V0 cHV0KTsKLQotaW50IGFtZF9wb3dlcnBsYXlfZ2V0X2Nsb2NrX2J5X3R5cGUodm9pZCAqaGFuZGxl LAotCQllbnVtIGFtZF9wcF9jbG9ja190eXBlIHR5cGUsCi0JCXN0cnVjdCBhbWRfcHBfY2xvY2tz ICpjbG9ja3MpOwotCi1pbnQgYW1kX3Bvd2VycGxheV9nZXRfY2xvY2tfYnlfdHlwZV93aXRoX2xh dGVuY3kodm9pZCAqaGFuZGxlLAotCQllbnVtIGFtZF9wcF9jbG9ja190eXBlIHR5cGUsCi0JCXN0 cnVjdCBwcF9jbG9ja19sZXZlbHNfd2l0aF9sYXRlbmN5ICpjbG9ja3MpOwotCi1pbnQgYW1kX3Bv d2VycGxheV9nZXRfY2xvY2tfYnlfdHlwZV93aXRoX3ZvbHRhZ2Uodm9pZCAqaGFuZGxlLAotCQll bnVtIGFtZF9wcF9jbG9ja190eXBlIHR5cGUsCi0JCXN0cnVjdCBwcF9jbG9ja19sZXZlbHNfd2l0 aF92b2x0YWdlICpjbG9ja3MpOwotCi1pbnQgYW1kX3Bvd2VycGxheV9zZXRfd2F0ZXJtYXJrc19m b3JfY2xvY2tzX3Jhbmdlcyh2b2lkICpoYW5kbGUsCi0JCXN0cnVjdCBwcF93bV9zZXRzX3dpdGhf Y2xvY2tfcmFuZ2VzX3NvYzE1ICp3bV93aXRoX2Nsb2NrX3Jhbmdlcyk7Ci0KLWludCBhbWRfcG93 ZXJwbGF5X2Rpc3BsYXlfY2xvY2tfdm9sdGFnZV9yZXF1ZXN0KHZvaWQgKmhhbmRsZSwKLQkJc3Ry dWN0IHBwX2Rpc3BsYXlfY2xvY2tfcmVxdWVzdCAqY2xvY2spOwotCi1pbnQgYW1kX3Bvd2VycGxh eV9nZXRfZGlzcGxheV9tb2RlX3ZhbGlkYXRpb25fY2xvY2tzKHZvaWQgKmhhbmRsZSwKLQkJc3Ry dWN0IGFtZF9wcF9zaW1wbGVfY2xvY2tfaW5mbyAqb3V0cHV0KTsKLQogCiAjZW5kaWYgLyogX0FN RF9QT1dFUlBMQVlfSF8gKi8KLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2FtZC1nZngK