From: Rex Zhu Subject: [PATCH 07/10] drm/amdgpu: create powerplay by cgs interface Date: Mon, 25 Sep 2017 21:49:01 +0800 Message-ID: <1506347344-26516-7-git-send-email-Rex.Zhu@amd.com> References: <1506347344-26516-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: <1506347344-26516-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 U2lnbmVkLW9mZi1ieTogUmV4IFpodSA8UmV4LlpodUBhbWQuY29tPgoKQ2hhbmdlLUlkOiBJM2Iy ZmE0NDZmZDdlMjMzMDQyNzk0ZmUzZDJmYjVjYmNlOTAzZmUyZAotLS0KIGRyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9wb3dlcnBsYXkuYyAgICAgfCAzMCArLS0tLS0tLS0KIGRyaXZl cnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2FtZF9wb3dlcnBsYXkuYyAgICAgfCA4MSArKysrKysr KysrKysrLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2FtZF9w b3dlcnBsYXkuaCB8ICA1IC0tCiAzIGZpbGVzIGNoYW5nZWQsIDQ4IGluc2VydGlvbnMoKyksIDY4 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9wb3dlcnBsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wb3dl cnBsYXkuYwppbmRleCBlYjg4NjY1Li4xNjQ5YjFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfcG93ZXJwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvYW1kZ3B1X3Bvd2VycGxheS5jCkBAIC0zNCwyNCArMzQsNiBAQAogI2luY2x1ZGUg ImNpa19kcG0uaCIKICNpbmNsdWRlICJ2aV9kcG0uaCIKIAotc3RhdGljIGludCBhbWRncHVfY3Jl YXRlX3BwX2hhbmRsZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKLXsKLQlzdHJ1Y3QgYW1k X3BwX2luaXQgcHBfaW5pdDsKLQlzdHJ1Y3QgYW1kX3Bvd2VycGxheSAqYW1kX3BwOwotCWludCBy ZXQ7Ci0KLQlhbWRfcHAgPSAmKGFkZXYtPnBvd2VycGxheSk7Ci0JcHBfaW5pdC5jaGlwX2ZhbWls eSA9IGFkZXYtPmZhbWlseTsKLQlwcF9pbml0LmNoaXBfaWQgPSBhZGV2LT5hc2ljX3R5cGU7Ci0J cHBfaW5pdC5wbV9lbiA9IChhbWRncHVfZHBtICE9IDAgJiYgIWFtZGdwdV9zcmlvdl92ZihhZGV2 KSkgPyB0cnVlIDogZmFsc2U7Ci0JcHBfaW5pdC5mZWF0dXJlX21hc2sgPSBhbWRncHVfcHBfZmVh dHVyZV9tYXNrOwotCXBwX2luaXQuZGV2aWNlID0gYW1kX3BwLT5jZ3NfZGV2aWNlOwotCXJldCA9 IGFtZF9wb3dlcnBsYXlfY3JlYXRlKCZwcF9pbml0LCAmKGFtZF9wcC0+cHBfaGFuZGxlKSk7Ci0J aWYgKHJldCkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JcmV0dXJuIDA7Ci19Ci0KIHN0YXRpYyBpbnQg YW1kZ3B1X3BwX2Vhcmx5X2luaXQodm9pZCAqaGFuZGxlKQogewogCXN0cnVjdCBhbWRncHVfZGV2 aWNlICphZGV2ID0gKHN0cnVjdCBhbWRncHVfZGV2aWNlICopaGFuZGxlOwpAQCAtNzMsOCArNTUs NiBAQCBzdGF0aWMgaW50IGFtZGdwdV9wcF9lYXJseV9pbml0KHZvaWQgKmhhbmRsZSkKIAljYXNl IENISVBfVkVHQTEwOgogCWNhc2UgQ0hJUF9SQVZFTjoKIAkJYW1kX3BwLT5jZ3NfZGV2aWNlID0g YW1kZ3B1X2Nnc19jcmVhdGVfZGV2aWNlKGFkZXYpOwotCQlpZiAoYW1kZ3B1X2NyZWF0ZV9wcF9o YW5kbGUoYWRldikpCi0JCQlyZXR1cm4gLUVJTlZBTDsKIAkJYW1kX3BwLT5pcF9mdW5jcyA9ICZw cF9pcF9mdW5jczsKIAkJYW1kX3BwLT5wcF9mdW5jcyA9ICZwcF9kcG1fZnVuY3M7CiAJCWJyZWFr OwpAQCAtOTcsOCArNzcsNiBAQCBzdGF0aWMgaW50IGFtZGdwdV9wcF9lYXJseV9pbml0KHZvaWQg KmhhbmRsZSkKIAkJCWFtZF9wcC0+cHBfZnVuY3MgPSAmY2lfZHBtX2Z1bmNzOwogCQl9IGVsc2Ug ewogCQkJYW1kX3BwLT5jZ3NfZGV2aWNlID0gYW1kZ3B1X2Nnc19jcmVhdGVfZGV2aWNlKGFkZXYp OwotCQkJaWYgKGFtZGdwdV9jcmVhdGVfcHBfaGFuZGxlKGFkZXYpKQotCQkJCXJldHVybiAtRUlO VkFMOwogCQkJYW1kX3BwLT5pcF9mdW5jcyA9ICZwcF9pcF9mdW5jczsKIAkJCWFtZF9wcC0+cHBf ZnVuY3MgPSAmcHBfZHBtX2Z1bmNzOwogCQl9CkBAIC0xMTcsNyArOTUsOCBAQCBzdGF0aWMgaW50 IGFtZGdwdV9wcF9lYXJseV9pbml0KHZvaWQgKmhhbmRsZSkKIAogCWlmIChhZGV2LT5wb3dlcnBs YXkuaXBfZnVuY3MtPmVhcmx5X2luaXQpCiAJCXJldCA9IGFkZXYtPnBvd2VycGxheS5pcF9mdW5j cy0+ZWFybHlfaW5pdCgKLQkJCQkJYWRldi0+cG93ZXJwbGF5LnBwX2hhbmRsZSk7CisJCQkJCWFt ZF9wcC0+Y2dzX2RldmljZSA/IGFtZF9wcC0+Y2dzX2RldmljZSA6CisJCQkJCWFtZF9wcC0+cHBf aGFuZGxlKTsKIAogCWlmIChyZXQgPT0gUFBfRFBNX0RJU0FCTEVEKSB7CiAJCWFkZXYtPnBtLmRw bV9lbmFibGVkID0gZmFsc2U7CkBAIC0yMDYsMTEgKzE4NSw4IEBAIHN0YXRpYyB2b2lkIGFtZGdw dV9wcF9sYXRlX2Zpbmkodm9pZCAqaGFuZGxlKQogCQlhZGV2LT5wb3dlcnBsYXkuaXBfZnVuY3Mt PmxhdGVfZmluaSgKIAkJCSAgYWRldi0+cG93ZXJwbGF5LnBwX2hhbmRsZSk7CiAKLQotCWlmIChh ZGV2LT5wb3dlcnBsYXkuY2dzX2RldmljZSkgewotCQlhbWRfcG93ZXJwbGF5X2Rlc3Ryb3koYWRl di0+cG93ZXJwbGF5LnBwX2hhbmRsZSk7CisJaWYgKGFkZXYtPnBvd2VycGxheS5jZ3NfZGV2aWNl KQogCQlhbWRncHVfY2dzX2Rlc3Ryb3lfZGV2aWNlKGFkZXYtPnBvd2VycGxheS5jZ3NfZGV2aWNl KTsKLQl9CiB9CiAKIHN0YXRpYyBpbnQgYW1kZ3B1X3BwX3N1c3BlbmQodm9pZCAqaGFuZGxlKQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvYW1kX3Bvd2VycGxheS5j IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvYW1kX3Bvd2VycGxheS5jCmluZGV4IDVj NzQxNWUuLjdjMWE5NzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5 L2FtZF9wb3dlcnBsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9hbWRf cG93ZXJwbGF5LmMKQEAgLTUwLDEwICs1MCw0NyBAQCBzdGF0aWMgaW5saW5lIGludCBwcF9jaGVj ayhzdHJ1Y3QgcHBfaW5zdGFuY2UgKmhhbmRsZSkKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGlu dCBhbWRfcG93ZXJwbGF5X2NyZWF0ZShzdHJ1Y3QgYW1kX3BwX2luaXQgKnBwX2luaXQsCisJCQkJ dm9pZCAqKmhhbmRsZSkKK3sKKwlzdHJ1Y3QgcHBfaW5zdGFuY2UgKmluc3RhbmNlOworCisJaWYg KHBwX2luaXQgPT0gTlVMTCB8fCBoYW5kbGUgPT0gTlVMTCkKKwkJcmV0dXJuIC1FSU5WQUw7CisK KwlpbnN0YW5jZSA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBwcF9pbnN0YW5jZSksIEdGUF9LRVJO RUwpOworCWlmIChpbnN0YW5jZSA9PSBOVUxMKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWluc3Rh bmNlLT5wcF92YWxpZCA9IFBQX1ZBTElEOworCWluc3RhbmNlLT5jaGlwX2ZhbWlseSA9IHBwX2lu aXQtPmNoaXBfZmFtaWx5OworCWluc3RhbmNlLT5jaGlwX2lkID0gcHBfaW5pdC0+Y2hpcF9pZDsK KwlpbnN0YW5jZS0+cG1fZW4gPSBwcF9pbml0LT5wbV9lbjsKKwlpbnN0YW5jZS0+ZmVhdHVyZV9t YXNrID0gcHBfaW5pdC0+ZmVhdHVyZV9tYXNrOworCWluc3RhbmNlLT5kZXZpY2UgPSBwcF9pbml0 LT5kZXZpY2U7CisJbXV0ZXhfaW5pdCgmaW5zdGFuY2UtPnBwX2xvY2spOworCSpoYW5kbGUgPSBp bnN0YW5jZTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhbWRfcG93ZXJwbGF5X2Rlc3Ry b3kodm9pZCAqaGFuZGxlKQoreworCXN0cnVjdCBwcF9pbnN0YW5jZSAqaW5zdGFuY2UgPSAoc3Ry dWN0IHBwX2luc3RhbmNlICopaGFuZGxlOworCisJa2ZyZWUoaW5zdGFuY2UtPmh3bWdyKTsKKwlp bnN0YW5jZS0+aHdtZ3IgPSBOVUxMOworCisJa2ZyZWUoaW5zdGFuY2UpOworCWluc3RhbmNlID0g TlVMTDsKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBwcF9lYXJseV9pbml0KHZvaWQgKmhh bmRsZSkKIHsKIAlpbnQgcmV0OwotCXN0cnVjdCBwcF9pbnN0YW5jZSAqcHBfaGFuZGxlID0gKHN0 cnVjdCBwcF9pbnN0YW5jZSAqKWhhbmRsZTsKKwlzdHJ1Y3QgcHBfaW5zdGFuY2UgKnBwX2hhbmRs ZTsKKworCXBwX2hhbmRsZSA9IGNnc19yZWdpc3Rlcl9wcF9oYW5kbGUoaGFuZGxlLCBhbWRfcG93 ZXJwbGF5X2NyZWF0ZSk7CiAKIAlyZXQgPSBod21ncl9lYXJseV9pbml0KHBwX2hhbmRsZSk7CiAJ aWYgKHJldCkKQEAgLTE2Miw2ICsxOTksMTIgQEAgc3RhdGljIGludCBwcF9sYXRlX2luaXQodm9p ZCAqaGFuZGxlKQogCXJldHVybiAwOwogfQogCitzdGF0aWMgdm9pZCBwcF9sYXRlX2Zpbmkodm9p ZCAqaGFuZGxlKQoreworCWFtZF9wb3dlcnBsYXlfZGVzdHJveShoYW5kbGUpOworfQorCisKIHN0 YXRpYyBib29sIHBwX2lzX2lkbGUodm9pZCAqaGFuZGxlKQogewogCXJldHVybiBmYWxzZTsKQEAg LTI3NSw2ICszMTgsNyBAQCBzdGF0aWMgaW50IHBwX3Jlc3VtZSh2b2lkICpoYW5kbGUpCiAJLnN3 X2ZpbmkgPSBwcF9zd19maW5pLAogCS5od19pbml0ID0gcHBfaHdfaW5pdCwKIAkuaHdfZmluaSA9 IHBwX2h3X2ZpbmksCisJLmxhdGVfZmluaSA9IHBwX2xhdGVfZmluaSwKIAkuc3VzcGVuZCA9IHBw X3N1c3BlbmQsCiAJLnJlc3VtZSA9IHBwX3Jlc3VtZSwKIAkuaXNfaWRsZSA9IHBwX2lzX2lkbGUs CkBAIC0xMTM4LDQxICsxMTgyLDYgQEAgc3RhdGljIGludCBwcF9kcG1fc3dpdGNoX3Bvd2VyX3By b2ZpbGUodm9pZCAqaGFuZGxlLAogCS5zd2l0Y2hfcG93ZXJfcHJvZmlsZSA9IHBwX2RwbV9zd2l0 Y2hfcG93ZXJfcHJvZmlsZSwKIH07CiAKLWludCBhbWRfcG93ZXJwbGF5X2NyZWF0ZShzdHJ1Y3Qg YW1kX3BwX2luaXQgKnBwX2luaXQsCi0JCQkJdm9pZCAqKmhhbmRsZSkKLXsKLQlzdHJ1Y3QgcHBf aW5zdGFuY2UgKmluc3RhbmNlOwotCi0JaWYgKHBwX2luaXQgPT0gTlVMTCB8fCBoYW5kbGUgPT0g TlVMTCkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0KLQlpbnN0YW5jZSA9IGt6YWxsb2Moc2l6ZW9mKHN0 cnVjdCBwcF9pbnN0YW5jZSksIEdGUF9LRVJORUwpOwotCWlmIChpbnN0YW5jZSA9PSBOVUxMKQot CQlyZXR1cm4gLUVOT01FTTsKLQotCWluc3RhbmNlLT5wcF92YWxpZCA9IFBQX1ZBTElEOwotCWlu c3RhbmNlLT5jaGlwX2ZhbWlseSA9IHBwX2luaXQtPmNoaXBfZmFtaWx5OwotCWluc3RhbmNlLT5j aGlwX2lkID0gcHBfaW5pdC0+Y2hpcF9pZDsKLQlpbnN0YW5jZS0+cG1fZW4gPSBwcF9pbml0LT5w bV9lbjsKLQlpbnN0YW5jZS0+ZmVhdHVyZV9tYXNrID0gcHBfaW5pdC0+ZmVhdHVyZV9tYXNrOwot CWluc3RhbmNlLT5kZXZpY2UgPSBwcF9pbml0LT5kZXZpY2U7Ci0JbXV0ZXhfaW5pdCgmaW5zdGFu Y2UtPnBwX2xvY2spOwotCSpoYW5kbGUgPSBpbnN0YW5jZTsKLQlyZXR1cm4gMDsKLX0KLQotaW50 IGFtZF9wb3dlcnBsYXlfZGVzdHJveSh2b2lkICpoYW5kbGUpCi17Ci0Jc3RydWN0IHBwX2luc3Rh bmNlICppbnN0YW5jZSA9IChzdHJ1Y3QgcHBfaW5zdGFuY2UgKiloYW5kbGU7Ci0KLQlrZnJlZShp bnN0YW5jZS0+aHdtZ3IpOwotCWluc3RhbmNlLT5od21nciA9IE5VTEw7Ci0KLQlrZnJlZShpbnN0 YW5jZSk7Ci0JaW5zdGFuY2UgPSBOVUxMOwotCXJldHVybiAwOwotfQotCiBpbnQgYW1kX3Bvd2Vy cGxheV9yZXNldCh2b2lkICpoYW5kbGUpCiB7CiAJc3RydWN0IHBwX2luc3RhbmNlICppbnN0YW5j ZSA9IChzdHJ1Y3QgcHBfaW5zdGFuY2UgKiloYW5kbGU7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYW1kL3Bvd2VycGxheS9pbmMvYW1kX3Bvd2VycGxheS5oIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9wb3dlcnBsYXkvaW5jL2FtZF9wb3dlcnBsYXkuaAppbmRleCA0MzdkNzg1Li45MTZiNmM0 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9pbmMvYW1kX3Bvd2Vy cGxheS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2luYy9hbWRfcG93ZXJw bGF5LmgKQEAgLTI3NCwxMSArMjc0LDYgQEAgc3RydWN0IGFtZF9wb3dlcnBsYXkgewogCWNvbnN0 IHN0cnVjdCBhbWRfcG1fZnVuY3MgKnBwX2Z1bmNzOwogfTsKIAotaW50IGFtZF9wb3dlcnBsYXlf Y3JlYXRlKHN0cnVjdCBhbWRfcHBfaW5pdCAqcHBfaW5pdCwKLQkJCQl2b2lkICoqaGFuZGxlKTsK LQotaW50IGFtZF9wb3dlcnBsYXlfZGVzdHJveSh2b2lkICpoYW5kbGUpOwotCiBpbnQgYW1kX3Bv d2VycGxheV9yZXNldCh2b2lkICpoYW5kbGUpOwogCiBpbnQgYW1kX3Bvd2VycGxheV9kaXNwbGF5 X2NvbmZpZ3VyYXRpb25fY2hhbmdlKHZvaWQgKmhhbmRsZSwKLS0gCjEuOS4xCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlz dAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK