From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rex Zhu Subject: [PATCH 2/5] drm/amd/pp: Add edit/commit/show OD clock/voltage support in sysfs Date: Thu, 18 Jan 2018 16:37:59 +0800 Message-ID: <1516264682-10037-3-git-send-email-Rex.Zhu@amd.com> References: <1516264682-10037-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: <1516264682-10037-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 d2hlbiBjYXQgcHBfb2RfY2xrX3ZvbHRhZ2UgaXQgc2hvdwpPRF9TQ0xLOgowOiAgICAgICAgMzAw TWh6ICAgICAgICA4MDAgbVYKMTogICAgICAgIDQ2Nk1oeiAgICAgICAgODE4IG1WCjI6ICAgICAg ICA3NTFNaHogICAgICAgIDgyNCBtVgozOiAgICAgICAxMDE5TWh6ICAgICAgICA5ODcgbVYKNDog ICAgICAgMTA3NE1oeiAgICAgICAxMDM3IG1WCjU6ICAgICAgIDExMjZNaHogICAgICAgMTA4NyBt Vgo2OiAgICAgICAxMTY5TWh6ICAgICAgIDExMzcgbVYKNzogICAgICAgMTIwNk1oeiAgICAgICAx MTUwIG1WCk9EX01DTEs6CjA6ICAgICAgICAzMDBNaHogICAgICAgIDgwMCBtVgoxOiAgICAgICAx NjUwTWh6ICAgICAgIDEwMDAgbVYKCmVjaG8gInMvbSBsZXZlbCBjbG9jayB2b2x0YWdlIiB0byBj aGFuZ2UKc2Nsay9tY2xrJ3MgIGNsb2NrIGFuZCB2b2x0YWdlCgplY2hvICJyIiB0byByZXN0b3Jl IGRlZmF1bHQgdmFsdWUuCmVjaG8gImMiIHRvIGNvbW1pdCB0aGUgdXNlciBzZXR0aW5nLgoKU2ln bmVkLW9mZi1ieTogUmV4IFpodSA8UmV4LlpodUBhbWQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9kcG0uaCAgICAgICAgfCAgNCArKwogZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X3BtLmMgICAgICAgICB8IDk2ICsrKysrKysrKysrKysrKysrKysr KysrKystCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2luY2x1ZGUva2dkX3BwX2ludGVyZmFjZS5oIHwg IDEgKwogZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvYW1kX3Bvd2VycGxheS5jICB8IDE5 ICsrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDExOSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RwbS5oIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RwbS5oCmluZGV4IDk4NmYxZDUuLjRi NTc1NWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kcG0u aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZHBtLmgKQEAgLTM3NCw2 ICszNzQsMTAgQEAgZW51bSBhbWRncHVfcGNpZV9nZW4gewogCQkoKGFkZXYpLT5wb3dlcnBsYXku cHBfZnVuY3MtPnNldF9wb3dlcl9wcm9maWxlX21vZGUoXAogCQkJKGFkZXYpLT5wb3dlcnBsYXku cHBfaGFuZGxlLCBwYXJhbWV0ZXIsIHNpemUpKQogCisjZGVmaW5lIGFtZGdwdV9kcG1fb2RuX2Vk aXRfZHBtX3RhYmxlKGFkZXYsIHR5cGUsIHBhcmFtZXRlciwgc2l6ZSkgXAorCQkoKGFkZXYpLT5w b3dlcnBsYXkucHBfZnVuY3MtPm9kbl9lZGl0X2RwbV90YWJsZShcCisJCQkoYWRldiktPnBvd2Vy cGxheS5wcF9oYW5kbGUsIHR5cGUsIHBhcmFtZXRlciwgc2l6ZSkpCisKIHN0cnVjdCBhbWRncHVf ZHBtIHsKIAlzdHJ1Y3QgYW1kZ3B1X3BzICAgICAgICAqcHM7CiAJLyogbnVtYmVyIG9mIHZhbGlk IHBvd2VyIHN0YXRlcyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcG0uYwppbmRl eCBlZDkwMTJhLi5mOGJhMTk0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfcG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcG0u YwpAQCAtMzYwLDYgKzM2MCw4OCBAQCBzdGF0aWMgc3NpemVfdCBhbWRncHVfc2V0X3BwX3RhYmxl KHN0cnVjdCBkZXZpY2UgKmRldiwKIAlyZXR1cm4gY291bnQ7CiB9CiAKK3N0YXRpYyBzc2l6ZV90 IGFtZGdwdV9zZXRfcHBfb2RfY2xrX3ZvbHRhZ2Uoc3RydWN0IGRldmljZSAqZGV2LAorCQlzdHJ1 Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwKKwkJY29uc3QgY2hhciAqYnVmLAorCQlzaXplX3Qg Y291bnQpCit7CisJc3RydWN0IGRybV9kZXZpY2UgKmRkZXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2 KTsKKwlzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IGRkZXYtPmRldl9wcml2YXRlOworCWlu dCByZXQ7CisJdWludDMyX3QgcGFyYW1ldGVyX3NpemUgPSAwOworCWxvbmcgcGFyYW1ldGVyWzY0 XTsKKwljaGFyIGJ1Zl9jcHlbMTI4XTsKKwljaGFyICp0bXBfc3RyOworCWNoYXIgKnN1Yl9zdHI7 CisJY29uc3QgY2hhciBkZWxpbWl0ZXJbM10gPSB7JyAnLCAnXG4nLCAnXDAnfTsKKwl1aW50MzJf dCB0eXBlOworCisJaWYgKGNvdW50ID4gMTI3KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmICgq YnVmID09ICdjJykgeworCQlpZiAoYWRldi0+cG93ZXJwbGF5LnBwX2Z1bmNzLT5kaXNwYXRjaF90 YXNrcykgeworCQkJYW1kZ3B1X2RwbV9kaXNwYXRjaF90YXNrKGFkZXYsIEFNRF9QUF9UQVNLX1JF QURKVVNUX1BPV0VSX1NUQVRFLCBOVUxMKTsKKwkJCXJldHVybiBjb3VudDsKKwkJfSBlbHNlIHsK KwkJCXJldHVybiAtRUlOVkFMOworCQl9CisJfQorCisJaWYgKCpidWYgPT0gJ3MnKQorCQl0eXBl ID0gUFBfT0ROX1NDTEtfVkREQ19UQUJMRTsKKwllbHNlIGlmICgqYnVmID09ICdtJykKKwkJdHlw ZSA9IFBQX09ETl9NQ0xLX1ZERENfVEFCTEU7CisJZWxzZSBpZigqYnVmID09ICdyJykKKwkJdHlw ZSA9IFBQX09ETl9SRVNFVF9ERUZBVUxUX1RBQkxFOworCWVsc2UKKwkJcmV0dXJuIC1FSU5WQUw7 CisKKwltZW1jcHkoYnVmX2NweSwgYnVmLCBjb3VudCsxKTsKKworCXRtcF9zdHIgPSBidWZfY3B5 OworCisJd2hpbGUgKGlzc3BhY2UoKisrdG1wX3N0cikpOworCisJd2hpbGUgKHRtcF9zdHJbMF0p IHsKKwkJc3ViX3N0ciA9IHN0cnNlcCgmdG1wX3N0ciwgZGVsaW1pdGVyKTsKKwkJcmV0ID0ga3N0 cnRvbChzdWJfc3RyLCAwLCAmcGFyYW1ldGVyW3BhcmFtZXRlcl9zaXplXSk7CisJCWlmIChyZXQp CisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJcGFyYW1ldGVyX3NpemUrKzsKKworCQl3aGlsZSAoaXNz cGFjZSgqdG1wX3N0cikpCisJCQl0bXBfc3RyKys7CisJfQorCisJaWYgKGFkZXYtPnBvd2VycGxh eS5wcF9mdW5jcy0+b2RuX2VkaXRfZHBtX3RhYmxlKQorCQlyZXQgPSBhbWRncHVfZHBtX29kbl9l ZGl0X2RwbV90YWJsZShhZGV2LCB0eXBlLAorCQkJCQkJcGFyYW1ldGVyLCBwYXJhbWV0ZXJfc2l6 ZSk7CisKKwlpZiAocmV0KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXJldHVybiBjb3VudDsKK30K Kworc3RhdGljIHNzaXplX3QgYW1kZ3B1X2dldF9wcF9vZF9jbGtfdm9sdGFnZShzdHJ1Y3QgZGV2 aWNlICpkZXYsCisJCXN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLAorCQljaGFyICpidWYp Cit7CisJc3RydWN0IGRybV9kZXZpY2UgKmRkZXYgPSBkZXZfZ2V0X2RydmRhdGEoZGV2KTsKKwlz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IGRkZXYtPmRldl9wcml2YXRlOworCXVpbnQzMl90 IHNpemUgPSAwOworCisJaWYgKGFkZXYtPnBvd2VycGxheS5wcF9mdW5jcy0+cHJpbnRfY2xvY2tf bGV2ZWxzKSB7CisJCXNpemUgPSBhbWRncHVfZHBtX3ByaW50X2Nsb2NrX2xldmVscyhhZGV2LCBP RF9TQ0xLLCBidWYpOworCQlzaXplICs9IGFtZGdwdV9kcG1fcHJpbnRfY2xvY2tfbGV2ZWxzKGFk ZXYsIE9EX01DTEssIGJ1ZitzaXplKTsKKwkJcmV0dXJuIHNpemU7CisJfSBlbHNlIHsKKwkJcmV0 dXJuIHNucHJpbnRmKGJ1ZiwgUEFHRV9TSVpFLCAiXG4iKTsKKwl9CisKK30KKwogc3RhdGljIHNz aXplX3QgYW1kZ3B1X2dldF9wcF9kcG1fc2NsayhzdHJ1Y3QgZGV2aWNlICpkZXYsCiAJCXN0cnVj dCBkZXZpY2VfYXR0cmlidXRlICphdHRyLAogCQljaGFyICpidWYpCkBAIC04NDIsNiArOTI0LDEw IEBAIHN0YXRpYyBERVZJQ0VfQVRUUihwcF9jb21wdXRlX3Bvd2VyX3Byb2ZpbGUsIFNfSVJVR08g fCBTX0lXVVNSLAogc3RhdGljIERFVklDRV9BVFRSKHBwX3Bvd2VyX3Byb2ZpbGVfbW9kZSwgU19J UlVHTyB8IFNfSVdVU1IsCiAJCWFtZGdwdV9nZXRfcHBfcG93ZXJfcHJvZmlsZV9tb2RlLAogCQlh bWRncHVfc2V0X3BwX3Bvd2VyX3Byb2ZpbGVfbW9kZSk7CitzdGF0aWMgREVWSUNFX0FUVFIocHBf b2RfY2xrX3ZvbHRhZ2UsIFNfSVJVR08gfCBTX0lXVVNSLAorCQlhbWRncHVfZ2V0X3BwX29kX2Ns a192b2x0YWdlLAorCQlhbWRncHVfc2V0X3BwX29kX2Nsa192b2x0YWdlKTsKKwogc3RhdGljIHNz aXplX3QgYW1kZ3B1X2h3bW9uX3Nob3dfdGVtcChzdHJ1Y3QgZGV2aWNlICpkZXYsCiAJCQkJICAg ICAgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCiAJCQkJICAgICAgY2hhciAqYnVmKQpA QCAtMTQ4MSw3ICsxNTY3LDEzIEBAIGludCBhbWRncHVfcG1fc3lzZnNfaW5pdChzdHJ1Y3QgYW1k Z3B1X2RldmljZSAqYWRldikKIAkJCQkicHBfcG93ZXJfcHJvZmlsZV9tb2RlXG4iKTsKIAkJcmV0 dXJuIHJldDsKIAl9Ci0KKwlyZXQgPSBkZXZpY2VfY3JlYXRlX2ZpbGUoYWRldi0+ZGV2LAorCQkJ JmRldl9hdHRyX3BwX29kX2Nsa192b2x0YWdlKTsKKwlpZiAocmV0KSB7CisJCURSTV9FUlJPUigi ZmFpbGVkIHRvIGNyZWF0ZSBkZXZpY2UgZmlsZQkiCisJCQkJInBwX29kX2Nsa192b2x0YWdlXG4i KTsKKwkJcmV0dXJuIHJldDsKKwl9CiAJcmV0ID0gYW1kZ3B1X2RlYnVnZnNfcG1faW5pdChhZGV2 KTsKIAlpZiAocmV0KSB7CiAJCURSTV9FUlJPUigiRmFpbGVkIHRvIHJlZ2lzdGVyIGRlYnVnZnMg ZmlsZSBmb3IgZHBtIVxuIik7CkBAIC0xNTE5LDYgKzE2MTEsOCBAQCB2b2lkIGFtZGdwdV9wbV9z eXNmc19maW5pKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogCQkJJmRldl9hdHRyX3BwX2Nv bXB1dGVfcG93ZXJfcHJvZmlsZSk7CiAJZGV2aWNlX3JlbW92ZV9maWxlKGFkZXYtPmRldiwKIAkJ CSZkZXZfYXR0cl9wcF9wb3dlcl9wcm9maWxlX21vZGUpOworCWRldmljZV9yZW1vdmVfZmlsZShh ZGV2LT5kZXYsCisJCQkmZGV2X2F0dHJfcHBfb2RfY2xrX3ZvbHRhZ2UpOwogfQogCiB2b2lkIGFt ZGdwdV9wbV9jb21wdXRlX2Nsb2NrcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvaW5jbHVkZS9rZ2RfcHBfaW50ZXJmYWNlLmggYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2luY2x1ZGUva2dkX3BwX2ludGVyZmFjZS5oCmluZGV4IDNlOGI5 Y2MuLmY3MzkzZjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvaW5jbHVkZS9rZ2Rf cHBfaW50ZXJmYWNlLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9pbmNsdWRlL2tnZF9wcF9p bnRlcmZhY2UuaApAQCAtMzA5LDYgKzMwOSw3IEBAIHN0cnVjdCBhbWRfcG1fZnVuY3MgewogCQlz dHJ1Y3QgYW1kX3BwX3NpbXBsZV9jbG9ja19pbmZvICpjbG9ja3MpOwogCWludCAoKmdldF9wb3dl cl9wcm9maWxlX21vZGUpKHZvaWQgKmhhbmRsZSwgY2hhciAqYnVmKTsKIAlpbnQgKCpzZXRfcG93 ZXJfcHJvZmlsZV9tb2RlKSh2b2lkICpoYW5kbGUsIGxvbmcgKmlucHV0LCB1aW50MzJfdCBzaXpl KTsKKwlpbnQgKCpvZG5fZWRpdF9kcG1fdGFibGUpKHZvaWQgKmhhbmRsZSwgdWludDMyX3QgdHlw ZSwgbG9uZyAqaW5wdXQsIHVpbnQzMl90IHNpemUpOwogfTsKIAogI2VuZGlmCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9hbWRfcG93ZXJwbGF5LmMgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL3Bvd2VycGxheS9hbWRfcG93ZXJwbGF5LmMKaW5kZXggZDljYjQyNC4uODU0 YzQzYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvYW1kX3Bvd2Vy cGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2FtZF9wb3dlcnBsYXku YwpAQCAtMTEyMiw2ICsxMTIyLDI0IEBAIHN0YXRpYyBpbnQgcHBfc2V0X3Bvd2VyX3Byb2ZpbGVf bW9kZSh2b2lkICpoYW5kbGUsIGxvbmcgKmlucHV0LCB1aW50MzJfdCBzaXplKQogCXJldHVybiBo d21nci0+aHdtZ3JfZnVuYy0+c2V0X3Bvd2VyX3Byb2ZpbGVfbW9kZShod21nciwgaW5wdXQsIHNp emUpOwogfQogCitzdGF0aWMgaW50IHBwX29kbl9lZGl0X2RwbV90YWJsZSh2b2lkICpoYW5kbGUs IHVpbnQzMl90IHR5cGUsIGxvbmcgKmlucHV0LCB1aW50MzJfdCBzaXplKQoreworCXN0cnVjdCBw cF9od21nciAqaHdtZ3I7CisJc3RydWN0IHBwX2luc3RhbmNlICpwcF9oYW5kbGUgPSAoc3RydWN0 IHBwX2luc3RhbmNlICopaGFuZGxlOworCisJaWYgKHBwX2NoZWNrKHBwX2hhbmRsZSkpCisJCXJl dHVybiAtRUlOVkFMOworCisJaHdtZ3IgPSBwcF9oYW5kbGUtPmh3bWdyOworCisJaWYgKGh3bWdy LT5od21ncl9mdW5jLT5vZG5fZWRpdF9kcG1fdGFibGUgPT0gTlVMTCkgeworCQlwcl9pbmZvKCIl cyB3YXMgbm90IGltcGxlbWVudGVkLlxuIiwgX19mdW5jX18pOworCQlyZXR1cm4gLUVJTlZBTDsK Kwl9CisKKwlyZXR1cm4gaHdtZ3ItPmh3bWdyX2Z1bmMtPm9kbl9lZGl0X2RwbV90YWJsZShod21n ciwgdHlwZSwgaW5wdXQsIHNpemUpOworfQorCiBzdGF0aWMgaW50IHBwX2RwbV9zZXRfcG93ZXJf cHJvZmlsZV9zdGF0ZSh2b2lkICpoYW5kbGUsCiAJCXN0cnVjdCBhbWRfcHBfcHJvZmlsZSAqcmVx dWVzdCkKIHsKQEAgLTE1MDcsNiArMTUyNSw3IEBAIHN0YXRpYyBpbnQgcHBfZ2V0X2Rpc3BsYXlf bW9kZV92YWxpZGF0aW9uX2Nsb2Nrcyh2b2lkICpoYW5kbGUsCiAJLm5vdGlmeV9zbXVfbWVtb3J5 X2luZm8gPSBwcF9kcG1fbm90aWZ5X3NtdV9tZW1vcnlfaW5mbywKIAkuZ2V0X3Bvd2VyX3Byb2Zp bGVfbW9kZSA9IHBwX2dldF9wb3dlcl9wcm9maWxlX21vZGUsCiAJLnNldF9wb3dlcl9wcm9maWxl X21vZGUgPSBwcF9zZXRfcG93ZXJfcHJvZmlsZV9tb2RlLAorCS5vZG5fZWRpdF9kcG1fdGFibGUg PSBwcF9vZG5fZWRpdF9kcG1fdGFibGUsCiAvKiBleHBvcnQgdG8gREMgKi8KIAkuZ2V0X3NjbGsg PSBwcF9kcG1fZ2V0X3NjbGssCiAJLmdldF9tY2xrID0gcHBfZHBtX2dldF9tY2xrLAotLSAKMS45 LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1n ZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdmeAo=