From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rex Zhu Subject: [PATCH 5/9] drm/amd/powerplay: add common functiones for visiting pp table. Date: Fri, 9 Sep 2016 21:37:35 +0800 Message-ID: <1473428259-580-6-git-send-email-Rex.Zhu@amd.com> References: <1473428259-580-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: <1473428259-580-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 U2lnbmVkLW9mZi1ieTogUmV4IFpodSA8UmV4LlpodUBhbWQuY29tPgpSZXZpZXdlZC1ieTogQWxl eCBEZXVjaGVyIDxhbGV4YW5kZXIuZGV1Y2hlckBhbWQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2Ry bS9hbWQvcG93ZXJwbGF5L2h3bWdyL2h3bWdyLmMgfCA1NyArKysrKysrKysrKysrKysrKysrKysr KysrKysrKwogZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2h3bWdyLmggICB8ICA4 ICsrKy0KIDIgZmlsZXMgY2hhbmdlZCwgNjMgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci9od21nci5j IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvaHdtZ3IuYwppbmRleCAxYWFj ZGE3Li43ZjM5Y2U2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9o d21nci9od21nci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL2h3 bWdyLmMKQEAgLTQ0Myw2ICs0NDMsMjcgQEAgdWludDhfdCBwaG1fZ2V0X3ZvbHRhZ2VfaW5kZXgo CiAJcmV0dXJuIGkgLSAxOwogfQogCit1aW50OF90IHBobV9nZXRfdm9sdGFnZV9pZChwcF9hdG9t Y3RybF92b2x0YWdlX3RhYmxlICp2b2x0YWdlX3RhYmxlLAorCQl1aW50MzJfdCB2b2x0YWdlKQor eworCXVpbnQ4X3QgY291bnQgPSAodWludDhfdCkgKHZvbHRhZ2VfdGFibGUtPmNvdW50KTsKKwl1 aW50OF90IGkgPSAwOworCisJUFBfQVNTRVJUX1dJVEhfQ09ERSgoTlVMTCAhPSB2b2x0YWdlX3Rh YmxlKSwKKwkJIlZvbHRhZ2UgVGFibGUgZW1wdHkuIiwgcmV0dXJuIDA7KTsKKwlQUF9BU1NFUlRf V0lUSF9DT0RFKCgwICE9IGNvdW50KSwKKwkJIlZvbHRhZ2UgVGFibGUgZW1wdHkuIiwgcmV0dXJu IDA7KTsKKworCWZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7CisJCS8qIGZpbmQgZmlyc3Qg dm9sdGFnZSBiaWdnZXIgdGhhbiByZXF1ZXN0ZWQgKi8KKwkJaWYgKHZvbHRhZ2VfdGFibGUtPmVu dHJpZXNbaV0udmFsdWUgPj0gdm9sdGFnZSkKKwkJCXJldHVybiBpOworCX0KKworCS8qIHZvbHRh Z2UgaXMgYmlnZ2VyIHRoYW4gbWF4IHZvbHRhZ2UgaW4gdGhlIHRhYmxlICovCisJcmV0dXJuIGkg LSAxOworfQorCiB1aW50MTZfdCBwaG1fZmluZF9jbG9zZXN0X3ZkZGNpKHN0cnVjdCBwcF9hdG9t Y3RybF92b2x0YWdlX3RhYmxlICp2ZGRjaV90YWJsZSwgdWludDE2X3QgdmRkY2kpCiB7CiAJdWlu dDMyX3QgIGk7CkBAIC02NzYsMyArNjk3LDM5IEBAIGludCBod21ncl9zZXRfdXNlcl9zcGVjaWZ5 X2NhcHMoc3RydWN0IHBwX2h3bWdyICpod21ncikKIAlyZXR1cm4gMDsKIH0KIAoraW50IHBobV9h ZGRfdm9sdGFnZShzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyLAorCXBobV9wcHRfdjFfdm9sdGFnZV9s b29rdXBfdGFibGUgKmxvb2tfdXBfdGFibGUsCisJcGhtX3BwdF92MV92b2x0YWdlX2xvb2t1cF9y ZWNvcmQgKnJlY29yZCkKK3sKKwl1aW50MzJfdCBpOworCisJUFBfQVNTRVJUX1dJVEhfQ09ERSgo TlVMTCAhPSBsb29rX3VwX3RhYmxlKSwKKwkJIkxvb2t1cCBUYWJsZSBlbXB0eS4iLCByZXR1cm4g LUVJTlZBTCk7CisJUFBfQVNTRVJUX1dJVEhfQ09ERSgoMCAhPSBsb29rX3VwX3RhYmxlLT5jb3Vu dCksCisJCSJMb29rdXAgVGFibGUgZW1wdHkuIiwgcmV0dXJuIC1FSU5WQUwpOworCisJaSA9IHNt dW1fZ2V0X21hY19kZWZpbml0aW9uKGh3bWdyLT5zbXVtZ3IsIFNNVV9NQVhfTEVWRUxTX1ZEREdG WCk7CisJUFBfQVNTRVJUX1dJVEhfQ09ERSgoaSA+PSBsb29rX3VwX3RhYmxlLT5jb3VudCksCisJ CSJMb29rdXAgVGFibGUgaXMgZnVsbC4iLCByZXR1cm4gLUVJTlZBTCk7CisKKwkvKiBUaGlzIGlz IHRvIGF2b2lkIGVudGVyaW5nIGR1cGxpY2F0ZSBjYWxjdWxhdGVkIHJlY29yZHMuICovCisJZm9y IChpID0gMDsgaSA8IGxvb2tfdXBfdGFibGUtPmNvdW50OyBpKyspIHsKKwkJaWYgKGxvb2tfdXBf dGFibGUtPmVudHJpZXNbaV0udXNfdmRkID09IHJlY29yZC0+dXNfdmRkKSB7CisJCQlpZiAobG9v a191cF90YWJsZS0+ZW50cmllc1tpXS51c19jYWxjdWxhdGVkID09IDEpCisJCQkJcmV0dXJuIDA7 CisJCQlicmVhazsKKwkJfQorCX0KKworCWxvb2tfdXBfdGFibGUtPmVudHJpZXNbaV0udXNfY2Fs Y3VsYXRlZCA9IDE7CisJbG9va191cF90YWJsZS0+ZW50cmllc1tpXS51c192ZGQgPSByZWNvcmQt PnVzX3ZkZDsKKwlsb29rX3VwX3RhYmxlLT5lbnRyaWVzW2ldLnVzX2NhY19sb3cgPSByZWNvcmQt PnVzX2NhY19sb3c7CisJbG9va191cF90YWJsZS0+ZW50cmllc1tpXS51c19jYWNfbWlkID0gcmVj b3JkLT51c19jYWNfbWlkOworCWxvb2tfdXBfdGFibGUtPmVudHJpZXNbaV0udXNfY2FjX2hpZ2gg PSByZWNvcmQtPnVzX2NhY19oaWdoOworCS8qIE9ubHkgaW5jcmVtZW50IHRoZSBjb3VudCB3aGVu IHdlJ3JlIGFwcGVuZGluZywgbm90IHJlcGxhY2luZyBkdXBsaWNhdGUgZW50cnkuICovCisJaWYg KGkgPT0gbG9va191cF90YWJsZS0+Y291bnQpCisJCWxvb2tfdXBfdGFibGUtPmNvdW50Kys7CisK KwlyZXR1cm4gMDsKK30KKwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBs YXkvaW5jL2h3bWdyLmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9pbmMvaHdtZ3Iu aAppbmRleCAyYTA2MGY2Li5jNDc3MmQ3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L3Bvd2VycGxheS9pbmMvaHdtZ3IuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxh eS9pbmMvaHdtZ3IuaApAQCAtNjg1LDYgKzY4NSw4IEBAIGV4dGVybiB2b2lkIHBobV90cmltX3Zv bHRhZ2VfdGFibGVfdG9fZml0X3N0YXRlX3RhYmxlKHVpbnQzMl90IG1heF92b2xfc3RlcHMsIHN0 CiBleHRlcm4gaW50IHBobV9yZXNldF9zaW5nbGVfZHBtX3RhYmxlKHZvaWQgKnRhYmxlLCB1aW50 MzJfdCBjb3VudCwgaW50IG1heCk7CiBleHRlcm4gdm9pZCBwaG1fc2V0dXBfcGNpZV90YWJsZV9l bnRyeSh2b2lkICp0YWJsZSwgdWludDMyX3QgaW5kZXgsIHVpbnQzMl90IHBjaWVfZ2VuLCB1aW50 MzJfdCBwY2llX2xhbmVzKTsKIGV4dGVybiBpbnQzMl90IHBobV9nZXRfZHBtX2xldmVsX2VuYWJs ZV9tYXNrX3ZhbHVlKHZvaWQgKnRhYmxlKTsKK2V4dGVybiB1aW50OF90IHBobV9nZXRfdm9sdGFn ZV9pZChzdHJ1Y3QgcHBfYXRvbWN0cmxfdm9sdGFnZV90YWJsZSAqdm9sdGFnZV90YWJsZSwKKwkJ dWludDMyX3Qgdm9sdGFnZSk7CiBleHRlcm4gdWludDhfdCBwaG1fZ2V0X3ZvbHRhZ2VfaW5kZXgo c3RydWN0IHBobV9wcHRfdjFfdm9sdGFnZV9sb29rdXBfdGFibGUgKmxvb2t1cF90YWJsZSwgdWlu dDE2X3Qgdm9sdGFnZSk7CiBleHRlcm4gdWludDE2X3QgcGhtX2ZpbmRfY2xvc2VzdF92ZGRjaShz dHJ1Y3QgcHBfYXRvbWN0cmxfdm9sdGFnZV90YWJsZSAqdmRkY2lfdGFibGUsIHVpbnQxNl90IHZk ZGNpKTsKIGV4dGVybiBpbnQgcGhtX2ZpbmRfYm9vdF9sZXZlbCh2b2lkICp0YWJsZSwgdWludDMy X3QgdmFsdWUsIHVpbnQzMl90ICpib290X2xldmVsKTsKQEAgLTY5NSw2ICs2OTcsMTAgQEAgZXh0 ZXJuIGludCBwaG1faHdtZ3JfYmFja2VuZF9maW5pKHN0cnVjdCBwcF9od21nciAqaHdtZ3IpOwog ZXh0ZXJuIHVpbnQzMl90IHBobV9nZXRfbG93ZXN0X2VuYWJsZWRfbGV2ZWwoc3RydWN0IHBwX2h3 bWdyICpod21nciwgdWludDMyX3QgbWFzayk7CiBleHRlcm4gdm9pZCBwaG1fYXBwbHlfZGFsX21p bl92b2x0YWdlX3JlcXVlc3Qoc3RydWN0IHBwX2h3bWdyICpod21ncik7CiAKK2V4dGVybiBpbnQg cGhtX2FkZF92b2x0YWdlKHN0cnVjdCBwcF9od21nciAqaHdtZ3IsCisJcGhtX3BwdF92MV92b2x0 YWdlX2xvb2t1cF90YWJsZSAqbG9va191cF90YWJsZSwKKwlwaG1fcHB0X3YxX3ZvbHRhZ2VfbG9v a3VwX3JlY29yZCAqcmVjb3JkKTsKKwogI2RlZmluZSBQSE1fRU5USVJFX1JFR0lTVEVSX01BU0sg MHhGRkZGRkZGRlUKIAogI2RlZmluZSBQSE1fRklFTERfU0hJRlQocmVnLCBmaWVsZCkgcmVnIyNf XyMjZmllbGQjI19fU0hJRlQKQEAgLTcwOSw4ICs3MTUsNiBAQCBleHRlcm4gdm9pZCBwaG1fYXBw bHlfZGFsX21pbl92b2x0YWdlX3JlcXVlc3Qoc3RydWN0IHBwX2h3bWdyICpod21ncik7CiAJIFBI TV9GSUVMRF9TSElGVChyZWcsIGZpZWxkKSkKIAogCi0KLQogLyogT3BlcmF0aW9ucyBvbiBuYW1l ZCBmaWVsZHMuICovCiAKICNkZWZpbmUgUEhNX1JFQURfRklFTEQoZGV2aWNlLCByZWcsIGZpZWxk KQlcCi0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==