From mboxrd@z Thu Jan 1 00:00:00 1970 From: Huang Rui Subject: [PATCH 112/138] drm/amd/powerplay: implement power_dpm_state sys interface for SMU11 Date: Fri, 25 Jan 2019 18:25:19 +0800 Message-ID: <1548411945-12396-113-git-send-email-ray.huang@amd.com> References: <1548411945-12396-1-git-send-email-ray.huang@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1548411945-12396-1-git-send-email-ray.huang-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: Likun Gao , Kevin Wang , Chengming Gui RnJvbTogQ2hlbmdtaW5nIEd1aSA8SmFjay5HdWlAYW1kLmNvbT4KCkFkZCBmdW5jdGlvbnMgdG8g Z2V0L3NldCBkcG0gc3RhdGUgZm9yIFNNVTExLgoKU2lnbmVkLW9mZi1ieTogQ2hlbmdtaW5nIEd1 aSA8SmFjay5HdWlAYW1kLmNvbT4KQWNrZWQtYnk6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRl dWNoZXJAYW1kLmNvbT4KQWNrZWQtYnk6IEtldmluIFdhbmcgPGtldmluLndhbmdAYW1kLmNvbT4K UmV2aWV3ZC1ieTogRXZhbiBRdWFuIDxldmFuLnF1YW5AYW1kLmNvbT4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHBtLmggICAgICAgIHwgICA2ICsrCiBkcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcG0uYyAgICAgICAgIHwgICA0ICstCiBkcml2ZXJzL2dw dS9kcm0vYW1kL3Bvd2VycGxheS9pbmMvYW1kZ3B1X3NtdS5oIHwgMTE2ICsrKysrKysrKysrKysr KysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3NtdV92MTFfMC5jICAg ICAgfCAgIDQgKwogZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvdmVnYTIwX3BwdC5jICAg ICB8ICA0NiArKysrKysrKysrCiA1IGZpbGVzIGNoYW5nZWQsIDE3NSBpbnNlcnRpb25zKCspLCAx IGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X2RwbS5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RwbS5oCmluZGV4 IGM4NzRlMzAuLjJlMGRkNGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9kcG0uaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHBt LmgKQEAgLTI5MCw2ICsyOTAsMTIgQEAgZW51bSBhbWRncHVfcGNpZV9nZW4gewogI2RlZmluZSBh bWRncHVfZHBtX2dldF9jdXJyZW50X3Bvd2VyX3N0YXRlKGFkZXYpIFwKIAkJKChhZGV2KS0+cG93 ZXJwbGF5LnBwX2Z1bmNzLT5nZXRfY3VycmVudF9wb3dlcl9zdGF0ZSgoYWRldiktPnBvd2VycGxh eS5wcF9oYW5kbGUpKQogCisjZGVmaW5lIGFtZGdwdV9zbXVfZ2V0X2N1cnJlbnRfcG93ZXJfc3Rh dGUoYWRldikgXAorCQkoKGFkZXYpLT5zbXUucHB0X2Z1bmNzLT5nZXRfY3VycmVudF9wb3dlcl9z dGF0ZSgmKChhZGV2KS0+c211KSkpCisKKyNkZWZpbmUgYW1kZ3B1X3NtdV9zZXRfcG93ZXJfc3Rh dGUoYWRldikgXAorCQkoKGFkZXYpLT5zbXUucHB0X2Z1bmNzLT5zZXRfcG93ZXJfc3RhdGUoJigo YWRldiktPnNtdSkpKQorCiAjZGVmaW5lIGFtZGdwdV9kcG1fZ2V0X3BwX251bV9zdGF0ZXMoYWRl diwgZGF0YSkgXAogCQkoKGFkZXYpLT5wb3dlcnBsYXkucHBfZnVuY3MtPmdldF9wcF9udW1fc3Rh dGVzKChhZGV2KS0+cG93ZXJwbGF5LnBwX2hhbmRsZSwgZGF0YSkpCiAKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X3BtLmMKaW5kZXggYzRjMjM4My4uZDc0ODI1NiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3BtLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3BtLmMKQEAgLTE0NCw3ICsxNDQsOSBAQCBzdGF0aWMgc3Np emVfdCBhbWRncHVfZ2V0X2RwbV9zdGF0ZShzdHJ1Y3QgZGV2aWNlICpkZXYsCiAJc3RydWN0IGFt ZGdwdV9kZXZpY2UgKmFkZXYgPSBkZGV2LT5kZXZfcHJpdmF0ZTsKIAllbnVtIGFtZF9wbV9zdGF0 ZV90eXBlIHBtOwogCi0JaWYgKGFkZXYtPnBvd2VycGxheS5wcF9mdW5jcy0+Z2V0X2N1cnJlbnRf cG93ZXJfc3RhdGUpCisJaWYgKGFkZXYtPnNtdS5wcHRfZnVuY3MtPmdldF9jdXJyZW50X3Bvd2Vy X3N0YXRlKQorCQlwbSA9IGFtZGdwdV9zbXVfZ2V0X2N1cnJlbnRfcG93ZXJfc3RhdGUoYWRldik7 CisJZWxzZSBpZiAoYWRldi0+cG93ZXJwbGF5LnBwX2Z1bmNzLT5nZXRfY3VycmVudF9wb3dlcl9z dGF0ZSkKIAkJcG0gPSBhbWRncHVfZHBtX2dldF9jdXJyZW50X3Bvd2VyX3N0YXRlKGFkZXYpOwog CWVsc2UKIAkJcG0gPSBhZGV2LT5wbS5kcG0udXNlcl9zdGF0ZTsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2luYy9hbWRncHVfc211LmggYi9kcml2ZXJzL2dwdS9k cm0vYW1kL3Bvd2VycGxheS9pbmMvYW1kZ3B1X3NtdS5oCmluZGV4IDcxYjI3MDMuLjBiMDRiYjIg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2luYy9hbWRncHVfc211 LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2FtZGdwdV9zbXUuaApA QCAtMjYsNiArMjYsMTE4IEBACiAjaW5jbHVkZSAia2dkX3BwX2ludGVyZmFjZS5oIgogI2luY2x1 ZGUgImRtX3BwX2ludGVyZmFjZS5oIgogCitzdHJ1Y3Qgc211X2h3X3Bvd2VyX3N0YXRlIHsKKwl1 bnNpZ25lZCBpbnQgbWFnaWM7Cit9OworCitzdHJ1Y3Qgc211X3Bvd2VyX3N0YXRlOworCitlbnVt IHNtdV9zdGF0ZV91aV9sYWJlbCB7CisJU01VX1NUQVRFX1VJX0xBQkVMX05PTkUsCisJU01VX1NU QVRFX1VJX0xBQkVMX0JBVFRFUlksCisJU01VX1NUQVRFX1VJX1RBQkVMX01JRERMRV9MT1csCisJ U01VX1NUQVRFX1VJX0xBQkVMX0JBTExBTkNFRCwKKwlTTVVfU1RBVEVfVUlfTEFCRUxfTUlERExF X0hJR0hULAorCVNNVV9TVEFURV9VSV9MQUJFTF9QRVJGT1JNQU5DRSwKKwlTTVVfU1RBVEVfVUlf TEFCRUxfQkFDTywKK307CisKK2VudW0gc211X3N0YXRlX2NsYXNzaWZpY2F0aW9uX2ZsYWcgewor CVNNVV9TVEFURV9DTEFTU0lGSUNBVElPTl9GTEFHX0JPT1QgICAgICAgICAgICAgICAgICAgICA9 IDB4MDAwMSwKKwlTTVVfU1RBVEVfQ0xBU1NJRklDQVRJT05fRkxBR19USEVSTUFMICAgICAgICAg ICAgICAgICAgPSAweDAwMDIsCisJU01VX1NUQVRFX0NMQVNTSUZJQ0FUSU5fRkxBR19MSU1JVEVE X1BPV0VSX1NPVVJDRSAgICAgID0gMHgwMDA0LAorCVNNVV9TVEFURV9DTEFTU0lGSUNBVElPTl9G TEFHX1JFU0VUICAgICAgICAgICAgICAgICAgICA9IDB4MDAwOCwKKwlTTVVfU1RBVEVfQ0xBU1NJ RklDQVRJT05fRkxBR19GT1JDRUQgICAgICAgICAgICAgICAgICAgPSAweDAwMTAsCisJU01VX1NU QVRFX0NMQVNTSUZJQ0FUSU9OX0ZMQUdfVVNFUl8zRF9QRVJGT1JNQU5DRSAgICAgID0gMHgwMDIw LAorCVNNVV9TVEFURV9DTEFTU0lGSUNBVElPTl9GTEFHX1VTRVJfMkRfUEVSRk9STUFOQ0UgICAg ICA9IDB4MDA0MCwKKwlTTVVfU1RBVEVfQ0xBU1NJRklDQVRJT05fRkxBR18zRF9QRVJGT1JNQU5D RSAgICAgICAgICAgPSAweDAwODAsCisJU01VX1NUQVRFX0NMQVNTSUZJQ0FUSU9OX0ZMQUdfQUNf T1ZFUkRJUlZFUl9URU1QTEFURSAgID0gMHgwMTAwLAorCVNNVV9TVEFURV9DTEFTU0lGSUNBVElP Tl9GTEFHX1VWRCAgICAgICAgICAgICAgICAgICAgICA9IDB4MDIwMCwKKwlTTVVfU1RBVEVfQ0xB U1NJRklDQVRJT05fRkxBR18zRF9QRVJGT1JNQU5DRV9MT1cgICAgICAgPSAweDA0MDAsCisJU01V X1NUQVRFX0NMQVNTSUZJQ0FUSU9OX0ZMQUdfQUNQSSAgICAgICAgICAgICAgICAgICAgID0gMHgw ODAwLAorCVNNVV9TVEFURV9DTEFTU0lGSUNBVElPTl9GTEFHX0hEMiAgICAgICAgICAgICAgICAg ICAgICA9IDB4MTAwMCwKKwlTTVVfU1RBVEVfQ0xBU1NJRklDQVRJT05fRkxBR19VVkRfSEQgICAg ICAgICAgICAgICAgICAgPSAweDIwMDAsCisJU01VX1NUQVRFX0NMQVNTSUZJQ0FUSU9OX0ZMQUdf VVZEX1NEICAgICAgICAgICAgICAgICAgID0gMHg0MDAwLAorCVNNVV9TVEFURV9DTEFTU0lGSUNB VElPTl9GTEFHX1VTRVJfRENfUEVSRk9STUFOQ0UgICAgICA9IDB4ODAwMCwKKwlTTVVfU1RBVEVf Q0xBU1NJRklDQVRJT05fRkxBR19EQ19PVkVSRElSVkVSX1RFTVBMQVRFICAgPSAweDEwMDAwLAor CVNNVV9TVEFURV9DTEFTU0lGSUNBVElPTl9GTEFHX0JBQ08gICAgICAgICAgICAgICAgICAgICA9 IDB4MjAwMDAsCisJU01VX1NUQVRFX0NMQVNTSUZJQ0FUSU5fRkxBR19MSU1JVEVEX1BPV0VSX1NP VVJDRTIgICAgICA9IDB4NDAwMDAsCisJU01VX1NUQVRFX0NMQVNTSUZJQ0FUSU9OX0ZMQUdfVUxW ICAgICAgICAgICAgICAgICAgICAgID0gMHg4MDAwMCwKKwlTTVVfU1RBVEVfQ0xBU1NJRklDQVRJ T05fRkxBR19VVkRfTVZDICAgICAgICAgICAgICAgICAgPSAweDEwMDAwMCwKK307CisKK3N0cnVj dCBzbXVfc3RhdGVfY2xhc3NpZmljYXRpb25fYmxvY2sgeworCWVudW0gc211X3N0YXRlX3VpX2xh YmVsICAgICAgICAgdWlfbGFiZWw7CisJZW51bSBzbXVfc3RhdGVfY2xhc3NpZmljYXRpb25fZmxh ZyAgZmxhZ3M7CisJaW50ICAgICAgICAgICAgICAgICAgICAgICAgICBiaW9zX2luZGV4OworCWJv b2wgICAgICAgICAgICAgICAgICAgICAgdGVtcG9yYXJ5X3N0YXRlOworCWJvb2wgICAgICAgICAg ICAgICAgICAgICAgdG9fYmVfZGVsZXRlZDsKK307CisKK3N0cnVjdCBzbXVfc3RhdGVfcGNpZV9i bG9jayB7CisJdW5zaWduZWQgaW50IGxhbmVzOworfTsKKworZW51bSBzbXVfcmVmcmVzaHJhdGVf c291cmNlIHsKKwlTTVVfUkVGUkVTSFJBVEVfU09VUkNFX0VESUQsCisJU01VX1JFRlJFU0hSQVRF X1NPVVJDRV9FWFBMSUNJVAorfTsKKworc3RydWN0IHNtdV9zdGF0ZV9kaXNwbGF5X2Jsb2NrIHsK Kwlib29sICAgICAgICAgICAgICBkaXNhYmxlX2ZyYW1lX21vZHVsYXRpb247CisJYm9vbCAgICAg ICAgICAgICAgbGltaXRfcmVmcmVzaHJhdGU7CisJZW51bSBzbXVfcmVmcmVzaHJhdGVfc291cmNl IHJlZnJlc2hyYXRlX3NvdXJjZTsKKwlpbnQgICAgICAgICAgICAgICAgICBleHBsaWNpdF9yZWZy ZXNocmF0ZTsKKwlpbnQgICAgICAgICAgICAgICAgICBlZGlkX3JlZnJlc2hyYXRlX2luZGV4Owor CWJvb2wgICAgICAgICAgICAgIGVuYWJsZV92YXJpX2JyaWdodDsKK307CisKK3N0cnVjdCBzbXVf c3RhdGVfbWVtcm95X2Jsb2NrIHsKKwlib29sICAgICAgICAgICAgICBkbGxfb2ZmOworCXVpbnQ4 X3QgICAgICAgICAgICAgICAgIG0zYXJiOworCXVpbnQ4X3QgICAgICAgICAgICAgICAgIHVudXNl ZFszXTsKK307CisKK3N0cnVjdCBzbXVfc3RhdGVfc29mdHdhcmVfYWxnb3JpdGhtX2Jsb2NrIHsK Kwlib29sIGRpc2FibGVfbG9hZF9iYWxhbmNpbmc7CisJYm9vbCBlbmFibGVfc2xlZXBfZm9yX3Rp bWVzdGFtcHM7Cit9OworCitzdHJ1Y3Qgc211X3RlbXBlcmF0dXJlX3JhbmdlIHsKKwlpbnQgbWlu OworCWludCBtYXg7Cit9OworCitzdHJ1Y3Qgc211X3N0YXRlX3ZhbGlkYXRpb25fYmxvY2sgewor CWJvb2wgc2luZ2xlX2Rpc3BsYXlfb25seTsKKwlib29sIGRpc2FsbG93X29uX2RjOworCXVpbnQ4 X3Qgc3VwcG9ydGVkX3Bvd2VyX2xldmVsczsKK307CisKK3N0cnVjdCBzbXVfdXZkX2Nsb2NrcyB7 CisJdWludDMyX3QgdmNsazsKKwl1aW50MzJfdCBkY2xrOworfTsKKworLyoqCisqIFN0cnVjdHVy ZSB0byBob2xkIGEgU01VIFBvd2VyIFN0YXRlLgorKi8KK3N0cnVjdCBzbXVfcG93ZXJfc3RhdGUg eworCXVpbnQzMl90ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDsKKwlz dHJ1Y3QgbGlzdF9oZWFkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXJlZF9saXN0 OworCXN0cnVjdCBsaXN0X2hlYWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxfc3Rh dGVzX2xpc3Q7CisKKwlzdHJ1Y3Qgc211X3N0YXRlX2NsYXNzaWZpY2F0aW9uX2Jsb2NrICAgICAg ICAgY2xhc3NpZmljYXRpb247CisJc3RydWN0IHNtdV9zdGF0ZV92YWxpZGF0aW9uX2Jsb2NrICAg ICAgICAgICAgIHZhbGlkYXRpb247CisJc3RydWN0IHNtdV9zdGF0ZV9wY2llX2Jsb2NrICAgICAg ICAgICAgICAgICAgIHBjaWU7CisJc3RydWN0IHNtdV9zdGF0ZV9kaXNwbGF5X2Jsb2NrICAgICAg ICAgICAgICAgIGRpc3BsYXk7CisJc3RydWN0IHNtdV9zdGF0ZV9tZW1yb3lfYmxvY2sgICAgICAg ICAgICAgICAgIG1lbW9yeTsKKwlzdHJ1Y3Qgc211X3RlbXBlcmF0dXJlX3JhbmdlICAgICAgICAg ICAgICAgICAgdGVtcGVyYXR1cmVzOworCXN0cnVjdCBzbXVfc3RhdGVfc29mdHdhcmVfYWxnb3Jp dGhtX2Jsb2NrICAgICBzb2Z0d2FyZTsKKwlzdHJ1Y3Qgc211X3V2ZF9jbG9ja3MgICAgICAgICAg ICAgICAgICAgICAgICAgdXZkX2Nsb2NrczsKKwlzdHJ1Y3Qgc211X2h3X3Bvd2VyX3N0YXRlICAg ICAgICAgICAgICAgICAgICAgaGFyZHdhcmU7Cit9OworCiBlbnVtIHNtdV9tZXNzYWdlX3R5cGUK IHsKIAlTTVVfTVNHX1Rlc3RNZXNzYWdlID0gMCwKQEAgLTIwNCw2ICszMTYsOCBAQCBzdHJ1Y3Qg c211X2RwbV9jb250ZXh0IHsKIAl1aW50MzJfdCBkcG1fY29udGV4dF9zaXplOwogCXZvaWQgKmRw bV9jb250ZXh0OwogCXZvaWQgKmdvbGRlbl9kcG1fY29udGV4dDsKKwlzdHJ1Y3Qgc211X3Bvd2Vy X3N0YXRlICpkcG1fcmVxdWVzdF9wb3dlcl9zdGF0ZTsKKwlzdHJ1Y3Qgc211X3Bvd2VyX3N0YXRl ICpkcG1fY3VycmVudF9wb3dlcl9zdGF0ZTsKIH07CiAKIHN0cnVjdCBzbXVfcG93ZXJfY29udGV4 dCB7CkBAIC0yNTcsNyArMzcxLDkgQEAgc3RydWN0IHBwdGFibGVfZnVuY3MgewogCWludCAoKmdl dF9zbXVfbXNnX2luZGV4KShzdHJ1Y3Qgc211X2NvbnRleHQgKnNtdSwgdWludDMyX3QgaW5kZXgp OwogCWludCAoKnJ1bl9hZmxsX2J0Yykoc3RydWN0IHNtdV9jb250ZXh0ICpzbXUpOwogCWludCAo KmdldF91bmFsbG93ZWRfZmVhdHVyZV9tYXNrKShzdHJ1Y3Qgc211X2NvbnRleHQgKnNtdSwgdWlu dDMyX3QgKmZlYXR1cmVfbWFzaywgdWludDMyX3QgbnVtKTsKKwllbnVtIGFtZF9wbV9zdGF0ZV90 eXBlICgqZ2V0X2N1cnJlbnRfcG93ZXJfc3RhdGUpKHN0cnVjdCBzbXVfY29udGV4dCAqc211KTsK IAlpbnQgKCpzZXRfZGVmYXVsdF9kcG1fdGFibGUpKHN0cnVjdCBzbXVfY29udGV4dCAqc211KTsK KwlpbnQgKCpzZXRfcG93ZXJfc3RhdGUpKHN0cnVjdCBzbXVfY29udGV4dCAqc211KTsKIAlpbnQg KCpwb3B1bGF0ZV91bWRfc3RhdGVfY2xrKShzdHJ1Y3Qgc211X2NvbnRleHQgKnNtdSk7CiAJaW50 ICgqcHJpbnRfY2xrX2xldmVscykoc3RydWN0IHNtdV9jb250ZXh0ICpzbXUsIGVudW0gcHBfY2xv Y2tfdHlwZSB0eXBlLCBjaGFyICpidWYpOwogCWludCAoKmZvcmNlX2Nsa19sZXZlbHMpKHN0cnVj dCBzbXVfY29udGV4dCAqc211LCBlbnVtIHBwX2Nsb2NrX3R5cGUgdHlwZSwgdWludDMyX3QgbWFz ayk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9zbXVfdjExXzAu YyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3NtdV92MTFfMC5jCmluZGV4IDNjNGMz MjdlLi41NDIyOTJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9z bXVfdjExXzAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9zbXVfdjExXzAu YwpAQCAtMjcyLDggKzI3MiwxMiBAQCBzdGF0aWMgaW50IHNtdV92MTFfMF9maW5pX2RwbV9jb250 ZXh0KHN0cnVjdCBzbXVfY29udGV4dCAqc211KQogCQlyZXR1cm4gLUVJTlZBTDsKIAogCWtmcmVl KHNtdV9kcG0tPmRwbV9jb250ZXh0KTsKKwlrZnJlZShzbXVfZHBtLT5kcG1fY3VycmVudF9wb3dl cl9zdGF0ZSk7CisJa2ZyZWUoc211X2RwbS0+ZHBtX3JlcXVlc3RfcG93ZXJfc3RhdGUpOwogCXNt dV9kcG0tPmRwbV9jb250ZXh0ID0gTlVMTDsKIAlzbXVfZHBtLT5kcG1fY29udGV4dF9zaXplID0g MDsKKwlzbXVfZHBtLT5kcG1fY3VycmVudF9wb3dlcl9zdGF0ZSA9IE5VTEw7CisJc211X2RwbS0+ ZHBtX3JlcXVlc3RfcG93ZXJfc3RhdGUgPSBOVUxMOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS92ZWdhMjBfcHB0LmMgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL3Bvd2VycGxheS92ZWdhMjBfcHB0LmMKaW5kZXggYjlmNGU3Yi4uMDRmZjU2 MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvdmVnYTIwX3BwdC5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3ZlZ2EyMF9wcHQuYwpAQCAtMzEs NiArMzEsNyBAQAogI2luY2x1ZGUgInNtdTExX2RyaXZlcl9pZi5oIgogI2luY2x1ZGUgInNvYzE1 X2NvbW1vbi5oIgogI2luY2x1ZGUgImF0b20uaCIKKyNpbmNsdWRlICJwb3dlcl9zdGF0ZS5oIgog I2luY2x1ZGUgInZlZ2EyMF9wcHQuaCIKICNpbmNsdWRlICJ2ZWdhMjBfcHB0YWJsZS5oIgogI2lu Y2x1ZGUgInZlZ2EyMF9wcHNtYy5oIgpAQCAtMTU0LDYgKzE1NSwxNiBAQCBzdGF0aWMgaW50IHZl Z2EyMF9hbGxvY2F0ZV9kcG1fY29udGV4dChzdHJ1Y3Qgc211X2NvbnRleHQgKnNtdSkKIAogCXNt dV9kcG0tPmRwbV9jb250ZXh0X3NpemUgPSBzaXplb2Yoc3RydWN0IHZlZ2EyMF9kcG1fdGFibGUp OwogCisJc211X2RwbS0+ZHBtX2N1cnJlbnRfcG93ZXJfc3RhdGUgPSBremFsbG9jKHNpemVvZihz dHJ1Y3Qgc211X3Bvd2VyX3N0YXRlKSwKKwkJCQkgICAgICAgR0ZQX0tFUk5FTCk7CisJaWYgKCFz bXVfZHBtLT5kcG1fY3VycmVudF9wb3dlcl9zdGF0ZSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlz bXVfZHBtLT5kcG1fcmVxdWVzdF9wb3dlcl9zdGF0ZSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBz bXVfcG93ZXJfc3RhdGUpLAorCQkJCSAgICAgICBHRlBfS0VSTkVMKTsKKwlpZiAoIXNtdV9kcG0t PmRwbV9yZXF1ZXN0X3Bvd2VyX3N0YXRlKQorCQlyZXR1cm4gLUVOT01FTTsKKwogCXJldHVybiAw OwogfQogCkBAIC0zODksNiArNDAwLDM5IEBAIHZlZ2EyMF9nZXRfdW5hbGxvd2VkX2ZlYXR1cmVf bWFzayhzdHJ1Y3Qgc211X2NvbnRleHQgKnNtdSwKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGVu dW0KK2FtZF9wbV9zdGF0ZV90eXBlIHZlZ2EyMF9nZXRfY3VycmVudF9wb3dlcl9zdGF0ZShzdHJ1 Y3Qgc211X2NvbnRleHQgKnNtdSkKK3sKKwllbnVtIGFtZF9wbV9zdGF0ZV90eXBlIHBtX3R5cGU7 CisJc3RydWN0IHNtdV9kcG1fY29udGV4dCAqc211X2RwbV9jdHggPSAmKHNtdS0+c211X2RwbSk7 CisKKwlpZiAoIXNtdV9kcG1fY3R4LT5kcG1fY29udGV4dCB8fAorCSAgICAhc211X2RwbV9jdHgt PmRwbV9jdXJyZW50X3Bvd2VyX3N0YXRlKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCW11dGV4X2xv Y2soJihzbXUtPm11dGV4KSk7CisJc3dpdGNoIChzbXVfZHBtX2N0eC0+ZHBtX2N1cnJlbnRfcG93 ZXJfc3RhdGUtPmNsYXNzaWZpY2F0aW9uLnVpX2xhYmVsKSB7CisJY2FzZSBTTVVfU1RBVEVfVUlf TEFCRUxfQkFUVEVSWToKKwkJcG1fdHlwZSA9IFBPV0VSX1NUQVRFX1RZUEVfQkFUVEVSWTsKKwkJ YnJlYWs7CisJY2FzZSBTTVVfU1RBVEVfVUlfTEFCRUxfQkFMTEFOQ0VEOgorCQlwbV90eXBlID0g UE9XRVJfU1RBVEVfVFlQRV9CQUxBTkNFRDsKKwkJYnJlYWs7CisJY2FzZSBTTVVfU1RBVEVfVUlf TEFCRUxfUEVSRk9STUFOQ0U6CisJCXBtX3R5cGUgPSBQT1dFUl9TVEFURV9UWVBFX1BFUkZPUk1B TkNFOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlpZiAoc211X2RwbV9jdHgtPmRwbV9jdXJyZW50 X3Bvd2VyX3N0YXRlLT5jbGFzc2lmaWNhdGlvbi5mbGFncyAmIFNNVV9TVEFURV9DTEFTU0lGSUNB VElPTl9GTEFHX0JPT1QpCisJCQlwbV90eXBlID0gUE9XRVJfU1RBVEVfVFlQRV9JTlRFUk5BTF9C T09UOworCQllbHNlCisJCQlwbV90eXBlID0gUE9XRVJfU1RBVEVfVFlQRV9ERUZBVUxUOworCQli cmVhazsKKwl9CisJbXV0ZXhfdW5sb2NrKCYoc211LT5tdXRleCkpOworCisJcmV0dXJuIHBtX3R5 cGU7Cit9CisKIHN0YXRpYyBpbnQKIHZlZ2EyMF9zZXRfc2luZ2xlX2RwbV90YWJsZShzdHJ1Y3Qg c211X2NvbnRleHQgKnNtdSwKIAkJCSAgICBzdHJ1Y3QgdmVnYTIwX3NpbmdsZV9kcG1fdGFibGUg KnNpbmdsZV9kcG1fdGFibGUsCkBAIC0xMjYzLDcgKzEzMDcsOSBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IHBwdGFibGVfZnVuY3MgdmVnYTIwX3BwdF9mdW5jcyA9IHsKIAkuZ2V0X3NtdV9tc2dfaW5k ZXggPSB2ZWdhMjBfZ2V0X3NtdV9tc2dfaW5kZXgsCiAJLnJ1bl9hZmxsX2J0YyA9IHZlZ2EyMF9y dW5fYnRjX2FmbGwsCiAJLmdldF91bmFsbG93ZWRfZmVhdHVyZV9tYXNrID0gdmVnYTIwX2dldF91 bmFsbG93ZWRfZmVhdHVyZV9tYXNrLAorCS5nZXRfY3VycmVudF9wb3dlcl9zdGF0ZSA9IHZlZ2Ey MF9nZXRfY3VycmVudF9wb3dlcl9zdGF0ZSwKIAkuc2V0X2RlZmF1bHRfZHBtX3RhYmxlID0gdmVn YTIwX3NldF9kZWZhdWx0X2RwbV90YWJsZSwKKwkuc2V0X3Bvd2VyX3N0YXRlID0gTlVMTCwKIAku cG9wdWxhdGVfdW1kX3N0YXRlX2NsayA9IHZlZ2EyMF9wb3B1bGF0ZV91bWRfc3RhdGVfY2xrLAog CS5wcmludF9jbGtfbGV2ZWxzID0gdmVnYTIwX3ByaW50X2Nsa19sZXZlbHMsCiAJLmZvcmNlX2Ns a19sZXZlbHMgPSB2ZWdhMjBfZm9yY2VfY2xrX2xldmVscywKLS0gCjIuNy40CgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlz dAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK