From mboxrd@z Thu Jan 1 00:00:00 1970 From: Huang Rui Subject: [PATCH 130/138] drm/amd/powerplay: adjust power state when set od_clk Date: Fri, 25 Jan 2019 18:25:37 +0800 Message-ID: <1548411945-12396-131-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 RnJvbTogTGlrdW4gR2FvIDxMaWt1bi5HYW9AYW1kLmNvbT4KCkV4cG9zZSB0aGUgZnVuY3Rpb24g b2YgYWRqdXN0X3Bvd2VyX3N0YXRlX2R5bmFtaWMgdG8gbWFrZSBpdCBjb21tb24gdG8Kb3RoZXIg ZnVuY3Rpb25zLgpBZGQgdGhlIG9wZXJhdGUgb2YgYWRqdXN0IHBvd2V0IHN0YXRlIHdoZW4gc2V0 IG9kIHBlcmNlbnRhZ2Ugb3IKb3ZlcmRyaXZlIGNvbW1pdCBkcG0gdGFibGUuCgpTaWduZWQtb2Zm LWJ5OiBMaWt1biBHYW8gPExpa3VuLkdhb0BhbWQuY29tPgpSZXZpZXdlZC1ieTogSHVhbmcgUnVp IDxyYXkuaHVhbmdAYW1kLmNvbT4KUmV2aWV3ZWQtYnk6IEtldmluIFdhbmcgPGtldmluMS53YW5n QGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvdmVnYTIwX3BwdC5j IHwgODAgKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNTYg aW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9wb3dlcnBsYXkvdmVnYTIwX3BwdC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dl cnBsYXkvdmVnYTIwX3BwdC5jCmluZGV4IDc3NDUzMTkuLmUxMTdhZjQgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3ZlZ2EyMF9wcHQuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL3Bvd2VycGxheS92ZWdhMjBfcHB0LmMKQEAgLTE3NjQsNDQgKzE3NjQsMzUgQEAg c3RhdGljIGVudW0gYW1kX2RwbV9mb3JjZWRfbGV2ZWwgdmVnYTIwX2dldF9wZXJmb3JtYW5jZV9s ZXZlbChzdHJ1Y3Qgc211X2NvbnRleHQKIAlyZXR1cm4gc211X2RwbV9jdHgtPmRwbV9sZXZlbDsK IH0KIAotc3RhdGljIGludAotdmVnYTIwX2ZvcmNlX3BlcmZvcm1hbmNlX2xldmVsKHN0cnVjdCBz bXVfY29udGV4dCAqc211LCBlbnVtIGFtZF9kcG1fZm9yY2VkX2xldmVsIGxldmVsKQorc3RhdGlj IGludCB2ZWdhMjBfYWRqdXN0X3Bvd2VyX3N0YXRlX2R5bmFtaWMoc3RydWN0IHNtdV9jb250ZXh0 ICpzbXUsCisJCQkJCSAgICAgZW51bSBhbWRfZHBtX2ZvcmNlZF9sZXZlbCBsZXZlbCkKIHsKIAlp bnQgcmV0ID0gMDsKIAlpbnQgaW5kZXggPSAwOwotCWludCBpID0gMDsKIAl1aW50MzJfdCBzY2xr X21hc2ssIG1jbGtfbWFzaywgc29jX21hc2s7CiAJbG9uZyB3b3JrbG9hZDsKIAlzdHJ1Y3Qgc211 X2RwbV9jb250ZXh0ICpzbXVfZHBtX2N0eCA9ICYoc211LT5zbXVfZHBtKTsKLQlpZiAoIXNtdV9k cG1fY3R4LT5kcG1fY29udGV4dCkKLQkJcmV0dXJuIC1FSU5WQUw7CiAKLQlmb3IgKGkgPSAwOyBp IDwgc211LT5hZGV2LT5udW1faXBfYmxvY2tzOyBpKyspIHsKLQkJaWYgKHNtdS0+YWRldi0+aXBf YmxvY2tzW2ldLnZlcnNpb24tPnR5cGUgPT0gQU1EX0lQX0JMT0NLX1RZUEVfU01DKQotCQkJYnJl YWs7Ci0JfQotCW11dGV4X2xvY2soJnNtdS0+bXV0ZXgpOwotCXNtdS0+YWRldi0+aXBfYmxvY2tz W2ldLnZlcnNpb24tPmZ1bmNzLT5lbmFibGVfdW1kX3BzdGF0ZShzbXUsICZsZXZlbCk7CiAJcmV0 ID0gdmVnYTIwX2Rpc3BsYXlfY29uZmlnX2NoYW5nZWQoc211KTsKIAlpZiAocmV0KSB7CiAJCXBy X2VycigiRmFpbGVkIHRvIGNoYW5nZSBkaXNwbGF5IGNvbmZpZyEiKTsKLQkJZ290byBmYWlsZWQ7 CisJCXJldHVybiByZXQ7CiAJfQogCXJldCA9IHZlZ2EyMF9hcHBseV9jbG9ja3NfYWRqdXN0X3J1 bGVzKHNtdSk7CiAJaWYgKHJldCkgewogCQlwcl9lcnIoIkZhaWxlZCB0byBhcHBseSBjbG9ja3Mg YWRqdXN0IHJ1bGVzISIpOwotCQlnb3RvIGZhaWxlZDsKKwkJcmV0dXJuIHJldDsKIAl9CiAJcmV0 ID0gdmVnYTIwX25vdGlmeV9zbWNfZGlzcGFseV9jb25maWcoc211KTsKIAlpZiAocmV0KSB7CiAJ CXByX2VycigiRmFpbGVkIHRvIG5vdGlmeSBzbWMgZGlzcGxheSBjb25maWchIik7Ci0JCWdvdG8g ZmFpbGVkOworCQlyZXR1cm4gcmV0OwogCX0KKwogCXN3aXRjaCAobGV2ZWwpIHsKIAljYXNlIEFN RF9EUE1fRk9SQ0VEX0xFVkVMX0hJR0g6CiAJCXJldCA9IHZlZ2EyMF9mb3JjZV9kcG1faGlnaGVz dChzbXUpOwogCQlicmVhazsKLQogCWNhc2UgQU1EX0RQTV9GT1JDRURfTEVWRUxfTE9XOgogCQly ZXQgPSB2ZWdhMjBfZm9yY2VfZHBtX2xvd2VzdChzbXUpOwogCQlicmVhazsKQEAgLTE4MTksNyAr MTgxMCw3IEBAIHZlZ2EyMF9mb3JjZV9wZXJmb3JtYW5jZV9sZXZlbChzdHJ1Y3Qgc211X2NvbnRl eHQgKnNtdSwgZW51bSBhbWRfZHBtX2ZvcmNlZF9sZXZlCiAJCQkJCQkgICAgJm1jbGtfbWFzaywK IAkJCQkJCSAgICAmc29jX21hc2spOwogCQlpZiAocmV0KQotCQkJZ290byBmYWlsZWQ7CisJCQly ZXR1cm4gcmV0OwogCQl2ZWdhMjBfZm9yY2VfY2xrX2xldmVscyhzbXUsIFBQX1NDTEssIDEgPDwg c2Nsa19tYXNrKTsKIAkJdmVnYTIwX2ZvcmNlX2Nsa19sZXZlbHMoc211LCBQUF9NQ0xLLCAxIDw8 IG1jbGtfbWFzayk7CiAJCWJyZWFrOwpAQCAtMTg0Miw4ICsxODMzLDMxIEBAIHZlZ2EyMF9mb3Jj ZV9wZXJmb3JtYW5jZV9sZXZlbChzdHJ1Y3Qgc211X2NvbnRleHQgKnNtdSwgZW51bSBhbWRfZHBt X2ZvcmNlZF9sZXZlCiAJCQlzbXUtPmZ1bmNzLT5zZXRfcG93ZXJfcHJvZmlsZV9tb2RlKHNtdSwg Jndvcmtsb2FkLCAwKTsKIAl9CiAKLWZhaWxlZDoKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMg aW50Cit2ZWdhMjBfZm9yY2VfcGVyZm9ybWFuY2VfbGV2ZWwoc3RydWN0IHNtdV9jb250ZXh0ICpz bXUsIGVudW0gYW1kX2RwbV9mb3JjZWRfbGV2ZWwgbGV2ZWwpCit7CisJaW50IHJldCA9IDA7CisJ aW50IGk7CisJc3RydWN0IHNtdV9kcG1fY29udGV4dCAqc211X2RwbV9jdHggPSAmKHNtdS0+c211 X2RwbSk7CisKKwlpZiAoIXNtdV9kcG1fY3R4LT5kcG1fY29udGV4dCkKKwkJcmV0dXJuIC1FSU5W QUw7CisKKwlmb3IgKGkgPSAwOyBpIDwgc211LT5hZGV2LT5udW1faXBfYmxvY2tzOyBpKyspIHsK KwkJaWYgKHNtdS0+YWRldi0+aXBfYmxvY2tzW2ldLnZlcnNpb24tPnR5cGUgPT0gQU1EX0lQX0JM T0NLX1RZUEVfU01DKQorCQkJYnJlYWs7CisJfQorCisJbXV0ZXhfbG9jaygmc211LT5tdXRleCk7 CisKKwlzbXUtPmFkZXYtPmlwX2Jsb2Nrc1tpXS52ZXJzaW9uLT5mdW5jcy0+ZW5hYmxlX3VtZF9w c3RhdGUoc211LCAmbGV2ZWwpOworCXJldCA9IHZlZ2EyMF9hZGp1c3RfcG93ZXJfc3RhdGVfZHlu YW1pYyhzbXUsIGxldmVsKTsKKwogCW11dGV4X3VubG9jaygmc211LT5tdXRleCk7CisKIAlyZXR1 cm4gcmV0OwogfQogCkBAIC0xOTM0LDkgKzE5NDgsMTIgQEAgc3RhdGljIGludCB2ZWdhMjBfc2V0 X29kX3BlcmNlbnRhZ2Uoc3RydWN0IHNtdV9jb250ZXh0ICpzbXUsCiAJc3RydWN0IHZlZ2EyMF9z aW5nbGVfZHBtX3RhYmxlICpzaW5nbGVfZHBtX3RhYmxlOwogCXN0cnVjdCB2ZWdhMjBfc2luZ2xl X2RwbV90YWJsZSAqZ29sZGVuX2RwbV90YWJsZTsKIAl1aW50MzJfdCBvZF9jbGssIGluZGV4Owot CWludCByZXQsIGZlYXR1cmVfZW5hYmxlZDsKKwlpbnQgcmV0ID0gMDsKKwlpbnQgZmVhdHVyZV9l bmFibGVkOwogCVBQQ0xLX2UgY2xrX2lkOwogCisJbXV0ZXhfbG9jaygmKHNtdS0+bXV0ZXgpKTsK KwogCWRwbV90YWJsZSA9IHNtdV9kcG0tPmRwbV9jb250ZXh0OwogCWdvbGRlbl90YWJsZSA9IHNt dV9kcG0tPmdvbGRlbl9kcG1fY29udGV4dDsKIApAQCAtMTk1NiwxMCArMTk3MywxMyBAQCBzdGF0 aWMgaW50IHZlZ2EyMF9zZXRfb2RfcGVyY2VudGFnZShzdHJ1Y3Qgc211X2NvbnRleHQgKnNtdSwK IAkJaW5kZXggPSBPRDhfU0VUVElOR19VQ0xLX0ZNQVg7CiAJCWJyZWFrOwogCWRlZmF1bHQ6Ci0J CXJldHVybiAtRUlOVkFMOworCQlyZXQgPSAtRUlOVkFMOwogCQlicmVhazsKIAl9CiAKKwlpZiAo cmV0KQorCQlnb3RvIHNldF9vZF9mYWlsZWQ7CisKIAlvZF9jbGsgPSBnb2xkZW5fZHBtX3RhYmxl LT5kcG1fbGV2ZWxzW2dvbGRlbl9kcG1fdGFibGUtPmNvdW50IC0gMV0udmFsdWUgKiB2YWx1ZTsK IAlvZF9jbGsgLz0gMTAwOwogCW9kX2NsayArPSBnb2xkZW5fZHBtX3RhYmxlLT5kcG1fbGV2ZWxz W2dvbGRlbl9kcG1fdGFibGUtPmNvdW50IC0gMV0udmFsdWU7CkBAIC0xOTY3LDcgKzE5ODcsNyBA QCBzdGF0aWMgaW50IHZlZ2EyMF9zZXRfb2RfcGVyY2VudGFnZShzdHJ1Y3Qgc211X2NvbnRleHQg KnNtdSwKIAlyZXQgPSBzbXVfdXBkYXRlX29kOF9zZXR0aW5ncyhzbXUsIGluZGV4LCBvZF9jbGsp OwogCWlmIChyZXQpIHsKIAkJcHJfZXJyKCJbU2V0b3ZlcmRyaXZlXSBmYWlsZWQgdG8gc2V0IG9k IGNsayFcbiIpOwotCQlyZXR1cm4gcmV0OworCQlnb3RvIHNldF9vZF9mYWlsZWQ7CiAJfQogCiAJ aWYgKGZlYXR1cmVfZW5hYmxlZCkgewpAQCAtMTk3NSwxNCArMTk5NSwxOSBAQCBzdGF0aWMgaW50 IHZlZ2EyMF9zZXRfb2RfcGVyY2VudGFnZShzdHJ1Y3Qgc211X2NvbnRleHQgKnNtdSwKIAkJCQkJ CSAgY2xrX2lkKTsKIAkJaWYgKHJldCkgewogCQkJcHJfZXJyKCJbU2V0b3ZlcmRyaXZlXSBmYWls ZWQgdG8gcmVmcmVzaCBkcG0gdGFibGUhXG4iKTsKLQkJCXJldHVybiByZXQ7CisJCQlnb3RvIHNl dF9vZF9mYWlsZWQ7CiAJCX0KIAl9IGVsc2UgewogCQlzaW5nbGVfZHBtX3RhYmxlLT5jb3VudCA9 IDE7CiAJCXNpbmdsZV9kcG1fdGFibGUtPmRwbV9sZXZlbHNbMF0udmFsdWUgPSBzbXUtPnNtdV90 YWJsZS5ib290X3ZhbHVlcy5nZnhjbGsgLyAxMDA7CiAJfQogCi0JcmV0dXJuIDA7CisJcmV0ID0g dmVnYTIwX2FkanVzdF9wb3dlcl9zdGF0ZV9keW5hbWljKHNtdSwgc211X2RwbS0+ZHBtX2xldmVs KTsKKworc2V0X29kX2ZhaWxlZDoKKwltdXRleF91bmxvY2soJihzbXUtPm11dGV4KSk7CisKKwly ZXR1cm4gcmV0OwogfQogCiBzdGF0aWMgaW50IHZlZ2EyMF9vZG5fZWRpdF9kcG1fdGFibGUoc3Ry dWN0IHNtdV9jb250ZXh0ICpzbXUsCkBAIC0xOTk5LDcgKzIwMjQsOCBAQCBzdGF0aWMgaW50IHZl Z2EyMF9vZG5fZWRpdF9kcG1fdGFibGUoc3RydWN0IHNtdV9jb250ZXh0ICpzbXUsCiAJCShzdHJ1 Y3QgdmVnYTIwX29kOF9zZXR0aW5ncyAqKXRhYmxlX2NvbnRleHQtPm9kOF9zZXR0aW5nczsKIAlz dHJ1Y3QgcHBfY2xvY2tfbGV2ZWxzX3dpdGhfbGF0ZW5jeSBjbG9ja3M7CiAJaW50MzJfdCBpbnB1 dF9pbmRleCwgaW5wdXRfY2xrLCBpbnB1dF92b2wsIGk7Ci0JaW50IG9kOF9pZCwgcmV0OworCWlu dCBvZDhfaWQ7CisJaW50IHJldCA9IDA7CiAKIAlkcG1fdGFibGUgPSBzbXVfZHBtLT5kcG1fY29u dGV4dDsKIApAQCAtMjIwNCw3ICsyMjMwLDEzIEBAIHN0YXRpYyBpbnQgdmVnYTIwX29kbl9lZGl0 X2RwbV90YWJsZShzdHJ1Y3Qgc211X2NvbnRleHQgKnNtdSwKIAkJcmV0dXJuIC1FSU5WQUw7CiAJ fQogCi0JcmV0dXJuIDA7CisJaWYgKHR5cGUgPT0gUFBfT0RfQ09NTUlUX0RQTV9UQUJMRSkgewor CQltdXRleF9sb2NrKCYoc211LT5tdXRleCkpOworCQlyZXQgPSB2ZWdhMjBfYWRqdXN0X3Bvd2Vy X3N0YXRlX2R5bmFtaWMoc211LCBzbXVfZHBtLT5kcG1fbGV2ZWwpOworCQltdXRleF91bmxvY2so JihzbXUtPm11dGV4KSk7CisJfQorCisJcmV0dXJuIHJldDsKIH0KIAogc3RhdGljIGNvbnN0IHN0 cnVjdCBwcHRhYmxlX2Z1bmNzIHZlZ2EyMF9wcHRfZnVuY3MgPSB7Ci0tIAoyLjcuNAoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5n IGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==