From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rex Zhu Subject: [PATCH 4/9] drm/amd/powerplay: initialize platform caps in hwmgr_init. Date: Fri, 9 Sep 2016 21:37:34 +0800 Message-ID: <1473428259-580-5-git-send-email-Rex.Zhu@amd.com> References: <1473428259-580-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: <1473428259-580-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 UmV2aWV3ZWQtYnk6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRldWNoZXJAYW1kLmNvbT4KU2ln bmVkLW9mZi1ieTogUmV4IFpodSA8UmV4LlpodUBhbWQuY29tPgotLS0KIC4uLi9ncHUvZHJtL2Ft ZC9wb3dlcnBsYXkvaHdtZ3IvaGFyZHdhcmVtYW5hZ2VyLmMgIHwgIDM0IC0tLS0tLS0KIGRyaXZl cnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL2h3bWdyLmMgICAgICAgIHwgMTA5ICsrKysr KysrKysrKysrKystLS0tLQogLi4uL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9pbmMvaGFyZHdhcmVt YW5hZ2VyLmggICAgfCAgIDEgLQogZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2h3 bWdyLmggICAgICAgICAgfCAgIDEgKwogNCBmaWxlcyBjaGFuZ2VkLCA4NyBpbnNlcnRpb25zKCsp LCA1OCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2Vy cGxheS9od21nci9oYXJkd2FyZW1hbmFnZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJw bGF5L2h3bWdyL2hhcmR3YXJlbWFuYWdlci5jCmluZGV4IDc4OWY5OGEuLjE0ZjhjMWYgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL2hhcmR3YXJlbWFuYWdl ci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL2hhcmR3YXJlbWFu YWdlci5jCkBAIC0yNCw4ICsyNCw2IEBACiAjaW5jbHVkZSAiaHdtZ3IuaCIKICNpbmNsdWRlICJo YXJkd2FyZW1hbmFnZXIuaCIKICNpbmNsdWRlICJwb3dlcl9zdGF0ZS5oIgotI2luY2x1ZGUgInBw X2FjcGkuaCIKLSNpbmNsdWRlICJhbWRfYWNwaS5oIgogI2luY2x1ZGUgInBwX2RlYnVnLmgiCiAK ICNkZWZpbmUgUEhNX0ZVTkNfQ0hFQ0soaHcpIFwKQEAgLTM0LDM4ICszMiw2IEBACiAJCQlyZXR1 cm4gLUVJTlZBTDsJCQkJXAogCX0gd2hpbGUgKDApCiAKLXZvaWQgcGhtX2luaXRfZHluYW1pY19j YXBzKHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCi17Ci0JcGhtX2NhcF91bnNldChod21nci0+cGxh dGZvcm1fZGVzY3JpcHRvci5wbGF0Zm9ybUNhcHMsIFBITV9QbGF0Zm9ybUNhcHNfRGlzYWJsZVZv bHRhZ2VUcmFuc2l0aW9uKTsKLQlwaG1fY2FwX3Vuc2V0KGh3bWdyLT5wbGF0Zm9ybV9kZXNjcmlw dG9yLnBsYXRmb3JtQ2FwcywgUEhNX1BsYXRmb3JtQ2Fwc19EaXNhYmxlRW5naW5lVHJhbnNpdGlv bik7Ci0JcGhtX2NhcF91bnNldChod21nci0+cGxhdGZvcm1fZGVzY3JpcHRvci5wbGF0Zm9ybUNh cHMsIFBITV9QbGF0Zm9ybUNhcHNfRGlzYWJsZU1lbW9yeVRyYW5zaXRpb24pOwotCXBobV9jYXBf dW5zZXQoaHdtZ3ItPnBsYXRmb3JtX2Rlc2NyaXB0b3IucGxhdGZvcm1DYXBzLCBQSE1fUGxhdGZv cm1DYXBzX0Rpc2FibGVNR0Nsb2NrR2F0aW5nKTsKLQlwaG1fY2FwX3Vuc2V0KGh3bWdyLT5wbGF0 Zm9ybV9kZXNjcmlwdG9yLnBsYXRmb3JtQ2FwcywgUEhNX1BsYXRmb3JtQ2Fwc19EaXNhYmxlTUdD R1RTU00pOwotCXBobV9jYXBfdW5zZXQoaHdtZ3ItPnBsYXRmb3JtX2Rlc2NyaXB0b3IucGxhdGZv cm1DYXBzLCBQSE1fUGxhdGZvcm1DYXBzX0Rpc2FibGVMU0Nsb2NrR2F0aW5nKTsKLQlwaG1fY2Fw X3Vuc2V0KGh3bWdyLT5wbGF0Zm9ybV9kZXNjcmlwdG9yLnBsYXRmb3JtQ2FwcywgUEhNX1BsYXRm b3JtQ2Fwc19Gb3JjZTNEQ2xvY2tTdXBwb3J0KTsKLQlwaG1fY2FwX3Vuc2V0KGh3bWdyLT5wbGF0 Zm9ybV9kZXNjcmlwdG9yLnBsYXRmb3JtQ2FwcywgUEhNX1BsYXRmb3JtQ2Fwc19EaXNhYmxlTGln aHRTbGVlcCk7Ci0JcGhtX2NhcF91bnNldChod21nci0+cGxhdGZvcm1fZGVzY3JpcHRvci5wbGF0 Zm9ybUNhcHMsIFBITV9QbGF0Zm9ybUNhcHNfRGlzYWJsZU1DTFMpOwotCXBobV9jYXBfc2V0KGh3 bWdyLT5wbGF0Zm9ybV9kZXNjcmlwdG9yLnBsYXRmb3JtQ2FwcywgUEhNX1BsYXRmb3JtQ2Fwc19E aXNhYmxlUG93ZXJHYXRpbmcpOwotCi0JcGhtX2NhcF91bnNldChod21nci0+cGxhdGZvcm1fZGVz Y3JpcHRvci5wbGF0Zm9ybUNhcHMsIFBITV9QbGF0Zm9ybUNhcHNfRGlzYWJsZURQTSk7Ci0JcGht X2NhcF91bnNldChod21nci0+cGxhdGZvcm1fZGVzY3JpcHRvci5wbGF0Zm9ybUNhcHMsIFBITV9Q bGF0Zm9ybUNhcHNfRGlzYWJsZVNNVVVWREhhbmRzaGFrZSk7Ci0JcGhtX2NhcF91bnNldChod21n ci0+cGxhdGZvcm1fZGVzY3JpcHRvci5wbGF0Zm9ybUNhcHMsIFBITV9QbGF0Zm9ybUNhcHNfVGhl cm1hbEF1dG9UaHJvdHRsaW5nKTsKLQotCXBobV9jYXBfdW5zZXQoaHdtZ3ItPnBsYXRmb3JtX2Rl c2NyaXB0b3IucGxhdGZvcm1DYXBzLCBQSE1fUGxhdGZvcm1DYXBzX1BDSUVQZXJmb3JtYW5jZVJl cXVlc3QpOwotCi0JcGhtX2NhcF91bnNldChod21nci0+cGxhdGZvcm1fZGVzY3JpcHRvci5wbGF0 Zm9ybUNhcHMsIFBITV9QbGF0Zm9ybUNhcHNfTm9PRDVTdXBwb3J0KTsKLQlwaG1fY2FwX3Vuc2V0 KGh3bWdyLT5wbGF0Zm9ybV9kZXNjcmlwdG9yLnBsYXRmb3JtQ2FwcywgUEhNX1BsYXRmb3JtQ2Fw c19Vc2VyTWF4Q2xvY2tGb3JNdWx0aURpc3BsYXlzKTsKLQotCXBobV9jYXBfdW5zZXQoaHdtZ3It PnBsYXRmb3JtX2Rlc2NyaXB0b3IucGxhdGZvcm1DYXBzLCBQSE1fUGxhdGZvcm1DYXBzX1ZwdVJl Y292ZXJ5SW5Qcm9ncmVzcyk7Ci0KLQlwaG1fY2FwX3NldChod21nci0+cGxhdGZvcm1fZGVzY3Jp cHRvci5wbGF0Zm9ybUNhcHMsIFBITV9QbGF0Zm9ybUNhcHNfVVZERFBNKTsKLQlwaG1fY2FwX3Nl dChod21nci0+cGxhdGZvcm1fZGVzY3JpcHRvci5wbGF0Zm9ybUNhcHMsIFBITV9QbGF0Zm9ybUNh cHNfVkNFRFBNKTsKLQotCWlmIChhY3BpX2F0Y3NfZnVuY3Rpb25zX3N1cHBvcnRlZChod21nci0+ ZGV2aWNlLCBBVENTX0ZVTkNUSU9OX1BDSUVfUEVSRk9STUFOQ0VfUkVRVUVTVCkgJiYKLQkJYWNw aV9hdGNzX2Z1bmN0aW9uc19zdXBwb3J0ZWQoaHdtZ3ItPmRldmljZSwgQVRDU19GVU5DVElPTl9Q Q0lFX0RFVklDRV9SRUFEWV9OT1RJRklDQVRJT04pKQotCQlwaG1fY2FwX3NldChod21nci0+cGxh dGZvcm1fZGVzY3JpcHRvci5wbGF0Zm9ybUNhcHMsIFBITV9QbGF0Zm9ybUNhcHNfUENJRVBlcmZv cm1hbmNlUmVxdWVzdCk7Ci19Ci0KIGJvb2wgcGhtX2lzX2h3X2FjY2Vzc19ibG9ja2VkKHN0cnVj dCBwcF9od21nciAqaHdtZ3IpCiB7CiAJcmV0dXJuIGh3bWdyLT5ibG9ja19od19hY2Nlc3M7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9od21nci5jIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvaHdtZ3IuYwppbmRleCA5Nzk0ZjEw Li4xYWFjZGE3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21n ci9od21nci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL2h3bWdy LmMKQEAgLTMyLDYgKzMyLDggQEAKICNpbmNsdWRlICJwcF9kZWJ1Zy5oIgogI2luY2x1ZGUgInBw YXRvbWN0cmwuaCIKICNpbmNsdWRlICJwcHNtYy5oIgorI2luY2x1ZGUgInBwX2FjcGkuaCIKKyNp bmNsdWRlICJhbWRfYWNwaS5oIgogCiAjZGVmaW5lIFZPTFRBR0VfU0NBTEUgICAgICAgICAgICAg ICA0CiAKQEAgLTQxLDI0ICs0Myw4IEBAIGV4dGVybiBpbnQgZmlqaV9od21ncl9pbml0KHN0cnVj dCBwcF9od21nciAqaHdtZ3IpOwogZXh0ZXJuIGludCBwb2xhcmlzMTBfaHdtZ3JfaW5pdChzdHJ1 Y3QgcHBfaHdtZ3IgKmh3bWdyKTsKIGV4dGVybiBpbnQgaWNlbGFuZF9od21ncl9pbml0KHN0cnVj dCBwcF9od21nciAqaHdtZ3IpOwogCi1zdGF0aWMgaW50IGh3bWdyX3NldF9mZWF0dXJlc19wbGF0 Zm9ybV9jYXBzKHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCi17Ci0JaWYgKGFtZGdwdV9zY2xrX2Rl ZXBfc2xlZXBfZW4pCi0JCXBobV9jYXBfc2V0KGh3bWdyLT5wbGF0Zm9ybV9kZXNjcmlwdG9yLnBs YXRmb3JtQ2FwcywKLQkJCVBITV9QbGF0Zm9ybUNhcHNfU2Nsa0RlZXBTbGVlcCk7Ci0JZWxzZQot CQlwaG1fY2FwX3Vuc2V0KGh3bWdyLT5wbGF0Zm9ybV9kZXNjcmlwdG9yLnBsYXRmb3JtQ2FwcywK LQkJCVBITV9QbGF0Zm9ybUNhcHNfU2Nsa0RlZXBTbGVlcCk7Ci0KLQlpZiAoYW1kZ3B1X3Bvd2Vy Y29udGFpbm1lbnQpCi0JCXBobV9jYXBfc2V0KGh3bWdyLT5wbGF0Zm9ybV9kZXNjcmlwdG9yLnBs YXRmb3JtQ2FwcywKLQkJCSAgICBQSE1fUGxhdGZvcm1DYXBzX1Bvd2VyQ29udGFpbm1lbnQpOwot CWVsc2UKLQkJcGhtX2NhcF91bnNldChod21nci0+cGxhdGZvcm1fZGVzY3JpcHRvci5wbGF0Zm9y bUNhcHMsCi0JCQkgICAgUEhNX1BsYXRmb3JtQ2Fwc19Qb3dlckNvbnRhaW5tZW50KTsKLQotCXJl dHVybiAwOwotfQorc3RhdGljIHZvaWQgaHdtZ3JfaW5pdF9kZWZhdWx0X2NhcHMoc3RydWN0IHBw X2h3bWdyICpod21ncik7CitzdGF0aWMgaW50IGh3bWdyX3NldF91c2VyX3NwZWNpZnlfY2Fwcyhz dHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKTsKIAogaW50IGh3bWdyX2luaXQoc3RydWN0IGFtZF9wcF9p bml0ICpwcF9pbml0LCBzdHJ1Y3QgcHBfaW5zdGFuY2UgKmhhbmRsZSkKIHsKQEAgLTc5LDcgKzY1 LDggQEAgaW50IGh3bWdyX2luaXQoc3RydWN0IGFtZF9wcF9pbml0ICpwcF9pbml0LCBzdHJ1Y3Qg cHBfaW5zdGFuY2UgKmhhbmRsZSkKIAlod21nci0+dXNlY190aW1lb3V0ID0gQU1EX01BWF9VU0VD X1RJTUVPVVQ7CiAJaHdtZ3ItPnBvd2VyX3NvdXJjZSA9IFBQX1Bvd2VyU291cmNlX0FDOwogCi0J aHdtZ3Jfc2V0X2ZlYXR1cmVzX3BsYXRmb3JtX2NhcHMoaHdtZ3IpOworCWh3bWdyX2luaXRfZGVm YXVsdF9jYXBzKGh3bWdyKTsKKwlod21ncl9zZXRfdXNlcl9zcGVjaWZ5X2NhcHMoaHdtZ3IpOwog CiAJc3dpdGNoIChod21nci0+Y2hpcF9mYW1pbHkpIHsKIAljYXNlIEFNREdQVV9GQU1JTFlfQ1o6 CkBAIC0xMDgsOCArOTUsNiBAQCBpbnQgaHdtZ3JfaW5pdChzdHJ1Y3QgYW1kX3BwX2luaXQgKnBw X2luaXQsIHN0cnVjdCBwcF9pbnN0YW5jZSAqaGFuZGxlKQogCQlyZXR1cm4gLUVJTlZBTDsKIAl9 CiAKLQlwaG1faW5pdF9keW5hbWljX2NhcHMoaHdtZ3IpOwotCiAJcmV0dXJuIDA7CiB9CiAKQEAg LTIxNyw4ICsyMDIsNiBAQCBpbnQgcGhtX3dhaXRfb25fcmVnaXN0ZXIoc3RydWN0IHBwX2h3bWdy ICpod21nciwgdWludDMyX3QgaW5kZXgsCiB9CiAKIAotCi0KIC8qKgogICogUmV0dXJucyBvbmNl IHRoZSBwYXJ0IG9mIHRoZSByZWdpc3RlciBpbmRpY2F0ZWQgYnkgdGhlIG1hc2sgaGFzCiAgKiBy ZWFjaGVkIHRoZSBnaXZlbiB2YWx1ZS5UaGUgaW5kaXJlY3Qgc3BhY2UgaXMgZGVzY3JpYmVkIGJ5 IGdpdmluZwpAQCAtNjEzLDMgKzU5Niw4MyBAQCB2b2lkIHBobV9hcHBseV9kYWxfbWluX3ZvbHRh Z2VfcmVxdWVzdChzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQogCXByaW50ayhLRVJOX0VSUiAiREFM IHJlcXVlc3RlZCBsZXZlbCBjYW4gbm90IgogCQkJIiBmb3VuZCBhIGF2YWlsYWJsZSB2b2x0YWdl IGluIFZEREMgRFBNIFRhYmxlIFxuIik7CiB9CisKK3ZvaWQgaHdtZ3JfaW5pdF9kZWZhdWx0X2Nh cHMoc3RydWN0IHBwX2h3bWdyICpod21ncikKK3sKKwlwaG1fY2FwX3Vuc2V0KGh3bWdyLT5wbGF0 Zm9ybV9kZXNjcmlwdG9yLnBsYXRmb3JtQ2FwcywgUEhNX1BsYXRmb3JtQ2Fwc19EaXNhYmxlVm9s dGFnZVRyYW5zaXRpb24pOworCXBobV9jYXBfdW5zZXQoaHdtZ3ItPnBsYXRmb3JtX2Rlc2NyaXB0 b3IucGxhdGZvcm1DYXBzLCBQSE1fUGxhdGZvcm1DYXBzX0Rpc2FibGVFbmdpbmVUcmFuc2l0aW9u KTsKKwlwaG1fY2FwX3Vuc2V0KGh3bWdyLT5wbGF0Zm9ybV9kZXNjcmlwdG9yLnBsYXRmb3JtQ2Fw cywgUEhNX1BsYXRmb3JtQ2Fwc19EaXNhYmxlTWVtb3J5VHJhbnNpdGlvbik7CisJcGhtX2NhcF91 bnNldChod21nci0+cGxhdGZvcm1fZGVzY3JpcHRvci5wbGF0Zm9ybUNhcHMsIFBITV9QbGF0Zm9y bUNhcHNfRGlzYWJsZU1HQ2xvY2tHYXRpbmcpOworCXBobV9jYXBfdW5zZXQoaHdtZ3ItPnBsYXRm b3JtX2Rlc2NyaXB0b3IucGxhdGZvcm1DYXBzLCBQSE1fUGxhdGZvcm1DYXBzX0Rpc2FibGVNR0NH VFNTTSk7CisJcGhtX2NhcF91bnNldChod21nci0+cGxhdGZvcm1fZGVzY3JpcHRvci5wbGF0Zm9y bUNhcHMsIFBITV9QbGF0Zm9ybUNhcHNfRGlzYWJsZUxTQ2xvY2tHYXRpbmcpOworCXBobV9jYXBf dW5zZXQoaHdtZ3ItPnBsYXRmb3JtX2Rlc2NyaXB0b3IucGxhdGZvcm1DYXBzLCBQSE1fUGxhdGZv cm1DYXBzX0ZvcmNlM0RDbG9ja1N1cHBvcnQpOworCXBobV9jYXBfdW5zZXQoaHdtZ3ItPnBsYXRm b3JtX2Rlc2NyaXB0b3IucGxhdGZvcm1DYXBzLCBQSE1fUGxhdGZvcm1DYXBzX0Rpc2FibGVMaWdo dFNsZWVwKTsKKwlwaG1fY2FwX3Vuc2V0KGh3bWdyLT5wbGF0Zm9ybV9kZXNjcmlwdG9yLnBsYXRm b3JtQ2FwcywgUEhNX1BsYXRmb3JtQ2Fwc19EaXNhYmxlTUNMUyk7CisJcGhtX2NhcF9zZXQoaHdt Z3ItPnBsYXRmb3JtX2Rlc2NyaXB0b3IucGxhdGZvcm1DYXBzLCBQSE1fUGxhdGZvcm1DYXBzX0Rp c2FibGVQb3dlckdhdGluZyk7CisKKwlwaG1fY2FwX3Vuc2V0KGh3bWdyLT5wbGF0Zm9ybV9kZXNj cmlwdG9yLnBsYXRmb3JtQ2FwcywgUEhNX1BsYXRmb3JtQ2Fwc19EaXNhYmxlRFBNKTsKKwlwaG1f Y2FwX3Vuc2V0KGh3bWdyLT5wbGF0Zm9ybV9kZXNjcmlwdG9yLnBsYXRmb3JtQ2FwcywgUEhNX1Bs YXRmb3JtQ2Fwc19EaXNhYmxlU01VVVZESGFuZHNoYWtlKTsKKwlwaG1fY2FwX3Vuc2V0KGh3bWdy LT5wbGF0Zm9ybV9kZXNjcmlwdG9yLnBsYXRmb3JtQ2FwcywgUEhNX1BsYXRmb3JtQ2Fwc19UaGVy bWFsQXV0b1Rocm90dGxpbmcpOworCisJcGhtX2NhcF91bnNldChod21nci0+cGxhdGZvcm1fZGVz Y3JpcHRvci5wbGF0Zm9ybUNhcHMsIFBITV9QbGF0Zm9ybUNhcHNfUENJRVBlcmZvcm1hbmNlUmVx dWVzdCk7CisKKwlwaG1fY2FwX3Vuc2V0KGh3bWdyLT5wbGF0Zm9ybV9kZXNjcmlwdG9yLnBsYXRm b3JtQ2FwcywgUEhNX1BsYXRmb3JtQ2Fwc19Ob09ENVN1cHBvcnQpOworCXBobV9jYXBfdW5zZXQo aHdtZ3ItPnBsYXRmb3JtX2Rlc2NyaXB0b3IucGxhdGZvcm1DYXBzLCBQSE1fUGxhdGZvcm1DYXBz X1VzZXJNYXhDbG9ja0Zvck11bHRpRGlzcGxheXMpOworCisJcGhtX2NhcF91bnNldChod21nci0+ cGxhdGZvcm1fZGVzY3JpcHRvci5wbGF0Zm9ybUNhcHMsIFBITV9QbGF0Zm9ybUNhcHNfVnB1UmVj b3ZlcnlJblByb2dyZXNzKTsKKworCXBobV9jYXBfc2V0KGh3bWdyLT5wbGF0Zm9ybV9kZXNjcmlw dG9yLnBsYXRmb3JtQ2FwcywgUEhNX1BsYXRmb3JtQ2Fwc19VVkREUE0pOworCXBobV9jYXBfc2V0 KGh3bWdyLT5wbGF0Zm9ybV9kZXNjcmlwdG9yLnBsYXRmb3JtQ2FwcywgUEhNX1BsYXRmb3JtQ2Fw c19WQ0VEUE0pOworCisJaWYgKGFjcGlfYXRjc19mdW5jdGlvbnNfc3VwcG9ydGVkKGh3bWdyLT5k ZXZpY2UsIEFUQ1NfRlVOQ1RJT05fUENJRV9QRVJGT1JNQU5DRV9SRVFVRVNUKSAmJgorCQlhY3Bp X2F0Y3NfZnVuY3Rpb25zX3N1cHBvcnRlZChod21nci0+ZGV2aWNlLCBBVENTX0ZVTkNUSU9OX1BD SUVfREVWSUNFX1JFQURZX05PVElGSUNBVElPTikpCisJCXBobV9jYXBfc2V0KGh3bWdyLT5wbGF0 Zm9ybV9kZXNjcmlwdG9yLnBsYXRmb3JtQ2FwcywgUEhNX1BsYXRmb3JtQ2Fwc19QQ0lFUGVyZm9y bWFuY2VSZXF1ZXN0KTsKKworCXBobV9jYXBfc2V0KGh3bWdyLT5wbGF0Zm9ybV9kZXNjcmlwdG9y LnBsYXRmb3JtQ2FwcywKKwkJUEhNX1BsYXRmb3JtQ2Fwc19EeW5hbWljUGF0Y2hQb3dlclN0YXRl KTsKKworCXBobV9jYXBfc2V0KGh3bWdyLT5wbGF0Zm9ybV9kZXNjcmlwdG9yLnBsYXRmb3JtQ2Fw cywKKwkJCSBQSE1fUGxhdGZvcm1DYXBzX1RhYmxlbGVzc0hhcmR3YXJlSW50ZXJmYWNlKTsKKwor CXBobV9jYXBfc2V0KGh3bWdyLT5wbGF0Zm9ybV9kZXNjcmlwdG9yLnBsYXRmb3JtQ2FwcywKKwkJ UEhNX1BsYXRmb3JtQ2Fwc19FbmFibGVTTVU3VGhlcm1hbE1hbmFnZW1lbnQpOworCisJcGhtX2Nh cF9zZXQoaHdtZ3ItPnBsYXRmb3JtX2Rlc2NyaXB0b3IucGxhdGZvcm1DYXBzLAorCQkJUEhNX1Bs YXRmb3JtQ2Fwc19EeW5hbWljUG93ZXJNYW5hZ2VtZW50KTsKKworCXBobV9jYXBfc2V0KGh3bWdy LT5wbGF0Zm9ybV9kZXNjcmlwdG9yLnBsYXRmb3JtQ2FwcywKKwkJCVBITV9QbGF0Zm9ybUNhcHNf VW5UYWJsZWRIYXJkd2FyZUludGVyZmFjZSk7CisKKwlwaG1fY2FwX3NldChod21nci0+cGxhdGZv cm1fZGVzY3JpcHRvci5wbGF0Zm9ybUNhcHMsCisJCQkJCVBITV9QbGF0Zm9ybUNhcHNfU01DKTsK KworCXBobV9jYXBfc2V0KGh3bWdyLT5wbGF0Zm9ybV9kZXNjcmlwdG9yLnBsYXRmb3JtQ2FwcywK KwkJCQkJUEhNX1BsYXRmb3JtQ2Fwc19EeW5hbWljVVZEU3RhdGUpOworCisJcGhtX2NhcF9zZXQo aHdtZ3ItPnBsYXRmb3JtX2Rlc2NyaXB0b3IucGxhdGZvcm1DYXBzLAorCQkJCQkJUEhNX1BsYXRm b3JtQ2Fwc19GYW5TcGVlZEluVGFibGVJc1JQTSk7CisKKwlyZXR1cm47Cit9CisKK2ludCBod21n cl9zZXRfdXNlcl9zcGVjaWZ5X2NhcHMoc3RydWN0IHBwX2h3bWdyICpod21ncikKK3sKKwlpZiAo YW1kZ3B1X3NjbGtfZGVlcF9zbGVlcF9lbikKKwkJcGhtX2NhcF9zZXQoaHdtZ3ItPnBsYXRmb3Jt X2Rlc2NyaXB0b3IucGxhdGZvcm1DYXBzLAorCQkJUEhNX1BsYXRmb3JtQ2Fwc19TY2xrRGVlcFNs ZWVwKTsKKwllbHNlCisJCXBobV9jYXBfdW5zZXQoaHdtZ3ItPnBsYXRmb3JtX2Rlc2NyaXB0b3Iu cGxhdGZvcm1DYXBzLAorCQkJUEhNX1BsYXRmb3JtQ2Fwc19TY2xrRGVlcFNsZWVwKTsKKworCWlm IChhbWRncHVfcG93ZXJjb250YWlubWVudCkKKwkJcGhtX2NhcF9zZXQoaHdtZ3ItPnBsYXRmb3Jt X2Rlc2NyaXB0b3IucGxhdGZvcm1DYXBzLAorCQkJICAgIFBITV9QbGF0Zm9ybUNhcHNfUG93ZXJD b250YWlubWVudCk7CisJZWxzZQorCQlwaG1fY2FwX3Vuc2V0KGh3bWdyLT5wbGF0Zm9ybV9kZXNj cmlwdG9yLnBsYXRmb3JtQ2FwcywKKwkJCSAgICBQSE1fUGxhdGZvcm1DYXBzX1Bvd2VyQ29udGFp bm1lbnQpOworCisJaHdtZ3ItPmZlYXR1cmVfbWFzayA9IGFtZGdwdV9wcF9mZWF0dXJlX21hc2s7 CisKKwlyZXR1cm4gMDsKK30KKwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dl cnBsYXkvaW5jL2hhcmR3YXJlbWFuYWdlci5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBs YXkvaW5jL2hhcmR3YXJlbWFuYWdlci5oCmluZGV4IDk2MmNiNTMuLmQ0NDk1ODMgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2luYy9oYXJkd2FyZW1hbmFnZXIuaAor KysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9pbmMvaGFyZHdhcmVtYW5hZ2VyLmgK QEAgLTM0MSw3ICszNDEsNiBAQCBleHRlcm4gaW50IHBobV9wb3dlcmRvd25fdXZkKHN0cnVjdCBw cF9od21nciAqaHdtZ3IpOwogZXh0ZXJuIGludCBwaG1fc2V0dXBfYXNpYyhzdHJ1Y3QgcHBfaHdt Z3IgKmh3bWdyKTsKIGV4dGVybiBpbnQgcGhtX2VuYWJsZV9keW5hbWljX3N0YXRlX21hbmFnZW1l bnQoc3RydWN0IHBwX2h3bWdyICpod21ncik7CiBleHRlcm4gaW50IHBobV9kaXNhYmxlX2R5bmFt aWNfc3RhdGVfbWFuYWdlbWVudChzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKTsKLWV4dGVybiB2b2lk IHBobV9pbml0X2R5bmFtaWNfY2FwcyhzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKTsKIGV4dGVybiBi b29sIHBobV9pc19od19hY2Nlc3NfYmxvY2tlZChzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKTsKIGV4 dGVybiBpbnQgcGhtX2Jsb2NrX2h3X2FjY2VzcyhzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLCBib29s IGJsb2NrKTsKIGV4dGVybiBpbnQgcGhtX3NldF9wb3dlcl9zdGF0ZShzdHJ1Y3QgcHBfaHdtZ3Ig Kmh3bWdyLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2h3 bWdyLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9pbmMvaHdtZ3IuaAppbmRleCBh NGQ0OTBhLi4yYTA2MGY2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxh eS9pbmMvaHdtZ3IuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9pbmMvaHdt Z3IuaApAQCAtNDAsNiArNDAsNyBAQCBzdHJ1Y3QgcHBfYXRvbWN0cmxfdm9sdGFnZV90YWJsZTsK IAogZXh0ZXJuIGludCBhbWRncHVfcG93ZXJjb250YWlubWVudDsKIGV4dGVybiBpbnQgYW1kZ3B1 X3NjbGtfZGVlcF9zbGVlcF9lbjsKK2V4dGVybiB1bnNpZ25lZCBhbWRncHVfcHBfZmVhdHVyZV9t YXNrOwogCiBlbnVtIERJU1BMQVlfR0FQIHsKIAlESVNQTEFZX0dBUF9WQkxBTktfT1JfV00gPSAw LCAgIC8qIFdhaXQgZm9yIHZibGFuayBvciBNQ0hHIHdhdGVybWFyay4gKi8KLS0gCjEuOS4xCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1h aWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK