From: Rex Zhu Subject: [PATCH 3/4] drm/amd/powerplay: refine powerplay code for RV Date: Tue, 5 Sep 2017 09:29:27 +0800 Message-ID: <1504574968-23945-3-git-send-email-Rex.Zhu@amd.com> References: <1504574968-23945-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: <1504574968-23945-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 dXNlIGZ1bmN0aW9uIHBvaW50cyBpbnN0YW5kIG9mIGZ1bmN0aW9uIHRhYmxlLgoKQ2hhbmdlLUlk OiBJYzNhNGZjMTQ5MmRjYjMzODg0YzMyYTcwZWM5YjIwMTNiNDEyZDUyYQpTaWduZWQtb2ZmLWJ5 OiBSZXggWmh1IDxSZXguWmh1QGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dl cnBsYXkvaHdtZ3IvcnZfaHdtZ3IuYyB8IDEzNyArKysrKystLS0tLS0tLS0tLS0tLS0tLS0tCiAx IGZpbGUgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKSwgMTA0IGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL3J2X2h3bWdyLmMgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9ydl9od21nci5jCmluZGV4IGQ1YTlj MDcuLmRhNzRmOTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3 bWdyL3J2X2h3bWdyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3Iv cnZfaHdtZ3IuYwpAQCAtMTU3LDggKzE1Nyw3IEBAIHN0YXRpYyBpbnQgcnZfY29uc3RydWN0X2Jv b3Rfc3RhdGUoc3RydWN0IHBwX2h3bWdyICpod21ncikKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGlj IGludCBydl90Zl9zZXRfY2xvY2tfbGltaXQoc3RydWN0IHBwX2h3bWdyICpod21nciwgdm9pZCAq aW5wdXQsCi0JCQkJdm9pZCAqb3V0cHV0LCB2b2lkICpzdG9yYWdlLCBpbnQgcmVzdWx0KQorc3Rh dGljIGludCBydl9zZXRfY2xvY2tfbGltaXQoc3RydWN0IHBwX2h3bWdyICpod21nciwgY29uc3Qg dm9pZCAqaW5wdXQpCiB7CiAJc3RydWN0IHJ2X2h3bWdyICpydl9kYXRhID0gKHN0cnVjdCBydl9o d21nciAqKShod21nci0+YmFja2VuZCk7CiAJc3RydWN0IFBQX0Nsb2NrcyBjbG9ja3MgPSB7MH07 CkBAIC0yMzQsMTkgKzIzMywxMiBAQCBzdGF0aWMgaW50IHJ2X3NldF9hY3RpdmVfZGlzcGxheV9j b3VudChzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLCB1aW50MzJfdCBjb3VudCkKIAlyZXR1cm4gMDsK IH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBwaG1fbWFzdGVyX3RhYmxlX2l0ZW0gcnZfc2V0X3Bv d2VyX3N0YXRlX2xpc3RbXSA9IHsKLQl7IE5VTEwsIHJ2X3RmX3NldF9jbG9ja19saW1pdCB9LAot CXsgfQotfTsKLQotc3RhdGljIGNvbnN0IHN0cnVjdCBwaG1fbWFzdGVyX3RhYmxlX2hlYWRlciBy dl9zZXRfcG93ZXJfc3RhdGVfbWFzdGVyID0gewotCTAsCi0JUEhNX01hc3RlclRhYmxlRmxhZ19O b25lLAotCXJ2X3NldF9wb3dlcl9zdGF0ZV9saXN0Ci19Oworc3RhdGljIGludCBydl9zZXRfcG93 ZXJfc3RhdGVfdGFza3Moc3RydWN0IHBwX2h3bWdyICpod21nciwgY29uc3Qgdm9pZCAqaW5wdXQp Cit7CisJcmV0dXJuIHJ2X3NldF9jbG9ja19saW1pdChod21nciwgaW5wdXQpOworfQogCi1zdGF0 aWMgaW50IHJ2X3RmX2luaXRfcG93ZXJfZ2F0ZV9zdGF0ZShzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdy LCB2b2lkICppbnB1dCwKLQkJCQl2b2lkICpvdXRwdXQsIHZvaWQgKnN0b3JhZ2UsIGludCByZXN1 bHQpCitzdGF0aWMgaW50IHJ2X2luaXRfcG93ZXJfZ2F0ZV9zdGF0ZShzdHJ1Y3QgcHBfaHdtZ3Ig Kmh3bWdyKQogewogCXN0cnVjdCBydl9od21nciAqcnZfZGF0YSA9IChzdHJ1Y3QgcnZfaHdtZ3Ig KikoaHdtZ3ItPmJhY2tlbmQpOwogCkBAIC0yNTcsMjAgKzI0OSwxMyBAQCBzdGF0aWMgaW50IHJ2 X3RmX2luaXRfcG93ZXJfZ2F0ZV9zdGF0ZShzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLCB2b2lkICpp bnB1dCwKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBwaG1fbWFzdGVyX3Rh YmxlX2l0ZW0gcnZfc2V0dXBfYXNpY19saXN0W10gPSB7Ci0JeyAudGFibGVGdW5jdGlvbiA9IHJ2 X3RmX2luaXRfcG93ZXJfZ2F0ZV9zdGF0ZSB9LAotCXsgfQotfTsKIAotc3RhdGljIGNvbnN0IHN0 cnVjdCBwaG1fbWFzdGVyX3RhYmxlX2hlYWRlciBydl9zZXR1cF9hc2ljX21hc3RlciA9IHsKLQkw LAotCVBITV9NYXN0ZXJUYWJsZUZsYWdfTm9uZSwKLQlydl9zZXR1cF9hc2ljX2xpc3QKLX07Citz dGF0aWMgaW50IHJ2X3NldHVwX2FzaWNfdGFzayhzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQorewor CXJldHVybiBydl9pbml0X3Bvd2VyX2dhdGVfc3RhdGUoaHdtZ3IpOworfQogCi1zdGF0aWMgaW50 IHJ2X3RmX3Jlc2V0X2NjNl9kYXRhKHN0cnVjdCBwcF9od21nciAqaHdtZ3IsCi0JCQkJCXZvaWQg KmlucHV0LCB2b2lkICpvdXRwdXQsCi0JCQkJCXZvaWQgKnN0b3JhZ2UsIGludCByZXN1bHQpCitz dGF0aWMgaW50IHJ2X3Jlc2V0X2NjNl9kYXRhKHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCiB7CiAJ c3RydWN0IHJ2X2h3bWdyICpydl9kYXRhID0gKHN0cnVjdCBydl9od21nciAqKShod21nci0+YmFj a2VuZCk7CiAKQEAgLTI4MiwyMSArMjY3LDEyIEBAIHN0YXRpYyBpbnQgcnZfdGZfcmVzZXRfY2M2 X2RhdGEoc3RydWN0IHBwX2h3bWdyICpod21nciwKIAlyZXR1cm4gMDsKIH0KIAotc3RhdGljIGNv bnN0IHN0cnVjdCBwaG1fbWFzdGVyX3RhYmxlX2l0ZW0gcnZfcG93ZXJfZG93bl9hc2ljX2xpc3Rb XSA9IHsKLQl7IC50YWJsZUZ1bmN0aW9uID0gcnZfdGZfcmVzZXRfY2M2X2RhdGEgfSwKLQl7IH0K LX07Ci0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcGhtX21hc3Rlcl90YWJsZV9oZWFkZXIgcnZfcG93 ZXJfZG93bl9hc2ljX21hc3RlciA9IHsKLQkwLAotCVBITV9NYXN0ZXJUYWJsZUZsYWdfTm9uZSwK LQlydl9wb3dlcl9kb3duX2FzaWNfbGlzdAotfTsKLQorc3RhdGljIGludCBydl9wb3dlcl9vZmZf YXNpYyhzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQoreworCXJldHVybiBydl9yZXNldF9jYzZfZGF0 YShod21ncik7Cit9CiAKLXN0YXRpYyBpbnQgcnZfdGZfZGlzYWJsZV9nZnhfb2ZmKHN0cnVjdCBw cF9od21nciAqaHdtZ3IsCi0JCQkJCQl2b2lkICppbnB1dCwgdm9pZCAqb3V0cHV0LAotCQkJCQkJ dm9pZCAqc3RvcmFnZSwgaW50IHJlc3VsdCkKK3N0YXRpYyBpbnQgcnZfZGlzYWJsZV9nZnhfb2Zm KHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCiB7CiAJc3RydWN0IHJ2X2h3bWdyICpydl9kYXRhID0g KHN0cnVjdCBydl9od21nciAqKShod21nci0+YmFja2VuZCk7CiAKQEAgLTMwNywyMSArMjgzLDEy IEBAIHN0YXRpYyBpbnQgcnZfdGZfZGlzYWJsZV9nZnhfb2ZmKHN0cnVjdCBwcF9od21nciAqaHdt Z3IsCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcGhtX21hc3Rlcl90YWJs ZV9pdGVtIHJ2X2Rpc2FibGVfZHBtX2xpc3RbXSA9IHsKLQl7TlVMTCwgcnZfdGZfZGlzYWJsZV9n Znhfb2ZmfSwKLQl7IH0sCi19OwotCi0KLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcGhtX21hc3Rlcl90 YWJsZV9oZWFkZXIgcnZfZGlzYWJsZV9kcG1fbWFzdGVyID0gewotCTAsCi0JUEhNX01hc3RlclRh YmxlRmxhZ19Ob25lLAotCXJ2X2Rpc2FibGVfZHBtX2xpc3QKLX07CitzdGF0aWMgaW50IHJ2X2Rp c2FibGVfZHBtX3Rhc2tzKHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCit7CisJcmV0dXJuIHJ2X2Rp c2FibGVfZ2Z4X29mZihod21ncik7Cit9CiAKLXN0YXRpYyBpbnQgcnZfdGZfZW5hYmxlX2dmeF9v ZmYoc3RydWN0IHBwX2h3bWdyICpod21nciwKLQkJCQkJCXZvaWQgKmlucHV0LCB2b2lkICpvdXRw dXQsCi0JCQkJCQl2b2lkICpzdG9yYWdlLCBpbnQgcmVzdWx0KQorc3RhdGljIGludCBydl9lbmFi bGVfZ2Z4X29mZihzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQogewogCXN0cnVjdCBydl9od21nciAq cnZfZGF0YSA9IChzdHJ1Y3QgcnZfaHdtZ3IgKikoaHdtZ3ItPmJhY2tlbmQpOwogCkBAIC0zMzIs MTYgKzI5OSwxMCBAQCBzdGF0aWMgaW50IHJ2X3RmX2VuYWJsZV9nZnhfb2ZmKHN0cnVjdCBwcF9o d21nciAqaHdtZ3IsCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBjb25zdCBzdHJ1Y3QgcGhtX21h c3Rlcl90YWJsZV9pdGVtIHJ2X2VuYWJsZV9kcG1fbGlzdFtdID0gewotCXtOVUxMLCBydl90Zl9l bmFibGVfZ2Z4X29mZn0sCi0JeyB9LAotfTsKLQotc3RhdGljIGNvbnN0IHN0cnVjdCBwaG1fbWFz dGVyX3RhYmxlX2hlYWRlciBydl9lbmFibGVfZHBtX21hc3RlciA9IHsKLQkwLAotCVBITV9NYXN0 ZXJUYWJsZUZsYWdfTm9uZSwKLQlydl9lbmFibGVfZHBtX2xpc3QKLX07CitzdGF0aWMgaW50IHJ2 X2VuYWJsZV9kcG1fdGFza3Moc3RydWN0IHBwX2h3bWdyICpod21ncikKK3sKKwlyZXR1cm4gcnZf ZW5hYmxlX2dmeF9vZmYoaHdtZ3IpOworfQogCiBzdGF0aWMgaW50IHJ2X2FwcGx5X3N0YXRlX2Fk anVzdF9ydWxlcyhzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLAogCQkJCXN0cnVjdCBwcF9wb3dlcl9z dGF0ZSAgKnByZXF1ZXN0X3BzLApAQCAtNDc0LDYgKzQzNSw5IEBAIHN0YXRpYyBpbnQgcnZfaHdt Z3JfYmFja2VuZF9pbml0KHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCiAKIAlod21nci0+YmFja2Vu ZCA9IGRhdGE7CiAKKwlwaG1fY2FwX3NldChod21nci0+cGxhdGZvcm1fZGVzY3JpcHRvci5wbGF0 Zm9ybUNhcHMsCisJCQlQSE1fUGxhdGZvcm1DYXBzX1RhYmxlbGVzc0hhcmR3YXJlSW50ZXJmYWNl KTsKKwogCXJlc3VsdCA9IHJ2X2luaXRpYWxpemVfZHBtX2RlZmF1bHRzKGh3bWdyKTsKIAlpZiAo cmVzdWx0ICE9IDApIHsKIAkJcHJfZXJyKCJydl9pbml0aWFsaXplX2RwbV9kZWZhdWx0cyBmYWls ZWRcbiIpOwpAQCAtNDkwLDQwICs0NTQsNiBAQCBzdGF0aWMgaW50IHJ2X2h3bWdyX2JhY2tlbmRf aW5pdChzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQogCiAJcnZfY29uc3RydWN0X2Jvb3Rfc3RhdGUo aHdtZ3IpOwogCi0JcmVzdWx0ID0gcGhtX2NvbnN0cnVjdF90YWJsZShod21nciwgJnJ2X3NldHVw X2FzaWNfbWFzdGVyLAotCQkJCSYoaHdtZ3ItPnNldHVwX2FzaWMpKTsKLQlpZiAocmVzdWx0ICE9 IDApIHsKLQkJcHJfZXJyKCJGYWlsIHRvIGNvbnN0cnVjdCBzZXR1cCBBU0lDXG4iKTsKLQkJcmV0 dXJuIHJlc3VsdDsKLQl9Ci0KLQlyZXN1bHQgPSBwaG1fY29uc3RydWN0X3RhYmxlKGh3bWdyLCAm cnZfcG93ZXJfZG93bl9hc2ljX21hc3RlciwKLQkJCQkmKGh3bWdyLT5wb3dlcl9kb3duX2FzaWMp KTsKLQlpZiAocmVzdWx0ICE9IDApIHsKLQkJcHJfZXJyKCJGYWlsIHRvIGNvbnN0cnVjdCBwb3dl ciBkb3duIEFTSUNcbiIpOwotCQlyZXR1cm4gcmVzdWx0OwotCX0KLQotCXJlc3VsdCA9IHBobV9j b25zdHJ1Y3RfdGFibGUoaHdtZ3IsICZydl9zZXRfcG93ZXJfc3RhdGVfbWFzdGVyLAotCQkJCSYo aHdtZ3ItPnNldF9wb3dlcl9zdGF0ZSkpOwotCWlmIChyZXN1bHQgIT0gMCkgewotCQlwcl9lcnIo IkZhaWwgdG8gY29uc3RydWN0IHNldF9wb3dlcl9zdGF0ZVxuIik7Ci0JCXJldHVybiByZXN1bHQ7 Ci0JfQotCi0JcmVzdWx0ID0gcGhtX2NvbnN0cnVjdF90YWJsZShod21nciwgJnJ2X2Rpc2FibGVf ZHBtX21hc3RlciwKLQkJCQkmKGh3bWdyLT5kaXNhYmxlX2R5bmFtaWNfc3RhdGVfbWFuYWdlbWVu dCkpOwotCWlmIChyZXN1bHQgIT0gMCkgewotCQlwcl9lcnIoIkZhaWwgdG8gZGlzYWJsZV9keW5h bWljX3N0YXRlXG4iKTsKLQkJcmV0dXJuIHJlc3VsdDsKLQl9Ci0JcmVzdWx0ID0gcGhtX2NvbnN0 cnVjdF90YWJsZShod21nciwgJnJ2X2VuYWJsZV9kcG1fbWFzdGVyLAotCQkJCSYoaHdtZ3ItPmVu YWJsZV9keW5hbWljX3N0YXRlX21hbmFnZW1lbnQpKTsKLQlpZiAocmVzdWx0ICE9IDApIHsKLQkJ cHJfZXJyKCJGYWlsIHRvIGVuYWJsZV9keW5hbWljX3N0YXRlXG4iKTsKLQkJcmV0dXJuIHJlc3Vs dDsKLQl9Ci0KIAlod21nci0+cGxhdGZvcm1fZGVzY3JpcHRvci5oYXJkd2FyZUFjdGl2aXR5UGVy Zm9ybWFuY2VMZXZlbHMgPQogCQkJCQkJUkFWRU5fTUFYX0hBUkRXQVJFX1BPV0VSTEVWRUxTOwog CkBAIC01NDYsMTIgKzQ3Niw2IEBAIHN0YXRpYyBpbnQgcnZfaHdtZ3JfYmFja2VuZF9maW5pKHN0 cnVjdCBwcF9od21nciAqaHdtZ3IpCiAJc3RydWN0IHJ2X2h3bWdyICpydl9kYXRhID0gKHN0cnVj dCBydl9od21nciAqKShod21nci0+YmFja2VuZCk7CiAJc3RydWN0IHJ2X2Nsb2NrX3ZvbHRhZ2Vf aW5mb3JtYXRpb24gKnBpbmZvID0gJihydl9kYXRhLT5jbG9ja192b2xfaW5mbyk7CiAKLQlwaG1f ZGVzdHJveV90YWJsZShod21nciwgJihod21nci0+c2V0X3Bvd2VyX3N0YXRlKSk7Ci0JcGhtX2Rl c3Ryb3lfdGFibGUoaHdtZ3IsICYoaHdtZ3ItPmVuYWJsZV9keW5hbWljX3N0YXRlX21hbmFnZW1l bnQpKTsKLQlwaG1fZGVzdHJveV90YWJsZShod21nciwgJihod21nci0+ZGlzYWJsZV9keW5hbWlj X3N0YXRlX21hbmFnZW1lbnQpKTsKLQlwaG1fZGVzdHJveV90YWJsZShod21nciwgJihod21nci0+ cG93ZXJfZG93bl9hc2ljKSk7Ci0JcGhtX2Rlc3Ryb3lfdGFibGUoaHdtZ3IsICYoaHdtZ3ItPnNl dHVwX2FzaWMpKTsKLQogCWtmcmVlKHBpbmZvLT52ZGRfZGVwX29uX2RjZWZjbGspOwogCXBpbmZv LT52ZGRfZGVwX29uX2RjZWZjbGsgPSBOVUxMOwogCWtmcmVlKHBpbmZvLT52ZGRfZGVwX29uX3Nv Y2Nsayk7CkBAIC05NDYsNiArODcwLDExIEBAIHN0YXRpYyBpbnQgcnZfcmVhZF9zZW5zb3Ioc3Ry dWN0IHBwX2h3bWdyICpod21nciwgaW50IGlkeCwKIAkucmVhZF9zZW5zb3IgPSBydl9yZWFkX3Nl bnNvciwKIAkuc2V0X2FjdGl2ZV9kaXNwbGF5X2NvdW50ID0gcnZfc2V0X2FjdGl2ZV9kaXNwbGF5 X2NvdW50LAogCS5zZXRfZGVlcF9zbGVlcF9kY2VmY2xrID0gcnZfc2V0X2RlZXBfc2xlZXBfZGNl ZmNsaywKKwkuZHluYW1pY19zdGF0ZV9tYW5hZ2VtZW50X2VuYWJsZSA9IHJ2X2VuYWJsZV9kcG1f dGFza3MsCisJLnBvd2VyX29mZl9hc2ljID0gcnZfcG93ZXJfb2ZmX2FzaWMsCisJLmFzaWNfc2V0 dXAgPSBydl9zZXR1cF9hc2ljX3Rhc2ssCisJLnBvd2VyX3N0YXRlX3NldCA9IHJ2X3NldF9wb3dl cl9zdGF0ZV90YXNrcywKKwkuZHluYW1pY19zdGF0ZV9tYW5hZ2VtZW50X2Rpc2FibGUgPSBydl9k aXNhYmxlX2RwbV90YXNrcywKIH07CiAKIGludCBydl9pbml0X2Z1bmN0aW9uX3BvaW50ZXJzKHN0 cnVjdCBwcF9od21nciAqaHdtZ3IpCi0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9hbWQtZ2Z4Cg==