From mboxrd@z Thu Jan 1 00:00:00 1970 From: Huang Rui Subject: [PATCH 105/138] drm/amd/powerplay: add function to store overdrive information for smu11 Date: Fri, 25 Jan 2019 18:25:12 +0800 Message-ID: <1548411945-12396-106-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 RnJvbTogTGlrdW4gR2FvIDxMaWt1bi5HYW9AYW1kLmNvbT4KCkFkZCB2ZWdhMjBfc2V0dXBfb2Q4 X2luZm9ybWF0aW9uIGZ1bmN0aW9uIHRvIHN0b3JlIG92ZXJkcml2ZSBpbmZvcm1hdGlvbgpmcm9t IHBvd2VycGxheV90YWJsZSB0byBzbXVfdGFibGUgd2hpY2ggd2lsbCB1c2VkIHdoZW4gc2V0dGlu ZyBvZDguCgpTaWduZWQtb2ZmLWJ5OiBMaWt1biBHYW8gPExpa3VuLkdhb0BhbWQuY29tPgpSZXZp ZXdlZC1ieTogS2V2aW4gV2FuZyA8a2V2aW4xLndhbmdAYW1kLmNvbT4KUmV2aWV3ZWQtYnk6IEV2 YW4gUXVhbiA8ZXZhbi5xdWFuQGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dl cnBsYXkvYW1kZ3B1X3NtdS5jICAgICB8IDE1ICsrKysrCiBkcml2ZXJzL2dwdS9kcm0vYW1kL3Bv d2VycGxheS9pbmMvYW1kZ3B1X3NtdS5oIHwgIDQgKysKIGRyaXZlcnMvZ3B1L2RybS9hbWQvcG93 ZXJwbGF5L3ZlZ2EyMF9wcHQuYyAgICAgfCA4NiArKysrKysrKysrKysrKysrKysrKysrKysrLQog MyBmaWxlcyBjaGFuZ2VkLCAxMDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2FtZGdwdV9zbXUuYyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2FtZGdwdV9zbXUuYwppbmRleCBkMWVmMjQ4Li4zY2My NmFkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9hbWRncHVfc211 LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvYW1kZ3B1X3NtdS5jCkBAIC02 ODIsNiArNjgyLDIxIEBAIHN0YXRpYyBpbnQgc211X2h3X2Zpbmkodm9pZCAqaGFuZGxlKQogCQl0 YWJsZV9jb250ZXh0LT5tYXhfc3VzdGFpbmFibGVfY2xvY2tzID0gTlVMTDsKIAl9CiAKKwlpZiAo dGFibGVfY29udGV4dC0+b2RfZmVhdHVyZV9jYXBhYmlsaXRpZXMpIHsKKwkJa2ZyZWUodGFibGVf Y29udGV4dC0+b2RfZmVhdHVyZV9jYXBhYmlsaXRpZXMpOworCQl0YWJsZV9jb250ZXh0LT5vZF9m ZWF0dXJlX2NhcGFiaWxpdGllcyA9IE5VTEw7CisJfQorCisJaWYgKHRhYmxlX2NvbnRleHQtPm9k X3NldHRpbmdzX21heCkgeworCQlrZnJlZSh0YWJsZV9jb250ZXh0LT5vZF9zZXR0aW5nc19tYXgp OworCQl0YWJsZV9jb250ZXh0LT5vZF9zZXR0aW5nc19tYXggPSBOVUxMOworCX0KKworCWlmICh0 YWJsZV9jb250ZXh0LT5vZF9zZXR0aW5nc19taW4pIHsKKwkJa2ZyZWUodGFibGVfY29udGV4dC0+ b2Rfc2V0dGluZ3NfbWluKTsKKwkJdGFibGVfY29udGV4dC0+b2Rfc2V0dGluZ3NfbWluID0gTlVM TDsKKwl9CisKIAlyZXQgPSBzbXVfZmluaV9mYl9hbGxvY2F0aW9ucyhzbXUpOwogCWlmIChyZXQp CiAJCXJldHVybiByZXQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxh eS9pbmMvYW1kZ3B1X3NtdS5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2Ft ZGdwdV9zbXUuaAppbmRleCBlNThiNDlhLi4yNzIzOTU1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vYW1kL3Bvd2VycGxheS9pbmMvYW1kZ3B1X3NtdS5oCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvcG93ZXJwbGF5L2luYy9hbWRncHVfc211LmgKQEAgLTE5Miw2ICsxOTIsMTAgQEAgc3Ry dWN0IHNtdV90YWJsZV9jb250ZXh0CiAJc3RydWN0IHNtdV90YWJsZQkJbWVtb3J5X3Bvb2w7CiAJ dWludDE2X3QgICAgICAgICAgICAgICAgICAgICAgICBzb2Z0d2FyZV9zaHV0ZG93bl90ZW1wOwog CXVpbnQ4X3QgICAgICAgICAgICAgICAgICAgICAgICAgdGhlcm1hbF9jb250cm9sbGVyX3R5cGU7 CisKKwl1aW50OF90CQkJCSpvZF9mZWF0dXJlX2NhcGFiaWxpdGllczsKKwl1aW50MzJfdAkJCSpv ZF9zZXR0aW5nc19tYXg7CisJdWludDMyX3QJCQkqb2Rfc2V0dGluZ3NfbWluOwogfTsKIAogc3Ry dWN0IHNtdV9kcG1fY29udGV4dCB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bv d2VycGxheS92ZWdhMjBfcHB0LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS92ZWdh MjBfcHB0LmMKaW5kZXggZWQwZmJlNy4uZGYzNDk1MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9wb3dlcnBsYXkvdmVnYTIwX3BwdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv cG93ZXJwbGF5L3ZlZ2EyMF9wcHQuYwpAQCAtMTQ2LDEwICsxNDYsOTIgQEAgc3RhdGljIGludCB2 ZWdhMjBfYWxsb2NhdGVfZHBtX2NvbnRleHQoc3RydWN0IHNtdV9jb250ZXh0ICpzbXUpCiAJcmV0 dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgdmVnYTIwX3NldHVwX29kOF9pbmZvcm1hdGlvbihzdHJ1 Y3Qgc211X2NvbnRleHQgKnNtdSkKK3sKKwlBVE9NX1ZlZ2EyMF9QT1dFUlBMQVlUQUJMRSAqcG93 ZXJwbGF5X3RhYmxlID0gTlVMTDsKKwlzdHJ1Y3Qgc211X3RhYmxlX2NvbnRleHQgKnRhYmxlX2Nv bnRleHQgPSAmc211LT5zbXVfdGFibGU7CisKKwl1aW50MzJfdCBvZF9mZWF0dXJlX2NvdW50LCBv ZF9mZWF0dXJlX2FycmF5X3NpemUsCisJCSBvZF9zZXR0aW5nX2NvdW50LCBvZF9zZXR0aW5nX2Fy cmF5X3NpemU7CisKKwlpZiAoIXRhYmxlX2NvbnRleHQtPnBvd2VyX3BsYXlfdGFibGUpCisJCXJl dHVybiAtRUlOVkFMOworCisJcG93ZXJwbGF5X3RhYmxlID0gdGFibGVfY29udGV4dC0+cG93ZXJf cGxheV90YWJsZTsKKworCWlmIChwb3dlcnBsYXlfdGFibGUtPk92ZXJEcml2ZThUYWJsZS51Y09E VGFibGVSZXZpc2lvbiA9PSAxKSB7CisJCS8qIFNldHVwIGNvcnJlY3QgT0RGZWF0dXJlQ291bnQs IGFuZCBzdG9yZSBPREZlYXR1cmVBcnJheSBmcm9tCisJCSAqIHBvd2VycGxheSB0YWJsZSB0byBv ZF9mZWF0dXJlX2NhcGFiaWxpdGllcyAqLworCQlvZF9mZWF0dXJlX2NvdW50ID0KKwkJCShsZTMy X3RvX2NwdShwb3dlcnBsYXlfdGFibGUtPk92ZXJEcml2ZThUYWJsZS5PREZlYXR1cmVDb3VudCkg PgorCQkJIEFUT01fVkVHQTIwX09ERkVBVFVSRV9DT1VOVCkgPworCQkJQVRPTV9WRUdBMjBfT0RG RUFUVVJFX0NPVU5UIDoKKwkJCWxlMzJfdG9fY3B1KHBvd2VycGxheV90YWJsZS0+T3ZlckRyaXZl OFRhYmxlLk9ERmVhdHVyZUNvdW50KTsKKworCQlvZF9mZWF0dXJlX2FycmF5X3NpemUgPSBzaXpl b2YodWludDhfdCkgKiBvZF9mZWF0dXJlX2NvdW50OworCisJCWlmICh0YWJsZV9jb250ZXh0LT5v ZF9mZWF0dXJlX2NhcGFiaWxpdGllcykKKwkJCXJldHVybiAtRUlOVkFMOworCisJCXRhYmxlX2Nv bnRleHQtPm9kX2ZlYXR1cmVfY2FwYWJpbGl0aWVzID0ga3phbGxvYyhvZF9mZWF0dXJlX2FycmF5 X3NpemUsIEdGUF9LRVJORUwpOworCQlpZiAoIXRhYmxlX2NvbnRleHQtPm9kX2ZlYXR1cmVfY2Fw YWJpbGl0aWVzKQorCQkJcmV0dXJuIC1FTk9NRU07CisKKwkJbWVtY3B5KHRhYmxlX2NvbnRleHQt Pm9kX2ZlYXR1cmVfY2FwYWJpbGl0aWVzLAorCQkgICAgICAgJnBvd2VycGxheV90YWJsZS0+T3Zl ckRyaXZlOFRhYmxlLk9ERmVhdHVyZUNhcGFiaWxpdGllcywKKwkJICAgICAgIG9kX2ZlYXR1cmVf YXJyYXlfc2l6ZSk7CisKKwkJLyogU2V0dXAgY29ycmVjdCBPRFNldHRpbmdDb3VudCwgYW5kIHN0 b3JlIE9EU2V0dGluZ0FycmF5IGZyb20KKwkJICogcG93ZXJwbGF5IHRhYmxlIHRvIG9kX3NldHRp bmdzX21heCBhbmQgb2Rfc2V0dGluZ19taW4gKi8KKwkJb2Rfc2V0dGluZ19jb3VudCA9CisJCQko bGUzMl90b19jcHUocG93ZXJwbGF5X3RhYmxlLT5PdmVyRHJpdmU4VGFibGUuT0RTZXR0aW5nQ291 bnQpID4KKwkJCSBBVE9NX1ZFR0EyMF9PRFNFVFRJTkdfQ09VTlQpID8KKwkJCUFUT01fVkVHQTIw X09EU0VUVElOR19DT1VOVCA6CisJCQlsZTMyX3RvX2NwdShwb3dlcnBsYXlfdGFibGUtPk92ZXJE cml2ZThUYWJsZS5PRFNldHRpbmdDb3VudCk7CisKKwkJb2Rfc2V0dGluZ19hcnJheV9zaXplID0g c2l6ZW9mKHVpbnQzMl90KSAqIG9kX3NldHRpbmdfY291bnQ7CisKKwkJaWYgKHRhYmxlX2NvbnRl eHQtPm9kX3NldHRpbmdzX21heCkKKwkJCXJldHVybiAtRUlOVkFMOworCisJCXRhYmxlX2NvbnRl eHQtPm9kX3NldHRpbmdzX21heCA9IGt6YWxsb2Mob2Rfc2V0dGluZ19hcnJheV9zaXplLCBHRlBf S0VSTkVMKTsKKworCQlpZiAoIXRhYmxlX2NvbnRleHQtPm9kX3NldHRpbmdzX21heCkgeworCQkJ a2ZyZWUodGFibGVfY29udGV4dC0+b2RfZmVhdHVyZV9jYXBhYmlsaXRpZXMpOworCQkJdGFibGVf Y29udGV4dC0+b2RfZmVhdHVyZV9jYXBhYmlsaXRpZXMgPSBOVUxMOworCQkJcmV0dXJuIC1FTk9N RU07CisJCX0KKworCQltZW1jcHkodGFibGVfY29udGV4dC0+b2Rfc2V0dGluZ3NfbWF4LAorCQkg ICAgICAgJnBvd2VycGxheV90YWJsZS0+T3ZlckRyaXZlOFRhYmxlLk9EU2V0dGluZ3NNYXgsCisJ CSAgICAgICBvZF9zZXR0aW5nX2FycmF5X3NpemUpOworCisJCWlmICh0YWJsZV9jb250ZXh0LT5v ZF9zZXR0aW5nc19taW4pCisJCQlyZXR1cm4gLUVJTlZBTDsKKworCQl0YWJsZV9jb250ZXh0LT5v ZF9zZXR0aW5nc19taW4gPSBremFsbG9jKG9kX3NldHRpbmdfYXJyYXlfc2l6ZSwgR0ZQX0tFUk5F TCk7CisKKwkJaWYgKCF0YWJsZV9jb250ZXh0LT5vZF9zZXR0aW5nc19taW4pIHsKKwkJCWtmcmVl KHRhYmxlX2NvbnRleHQtPm9kX2ZlYXR1cmVfY2FwYWJpbGl0aWVzKTsKKwkJCXRhYmxlX2NvbnRl eHQtPm9kX2ZlYXR1cmVfY2FwYWJpbGl0aWVzID0gTlVMTDsKKwkJCWtmcmVlKHRhYmxlX2NvbnRl eHQtPm9kX3NldHRpbmdzX21heCk7CisJCQl0YWJsZV9jb250ZXh0LT5vZF9zZXR0aW5nc19tYXgg PSBOVUxMOworCQkJcmV0dXJuIC1FTk9NRU07CisJCX0KKworCQltZW1jcHkodGFibGVfY29udGV4 dC0+b2Rfc2V0dGluZ3NfbWluLAorCQkgICAgICAgJnBvd2VycGxheV90YWJsZS0+T3ZlckRyaXZl OFRhYmxlLk9EU2V0dGluZ3NNaW4sCisJCSAgICAgICBvZF9zZXR0aW5nX2FycmF5X3NpemUpOwor CX0KKworCXJldHVybiAwOworfQorCiBzdGF0aWMgaW50IHZlZ2EyMF9zdG9yZV9wb3dlcnBsYXlf dGFibGUoc3RydWN0IHNtdV9jb250ZXh0ICpzbXUpCiB7CiAJQVRPTV9WZWdhMjBfUE9XRVJQTEFZ VEFCTEUgKnBvd2VycGxheV90YWJsZSA9IE5VTEw7CiAJc3RydWN0IHNtdV90YWJsZV9jb250ZXh0 ICp0YWJsZV9jb250ZXh0ID0gJnNtdS0+c211X3RhYmxlOworCWludCByZXQ7CiAKIAlpZiAoIXRh YmxlX2NvbnRleHQtPnBvd2VyX3BsYXlfdGFibGUpCiAJCXJldHVybiAtRUlOVkFMOwpAQCAtMTYy LDcgKzI0NCw5IEBAIHN0YXRpYyBpbnQgdmVnYTIwX3N0b3JlX3Bvd2VycGxheV90YWJsZShzdHJ1 Y3Qgc211X2NvbnRleHQgKnNtdSkKIAl0YWJsZV9jb250ZXh0LT5zb2Z0d2FyZV9zaHV0ZG93bl90 ZW1wID0gcG93ZXJwbGF5X3RhYmxlLT51c1NvZnR3YXJlU2h1dGRvd25UZW1wOwogCXRhYmxlX2Nv bnRleHQtPnRoZXJtYWxfY29udHJvbGxlcl90eXBlID0gcG93ZXJwbGF5X3RhYmxlLT51Y1RoZXJt YWxDb250cm9sbGVyVHlwZTsKIAotCXJldHVybiAwOworCXJldCA9IHZlZ2EyMF9zZXR1cF9vZDhf aW5mb3JtYXRpb24oc211KTsKKworCXJldHVybiByZXQ7CiB9CiAKIHN0YXRpYyBpbnQgdmVnYTIw X2FwcGVuZF9wb3dlcnBsYXlfdGFibGUoc3RydWN0IHNtdV9jb250ZXh0ICpzbXUpCi0tIAoyLjcu NAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdm eCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==