From mboxrd@z Thu Jan 1 00:00:00 1970 From: Evan Quan Subject: [PATCH 4/4] drm/amd/powerplay: support Vega12 retrieving and setting ppfeatures Date: Thu, 24 Jan 2019 15:48:05 +0800 Message-ID: <20190124074805.4169-4-evan.quan@amd.com> References: <20190124074805.4169-1-evan.quan@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190124074805.4169-1-evan.quan-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: Evan Quan RW5hYmxlIHJldHJpZXZpbmcgYW5kIHNldHRpbmcgcHBmZWF0dXJlcyBvbiBWZWdhMTIuCgpDaGFu Z2UtSWQ6IElkYWQ1ZWFhZGJiOWU3ZWE3M2VkZDllOWQ0ZmU0ZTFhNWIxN2ZiN2E2ClNpZ25lZC1v ZmYtYnk6IEV2YW4gUXVhbiA8ZXZhbi5xdWFuQGFtZC5jb20+Ci0tLQogLi4uL2RybS9hbWQvcG93 ZXJwbGF5L2h3bWdyL3ZlZ2ExMl9od21nci5jICAgIHwgMTAwICsrKysrKysrKysrKysrKysrKwog MSBmaWxlIGNoYW5nZWQsIDEwMCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvdmVnYTEyX2h3bWdyLmMgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL3Bvd2VycGxheS9od21nci92ZWdhMTJfaHdtZ3IuYwppbmRleCA0NWE0NTY2OWQyZWMu LjM0MmY4YjgxY2E4MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkv aHdtZ3IvdmVnYTEyX2h3bWdyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkv aHdtZ3IvdmVnYTEyX2h3bWdyLmMKQEAgLTE5MzMsNiArMTkzMywxMDQgQEAgc3RhdGljIGludCB2 ZWdhMTJfZm9yY2VfY2xvY2tfbGV2ZWwoc3RydWN0IHBwX2h3bWdyICpod21nciwKIAlyZXR1cm4g MDsKIH0KIAorc3RhdGljIGludCB2ZWdhMTJfZ2V0X3BwZmVhdHVyZV9zdGF0dXMoc3RydWN0IHBw X2h3bWdyICpod21nciwgY2hhciAqYnVmKQoreworCXN0YXRpYyBjb25zdCBjaGFyICpwcGZlYXR1 cmVfbmFtZVtdID0geworCQkJCSJEUE1fUFJFRkVUQ0hFUiIsCisJCQkJIkdGWENMS19EUE0iLAor CQkJCSJVQ0xLX0RQTSIsCisJCQkJIlNPQ0NMS19EUE0iLAorCQkJCSJVVkRfRFBNIiwKKwkJCQki VkNFX0RQTSIsCisJCQkJIlVMViIsCisJCQkJIk1QMENMS19EUE0iLAorCQkJCSJMSU5LX0RQTSIs CisJCQkJIkRDRUZDTEtfRFBNIiwKKwkJCQkiR0ZYQ0xLX0RTIiwKKwkJCQkiU09DQ0xLX0RTIiwK KwkJCQkiTENMS19EUyIsCisJCQkJIlBQVCIsCisJCQkJIlREQyIsCisJCQkJIlRIRVJNQUwiLAor CQkJCSJHRlhfUEVSX0NVX0NHIiwKKwkJCQkiUk0iLAorCQkJCSJEQ0VGQ0xLX0RTIiwKKwkJCQki QUNEQyIsCisJCQkJIlZSMEhPVCIsCisJCQkJIlZSMUhPVCIsCisJCQkJIkZXX0NURiIsCisJCQkJ IkxFRF9ESVNQTEFZIiwKKwkJCQkiRkFOX0NPTlRST0wiLAorCQkJCSJESURUIiwKKwkJCQkiR0ZY T0ZGIiwKKwkJCQkiQ0ciLAorCQkJCSJBQ0cifTsKKwlzdGF0aWMgY29uc3QgY2hhciAqb3V0cHV0 X3RpdGxlW10gPSB7CisJCQkJIkZFQVRVUkVTIiwKKwkJCQkiQklUTUFTSyIsCisJCQkJIkVOQUJM RU1FTlQifTsKKwl1aW50NjRfdCBmZWF0dXJlc19lbmFibGVkOworCWludCBpOworCWludCByZXQg PSAwOworCWludCBzaXplID0gMDsKKworCXJldCA9IHZlZ2ExMl9nZXRfZW5hYmxlZF9zbWNfZmVh dHVyZXMoaHdtZ3IsICZmZWF0dXJlc19lbmFibGVkKTsKKwlQUF9BU1NFUlRfV0lUSF9DT0RFKCFy ZXQsCisJCQkiW0VuYWJsZUFsbFNtdUZlYXR1cmVzXSBGYWlsZWQgdG8gZ2V0IGVuYWJsZWQgc21j IGZlYXR1cmVzISIsCisJCQlyZXR1cm4gcmV0KTsKKworCXNpemUgKz0gc3ByaW50ZihidWYgKyBz aXplLCAiQ3VycmVudCBwcGZlYXR1cmVzOiAweCUwMTZsbHhcbiIsIGZlYXR1cmVzX2VuYWJsZWQp OworCXNpemUgKz0gc3ByaW50ZihidWYgKyBzaXplLCAiJS0xOXMgJS0yMnMgJXNcbiIsCisJCQkJ b3V0cHV0X3RpdGxlWzBdLAorCQkJCW91dHB1dF90aXRsZVsxXSwKKwkJCQlvdXRwdXRfdGl0bGVb Ml0pOworCWZvciAoaSA9IDA7IGkgPCBHTkxEX0ZFQVRVUkVTX01BWDsgaSsrKSB7CisJCXNpemUg Kz0gc3ByaW50ZihidWYgKyBzaXplLCAiJS0xOXMgMHglMDE2bGx4ICU2c1xuIiwKKwkJCQkJcHBm ZWF0dXJlX25hbWVbaV0sCisJCQkJCTFVTEwgPDwgaSwKKwkJCQkJKGZlYXR1cmVzX2VuYWJsZWQg JiAoMVVMTCA8PCBpKSkgPyAiWSIgOiAiTiIpOworCX0KKworCXJldHVybiBzaXplOworfQorCitz dGF0aWMgaW50IHZlZ2ExMl9zZXRfcHBmZWF0dXJlX3N0YXR1cyhzdHJ1Y3QgcHBfaHdtZ3IgKmh3 bWdyLCB1aW50NjRfdCBuZXdfcHBmZWF0dXJlX21hc2tzKQoreworCXVpbnQ2NF90IGZlYXR1cmVz X2VuYWJsZWQ7CisJdWludDY0X3QgZmVhdHVyZXNfdG9fZW5hYmxlOworCXVpbnQ2NF90IGZlYXR1 cmVzX3RvX2Rpc2FibGU7CisJaW50IHJldCA9IDA7CisKKwlpZiAobmV3X3BwZmVhdHVyZV9tYXNr cyA+PSAoMVVMTCA8PCBHTkxEX0ZFQVRVUkVTX01BWCkpCisJCXJldHVybiAtRUlOVkFMOworCisJ cmV0ID0gdmVnYTEyX2dldF9lbmFibGVkX3NtY19mZWF0dXJlcyhod21nciwgJmZlYXR1cmVzX2Vu YWJsZWQpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKKwlmZWF0dXJlc190b19kaXNhYmxl ID0KKwkJKGZlYXR1cmVzX2VuYWJsZWQgXiBuZXdfcHBmZWF0dXJlX21hc2tzKSAmIGZlYXR1cmVz X2VuYWJsZWQ7CisJZmVhdHVyZXNfdG9fZW5hYmxlID0KKwkJKGZlYXR1cmVzX2VuYWJsZWQgXiBu ZXdfcHBmZWF0dXJlX21hc2tzKSBeIGZlYXR1cmVzX3RvX2Rpc2FibGU7CisKKwlwcl9kZWJ1Zygi ZmVhdHVyZXNfdG9fZGlzYWJsZSAweCVsbHhcbiIsIGZlYXR1cmVzX3RvX2Rpc2FibGUpOworCXBy X2RlYnVnKCJmZWF0dXJlc190b19lbmFibGUgMHglbGx4XG4iLCBmZWF0dXJlc190b19lbmFibGUp OworCisJaWYgKGZlYXR1cmVzX3RvX2Rpc2FibGUpIHsKKwkJcmV0ID0gdmVnYTEyX2VuYWJsZV9z bWNfZmVhdHVyZXMoaHdtZ3IsIGZhbHNlLCBmZWF0dXJlc190b19kaXNhYmxlKTsKKwkJaWYgKHJl dCkKKwkJCXJldHVybiByZXQ7CisJfQorCisJaWYgKGZlYXR1cmVzX3RvX2VuYWJsZSkgeworCQly ZXQgPSB2ZWdhMTJfZW5hYmxlX3NtY19mZWF0dXJlcyhod21nciwgdHJ1ZSwgZmVhdHVyZXNfdG9f ZW5hYmxlKTsKKwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7CisJfQorCisJcmV0dXJuIDA7Cit9 CisKIHN0YXRpYyBpbnQgdmVnYTEyX3ByaW50X2Nsb2NrX2xldmVscyhzdHJ1Y3QgcHBfaHdtZ3Ig Kmh3bWdyLAogCQllbnVtIHBwX2Nsb2NrX3R5cGUgdHlwZSwgY2hhciAqYnVmKQogewpAQCAtMjUy OCw2ICsyNjI2LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwcF9od21ncl9mdW5jIHZlZ2ExMl9o d21ncl9mdW5jcyA9IHsKIAkuc3RhcnRfdGhlcm1hbF9jb250cm9sbGVyID0gdmVnYTEyX3N0YXJ0 X3RoZXJtYWxfY29udHJvbGxlciwKIAkucG93ZXJnYXRlX2dmeCA9IHZlZ2ExMl9nZnhfb2ZmX2Nv bnRyb2wsCiAJLmdldF9wZXJmb3JtYW5jZV9sZXZlbCA9IHZlZ2ExMl9nZXRfcGVyZm9ybWFuY2Vf bGV2ZWwsCisJLmdldF9wcGZlYXR1cmVfc3RhdHVzID0gdmVnYTEyX2dldF9wcGZlYXR1cmVfc3Rh dHVzLAorCS5zZXRfcHBmZWF0dXJlX3N0YXR1cyA9IHZlZ2ExMl9zZXRfcHBmZWF0dXJlX3N0YXR1 cywKIH07CiAKIGludCB2ZWdhMTJfaHdtZ3JfaW5pdChzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyKQot LSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK