From mboxrd@z Thu Jan 1 00:00:00 1970 From: Huang Rui Subject: [PATCH 128/138] drm/amd/powerplay: add sys interface for set sclk_od/mclk_od for smu Date: Fri, 25 Jan 2019 18:25:35 +0800 Message-ID: <1548411945-12396-129-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 RnJvbTogTGlrdW4gR2FvIDxMaWt1bi5HYW9AYW1kLmNvbT4KCkFkZCBzeXMgaW50ZXJmYWNlIGZv ciBzZXQgcHBfc2Nsa19vZCBhbmQgcHBfbWNsa19vZCBmb3Igc211LgoKU2lnbmVkLW9mZi1ieTog TGlrdW4gR2FvIDxMaWt1bi5HYW9AYW1kLmNvbT4KUmV2aWV3ZWQtYnk6IEh1YW5nIFJ1aSA8cmF5 Lmh1YW5nQGFtZC5jb20+ClJldmlld2VkLWJ5OiBLZXZpbiBXYW5nIDxrZXZpbjEud2FuZ0BhbWQu Y29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wbS5jICAgICAgICAg fCAzNCArKysrKysrKystLS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2Ft ZGdwdV9zbXUuaCB8ICA1ICsrKwogZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvdmVnYTIw X3BwdC5jICAgICB8IDYyICsrKysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5n ZWQsIDg5IGluc2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X3BtLmMKaW5kZXggYmFmZjNiOS4uMWE4MWExZCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3BtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X3BtLmMKQEAgLTEwNzAsMTQgKzEwNzAsMTkgQEAgc3RhdGljIHNz aXplX3QgYW1kZ3B1X3NldF9wcF9zY2xrX29kKHN0cnVjdCBkZXZpY2UgKmRldiwKIAkJY291bnQg PSAtRUlOVkFMOwogCQlnb3RvIGZhaWw7CiAJfQotCWlmIChhZGV2LT5wb3dlcnBsYXkucHBfZnVu Y3MtPnNldF9zY2xrX29kKQotCQlhbWRncHVfZHBtX3NldF9zY2xrX29kKGFkZXYsICh1aW50MzJf dCl2YWx1ZSk7CiAKLQlpZiAoYWRldi0+cG93ZXJwbGF5LnBwX2Z1bmNzLT5kaXNwYXRjaF90YXNr cykgewotCQlhbWRncHVfZHBtX2Rpc3BhdGNoX3Rhc2soYWRldiwgQU1EX1BQX1RBU0tfUkVBREpV U1RfUE9XRVJfU1RBVEUsIE5VTEwpOworCWlmIChpc19zdXBwb3J0X3N3X3NtdShhZGV2KSkgewor CQl2YWx1ZSA9IHNtdV9zZXRfb2RfcGVyY2VudGFnZSgmKGFkZXYtPnNtdSksIE9EX1NDTEssICh1 aW50MzJfdCl2YWx1ZSk7CiAJfSBlbHNlIHsKLQkJYWRldi0+cG0uZHBtLmN1cnJlbnRfcHMgPSBh ZGV2LT5wbS5kcG0uYm9vdF9wczsKLQkJYW1kZ3B1X3BtX2NvbXB1dGVfY2xvY2tzKGFkZXYpOwor CQlpZiAoYWRldi0+cG93ZXJwbGF5LnBwX2Z1bmNzLT5zZXRfc2Nsa19vZCkKKwkJCWFtZGdwdV9k cG1fc2V0X3NjbGtfb2QoYWRldiwgKHVpbnQzMl90KXZhbHVlKTsKKworCQlpZiAoYWRldi0+cG93 ZXJwbGF5LnBwX2Z1bmNzLT5kaXNwYXRjaF90YXNrcykgeworCQkJYW1kZ3B1X2RwbV9kaXNwYXRj aF90YXNrKGFkZXYsIEFNRF9QUF9UQVNLX1JFQURKVVNUX1BPV0VSX1NUQVRFLCBOVUxMKTsKKwkJ fSBlbHNlIHsKKwkJCWFkZXYtPnBtLmRwbS5jdXJyZW50X3BzID0gYWRldi0+cG0uZHBtLmJvb3Rf cHM7CisJCQlhbWRncHVfcG1fY29tcHV0ZV9jbG9ja3MoYWRldik7CisJCX0KIAl9CiAKIGZhaWw6 CkBAIC0xMTE2LDE0ICsxMTIxLDE5IEBAIHN0YXRpYyBzc2l6ZV90IGFtZGdwdV9zZXRfcHBfbWNs a19vZChzdHJ1Y3QgZGV2aWNlICpkZXYsCiAJCWNvdW50ID0gLUVJTlZBTDsKIAkJZ290byBmYWls OwogCX0KLQlpZiAoYWRldi0+cG93ZXJwbGF5LnBwX2Z1bmNzLT5zZXRfbWNsa19vZCkKLQkJYW1k Z3B1X2RwbV9zZXRfbWNsa19vZChhZGV2LCAodWludDMyX3QpdmFsdWUpOwogCi0JaWYgKGFkZXYt PnBvd2VycGxheS5wcF9mdW5jcy0+ZGlzcGF0Y2hfdGFza3MpIHsKLQkJYW1kZ3B1X2RwbV9kaXNw YXRjaF90YXNrKGFkZXYsIEFNRF9QUF9UQVNLX1JFQURKVVNUX1BPV0VSX1NUQVRFLCBOVUxMKTsK KwlpZiAoaXNfc3VwcG9ydF9zd19zbXUoYWRldikpIHsKKwkJdmFsdWUgPSBzbXVfc2V0X29kX3Bl cmNlbnRhZ2UoJihhZGV2LT5zbXUpLCBPRF9NQ0xLLCAodWludDMyX3QpdmFsdWUpOwogCX0gZWxz ZSB7Ci0JCWFkZXYtPnBtLmRwbS5jdXJyZW50X3BzID0gYWRldi0+cG0uZHBtLmJvb3RfcHM7Ci0J CWFtZGdwdV9wbV9jb21wdXRlX2Nsb2NrcyhhZGV2KTsKKwkJaWYgKGFkZXYtPnBvd2VycGxheS5w cF9mdW5jcy0+c2V0X21jbGtfb2QpCisJCQlhbWRncHVfZHBtX3NldF9tY2xrX29kKGFkZXYsICh1 aW50MzJfdCl2YWx1ZSk7CisKKwkJaWYgKGFkZXYtPnBvd2VycGxheS5wcF9mdW5jcy0+ZGlzcGF0 Y2hfdGFza3MpIHsKKwkJCWFtZGdwdV9kcG1fZGlzcGF0Y2hfdGFzayhhZGV2LCBBTURfUFBfVEFT S19SRUFESlVTVF9QT1dFUl9TVEFURSwgTlVMTCk7CisJCX0gZWxzZSB7CisJCQlhZGV2LT5wbS5k cG0uY3VycmVudF9wcyA9IGFkZXYtPnBtLmRwbS5ib290X3BzOworCQkJYW1kZ3B1X3BtX2NvbXB1 dGVfY2xvY2tzKGFkZXYpOworCQl9CiAJfQogCiBmYWlsOgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2FtZGdwdV9zbXUuaCBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvcG93ZXJwbGF5L2luYy9hbWRncHVfc211LmgKaW5kZXggMTliZjllNS4uMGQ4YzYwMSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2FtZGdwdV9zbXUuaAor KysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9pbmMvYW1kZ3B1X3NtdS5oCkBAIC00 MTQsNiArNDE0LDkgQEAgc3RydWN0IHBwdGFibGVfZnVuY3MgewogCQkJCQkgIHVpbnQzMl90IGlu ZGV4LAogCQkJCQkgIHVpbnQzMl90IHZhbHVlKTsKIAlpbnQgKCpnZXRfb2RfcGVyY2VudGFnZSko c3RydWN0IHNtdV9jb250ZXh0ICpzbXUsIGVudW0gcHBfY2xvY2tfdHlwZSB0eXBlKTsKKwlpbnQg KCpzZXRfb2RfcGVyY2VudGFnZSkoc3RydWN0IHNtdV9jb250ZXh0ICpzbXUsCisJCQkJIGVudW0g cHBfY2xvY2tfdHlwZSB0eXBlLAorCQkJCSB1aW50MzJfdCB2YWx1ZSk7CiAJaW50ICgqZ2V0X2Ns b2NrX2J5X3R5cGVfd2l0aF9sYXRlbmN5KShzdHJ1Y3Qgc211X2NvbnRleHQgKnNtdSwKIAkJCQkJ ICAgICAgZW51bSBhbWRfcHBfY2xvY2tfdHlwZSB0eXBlLAogCQkJCQkgICAgICBzdHJ1Y3QKQEAg LTU5OCw2ICs2MDEsOCBAQCBzdHJ1Y3Qgc211X2Z1bmNzCiAJKChzbXUpLT5wcHRfZnVuY3MtPmZv cmNlX2Nsa19sZXZlbHMgPyAoc211KS0+cHB0X2Z1bmNzLT5mb3JjZV9jbGtfbGV2ZWxzKChzbXUp LCAodHlwZSksIChsZXZlbCkpIDogMCkKICNkZWZpbmUgc211X2dldF9vZF9wZXJjZW50YWdlKHNt dSwgdHlwZSkgXAogCSgoc211KS0+cHB0X2Z1bmNzLT5nZXRfb2RfcGVyY2VudGFnZSA/IChzbXUp LT5wcHRfZnVuY3MtPmdldF9vZF9wZXJjZW50YWdlKChzbXUpLCAodHlwZSkpIDogMCkKKyNkZWZp bmUgc211X3NldF9vZF9wZXJjZW50YWdlKHNtdSwgdHlwZSwgdmFsdWUpIFwKKwkoKHNtdSktPnBw dF9mdW5jcy0+c2V0X29kX3BlcmNlbnRhZ2UgPyAoc211KS0+cHB0X2Z1bmNzLT5zZXRfb2RfcGVy Y2VudGFnZSgoc211KSwgKHR5cGUpLCAodmFsdWUpKSA6IDApCiAjZGVmaW5lIHNtdV9zdGFydF90 aGVybWFsX2NvbnRyb2woc211KSBcCiAJKChzbXUpLT5mdW5jcy0+c3RhcnRfdGhlcm1hbF9jb250 cm9sPyAoc211KS0+ZnVuY3MtPnN0YXJ0X3RoZXJtYWxfY29udHJvbCgoc211KSkgOiAwKQogI2Rl ZmluZSBzbXVfcmVhZF9zZW5zb3Ioc211LCBzZW5zb3IsIGRhdGEsIHNpemUpIFwKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3ZlZ2EyMF9wcHQuYyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvcG93ZXJwbGF5L3ZlZ2EyMF9wcHQuYwppbmRleCBkYTIyNGQ4Li45ZTMwZDky IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS92ZWdhMjBfcHB0LmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvdmVnYTIwX3BwdC5jCkBAIC0xOTI0 LDYgKzE5MjQsNjcgQEAgc3RhdGljIGludCB2ZWdhMjBfdXBkYXRlX3NwZWNpZmllZF9vZDhfdmFs dWUoc3RydWN0IHNtdV9jb250ZXh0ICpzbXUsCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQg dmVnYTIwX3NldF9vZF9wZXJjZW50YWdlKHN0cnVjdCBzbXVfY29udGV4dCAqc211LAorCQkJCSAg ICBlbnVtIHBwX2Nsb2NrX3R5cGUgdHlwZSwKKwkJCQkgICAgdWludDMyX3QgdmFsdWUpCit7CisJ c3RydWN0IHNtdV9kcG1fY29udGV4dCAqc211X2RwbSA9ICZzbXUtPnNtdV9kcG07CisJc3RydWN0 IHZlZ2EyMF9kcG1fdGFibGUgKmRwbV90YWJsZSA9IE5VTEw7CisJc3RydWN0IHZlZ2EyMF9kcG1f dGFibGUgKmdvbGRlbl90YWJsZSA9IE5VTEw7CisJc3RydWN0IHZlZ2EyMF9zaW5nbGVfZHBtX3Rh YmxlICpzaW5nbGVfZHBtX3RhYmxlOworCXN0cnVjdCB2ZWdhMjBfc2luZ2xlX2RwbV90YWJsZSAq Z29sZGVuX2RwbV90YWJsZTsKKwl1aW50MzJfdCBvZF9jbGssIGluZGV4OworCWludCByZXQsIGZl YXR1cmVfZW5hYmxlZDsKKwlQUENMS19lIGNsa19pZDsKKworCWRwbV90YWJsZSA9IHNtdV9kcG0t PmRwbV9jb250ZXh0OworCWdvbGRlbl90YWJsZSA9IHNtdV9kcG0tPmdvbGRlbl9kcG1fY29udGV4 dDsKKworCXN3aXRjaCAodHlwZSkgeworCWNhc2UgT0RfU0NMSzoKKwkJc2luZ2xlX2RwbV90YWJs ZSA9ICYoZHBtX3RhYmxlLT5nZnhfdGFibGUpOworCQlnb2xkZW5fZHBtX3RhYmxlID0gJihnb2xk ZW5fdGFibGUtPmdmeF90YWJsZSk7CisJCWZlYXR1cmVfZW5hYmxlZCA9IHNtdV9mZWF0dXJlX2lz X2VuYWJsZWQoc211LCBGRUFUVVJFX0RQTV9HRlhDTEtfQklUKTsKKwkJY2xrX2lkID0gUFBDTEtf R0ZYQ0xLOworCQlpbmRleCA9IE9EOF9TRVRUSU5HX0dGWENMS19GTUFYOworCQlicmVhazsKKwlj YXNlIE9EX01DTEs6CisJCXNpbmdsZV9kcG1fdGFibGUgPSAmKGRwbV90YWJsZS0+bWVtX3RhYmxl KTsKKwkJZ29sZGVuX2RwbV90YWJsZSA9ICYoZ29sZGVuX3RhYmxlLT5tZW1fdGFibGUpOworCQlm ZWF0dXJlX2VuYWJsZWQgPSBzbXVfZmVhdHVyZV9pc19lbmFibGVkKHNtdSwgRkVBVFVSRV9EUE1f VUNMS19CSVQpOworCQljbGtfaWQgPSBQUENMS19VQ0xLOworCQlpbmRleCA9IE9EOF9TRVRUSU5H X1VDTEtfRk1BWDsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FSU5WQUw7CisJCWJy ZWFrOworCX0KKworCW9kX2NsayA9IGdvbGRlbl9kcG1fdGFibGUtPmRwbV9sZXZlbHNbZ29sZGVu X2RwbV90YWJsZS0+Y291bnQgLSAxXS52YWx1ZSAqIHZhbHVlOworCW9kX2NsayAvPSAxMDA7CisJ b2RfY2xrICs9IGdvbGRlbl9kcG1fdGFibGUtPmRwbV9sZXZlbHNbZ29sZGVuX2RwbV90YWJsZS0+ Y291bnQgLSAxXS52YWx1ZTsKKworCXJldCA9IHNtdV91cGRhdGVfb2Q4X3NldHRpbmdzKHNtdSwg aW5kZXgsIG9kX2Nsayk7CisJaWYgKHJldCkgeworCQlwcl9lcnIoIltTZXRvdmVyZHJpdmVdIGZh aWxlZCB0byBzZXQgb2QgY2xrIVxuIik7CisJCXJldHVybiByZXQ7CisJfQorCisJaWYgKGZlYXR1 cmVfZW5hYmxlZCkgeworCQlyZXQgPSB2ZWdhMjBfc2V0X3NpbmdsZV9kcG1fdGFibGUoc211LCBz aW5nbGVfZHBtX3RhYmxlLAorCQkJCQkJICBjbGtfaWQpOworCQlpZiAocmV0KSB7CisJCQlwcl9l cnIoIltTZXRvdmVyZHJpdmVdIGZhaWxlZCB0byByZWZyZXNoIGRwbSB0YWJsZSFcbiIpOworCQkJ cmV0dXJuIHJldDsKKwkJfQorCX0gZWxzZSB7CisJCXNpbmdsZV9kcG1fdGFibGUtPmNvdW50ID0g MTsKKwkJc2luZ2xlX2RwbV90YWJsZS0+ZHBtX2xldmVsc1swXS52YWx1ZSA9IHNtdS0+c211X3Rh YmxlLmJvb3RfdmFsdWVzLmdmeGNsayAvIDEwMDsKKwl9CisKKwlyZXR1cm4gMDsKK30KKwogc3Rh dGljIGNvbnN0IHN0cnVjdCBwcHRhYmxlX2Z1bmNzIHZlZ2EyMF9wcHRfZnVuY3MgPSB7CiAJLmFs bG9jX2RwbV9jb250ZXh0ID0gdmVnYTIwX2FsbG9jYXRlX2RwbV9jb250ZXh0LAogCS5zdG9yZV9w b3dlcnBsYXlfdGFibGUgPSB2ZWdhMjBfc3RvcmVfcG93ZXJwbGF5X3RhYmxlLApAQCAtMTk0NCw2 ICsyMDA1LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwcHRhYmxlX2Z1bmNzIHZlZ2EyMF9wcHRf ZnVuY3MgPSB7CiAJLmdldF9wZXJmb3JtYW5jZV9sZXZlbCA9IHZlZ2EyMF9nZXRfcGVyZm9ybWFu Y2VfbGV2ZWwsCiAJLmZvcmNlX3BlcmZvcm1hbmNlX2xldmVsID0gdmVnYTIwX2ZvcmNlX3BlcmZv cm1hbmNlX2xldmVsLAogCS51cGRhdGVfc3BlY2lmaWVkX29kOF92YWx1ZSA9IHZlZ2EyMF91cGRh dGVfc3BlY2lmaWVkX29kOF92YWx1ZSwKKwkuc2V0X29kX3BlcmNlbnRhZ2UgPSB2ZWdhMjBfc2V0 X29kX3BlcmNlbnRhZ2UsCiB9OwogCiB2b2lkIHZlZ2EyMF9zZXRfcHB0X2Z1bmNzKHN0cnVjdCBz bXVfY29udGV4dCAqc211KQotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vYW1kLWdmeAo=