From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rex Zhu Subject: [PATCH v2 2/2] drm/amdgpu/pm: Get/set dgpu power cap via hwmon API Date: Tue, 30 Jan 2018 11:07:43 +0800 Message-ID: <1517281663-10684-2-git-send-email-Rex.Zhu@amd.com> References: <1517281663-10684-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: <1517281663-10684-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 djI6IGNoYW5nZSBwb3dlciB1bml0IHRvIG1pY3JvV2F0dAoKQWR1c3QgcG93ZXIgbGltaXQgdGhy b3VnaCBwb3dlcjFfY2FwCkdldCBtaW4vbWF4IHBvd2VyIGxpbWl0IHRocm91Z2ggcG93ZXIxX2Nh cF9taW4vcG93ZXIxX2NhcF9tYXgKCkNoYW5nZS1JZDogSTRkNjc4ZTg4NzIyOWRlZmYwN2M3YTk5 NDk4MjQ0YTRmNWU1Yzg5NmUKU2lnbmVkLW9mZi1ieTogUmV4IFpodSA8UmV4LlpodUBhbWQuY29t PgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wbS5jIHwgNzUgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDc1IGluc2VydGlv bnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcG0u YyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wbS5jCmluZGV4IGIwY2RiMTQu LjBhMmJhYmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9w bS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wbS5jCkBAIC0xMjA3 LDYgKzEyMDcsNjkgQEAgc3RhdGljIHNzaXplX3QgYW1kZ3B1X2h3bW9uX3Nob3dfcG93ZXJfYXZn KHN0cnVjdCBkZXZpY2UgKmRldiwKIAlyZXR1cm4gc25wcmludGYoYnVmLCBQQUdFX1NJWkUsICIl dVxuIiwgdXcpOwogfQogCitzdGF0aWMgc3NpemVfdCBhbWRncHVfaHdtb25fc2hvd19wb3dlcl9j YXBfbWluKHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJCQkJIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRl ICphdHRyLAorCQkJCQkgY2hhciAqYnVmKQoreworCXJldHVybiBzcHJpbnRmKGJ1ZiwgIiVpXG4i LCAwKTsKK30KKworc3RhdGljIHNzaXplX3QgYW1kZ3B1X2h3bW9uX3Nob3dfcG93ZXJfY2FwX21h eChzdHJ1Y3QgZGV2aWNlICpkZXYsCisJCQkJCSBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0 ciwKKwkJCQkJIGNoYXIgKmJ1ZikKK3sKKwlzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IGRl dl9nZXRfZHJ2ZGF0YShkZXYpOworCXVpbnQzMl90IGxpbWl0ID0gMDsKKworCWlmIChhZGV2LT5w b3dlcnBsYXkucHBfZnVuY3MgJiYgYWRldi0+cG93ZXJwbGF5LnBwX2Z1bmNzLT5nZXRfcG93ZXJf bGltaXQpIHsKKwkJYWRldi0+cG93ZXJwbGF5LnBwX2Z1bmNzLT5nZXRfcG93ZXJfbGltaXQoYWRl di0+cG93ZXJwbGF5LnBwX2hhbmRsZSwgJmxpbWl0LCB0cnVlKTsKKwkJcmV0dXJuIHNucHJpbnRm KGJ1ZiwgUEFHRV9TSVpFLCAiJXVcbiIsIGxpbWl0ICogMTAwMDAwMCk7CisJfSBlbHNlIHsKKwkJ cmV0dXJuIHNucHJpbnRmKGJ1ZiwgUEFHRV9TSVpFLCAiXG4iKTsKKwl9Cit9CisKK3N0YXRpYyBz c2l6ZV90IGFtZGdwdV9od21vbl9zaG93X3Bvd2VyX2NhcChzdHJ1Y3QgZGV2aWNlICpkZXYsCisJ CQkJCSBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAqYXR0ciwKKwkJCQkJIGNoYXIgKmJ1ZikKK3sK KwlzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOworCXVp bnQzMl90IGxpbWl0ID0gMDsKKworCWlmIChhZGV2LT5wb3dlcnBsYXkucHBfZnVuY3MgJiYgYWRl di0+cG93ZXJwbGF5LnBwX2Z1bmNzLT5nZXRfcG93ZXJfbGltaXQpIHsKKwkJYWRldi0+cG93ZXJw bGF5LnBwX2Z1bmNzLT5nZXRfcG93ZXJfbGltaXQoYWRldi0+cG93ZXJwbGF5LnBwX2hhbmRsZSwg JmxpbWl0LCBmYWxzZSk7CisJCXJldHVybiBzbnByaW50ZihidWYsIFBBR0VfU0laRSwgIiV1XG4i LCBsaW1pdCAqIDEwMDAwMDApOworCX0gZWxzZSB7CisJCXJldHVybiBzbnByaW50ZihidWYsIFBB R0VfU0laRSwgIlxuIik7CisJfQorfQorCisKK3N0YXRpYyBzc2l6ZV90IGFtZGdwdV9od21vbl9z ZXRfcG93ZXJfY2FwKHN0cnVjdCBkZXZpY2UgKmRldiwKKwkJc3RydWN0IGRldmljZV9hdHRyaWJ1 dGUgKmF0dHIsCisJCWNvbnN0IGNoYXIgKmJ1ZiwKKwkJc2l6ZV90IGNvdW50KQoreworCXN0cnVj dCBhbWRncHVfZGV2aWNlICphZGV2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CisJaW50IGVycjsK Kwl1MzIgdmFsdWU7CisKKwllcnIgPSBrc3RydG91MzIoYnVmLCAxMCwgJnZhbHVlKTsKKwlpZiAo ZXJyKQorCQlyZXR1cm4gZXJyOworCisJdmFsdWUgPSB2YWx1ZSAvIDEwMDAwMDA7IC8qIGNvbnZl cnQgdG8gV2F0dCAqLworCWlmIChhZGV2LT5wb3dlcnBsYXkucHBfZnVuY3MgJiYgYWRldi0+cG93 ZXJwbGF5LnBwX2Z1bmNzLT5zZXRfcG93ZXJfbGltaXQpIHsKKwkJZXJyID0gYWRldi0+cG93ZXJw bGF5LnBwX2Z1bmNzLT5zZXRfcG93ZXJfbGltaXQoYWRldi0+cG93ZXJwbGF5LnBwX2hhbmRsZSwg dmFsdWUpOworCQlpZiAoZXJyKQorCQkJcmV0dXJuIGVycjsKKwl9IGVsc2UgeworCQlyZXR1cm4g LUVJTlZBTDsKKwl9CisKKwlyZXR1cm4gY291bnQ7Cit9CisKIHN0YXRpYyBTRU5TT1JfREVWSUNF X0FUVFIodGVtcDFfaW5wdXQsIFNfSVJVR08sIGFtZGdwdV9od21vbl9zaG93X3RlbXAsIE5VTEws IDApOwogc3RhdGljIFNFTlNPUl9ERVZJQ0VfQVRUUih0ZW1wMV9jcml0LCBTX0lSVUdPLCBhbWRn cHVfaHdtb25fc2hvd190ZW1wX3RocmVzaCwgTlVMTCwgMCk7CiBzdGF0aWMgU0VOU09SX0RFVklD RV9BVFRSKHRlbXAxX2NyaXRfaHlzdCwgU19JUlVHTywgYW1kZ3B1X2h3bW9uX3Nob3dfdGVtcF90 aHJlc2gsIE5VTEwsIDEpOwpAQCAtMTIyMCw2ICsxMjgzLDkgQEAgc3RhdGljIHNzaXplX3QgYW1k Z3B1X2h3bW9uX3Nob3dfcG93ZXJfYXZnKHN0cnVjdCBkZXZpY2UgKmRldiwKIHN0YXRpYyBTRU5T T1JfREVWSUNFX0FUVFIoaW4xX2lucHV0LCBTX0lSVUdPLCBhbWRncHVfaHdtb25fc2hvd192ZGRu YiwgTlVMTCwgMCk7CiBzdGF0aWMgU0VOU09SX0RFVklDRV9BVFRSKGluMV9sYWJlbCwgU19JUlVH TywgYW1kZ3B1X2h3bW9uX3Nob3dfdmRkbmJfbGFiZWwsIE5VTEwsIDApOwogc3RhdGljIFNFTlNP Ul9ERVZJQ0VfQVRUUihwb3dlcjFfYXZlcmFnZSwgU19JUlVHTywgYW1kZ3B1X2h3bW9uX3Nob3df cG93ZXJfYXZnLCBOVUxMLCAwKTsKK3N0YXRpYyBTRU5TT1JfREVWSUNFX0FUVFIocG93ZXIxX2Nh cF9tYXgsIFNfSVJVR08sIGFtZGdwdV9od21vbl9zaG93X3Bvd2VyX2NhcF9tYXgsIE5VTEwsIDAp Oworc3RhdGljIFNFTlNPUl9ERVZJQ0VfQVRUUihwb3dlcjFfY2FwX21pbiwgU19JUlVHTywgYW1k Z3B1X2h3bW9uX3Nob3dfcG93ZXJfY2FwX21pbiwgTlVMTCwgMCk7CitzdGF0aWMgU0VOU09SX0RF VklDRV9BVFRSKHBvd2VyMV9jYXAsIFNfSVJVR08gfCBTX0lXVVNSLCBhbWRncHVfaHdtb25fc2hv d19wb3dlcl9jYXAsIGFtZGdwdV9od21vbl9zZXRfcG93ZXJfY2FwLCAwKTsKIAogc3RhdGljIHN0 cnVjdCBhdHRyaWJ1dGUgKmh3bW9uX2F0dHJpYnV0ZXNbXSA9IHsKIAkmc2Vuc29yX2Rldl9hdHRy X3RlbXAxX2lucHV0LmRldl9hdHRyLmF0dHIsCkBAIC0xMjM1LDYgKzEzMDEsOSBAQCBzdGF0aWMg c3NpemVfdCBhbWRncHVfaHdtb25fc2hvd19wb3dlcl9hdmcoc3RydWN0IGRldmljZSAqZGV2LAog CSZzZW5zb3JfZGV2X2F0dHJfaW4xX2lucHV0LmRldl9hdHRyLmF0dHIsCiAJJnNlbnNvcl9kZXZf YXR0cl9pbjFfbGFiZWwuZGV2X2F0dHIuYXR0ciwKIAkmc2Vuc29yX2Rldl9hdHRyX3Bvd2VyMV9h dmVyYWdlLmRldl9hdHRyLmF0dHIsCisJJnNlbnNvcl9kZXZfYXR0cl9wb3dlcjFfY2FwX21heC5k ZXZfYXR0ci5hdHRyLAorCSZzZW5zb3JfZGV2X2F0dHJfcG93ZXIxX2NhcF9taW4uZGV2X2F0dHIu YXR0ciwKKwkmc2Vuc29yX2Rldl9hdHRyX3Bvd2VyMV9jYXAuZGV2X2F0dHIuYXR0ciwKIAlOVUxM CiB9OwogCkBAIC0xMjgyLDYgKzEzNTEsMTIgQEAgc3RhdGljIHVtb2RlX3QgaHdtb25fYXR0cmli dXRlc192aXNpYmxlKHN0cnVjdCBrb2JqZWN0ICprb2JqLAogCSAgICAgYXR0ciA9PSAmc2Vuc29y X2Rldl9hdHRyX3B3bTFfZW5hYmxlLmRldl9hdHRyLmF0dHIpKSAvKiBjYW4ndCBtYW5hZ2Ugc3Rh dGUgKi8KIAkJZWZmZWN0aXZlX21vZGUgJj0gflNfSVdVU1I7CiAKKwlpZiAoKGFkZXYtPmZsYWdz ICYgQU1EX0lTX0FQVSkgJiYKKwkgICAgKGF0dHIgPT0gJnNlbnNvcl9kZXZfYXR0cl9wb3dlcjFf Y2FwX21heC5kZXZfYXR0ci5hdHRyIHx8CisJICAgICBhdHRyID09ICZzZW5zb3JfZGV2X2F0dHJf cG93ZXIxX2NhcF9taW4uZGV2X2F0dHIuYXR0cnx8CisJICAgICBhdHRyID09ICZzZW5zb3JfZGV2 X2F0dHJfcG93ZXIxX2NhcC5kZXZfYXR0ci5hdHRyKSkKKwkJcmV0dXJuIDA7CisKIAkvKiBoaWRl IG1heC9taW4gdmFsdWVzIGlmIHdlIGNhbid0IGJvdGggcXVlcnkgYW5kIG1hbmFnZSB0aGUgZmFu ICovCiAJaWYgKCghYWRldi0+cG93ZXJwbGF5LnBwX2Z1bmNzLT5zZXRfZmFuX3NwZWVkX3BlcmNl bnQgJiYKIAkgICAgICFhZGV2LT5wb3dlcnBsYXkucHBfZnVuY3MtPmdldF9mYW5fc3BlZWRfcGVy Y2VudCkgJiYKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1n ZngK