From mboxrd@z Thu Jan 1 00:00:00 1970 From: Huang Rui Subject: [PATCH 025/138] drm/amd/powerplay: implement smu send message functions for smu11 (v3) Date: Fri, 25 Jan 2019 18:23:52 +0800 Message-ID: <1548411945-12396-26-git-send-email-ray.huang@amd.com> References: <1548411945-12396-1-git-send-email-ray.huang@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1548411945-12396-1-git-send-email-ray.huang-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: Likun Gao , Kevin Wang , Huang Rui , Chengming Gui RnJvbTogS2V2aW4gV2FuZyA8S2V2aW4xLldhbmdAYW1kLmNvbT4KCkFkZCBmdW5jdGlvbiBvZiBz bXUgc2VuZCBtZXNzYWdlIGZvciBzbXUxMQoKdjI6IGZpeCB0aGUgbWlzc2luZyApIGluIGRlZmlu ZSBvZiBzbXVfc2VuZF9zbWNfbXNnX3dpdGhfcGFyYW0KdjM6IFVzZSBhZGV2IHVzZWMgdGltZW91 dCBmb3Igc211IGFzIHdlbGwsIHRoZSBvcmlnaW4gdGltZSAxMCB1cyBpcyBub3QgZW5vdWdoLiAo UmF5KQoKU2lnbmVkLW9mZi1ieTogSHVhbmcgUnVpIDxyYXkuaHVhbmdAYW1kLmNvbT4KU2lnbmVk LW9mZi1ieTogTGlrdW4gR2FvIDxMaWt1bi5HYW9AYW1kLmNvbT4KU2lnbmVkLW9mZi1ieTogS2V2 aW4gV2FuZyA8S2V2aW4xLldhbmdAYW1kLmNvbT4KUmV2aWV3ZWQtYnk6IEh1YW5nIFJ1aSA8cmF5 Lmh1YW5nQGFtZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2Ft ZGdwdV9zbXUuaCB8ICA4ICsrLQogZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvc211X3Yx MV8wLmMgICAgICB8IDg0ICsrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5n ZWQsIDkxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vYW1kL3Bvd2VycGxheS9pbmMvYW1kZ3B1X3NtdS5oIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9wb3dlcnBsYXkvaW5jL2FtZGdwdV9zbXUuaAppbmRleCBiMDhjMGM5Li45ZTQ2N2QzIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9pbmMvYW1kZ3B1X3NtdS5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2luYy9hbWRncHVfc211LmgKQEAg LTUyLDYgKzUyLDkgQEAgc3RydWN0IHNtdV9mdW5jcwogCWludCAoKndyaXRlX3dhdGVybWFya3Nf dGFibGUpKHN0cnVjdCBzbXVfY29udGV4dCAqc211KTsKIAlpbnQgKCpzZXRfbGFzdF9kY2VmX21p bl9kZWVwX3NsZWVwX2Nsaykoc3RydWN0IHNtdV9jb250ZXh0ICpzbXUpOwogCWludCAoKnN5c3Rl bV9mZWF0dXJlc19jb250cm9sKShzdHJ1Y3Qgc211X2NvbnRleHQgKnNtdSwgYm9vbCBlbik7CisJ aW50ICgqc2VuZF9zbWNfbXNnKShzdHJ1Y3Qgc211X2NvbnRleHQgKnNtdSwgdWludDE2X3QgbXNn KTsKKwlpbnQgKCpzZW5kX3NtY19tc2dfd2l0aF9wYXJhbSkoc3RydWN0IHNtdV9jb250ZXh0ICpz bXUsIHVpbnQxNl90IG1zZywgdWludDMyX3QgcGFyYW0pOworCiB9OwogCiAjZGVmaW5lIHNtdV9p bml0X21pY3JvY29kZShzbXUpIFwKQEAgLTkwLDcgKzkzLDEwIEBAIHN0cnVjdCBzbXVfZnVuY3MK IAkoKHNtdSktPmZ1bmNzLT5zZXRfbGFzdF9kY2VmX21pbl9kZWVwX3NsZWVwX2NsayA/IChzbXUp LT5mdW5jcy0+c2V0X2xhc3RfZGNlZl9taW5fZGVlcF9zbGVlcF9jbGsoKHNtdSkpIDogMCkKICNk ZWZpbmUgc211X3N5c3RlbV9mZWF0dXJlc19jb250cm9sKHNtdSwgZW4pIFwKIAkoKHNtdSktPmZ1 bmNzLT5zeXN0ZW1fZmVhdHVyZXNfY29udHJvbCA/IChzbXUpLT5mdW5jcy0+c3lzdGVtX2ZlYXR1 cmVzX2NvbnRyb2woKHNtdSksIChlbikpIDogMCkKLQorI2RlZmluZSBzbXVfc2VuZF9zbWNfbXNn KHNtdSwgbXNnKSBcCisJKChzbXUpLT5mdW5jcy0+c2VuZF9zbWNfbXNnPyAoc211KS0+ZnVuY3Mt PnNlbmRfc21jX21zZygoc211KSwgKG1zZykpIDogMCkKKyNkZWZpbmUgc211X3NlbmRfc21jX21z Z193aXRoX3BhcmFtKHNtdSwgbXNnLCBwYXJhbSkgXAorCSgoc211KS0+ZnVuY3MtPnNlbmRfc21j X21zZ193aXRoX3BhcmFtPyAoc211KS0+ZnVuY3MtPnNlbmRfc21jX21zZ193aXRoX3BhcmFtKChz bXUpLCAobXNnKSwgKHBhcmFtKSkgOiAwKQogCiBleHRlcm4gY29uc3Qgc3RydWN0IGFtZF9pcF9m dW5jcyBzbXVfaXBfZnVuY3M7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93 ZXJwbGF5L3NtdV92MTFfMC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvc211X3Yx MV8wLmMKaW5kZXggNzYxYmZiMS4uZmVlZTNlOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9wb3dlcnBsYXkvc211X3YxMV8wLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dl cnBsYXkvc211X3YxMV8wLmMKQEAgLTI2LDkgKzI2LDkxIEBACiAjaW5jbHVkZSAiYW1kZ3B1X3Nt dS5oIgogI2luY2x1ZGUgInNtdV92MTFfMC5oIgogI2luY2x1ZGUgInNtdV92MTFfMF9wcHNtYy5o IgorI2luY2x1ZGUgInNvYzE1X2NvbW1vbi5oIgorCisjaW5jbHVkZSAiYXNpY19yZWcvdGhtL3Ro bV8xMV8wXzJfb2Zmc2V0LmgiCisjaW5jbHVkZSAiYXNpY19yZWcvdGhtL3RobV8xMV8wXzJfc2hf bWFzay5oIgorI2luY2x1ZGUgImFzaWNfcmVnL21wL21wXzlfMF9vZmZzZXQuaCIKKyNpbmNsdWRl ICJhc2ljX3JlZy9tcC9tcF85XzBfc2hfbWFzay5oIgorI2luY2x1ZGUgImFzaWNfcmVnL25iaW8v bmJpb183XzRfb2Zmc2V0LmgiCiAKIE1PRFVMRV9GSVJNV0FSRSgiYW1kZ3B1L3ZlZ2EyMF9zbWMu YmluIik7CiAKK3N0YXRpYyBpbnQgc211X3YxMV8wX3NlbmRfbXNnX3dpdGhvdXRfd2FpdGluZyhz dHJ1Y3Qgc211X2NvbnRleHQgKnNtdSwKKwkJCQkJICAgICAgdWludDE2X3QgbXNnKQoreworCXN0 cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gc211LT5hZGV2OworCVdSRUczMl9TT0MxNShNUDEs IDAsIG1tTVAxX1NNTl9DMlBNU0dfNjYsIG1zZyk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBp bnQgc211X3YxMV8wX3dhaXRfZm9yX3Jlc3BvbnNlKHN0cnVjdCBzbXVfY29udGV4dCAqc211KQor eworCXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gc211LT5hZGV2OworCXVpbnQzMl90IGN1 cl92YWx1ZSwgaTsKKworCWZvciAoaSA9IDA7IGkgPCBhZGV2LT51c2VjX3RpbWVvdXQ7IGkrKykg eworCQljdXJfdmFsdWUgPSBSUkVHMzJfU09DMTUoTVAxLCAwLCBtbU1QMV9TTU5fQzJQTVNHXzkw KTsKKwkJaWYgKChjdXJfdmFsdWUgJiBNUDFfQzJQTVNHXzkwX19DT05URU5UX01BU0spICE9IDAp CisJCQlicmVhazsKKwkJdWRlbGF5KDEpOworCX0KKworCS8qIHRpbWVvdXQgbWVhbnMgd3Jvbmcg bG9naWMgKi8KKwlpZiAoaSA9PSBhZGV2LT51c2VjX3RpbWVvdXQpCisJCXJldHVybiAtRVRJTUU7 CisKKwlyZXR1cm4gUlJFRzMyX1NPQzE1KE1QMSwgMCwgbW1NUDFfU01OX0MyUE1TR185MCkgPT0g IFBQU01DX1Jlc3VsdF9PSyA/IDA6LUVJTzsKK30KKworc3RhdGljIGludCBzbXVfdjExXzBfc2Vu ZF9tc2coc3RydWN0IHNtdV9jb250ZXh0ICpzbXUsIHVpbnQxNl90IG1zZykKK3sKKwlzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldiA9IHNtdS0+YWRldjsKKwlpbnQgcmV0ID0gMDsKKworCXNtdV92 MTFfMF93YWl0X2Zvcl9yZXNwb25zZShzbXUpOworCisJV1JFRzMyX1NPQzE1KE1QMSwgMCwgbW1N UDFfU01OX0MyUE1TR185MCwgMCk7CisKKwlzbXVfdjExXzBfc2VuZF9tc2dfd2l0aG91dF93YWl0 aW5nKHNtdSwgbXNnKTsKKworCXJldCA9IHNtdV92MTFfMF93YWl0X2Zvcl9yZXNwb25zZShzbXUp OworCisJaWYgKHJldCkKKwkJcHJfZXJyKCJGYWlsZWQgdG8gc2VuZCBtZXNzYWdlIDB4JXgsIHJl c3BvbnNlIDB4JXhcbiIsIG1zZywKKwkJICAgICAgIHJldCk7CisKKwlyZXR1cm4gcmV0OworCit9 CisKK3N0YXRpYyBpbnQKK3NtdV92MTFfMF9zZW5kX21zZ193aXRoX3BhcmFtKHN0cnVjdCBzbXVf Y29udGV4dCAqc211LCB1aW50MTZfdCBtc2csCisJCQkgICAgICB1aW50MzJfdCBwYXJhbSkKK3sK KworCXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gc211LT5hZGV2OworCWludCByZXQgPSAw OworCisJcmV0ID0gc211X3YxMV8wX3dhaXRfZm9yX3Jlc3BvbnNlKHNtdSk7CisJaWYgKHJldCkK KwkJcHJfZXJyKCJGYWlsZWQgdG8gc2VuZCBtZXNzYWdlIDB4JXgsIHJlc3BvbnNlIDB4JXhcbiIs IG1zZywKKwkJICAgICAgIHJldCk7CisKKwlXUkVHMzJfU09DMTUoTVAxLCAwLCBtbU1QMV9TTU5f QzJQTVNHXzkwLCAwKTsKKworCVdSRUczMl9TT0MxNShNUDEsIDAsIG1tTVAxX1NNTl9DMlBNU0df ODIsIHBhcmFtKTsKKworCXNtdV92MTFfMF9zZW5kX21zZ193aXRob3V0X3dhaXRpbmcoc211LCBt c2cpOworCisJcmV0ID0gc211X3YxMV8wX3dhaXRfZm9yX3Jlc3BvbnNlKHNtdSk7CisJaWYgKHJl dCkKKwkJcHJfZXJyKCJGYWlsZWQgdG8gc2VuZCBtZXNzYWdlIDB4JXgsIHJlc3BvbnNlIDB4JXhc biIsIG1zZywKKwkJICAgICAgIHJldCk7CisKKwlyZXR1cm4gcmV0OworfQorCiBzdGF0aWMgaW50 IHNtdV92MTFfMF9pbml0X21pY3JvY29kZShzdHJ1Y3Qgc211X2NvbnRleHQgKnNtdSkKIHsKIAlz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiA9IHNtdS0+YWRldjsKQEAgLTkzLDYgKzE3NSw4IEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc211X2Z1bmNzIHNtdV92MTFfMF9mdW5jcyA9IHsKIAkuaW5p dF9taWNyb2NvZGUgPSBzbXVfdjExXzBfaW5pdF9taWNyb2NvZGUsCiAJLmxvYWRfbWljcm9jb2Rl ID0gc211X3YxMV8wX2xvYWRfbWljcm9jb2RlLAogCS5jaGVja19md19zdGF0dXMgPSBzbXVfdjEx XzBfY2hlY2tfZndfc3RhdHVzLAorCS5zZW5kX3NtY19tc2cgPSBzbXVfdjExXzBfc2VuZF9tc2cs CisJLnNlbmRfc21jX21zZ193aXRoX3BhcmFtID0gc211X3YxMV8wX3NlbmRfbXNnX3dpdGhfcGFy YW0sCiB9OwogCiB2b2lkIHNtdV92MTFfMF9zZXRfc211X2Z1bmNzKHN0cnVjdCBzbXVfY29udGV4 dCAqc211KQotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdm eAo=