From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rex Zhu Subject: [PATCH 1/2] drm/amd/powerplay: refine code in cz_smumgr.c Date: Fri, 23 Dec 2016 17:50:00 +0800 Message-ID: <1482486601-4681-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: 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 Y3pfc211X2luaXQgd2lsbCBiZSBjYWxsZWQgaW4gc3dfaW5pdC4Kc28gaXQgc2hvdWxkIG5vdCB0 b3VjaCBvdGhlciBibG9ja3MncwpmaXJtd2FyZSBhcyB0aGV5IHdlcmUgbm90IHJlYWR5LgoKQ2hh bmdlLUlkOiBJM2FmOGNjZTIwNTlhYWFjZmMyNjBlMjRhNDFiMWFmNDZhMGFlYjE4YgpTaWduZWQt b2ZmLWJ5OiBSZXggWmh1IDxSZXguWmh1QGFtZC5jb20+ClJldmlld2VkLWJ5OiBIdWFuZyBSdWkg PHJheS5odWFuZ0BhbWQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3Nt dW1nci9jel9zbXVtZ3IuYyB8IDEzNSArKysrKysrKysrKystLS0tLS0tLS0tLQogMSBmaWxlIGNo YW5nZWQsIDcwIGluc2VydGlvbnMoKyksIDY1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3NtdW1nci9jel9zbXVtZ3IuYyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvcG93ZXJwbGF5L3NtdW1nci9jel9zbXVtZ3IuYwppbmRleCA1YTQ0NDg1Li4z ZWE0MzdjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9zbXVtZ3Iv Y3pfc211bWdyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvc211bWdyL2N6 X3NtdW1nci5jCkBAIC0xNDEsNDEgKzE0MSw2IEBAIHN0YXRpYyBpbnQgY3pfc2VuZF9tc2dfdG9f c21jX3dpdGhfcGFyYW1ldGVyKHN0cnVjdCBwcF9zbXVtZ3IgKnNtdW1nciwKIAlyZXR1cm4gY3pf c2VuZF9tc2dfdG9fc21jKHNtdW1nciwgbXNnKTsKIH0KIAotc3RhdGljIGludCBjel9yZXF1ZXN0 X3NtdV9sb2FkX2Z3KHN0cnVjdCBwcF9zbXVtZ3IgKnNtdW1ncikKLXsKLQlzdHJ1Y3QgY3pfc211 bWdyICpjel9zbXUgPSAoc3RydWN0IGN6X3NtdW1nciAqKShzbXVtZ3ItPmJhY2tlbmQpOwotCXVp bnQzMl90IHNtY19hZGRyZXNzOwotCi0JaWYgKCFzbXVtZ3ItPnJlbG9hZF9mdykgewotCQlwcmlu dGsoS0VSTl9JTkZPICJbIHBvd2VycGxheSBdIHNraXAgcmVsb2FkaW5nLi4uXG4iKTsKLQkJcmV0 dXJuIDA7Ci0JfQotCi0Jc21jX2FkZHJlc3MgPSBTTVU4X0ZJUk1XQVJFX0hFQURFUl9MT0NBVElP TiArCi0JCW9mZnNldG9mKHN0cnVjdCBTTVU4X0Zpcm13YXJlX0hlYWRlciwgVWNvZGVMb2FkU3Rh dHVzKTsKLQotCWN6X3dyaXRlX3NtY19zcmFtX2R3b3JkKHNtdW1nciwgc21jX2FkZHJlc3MsIDAs IHNtY19hZGRyZXNzKzQpOwotCi0JY3pfc2VuZF9tc2dfdG9fc21jX3dpdGhfcGFyYW1ldGVyKHNt dW1nciwKLQkJCQkJUFBTTUNfTVNHX0RyaXZlckRyYW1BZGRySGksCi0JCQkJCWN6X3NtdS0+dG9j X2J1ZmZlci5tY19hZGRyX2hpZ2gpOwotCi0JY3pfc2VuZF9tc2dfdG9fc21jX3dpdGhfcGFyYW1l dGVyKHNtdW1nciwKLQkJCQkJUFBTTUNfTVNHX0RyaXZlckRyYW1BZGRyTG8sCi0JCQkJCWN6X3Nt dS0+dG9jX2J1ZmZlci5tY19hZGRyX2xvdyk7Ci0KLQljel9zZW5kX21zZ190b19zbWMoc211bWdy LCBQUFNNQ19NU0dfSW5pdEpvYnMpOwotCi0JY3pfc2VuZF9tc2dfdG9fc21jX3dpdGhfcGFyYW1l dGVyKHNtdW1nciwKLQkJCQkJUFBTTUNfTVNHX0V4ZWN1dGVKb2IsCi0JCQkJCWN6X3NtdS0+dG9j X2VudHJ5X2FyYW0pOwotCWN6X3NlbmRfbXNnX3RvX3NtY193aXRoX3BhcmFtZXRlcihzbXVtZ3Is IFBQU01DX01TR19FeGVjdXRlSm9iLAotCQkJCWN6X3NtdS0+dG9jX2VudHJ5X3Bvd2VyX3Byb2Zp bGluZ19pbmRleCk7Ci0KLQlyZXR1cm4gY3pfc2VuZF9tc2dfdG9fc21jX3dpdGhfcGFyYW1ldGVy KHNtdW1nciwKLQkJCQkJUFBTTUNfTVNHX0V4ZWN1dGVKb2IsCi0JCQkJCWN6X3NtdS0+dG9jX2Vu dHJ5X2luaXRpYWxpemVfaW5kZXgpOwotfQogCiBzdGF0aWMgaW50IGN6X2NoZWNrX2Z3X2xvYWRf ZmluaXNoKHN0cnVjdCBwcF9zbXVtZ3IgKnNtdW1nciwKIAkJCQkgICB1aW50MzJfdCBmaXJtd2Fy ZSkKQEAgLTI1MCwzNCArMjE1LDYgQEAgc3RhdGljIGludCBjel9sb2FkX21lY19maXJtd2FyZShz dHJ1Y3QgcHBfc211bWdyICpzbXVtZ3IpCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyBpbnQgY3pf c3RhcnRfc211KHN0cnVjdCBwcF9zbXVtZ3IgKnNtdW1ncikKLXsKLQlpbnQgcmV0ID0gMDsKLQl1 aW50MzJfdCBmd190b19jaGVjayA9IFVDT0RFX0lEX1JMQ19HX01BU0sgfAotCQkJCVVDT0RFX0lE X1NETUEwX01BU0sgfAotCQkJCVVDT0RFX0lEX1NETUExX01BU0sgfAotCQkJCVVDT0RFX0lEX0NQ X0NFX01BU0sgfAotCQkJCVVDT0RFX0lEX0NQX01FX01BU0sgfAotCQkJCVVDT0RFX0lEX0NQX1BG UF9NQVNLIHwKLQkJCQlVQ09ERV9JRF9DUF9NRUNfSlQxX01BU0sgfAotCQkJCVVDT0RFX0lEX0NQ X01FQ19KVDJfTUFTSzsKLQotCWlmIChzbXVtZ3ItPmNoaXBfaWQgPT0gQ0hJUF9TVE9ORVkpCi0J CWZ3X3RvX2NoZWNrICY9IH4oVUNPREVfSURfU0RNQTFfTUFTSyB8IFVDT0RFX0lEX0NQX01FQ19K VDJfTUFTSyk7Ci0KLQlyZXQgPSBjel9yZXF1ZXN0X3NtdV9sb2FkX2Z3KHNtdW1ncik7Ci0JaWYg KHJldCkKLQkJcHJpbnRrKEtFUk5fRVJSICJbIHBvd2VycGxheV0gU01VIGZpcm13YXJlIGxvYWQg ZmFpbGVkXG4iKTsKLQotCWN6X2NoZWNrX2Z3X2xvYWRfZmluaXNoKHNtdW1nciwgZndfdG9fY2hl Y2spOwotCi0JcmV0ID0gY3pfbG9hZF9tZWNfZmlybXdhcmUoc211bWdyKTsKLQlpZiAocmV0KQot CQlwcmludGsoS0VSTl9FUlIgIlsgcG93ZXJwbGF5IF0gTWVjIEZpcm13YXJlIGxvYWQgZmFpbGVk XG4iKTsKLQotCXJldHVybiByZXQ7Ci19Ci0KIHN0YXRpYyB1aW50OF90IGN6X3RyYW5zbGF0ZV9m aXJtd2FyZV9lbnVtX3RvX2FyZyhzdHJ1Y3QgcHBfc211bWdyICpzbXVtZ3IsCiAJCQllbnVtIGN6 X3NjcmF0Y2hfZW50cnkgZmlybXdhcmVfZW51bSkKIHsKQEAgLTcyOSw2ICs2NjYsNzYgQEAgc3Rh dGljIGludCBjel91cGxvYWRfcHB0YWJsZV9zZXR0aW5ncyhzdHJ1Y3QgcHBfc211bWdyICpzbXVt Z3IpCiAJcmV0dXJuIDA7CiB9CiAKK3N0YXRpYyBpbnQgY3pfcmVxdWVzdF9zbXVfbG9hZF9mdyhz dHJ1Y3QgcHBfc211bWdyICpzbXVtZ3IpCit7CisJc3RydWN0IGN6X3NtdW1nciAqY3pfc211ID0g KHN0cnVjdCBjel9zbXVtZ3IgKikoc211bWdyLT5iYWNrZW5kKTsKKwl1aW50MzJfdCBzbWNfYWRk cmVzczsKKworCWlmICghc211bWdyLT5yZWxvYWRfZncpIHsKKwkJcHJpbnRrKEtFUk5fSU5GTyAi WyBwb3dlcnBsYXkgXSBza2lwIHJlbG9hZGluZy4uLlxuIik7CisJCXJldHVybiAwOworCX0KKwor CWN6X3NtdV9wb3B1bGF0ZV9maXJtd2FyZV9lbnRyaWVzKHNtdW1ncik7CisKKwljel9zbXVfY29u c3RydWN0X3RvYyhzbXVtZ3IpOworCisJc21jX2FkZHJlc3MgPSBTTVU4X0ZJUk1XQVJFX0hFQURF Ul9MT0NBVElPTiArCisJCW9mZnNldG9mKHN0cnVjdCBTTVU4X0Zpcm13YXJlX0hlYWRlciwgVWNv ZGVMb2FkU3RhdHVzKTsKKworCWN6X3dyaXRlX3NtY19zcmFtX2R3b3JkKHNtdW1nciwgc21jX2Fk ZHJlc3MsIDAsIHNtY19hZGRyZXNzKzQpOworCisJY3pfc2VuZF9tc2dfdG9fc21jX3dpdGhfcGFy YW1ldGVyKHNtdW1nciwKKwkJCQkJUFBTTUNfTVNHX0RyaXZlckRyYW1BZGRySGksCisJCQkJCWN6 X3NtdS0+dG9jX2J1ZmZlci5tY19hZGRyX2hpZ2gpOworCisJY3pfc2VuZF9tc2dfdG9fc21jX3dp dGhfcGFyYW1ldGVyKHNtdW1nciwKKwkJCQkJUFBTTUNfTVNHX0RyaXZlckRyYW1BZGRyTG8sCisJ CQkJCWN6X3NtdS0+dG9jX2J1ZmZlci5tY19hZGRyX2xvdyk7CisKKwljel9zZW5kX21zZ190b19z bWMoc211bWdyLCBQUFNNQ19NU0dfSW5pdEpvYnMpOworCisJY3pfc2VuZF9tc2dfdG9fc21jX3dp dGhfcGFyYW1ldGVyKHNtdW1nciwKKwkJCQkJUFBTTUNfTVNHX0V4ZWN1dGVKb2IsCisJCQkJCWN6 X3NtdS0+dG9jX2VudHJ5X2FyYW0pOworCWN6X3NlbmRfbXNnX3RvX3NtY193aXRoX3BhcmFtZXRl cihzbXVtZ3IsIFBQU01DX01TR19FeGVjdXRlSm9iLAorCQkJCWN6X3NtdS0+dG9jX2VudHJ5X3Bv d2VyX3Byb2ZpbGluZ19pbmRleCk7CisKKwlyZXR1cm4gY3pfc2VuZF9tc2dfdG9fc21jX3dpdGhf cGFyYW1ldGVyKHNtdW1nciwKKwkJCQkJUFBTTUNfTVNHX0V4ZWN1dGVKb2IsCisJCQkJCWN6X3Nt dS0+dG9jX2VudHJ5X2luaXRpYWxpemVfaW5kZXgpOworfQorCitzdGF0aWMgaW50IGN6X3N0YXJ0 X3NtdShzdHJ1Y3QgcHBfc211bWdyICpzbXVtZ3IpCit7CisJaW50IHJldCA9IDA7CisJdWludDMy X3QgZndfdG9fY2hlY2sgPSAwOworCisJZndfdG9fY2hlY2sgPSBVQ09ERV9JRF9STENfR19NQVNL IHwKKwkJCVVDT0RFX0lEX1NETUEwX01BU0sgfAorCQkJVUNPREVfSURfU0RNQTFfTUFTSyB8CisJ CQlVQ09ERV9JRF9DUF9DRV9NQVNLIHwKKwkJCVVDT0RFX0lEX0NQX01FX01BU0sgfAorCQkJVUNP REVfSURfQ1BfUEZQX01BU0sgfAorCQkJVUNPREVfSURfQ1BfTUVDX0pUMV9NQVNLIHwKKwkJCVVD T0RFX0lEX0NQX01FQ19KVDJfTUFTSzsKKworCWlmIChzbXVtZ3ItPmNoaXBfaWQgPT0gQ0hJUF9T VE9ORVkpCisJCWZ3X3RvX2NoZWNrICY9IH4oVUNPREVfSURfU0RNQTFfTUFTSyB8IFVDT0RFX0lE X0NQX01FQ19KVDJfTUFTSyk7CisKKwlyZXQgPSBjel9yZXF1ZXN0X3NtdV9sb2FkX2Z3KHNtdW1n cik7CisJaWYgKHJldCkKKwkJcHJpbnRrKEtFUk5fRVJSICJbIHBvd2VycGxheV0gU01VIGZpcm13 YXJlIGxvYWQgZmFpbGVkXG4iKTsKKworCWN6X2NoZWNrX2Z3X2xvYWRfZmluaXNoKHNtdW1nciwg ZndfdG9fY2hlY2spOworCisJcmV0ID0gY3pfbG9hZF9tZWNfZmlybXdhcmUoc211bWdyKTsKKwlp ZiAocmV0KQorCQlwcmludGsoS0VSTl9FUlIgIlsgcG93ZXJwbGF5IF0gTWVjIEZpcm13YXJlIGxv YWQgZmFpbGVkXG4iKTsKKworCXJldHVybiByZXQ7Cit9CisKIHN0YXRpYyBpbnQgY3pfc211X2lu aXQoc3RydWN0IHBwX3NtdW1nciAqc211bWdyKQogewogCXN0cnVjdCBjel9zbXVtZ3IgKmN6X3Nt dSA9IChzdHJ1Y3QgY3pfc211bWdyICopc211bWdyLT5iYWNrZW5kOwpAQCAtNzY5LDcgKzc3Niw2 IEBAIHN0YXRpYyBpbnQgY3pfc211X2luaXQoc3RydWN0IHBwX3NtdW1nciAqc211bWdyKQogCWN6 X3NtdS0+c211X2J1ZmZlci5tY19hZGRyX2hpZ2ggPSBzbXVfdXBwZXJfMzJfYml0cyhtY19hZGRy KTsKIAljel9zbXUtPnNtdV9idWZmZXIubWNfYWRkcl9sb3cgPSBzbXVfbG93ZXJfMzJfYml0cyht Y19hZGRyKTsKIAotCWN6X3NtdV9wb3B1bGF0ZV9maXJtd2FyZV9lbnRyaWVzKHNtdW1ncik7CiAJ aWYgKDAgIT0gY3pfc211X3BvcHVsYXRlX3NpbmdsZV9zY3JhdGNoX2VudHJ5KHNtdW1nciwKIAkJ Q1pfU0NSQVRDSF9FTlRSWV9VQ09ERV9JRF9STENfU0NSQVRDSCwKIAkJVUNPREVfSURfUkxDX1ND UkFUQ0hfU0laRV9CWVRFLApAQCAtODA4LDcgKzgxNCw2IEBAIHN0YXRpYyBpbnQgY3pfc211X2lu aXQoc3RydWN0IHBwX3NtdW1nciAqc211bWdyKQogCQlwcmludGsoS0VSTl9FUlIgIlsgcG93ZXJw bGF5IF0gRXJyb3Igd2hlbiBQb3B1bGF0ZSBGaXJtd2FyZSBFbnRyeS5cbiIpOwogCQlyZXR1cm4g LTE7CiAJfQotCWN6X3NtdV9jb25zdHJ1Y3RfdG9jKHNtdW1ncik7CiAKIAlyZXR1cm4gMDsKIH0K LS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK