From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rex Zhu Subject: [PATCH 1/2] drm/amdgpu: add custom power policy support in sysfs Date: Tue, 16 Jan 2018 19:50:03 +0800 Message-ID: <1516103404-24914-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: 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 d2hlbiBjYXQgcHBfcG93ZXJfcHJvZmlsZV9tb2RlIG9uIFZlZ2ExMApOVU0gICAgICAgIE1PREVf TkFNRSBCVVNZX1NFVF9QT0lOVCBGUFMgVVNFX1JMQ19CVVNZIE1JTl9BQ1RJVkVfTEVWRUwKICAw IDNEX0ZVTExfU0NSRUVOIDogICAgICAgICAgICAgNzAgIDYwICAgICAgICAgIDEgICAgICAgICAg ICAgIDMKICAxICAgUE9XRVJfU0FWSU5HIDogICAgICAgICAgICAgOTAgIDYwICAgICAgICAgIDAg ICAgICAgICAgICAgIDAKICAyICAgICAgICAgIFZJREVPKjogICAgICAgICAgICAgNzAgIDYwICAg ICAgICAgIDAgICAgICAgICAgICAgIDAKICAzICAgICAgICAgICAgIFZSIDogICAgICAgICAgICAg NzAgIDkwICAgICAgICAgIDAgICAgICAgICAgICAgIDAKICA0ICAgICAgIENPTVBVVEVSIDogICAg ICAgICAgICAgMzAgIDYwICAgICAgICAgIDAgICAgICAgICAgICAgIDYKICA1ICAgICAgICAgQ1VT VE9NIDogICAgICAgICAgICAgIDAgICAwICAgICAgICAgIDAgICAgICAgICAgICAgIDAKCnRoZSBy ZXN1bHQgc2hvdyBhbGwgdGhlIHByb2ZpbGUgbW9kZSB3ZSBjYW4gc3VwcG9ydCBhbmQgY3VzdG9t IG1vZGUuCnVzZXIgY2FuIGVjaG8gdGhlIG51bSgwLTQpIHRvIHBwX3Bvd2VyX3Byb2ZpbGVfbW9k ZSB0byBzZWxlY3QgdGhlIHByb2ZpbGUKbW9kZSBvciBjYW4gZWNobyAiNSB2YWx1ZSB2YWx1ZSB2 YWx1ZSB2YWx1ZSIgdG8gZW50ZXIgQ1VTVE9NIG1vZGUuCnRoZSBmb3VyIHBhcmFtZXRlciBpcyBz ZXRfcG9pbnQvRlBTL1VTRVJfUkxDX0JVU1kvTUlOX0FDVElWRV9MRVZFTC4KCkNoYW5nZS1JZDog STcyNjM0NjQ2YTlhMTc5Y2NkNTdmMTc1YjRjMGIzZjQ1ZTUzOGEwM2YKU2lnbmVkLW9mZi1ieTog UmV4IFpodSA8UmV4LlpodUBhbWQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9kcG0uaCAgICAgICAgfCAgOCArKysKIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9wbS5jICAgICAgICAgfCA4MSArKysrKysrKysrKysrKysrKysrKysrKysrLQogZHJp dmVycy9ncHUvZHJtL2FtZC9pbmNsdWRlL2tnZF9wcF9pbnRlcmZhY2UuaCB8IDExICsrKy0KIDMg ZmlsZXMgY2hhbmdlZCwgOTggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHBtLmggYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHBtLmgKaW5kZXggOGE4ZDA5ZGQuLjk4NmYxZDUgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kcG0uaAorKysgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHBtLmgKQEAgLTM2Niw2ICszNjYsMTQg QEAgZW51bSBhbWRncHVfcGNpZV9nZW4gewogCQkJKGFkZXYpLT5wb3dlcnBsYXkucHBfaGFuZGxl LCB2aXJ0dWFsX2FkZHJfbG93LCBcCiAJCQl2aXJ0dWFsX2FkZHJfaGksIG1jX2FkZHJfbG93LCBt Y19hZGRyX2hpLCBzaXplKQogCisjZGVmaW5lIGFtZGdwdV9kcG1fZ2V0X3Bvd2VyX3Byb2ZpbGVf bW9kZShhZGV2LCBidWYpIFwKKwkJKChhZGV2KS0+cG93ZXJwbGF5LnBwX2Z1bmNzLT5nZXRfcG93 ZXJfcHJvZmlsZV9tb2RlKFwKKwkJCShhZGV2KS0+cG93ZXJwbGF5LnBwX2hhbmRsZSwgYnVmKSkK KworI2RlZmluZSBhbWRncHVfZHBtX3NldF9wb3dlcl9wcm9maWxlX21vZGUoYWRldiwgcGFyYW1l dGVyLCBzaXplKSBcCisJCSgoYWRldiktPnBvd2VycGxheS5wcF9mdW5jcy0+c2V0X3Bvd2VyX3By b2ZpbGVfbW9kZShcCisJCQkoYWRldiktPnBvd2VycGxheS5wcF9oYW5kbGUsIHBhcmFtZXRlciwg c2l6ZSkpCisKIHN0cnVjdCBhbWRncHVfZHBtIHsKIAlzdHJ1Y3QgYW1kZ3B1X3BzICAgICAgICAq cHM7CiAJLyogbnVtYmVyIG9mIHZhbGlkIHBvd2VyIHN0YXRlcyAqLwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfcG0uYwppbmRleCBlNWVlN2NmLi42NjJlZGNhIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcG0uYworKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfcG0uYwpAQCAtNTg0LDYgKzU4NCw3MyBAQCBzdGF0aWMgc3Np emVfdCBhbWRncHVfc2V0X3BwX21jbGtfb2Qoc3RydWN0IGRldmljZSAqZGV2LAogCXJldHVybiBj b3VudDsKIH0KIAorc3RhdGljIHNzaXplX3QgYW1kZ3B1X2dldF9wcF9wb3dlcl9wcm9maWxlX21v ZGUoc3RydWN0IGRldmljZSAqZGV2LAorCQlzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwK KwkJY2hhciAqYnVmKQoreworCXN0cnVjdCBkcm1fZGV2aWNlICpkZGV2ID0gZGV2X2dldF9kcnZk YXRhKGRldik7CisJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSBkZGV2LT5kZXZfcHJpdmF0 ZTsKKworCWlmIChhZGV2LT5wb3dlcnBsYXkucHBfZnVuY3MtPmdldF9wb3dlcl9wcm9maWxlX21v ZGUpCisJCXJldHVybiBhbWRncHVfZHBtX2dldF9wb3dlcl9wcm9maWxlX21vZGUoYWRldiwgYnVm KTsKKworCXJldHVybiBzbnByaW50ZihidWYsIFBBR0VfU0laRSwgIlxuIik7Cit9CisKKworc3Rh dGljIHNzaXplX3QgYW1kZ3B1X3NldF9wcF9wb3dlcl9wcm9maWxlX21vZGUoc3RydWN0IGRldmlj ZSAqZGV2LAorCQlzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwKKwkJY29uc3QgY2hhciAq YnVmLAorCQlzaXplX3QgY291bnQpCit7CisJaW50IHJldCA9IDB4ZmY7CisJc3RydWN0IGRybV9k ZXZpY2UgKmRkZXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKwlzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiA9IGRkZXYtPmRldl9wcml2YXRlOworCXVpbnQzMl90IHBhcmFtZXRlcl9zaXplID0g MDsKKwlsb25nIHBhcmFtZXRlcls2NF07CisJY2hhciAqc3ViX3N0ciwgYnVmX2NweVsxMjhdOwor CWNoYXIgKnRtcF9zdHI7CisJdWludDMyX3QgaSA9IDA7CisJY2hhciB0bXBbMl07CisJbG9uZyBp bnQgcHJvZmlsZV9tb2RlID0gMDsKKwljb25zdCBjaGFyIGRlbGltaXRlclszXSA9IHsnICcsICdc bicsICdcMCd9OworCisJdG1wWzBdID0gKihidWYpOworCXRtcFsxXSA9ICdcMCc7CisJcmV0ID0g a3N0cnRvbCh0bXAsIDAsICZwcm9maWxlX21vZGUpOworCWlmIChyZXQpCisJCWdvdG8gZmFpbDsK KworCWlmIChwcm9maWxlX21vZGUgPT0gUFBfU01DX1BPV0VSX1BST0ZJTEVfQ1VTVE9NKSB7CisJ CWlmIChjb3VudCA8IDIgfHwgY291bnQgPiAxMjcpCisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJd2hp bGUgKGlzc3BhY2UoKisrYnVmKSkKKwkJCWkrKzsKKwkJbWVtY3B5KGJ1Zl9jcHksIGJ1ZiwgY291 bnQtaSk7CisJCXRtcF9zdHIgPSBidWZfY3B5OworCQl3aGlsZSAodG1wX3N0clswXSkgeworCQkJ c3ViX3N0ciA9IHN0cnNlcCgmdG1wX3N0ciwgZGVsaW1pdGVyKTsKKwkJCXJldCA9IGtzdHJ0b2wo c3ViX3N0ciwgMCwgJnBhcmFtZXRlcltwYXJhbWV0ZXJfc2l6ZV0pOworCQkJaWYgKHJldCkgewor CQkJCWNvdW50ID0gLUVJTlZBTDsKKwkJCQlnb3RvIGZhaWw7CisJCQl9CisJCQlwcl9pbmZvKCJ2 YWx1ZSBpcyAlbGQgXG4iLCBwYXJhbWV0ZXJbcGFyYW1ldGVyX3NpemVdKTsKKwkJCXBhcmFtZXRl cl9zaXplKys7CisJCQl3aGlsZSAoaXNzcGFjZSgqdG1wX3N0cikpCisJCQkJdG1wX3N0cisrOwor CQl9CisJfQorCXBhcmFtZXRlcltwYXJhbWV0ZXJfc2l6ZV0gPSBwcm9maWxlX21vZGU7CisJaWYg KGFkZXYtPnBvd2VycGxheS5wcF9mdW5jcy0+c2V0X3Bvd2VyX3Byb2ZpbGVfbW9kZSkKKwkJcmV0 ID0gYW1kZ3B1X2RwbV9zZXRfcG93ZXJfcHJvZmlsZV9tb2RlKGFkZXYsIHBhcmFtZXRlciwgcGFy YW1ldGVyX3NpemUpOworCisJaWYgKCFyZXQpCisJCXJldHVybiBjb3VudDsKK2ZhaWw6CisJcmV0 dXJuIC1FSU5WQUw7Cit9CisKIHN0YXRpYyBzc2l6ZV90IGFtZGdwdV9nZXRfcHBfcG93ZXJfcHJv ZmlsZShzdHJ1Y3QgZGV2aWNlICpkZXYsCiAJCWNoYXIgKmJ1Ziwgc3RydWN0IGFtZF9wcF9wcm9m aWxlICpxdWVyeSkKIHsKQEAgLTc3Miw3ICs4MzksOSBAQCBzdGF0aWMgREVWSUNFX0FUVFIocHBf Z2Z4X3Bvd2VyX3Byb2ZpbGUsIFNfSVJVR08gfCBTX0lXVVNSLAogc3RhdGljIERFVklDRV9BVFRS KHBwX2NvbXB1dGVfcG93ZXJfcHJvZmlsZSwgU19JUlVHTyB8IFNfSVdVU1IsCiAJCWFtZGdwdV9n ZXRfcHBfY29tcHV0ZV9wb3dlcl9wcm9maWxlLAogCQlhbWRncHVfc2V0X3BwX2NvbXB1dGVfcG93 ZXJfcHJvZmlsZSk7Ci0KK3N0YXRpYyBERVZJQ0VfQVRUUihwcF9wb3dlcl9wcm9maWxlX21vZGUs IFNfSVJVR08gfCBTX0lXVVNSLAorCQlhbWRncHVfZ2V0X3BwX3Bvd2VyX3Byb2ZpbGVfbW9kZSwK KwkJYW1kZ3B1X3NldF9wcF9wb3dlcl9wcm9maWxlX21vZGUpOwogc3RhdGljIHNzaXplX3QgYW1k Z3B1X2h3bW9uX3Nob3dfdGVtcChzdHJ1Y3QgZGV2aWNlICpkZXYsCiAJCQkJICAgICAgc3RydWN0 IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCiAJCQkJICAgICAgY2hhciAqYnVmKQpAQCAtMTQwNSw2 ICsxNDc0LDE0IEBAIGludCBhbWRncHVfcG1fc3lzZnNfaW5pdChzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldikKIAkJcmV0dXJuIHJldDsKIAl9CiAKKwlyZXQgPSBkZXZpY2VfY3JlYXRlX2ZpbGUo YWRldi0+ZGV2LAorCQkJJmRldl9hdHRyX3BwX3Bvd2VyX3Byb2ZpbGVfbW9kZSk7CisJaWYgKHJl dCkgeworCQlEUk1fRVJST1IoImZhaWxlZCB0byBjcmVhdGUgZGV2aWNlIGZpbGUJIgorCQkJCSJw cF9wb3dlcl9wcm9maWxlX21vZGVcbiIpOworCQlyZXR1cm4gcmV0OworCX0KKwogCXJldCA9IGFt ZGdwdV9kZWJ1Z2ZzX3BtX2luaXQoYWRldik7CiAJaWYgKHJldCkgewogCQlEUk1fRVJST1IoIkZh aWxlZCB0byByZWdpc3RlciBkZWJ1Z2ZzIGZpbGUgZm9yIGRwbSFcbiIpOwpAQCAtMTQ0MCw2ICsx NTE3LDggQEAgdm9pZCBhbWRncHVfcG1fc3lzZnNfZmluaShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAq YWRldikKIAkJCSZkZXZfYXR0cl9wcF9nZnhfcG93ZXJfcHJvZmlsZSk7CiAJZGV2aWNlX3JlbW92 ZV9maWxlKGFkZXYtPmRldiwKIAkJCSZkZXZfYXR0cl9wcF9jb21wdXRlX3Bvd2VyX3Byb2ZpbGUp OworCWRldmljZV9yZW1vdmVfZmlsZShhZGV2LT5kZXYsCisJCQkmZGV2X2F0dHJfcHBfcG93ZXJf cHJvZmlsZV9tb2RlKTsKIH0KIAogdm9pZCBhbWRncHVfcG1fY29tcHV0ZV9jbG9ja3Moc3RydWN0 IGFtZGdwdV9kZXZpY2UgKmFkZXYpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2lu Y2x1ZGUva2dkX3BwX2ludGVyZmFjZS5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9pbmNsdWRlL2tn ZF9wcF9pbnRlcmZhY2UuaAppbmRleCAwZjg5ZDJhOC4uYTgyM2MwMyAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2FtZC9pbmNsdWRlL2tnZF9wcF9pbnRlcmZhY2UuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2luY2x1ZGUva2dkX3BwX2ludGVyZmFjZS5oCkBAIC0xNDAsNyArMTQwLDE0 IEBAIHN0cnVjdCBhbWRfcHBfaW5pdCB7CiAJdWludDMyX3QgZmVhdHVyZV9tYXNrOwogfTsKIAot CitlbnVtIFBQX1NNQ19QT1dFUl9QUk9GSUxFIHsKKwlQUF9TTUNfUE9XRVJfUFJPRklMRV9GVUxM U0NSRUVOM0QgPSAweDAsCisJUFBfU01DX1BPV0VSX1BST0ZJTEVfUE9XRVJTQVZJTkcgID0gMHgx LAorCVBQX1NNQ19QT1dFUl9QUk9GSUxFX1ZJREVPICAgICAgICA9IDB4MiwKKwlQUF9TTUNfUE9X RVJfUFJPRklMRV9WUiAgICAgICAgICAgPSAweDMsCisJUFBfU01DX1BPV0VSX1BST0ZJTEVfQ09N UFVURSAgICAgID0gMHg0LAorCVBQX1NNQ19QT1dFUl9QUk9GSUxFX0NVU1RPTSAgICAgICA9IDB4 NSwKK307CiAKIGVudW0gewogCVBQX0dST1VQX1VOS05PV04gPSAwLApAQCAtMjg5LDYgKzI5Niw4 IEBAIHN0cnVjdCBhbWRfcG1fZnVuY3MgewogCQkJCXN0cnVjdCBwcF9kaXNwbGF5X2Nsb2NrX3Jl cXVlc3QgKmNsb2NrKTsKIAlpbnQgKCpnZXRfZGlzcGxheV9tb2RlX3ZhbGlkYXRpb25fY2xvY2tz KSh2b2lkICpoYW5kbGUsCiAJCXN0cnVjdCBhbWRfcHBfc2ltcGxlX2Nsb2NrX2luZm8gKmNsb2Nr cyk7CisJaW50ICgqZ2V0X3Bvd2VyX3Byb2ZpbGVfbW9kZSkodm9pZCAqaGFuZGxlLCBjaGFyICpi dWYpOworCWludCAoKnNldF9wb3dlcl9wcm9maWxlX21vZGUpKHZvaWQgKmhhbmRsZSwgbG9uZyAq aW5wdXQsIHVpbnQzMl90IHNpemUpOwogfTsKIAogI2VuZGlmCi0tIAoxLjkuMQoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxp c3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==