From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rex Zhu Subject: [PATCH 2/2] drm/amd/pp: Add custom power profile mode support on Vega10 Date: Wed, 10 Jan 2018 19:01:15 +0800 Message-ID: <1515582075-6326-2-git-send-email-Rex.Zhu@amd.com> References: <1515582075-6326-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: <1515582075-6326-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 Q2hhbmdlLUlkOiBJMGE1NTRjYjZhN2E1NmRiNjNhOGZjNWFmNjBkNWM2M2Y2NWUwMjFkMQpTaWdu ZWQtb2ZmLWJ5OiBSZXggWmh1IDxSZXguWmh1QGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJt L2FtZC9wb3dlcnBsYXkvYW1kX3Bvd2VycGxheS5jICAgICAgfCAzOSArKysrKysrKysrKwogZHJp dmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvdmVnYTEwX2h3bWdyLmMgfCA3OCArKysr KysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci92 ZWdhMTBfaHdtZ3IuaCB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2luYy9o d21nci5oICAgICAgICAgIHwgIDMgKwogNCBmaWxlcyBjaGFuZ2VkLCAxMjEgaW5zZXJ0aW9ucygr KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2FtZF9wb3dlcnBs YXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2FtZF9wb3dlcnBsYXkuYwppbmRl eCA4ODU5YjY3Li4zNDkzMjkyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2Vy cGxheS9hbWRfcG93ZXJwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkv YW1kX3Bvd2VycGxheS5jCkBAIC0xMDgxLDYgKzEwODEsNDMgQEAgc3RhdGljIGludCBwcF9kcG1f Z2V0X3Bvd2VyX3Byb2ZpbGVfc3RhdGUodm9pZCAqaGFuZGxlLAogCXJldHVybiAwOwogfQogCitz dGF0aWMgaW50IHBwX2dldF9wb3dlcl9wcm9maWxlX21vZGUodm9pZCAqaGFuZGxlLCBjaGFyICpi dWYpCit7CisJc3RydWN0IHBwX2h3bWdyICpod21ncjsKKwlzdHJ1Y3QgcHBfaW5zdGFuY2UgKnBw X2hhbmRsZSA9IChzdHJ1Y3QgcHBfaW5zdGFuY2UgKiloYW5kbGU7CisKKwlpZiAoIWJ1ZiB8fCBw cF9jaGVjayhwcF9oYW5kbGUpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWh3bWdyID0gcHBfaGFu ZGxlLT5od21ncjsKKworCWlmIChod21nci0+aHdtZ3JfZnVuYy0+Z2V0X3Bvd2VyX3Byb2ZpbGVf bW9kZSA9PSBOVUxMKSB7CisJCXByX2luZm8oIiVzIHdhcyBub3QgaW1wbGVtZW50ZWQuXG4iLCBf X2Z1bmNfXyk7CisJCXJldHVybiBzbnByaW50ZihidWYsIFBBR0VfU0laRSwgIlxuIik7CisJfQor CisJcmV0dXJuIGh3bWdyLT5od21ncl9mdW5jLT5nZXRfcG93ZXJfcHJvZmlsZV9tb2RlKGh3bWdy LCBidWYpOworfQorCitzdGF0aWMgaW50IHBwX3NldF9wb3dlcl9wcm9maWxlX21vZGUodm9pZCAq aGFuZGxlLCBsb25nICppbnB1dCwgdWludDMyX3Qgc2l6ZSkKK3sKKwlzdHJ1Y3QgcHBfaHdtZ3Ig Kmh3bWdyOworCXN0cnVjdCBwcF9pbnN0YW5jZSAqcHBfaGFuZGxlID0gKHN0cnVjdCBwcF9pbnN0 YW5jZSAqKWhhbmRsZTsKKworCisJaWYgKHBwX2NoZWNrKHBwX2hhbmRsZSkpCisJCXJldHVybiAt RUlOVkFMOworCisJaHdtZ3IgPSBwcF9oYW5kbGUtPmh3bWdyOworCisJaWYgKGh3bWdyLT5od21n cl9mdW5jLT5zZXRfcG93ZXJfcHJvZmlsZV9tb2RlID09IE5VTEwpIHsKKwkJcHJfaW5mbygiJXMg d2FzIG5vdCBpbXBsZW1lbnRlZC5cbiIsIF9fZnVuY19fKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJ fQorCisJcmV0dXJuIGh3bWdyLT5od21ncl9mdW5jLT5zZXRfcG93ZXJfcHJvZmlsZV9tb2RlKGh3 bWdyLCBpbnB1dCwgc2l6ZSk7Cit9CisKIHN0YXRpYyBpbnQgcHBfZHBtX3NldF9wb3dlcl9wcm9m aWxlX3N0YXRlKHZvaWQgKmhhbmRsZSwKIAkJc3RydWN0IGFtZF9wcF9wcm9maWxlICpyZXF1ZXN0 KQogewpAQCAtMTQ2NCw2ICsxNTAxLDggQEAgc3RhdGljIGludCBwcF9nZXRfZGlzcGxheV9tb2Rl X3ZhbGlkYXRpb25fY2xvY2tzKHZvaWQgKmhhbmRsZSwKIAkuc3dpdGNoX3Bvd2VyX3Byb2ZpbGUg PSBwcF9kcG1fc3dpdGNoX3Bvd2VyX3Byb2ZpbGUsCiAJLnNldF9jbG9ja2dhdGluZ19ieV9zbXUg PSBwcF9zZXRfY2xvY2tnYXRpbmdfYnlfc211LAogCS5ub3RpZnlfc211X21lbW9yeV9pbmZvID0g cHBfZHBtX25vdGlmeV9zbXVfbWVtb3J5X2luZm8sCisJLmdldF9wb3dlcl9wcm9maWxlX21vZGUg PSBwcF9nZXRfcG93ZXJfcHJvZmlsZV9tb2RlLAorCS5zZXRfcG93ZXJfcHJvZmlsZV9tb2RlID0g cHBfc2V0X3Bvd2VyX3Byb2ZpbGVfbW9kZSwKIC8qIGV4cG9ydCB0byBEQyAqLwogCS5nZXRfc2Ns ayA9IHBwX2RwbV9nZXRfc2NsaywKIAkuZ2V0X21jbGsgPSBwcF9kcG1fZ2V0X21jbGssCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci92ZWdhMTBfaHdtZ3Iu YyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL3ZlZ2ExMF9od21nci5jCmlu ZGV4IDIzYjcyMzkuLmU4YjZjM2QgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93 ZXJwbGF5L2h3bWdyL3ZlZ2ExMF9od21nci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93 ZXJwbGF5L2h3bWdyL3ZlZ2ExMF9od21nci5jCkBAIC03NTcsNiArNzU3LDggQEAgc3RhdGljIGlu dCB2ZWdhMTBfaHdtZ3JfYmFja2VuZF9pbml0KHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCiAKIAlo d21nci0+YmFja2VuZCA9IGRhdGE7CiAKKwlod21nci0+cG93ZXJfcHJvZmlsZV9tb2RlID0gUFBf U01DX1BPV0VSX1BST0ZJTEVfVklERU87CisKIAl2ZWdhMTBfc2V0X2RlZmF1bHRfcmVnaXN0cnlf ZGF0YShod21ncik7CiAKIAlkYXRhLT5kaXNhYmxlX2RwbV9tYXNrID0gMHhmZjsKQEAgLTM5NTAs NiArMzk1Miw3IEBAIHN0YXRpYyBpbnQgdmVnYTEwX3JlYWRfc2Vuc29yKHN0cnVjdCBwcF9od21n ciAqaHdtZ3IsIGludCBpZHgsCiAJCXJldCA9IC1FSU5WQUw7CiAJCWJyZWFrOwogCX0KKwogCXJl dHVybiByZXQ7CiB9CiAKQEAgLTUwMDgsNiArNTAxMSw3OSBAQCBzdGF0aWMgaW50IHZlZ2ExMF9y ZWdpc3Rlcl90aGVybWFsX2ludGVycnVwdChzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLAogCXJldHVy biAwOwogfQogCitzdGF0aWMgaW50IHZlZ2ExMF9nZXRfcG93ZXJfcHJvZmlsZV9tb2RlKHN0cnVj dCBwcF9od21nciAqaHdtZ3IsIGNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3QgdmVnYTEwX2h3bWdyICpk YXRhID0gKHN0cnVjdCB2ZWdhMTBfaHdtZ3IgKikoaHdtZ3ItPmJhY2tlbmQpOworCXVpbnQzMl90 IGksIHNpemUgPSAwOworCXVpbnQ4X3QgcHJvZmlsZV9tb2RlX3NldHRpbmdbNV1bNF0gPSB7ezcw LCA2MCwgMSwgMyx9LAorCQkJCQkJezkwLCA2MCwgMCwgMCx9LAorCQkJCQkJezcwLCA2MCwgMCwg MCx9LAorCQkJCQkJezcwLCA5MCwgMCwgMCx9LAorCQkJCQkJezMwLCA2MCwgMCwgNix9LAorCQkJ CQkJfTsKKwljaGFyICpwcm9maWxlX25hbWVbNl0gPSB7IjNEX0ZVTExfU0NSRUVOIiwKKwkJCQkJ IlBPV0VSX1NBVklORyIsCisJCQkJCSJWSURFTyIsCisJCQkJCSJWUiIsCisJCQkJCSJDT01QVVRF UiIsCisJCQkJCSJDVVNUT00ifTsKKwljaGFyICp0aXRsZVs2XSA9IHsiTlVNIiwKKwkJCSJNT0RF X05BTUUiLAorCQkJIkJVU1lfU0VUX1BPSU5UIiwKKwkJCSJGUFMiLAorCQkJIlVTRV9STENfQlVT WSIsCisJCQkiTUlOX0FDVElWRV9MRVZFTCJ9OworCisJaWYgKCFidWYpCisJCXJldHVybiAtRUlO VkFMOworCisJc2l6ZSArPSBzcHJpbnRmKGJ1ZiArIHNpemUsICIlcyAlMTZzICVzICVzICVzICVz XG4iLHRpdGxlWzBdLAorCQkJdGl0bGVbMV0sIHRpdGxlWzJdLCB0aXRsZVszXSwgdGl0bGVbNF0s IHRpdGxlWzVdKTsKKworCWZvciAoaSA9IDA7IGkgPCBQUF9TTUNfUE9XRVJfUFJPRklMRV9DVVNU T007IGkrKykKKwkJc2l6ZSArPSBzcHJpbnRmKGJ1ZiArIHNpemUsICIlM2QgJTE0cyVzOiAlMTRk ICUzZCAlMTBkICUxNGRcbiIsCisJCQlpLCBwcm9maWxlX25hbWVbaV0sIChpID09IGh3bWdyLT5w b3dlcl9wcm9maWxlX21vZGUpID8gIioiIDogIiAiLAorCQkJcHJvZmlsZV9tb2RlX3NldHRpbmdb aV1bMF0sIHByb2ZpbGVfbW9kZV9zZXR0aW5nW2ldWzFdLAorCQkJcHJvZmlsZV9tb2RlX3NldHRp bmdbaV1bMl0sIHByb2ZpbGVfbW9kZV9zZXR0aW5nW2ldWzNdKTsKKwlzaXplICs9IHNwcmludGYo YnVmICsgc2l6ZSwgIiUzZCAlMTRzJXM6ICUxNGQgJTNkICUxMGQgJTE0ZFxuIiwgaSwKKwkJCXBy b2ZpbGVfbmFtZVtpXSwgKGkgPT0gaHdtZ3ItPnBvd2VyX3Byb2ZpbGVfbW9kZSkgPyAiKiIgOiAi ICIsCisJCQlkYXRhLT5jdXN0b21fcHJvZmlsZV9tb2RlWzBdLCBkYXRhLT5jdXN0b21fcHJvZmls ZV9tb2RlWzFdLAorCQkJZGF0YS0+Y3VzdG9tX3Byb2ZpbGVfbW9kZVsyXSwgZGF0YS0+Y3VzdG9t X3Byb2ZpbGVfbW9kZVszXSk7CisJcmV0dXJuIHNpemU7Cit9CisKK3N0YXRpYyBpbnQgdmVnYTEw X3NldF9wb3dlcl9wcm9maWxlX21vZGUoc3RydWN0IHBwX2h3bWdyICpod21nciwgbG9uZyAqaW5w dXQsIHVpbnQzMl90IHNpemUpCit7CisJc3RydWN0IHZlZ2ExMF9od21nciAqZGF0YSA9IChzdHJ1 Y3QgdmVnYTEwX2h3bWdyICopKGh3bWdyLT5iYWNrZW5kKTsKKwl1aW50OF90IGJ1c3lfc2V0X3Bv aW50OworCXVpbnQ4X3QgRlBTOworCXVpbnQ4X3QgdXNlX3JsY19idXN5OworCXVpbnQ4X3QgbWlu X2FjdGl2ZV9sZXZlbDsKKworCWh3bWdyLT5wb3dlcl9wcm9maWxlX21vZGUgPSBpbnB1dFtzaXpl XTsKKworCXNtdW1fc2VuZF9tc2dfdG9fc21jX3dpdGhfcGFyYW1ldGVyKGh3bWdyLCBQUFNNQ19N U0dfU2V0V29ya2xvYWRNYXNrLAorCQkJCQkJMTw8aHdtZ3ItPnBvd2VyX3Byb2ZpbGVfbW9kZSk7 CisKKwlpZiAoaHdtZ3ItPnBvd2VyX3Byb2ZpbGVfbW9kZSA9PSBQUF9TTUNfUE9XRVJfUFJPRklM RV9DVVNUT00pIHsKKwkJaWYgKHNpemUgPT0gMCB8fCBzaXplID4gNCkKKwkJCXJldHVybiAtRUlO VkFMOworCisJCWRhdGEtPmN1c3RvbV9wcm9maWxlX21vZGVbMF0gPSBidXN5X3NldF9wb2ludCA9 IGlucHV0WzBdOworCQlkYXRhLT5jdXN0b21fcHJvZmlsZV9tb2RlWzFdID0gRlBTID0gaW5wdXRb MV07CisJCWRhdGEtPmN1c3RvbV9wcm9maWxlX21vZGVbMl0gPSB1c2VfcmxjX2J1c3kgPSBpbnB1 dFsyXTsKKwkJZGF0YS0+Y3VzdG9tX3Byb2ZpbGVfbW9kZVszXSA9IG1pbl9hY3RpdmVfbGV2ZWwg PSBpbnB1dFszXTsKKwkJc211bV9zZW5kX21zZ190b19zbWNfd2l0aF9wYXJhbWV0ZXIoaHdtZ3Is CisJCQkJCVBQU01DX01TR19TZXRDdXN0b21HZnhEcG1QYXJhbWV0ZXJzLAorCQkJCQlidXN5X3Nl dF9wb2ludCB8IEZQUzw8OCB8CisJCQkJCXVzZV9ybGNfYnVzeSA8PCAxNiB8IG1pbl9hY3RpdmVf bGV2ZWw8PDI0KTsKKwkJCQlwcl9pbmZvKCJzaXplIGlzICVkIHZhbHVlIGlzICV4IFxuIiwgc2l6 ZSwgYnVzeV9zZXRfcG9pbnQgfCBGUFM8PDggfAorCQkJCQl1c2VfcmxjX2J1c3kgPDwgMTYgfCBt aW5fYWN0aXZlX2xldmVsPDwyNCk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBjb25z dCBzdHJ1Y3QgcHBfaHdtZ3JfZnVuYyB2ZWdhMTBfaHdtZ3JfZnVuY3MgPSB7CiAJLmJhY2tlbmRf aW5pdCA9IHZlZ2ExMF9od21ncl9iYWNrZW5kX2luaXQsCiAJLmJhY2tlbmRfZmluaSA9IHZlZ2Ex MF9od21ncl9iYWNrZW5kX2ZpbmksCkBAIC01MDY1LDYgKzUxNDEsOCBAQCBzdGF0aWMgaW50IHZl Z2ExMF9yZWdpc3Rlcl90aGVybWFsX2ludGVycnVwdChzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLAog CS5nZXRfdGhlcm1hbF90ZW1wZXJhdHVyZV9yYW5nZSA9IHZlZ2ExMF9nZXRfdGhlcm1hbF90ZW1w ZXJhdHVyZV9yYW5nZSwKIAkucmVnaXN0ZXJfaW50ZXJuYWxfdGhlcm1hbF9pbnRlcnJ1cHQgPSB2 ZWdhMTBfcmVnaXN0ZXJfdGhlcm1hbF9pbnRlcnJ1cHQsCiAJLnN0YXJ0X3RoZXJtYWxfY29udHJv bGxlciA9IHZlZ2ExMF9zdGFydF90aGVybWFsX2NvbnRyb2xsZXIsCisJLmdldF9wb3dlcl9wcm9m aWxlX21vZGUgPSB2ZWdhMTBfZ2V0X3Bvd2VyX3Byb2ZpbGVfbW9kZSwKKwkuc2V0X3Bvd2VyX3By b2ZpbGVfbW9kZSA9IHZlZ2ExMF9zZXRfcG93ZXJfcHJvZmlsZV9tb2RlLAogfTsKIAogaW50IHZl Z2ExMF9od21ncl9pbml0KHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci92ZWdhMTBfaHdtZ3IuaCBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL3ZlZ2ExMF9od21nci5oCmluZGV4IGU4NTA3ZmYu LjY4OWZlOWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdy L3ZlZ2ExMF9od21nci5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdy L3ZlZ2ExMF9od21nci5oCkBAIC0zODksNiArMzg5LDcgQEAgc3RydWN0IHZlZ2ExMF9od21nciB7 CiAJdWludDMyX3QgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ190ZWxlbWV0cnk7CiAJdWlu dDMyX3QgICAgICAgICAgICAgICAgICAgICAgIGFjZ19sb29wX3N0YXRlOwogCXVpbnQzMl90ICAg ICAgICAgICAgICAgICAgICAgICBtZW1fY2hhbm5lbHM7CisJdWludDhfdCAgICAgICAgICAgICAg ICAgICAgICAgY3VzdG9tX3Byb2ZpbGVfbW9kZVs0XTsKIH07CiAKICNkZWZpbmUgVkVHQTEwX0RQ TTJfTkVBUl9URFBfREVDICAgICAgICAgICAgICAgICAgICAgIDEwCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9pbmMvaHdtZ3IuaCBiL2RyaXZlcnMvZ3B1L2RybS9h bWQvcG93ZXJwbGF5L2luYy9od21nci5oCmluZGV4IGYzN2YyMTEuLjgwMGQ3NzMgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2luYy9od21nci5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2luYy9od21nci5oCkBAIC0zNDIsNiArMzQyLDggQEAg c3RydWN0IHBwX2h3bWdyX2Z1bmMgewogCQkJCQl1aW50MzJfdCBzaXplKTsKIAlpbnQgKCpnZXRf dGhlcm1hbF90ZW1wZXJhdHVyZV9yYW5nZSkoc3RydWN0IHBwX2h3bWdyICpod21nciwKIAkJCQkJ c3RydWN0IFBQX1RlbXBlcmF0dXJlUmFuZ2UgKnJhbmdlKTsKKwlpbnQgKCpnZXRfcG93ZXJfcHJv ZmlsZV9tb2RlKShzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLCBjaGFyICpidWYpOworCWludCAoKnNl dF9wb3dlcl9wcm9maWxlX21vZGUpKHN0cnVjdCBwcF9od21nciAqaHdtZ3IsIGxvbmcgKmlucHV0 LCB1aW50MzJfdCBzaXplKTsKIH07CiAKIHN0cnVjdCBwcF90YWJsZV9mdW5jIHsKQEAgLTc1MCw2 ICs3NTIsNyBAQCBzdHJ1Y3QgcHBfaHdtZ3IgewogCXN0cnVjdCBhbWRfcHBfcHJvZmlsZSBkZWZh dWx0X2NvbXB1dGVfcG93ZXJfcHJvZmlsZTsKIAllbnVtIGFtZF9wcF9wcm9maWxlX3R5cGUgY3Vy cmVudF9wb3dlcl9wcm9maWxlOwogCWJvb2wgZW5fdW1kX3BzdGF0ZTsKKwl1aW50MzJfdCBwb3dl cl9wcm9maWxlX21vZGU7CiB9OwogCiBzdHJ1Y3QgY2dzX2lycV9zcmNfZnVuY3MgewotLSAKMS45 LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1n ZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=