From mboxrd@z Thu Jan 1 00:00:00 1970 From: Huang Rui Subject: [PATCH 080/138] drm/amd/powerplay: implement sysfs of pp_table for smu11 Date: Fri, 25 Jan 2019 18:24:47 +0800 Message-ID: <1548411945-12396-81-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 , Chengming Gui RnJvbTogS2V2aW4gV2FuZyA8S2V2aW4xLldhbmdAYW1kLmNvbT4KCmFkZCBwcF90YWJsZSBzeXNm cyBpbnRlcmZhY2UgZm9yIG5ldyBzdy1zbXUuCmdldDogcmV0dXJuIHBwdGFibGUgcmF3IGRhdGEK c2V0OiB3cml0ZSBwcHRhYmxlIHJhdyBkYXRhIHRvIHBwdGFibGUsIHRoZW4gcmVzZXQgc211ICho d19maW5pIC0+IGh3X2luaXQpCgpTaWduZWQtb2ZmLWJ5OiBLZXZpbiBXYW5nIDxLZXZpbjEuV2Fu Z0BhbWQuY29tPgpSZXZpZXdlZC1ieTogSHVhbmcgUnVpIDxyYXkuaHVhbmdAYW1kLmNvbT4KLS0t CiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcG0uYyAgICAgICAgIHwgMTQgKysr Ky0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2FtZGdwdV9zbXUuYyAgICAgfCA3MyAr KysrKysrKysrKysrKysrKysrKysrKystLQogZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkv aW5jL2FtZGdwdV9zbXUuaCB8ICA0ICsrCiBkcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9z bXVfdjExXzAuYyAgICAgIHwgIDYgKystCiA0IGZpbGVzIGNoYW5nZWQsIDg5IGluc2VydGlvbnMo KyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcG0uYwpp bmRleCBkZTY3ZGRlLi42OGRmZTJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfcG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf cG0uYwpAQCAtNDY0LDcgKzQ2NCwxMiBAQCBzdGF0aWMgc3NpemVfdCBhbWRncHVfZ2V0X3BwX3Rh YmxlKHN0cnVjdCBkZXZpY2UgKmRldiwKIAljaGFyICp0YWJsZSA9IE5VTEw7CiAJaW50IHNpemU7 CiAKLQlpZiAoYWRldi0+cG93ZXJwbGF5LnBwX2Z1bmNzLT5nZXRfcHBfdGFibGUpCisJaWYgKGlz X3N1cHBvcnRfc3dfc211KGFkZXYpKSB7CisJCXNpemUgPSBzbXVfc3lzX2dldF9wcF90YWJsZSgm YWRldi0+c211LCAodm9pZCAqKikmdGFibGUpOworCQlpZiAoc2l6ZSA8IDApCisJCQlyZXR1cm4g c2l6ZTsKKwl9CisJZWxzZSBpZiAoYWRldi0+cG93ZXJwbGF5LnBwX2Z1bmNzLT5nZXRfcHBfdGFi bGUpCiAJCXNpemUgPSBhbWRncHVfZHBtX2dldF9wcF90YWJsZShhZGV2LCAmdGFibGUpOwogCWVs c2UKIAkJcmV0dXJuIDA7CkBAIC00ODQsOCArNDg5LDEzIEBAIHN0YXRpYyBzc2l6ZV90IGFtZGdw dV9zZXRfcHBfdGFibGUoc3RydWN0IGRldmljZSAqZGV2LAogewogCXN0cnVjdCBkcm1fZGV2aWNl ICpkZGV2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7CiAJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFk ZXYgPSBkZGV2LT5kZXZfcHJpdmF0ZTsKKwlpbnQgcmV0ID0gMDsKIAotCWlmIChhZGV2LT5wb3dl cnBsYXkucHBfZnVuY3MtPnNldF9wcF90YWJsZSkKKwlpZiAoaXNfc3VwcG9ydF9zd19zbXUoYWRl dikpIHsKKwkJcmV0ID0gc211X3N5c19zZXRfcHBfdGFibGUoJmFkZXYtPnNtdSwgKHZvaWQgKili dWYsIGNvdW50KTsKKwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7CisJfSBlbHNlIGlmIChhZGV2 LT5wb3dlcnBsYXkucHBfZnVuY3MtPnNldF9wcF90YWJsZSkKIAkJYW1kZ3B1X2RwbV9zZXRfcHBf dGFibGUoYWRldiwgYnVmLCBjb3VudCk7CiAKIAlyZXR1cm4gY291bnQ7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9hbWRncHVfc211LmMgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL3Bvd2VycGxheS9hbWRncHVfc211LmMKaW5kZXggZTMwYTc0NS4uNTJiYWJmNSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvYW1kZ3B1X3NtdS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2FtZGdwdV9zbXUuYwpAQCAtNzAsNiArNzAs NTQgQEAgYm9vbCBpc19zdXBwb3J0X3N3X3NtdShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikK IAlyZXR1cm4gZmFsc2U7CiB9CiAKK2ludCBzbXVfc3lzX2dldF9wcF90YWJsZShzdHJ1Y3Qgc211 X2NvbnRleHQgKnNtdSwgdm9pZCAqKnRhYmxlKQoreworCXN0cnVjdCBzbXVfdGFibGVfY29udGV4 dCAqc211X3RhYmxlID0gJnNtdS0+c211X3RhYmxlOworCisJaWYgKCFzbXVfdGFibGUtPnBvd2Vy X3BsYXlfdGFibGUgJiYgIXNtdV90YWJsZS0+aGFyZGNvZGVfcHB0YWJsZSkKKwkJcmV0dXJuIC1F SU5WQUw7CisKKwlpZiAoc211X3RhYmxlLT5oYXJkY29kZV9wcHRhYmxlKQorCQkqdGFibGUgPSBz bXVfdGFibGUtPmhhcmRjb2RlX3BwdGFibGU7CisJZWxzZQorCQkqdGFibGUgPSBzbXVfdGFibGUt PnBvd2VyX3BsYXlfdGFibGU7CisKKwlyZXR1cm4gc211X3RhYmxlLT5wb3dlcl9wbGF5X3RhYmxl X3NpemU7Cit9CisKK2ludCBzbXVfc3lzX3NldF9wcF90YWJsZShzdHJ1Y3Qgc211X2NvbnRleHQg KnNtdSwgIHZvaWQgKmJ1Ziwgc2l6ZV90IHNpemUpCit7CisJc3RydWN0IHNtdV90YWJsZV9jb250 ZXh0ICpzbXVfdGFibGUgPSAmc211LT5zbXVfdGFibGU7CisJQVRPTV9DT01NT05fVEFCTEVfSEVB REVSICpoZWFkZXIgPSAoQVRPTV9DT01NT05fVEFCTEVfSEVBREVSICopYnVmOworCWludCByZXQg PSAwOworCisJaWYgKGhlYWRlci0+dXNTdHJ1Y3R1cmVTaXplICE9IHNpemUpIHsKKwkJcHJfZXJy KCJwcCB0YWJsZSBzaXplIG5vdCBtYXRjaGVkICFcbiIpOworCQlyZXR1cm4gLUVJTzsKKwl9CisK KwltdXRleF9sb2NrKCZzbXUtPm11dGV4KTsKKworCWlmICghc211X3RhYmxlLT5oYXJkY29kZV9w cHRhYmxlKQorCQlzbXVfdGFibGUtPmhhcmRjb2RlX3BwdGFibGUgPSBremFsbG9jKHNpemUsIEdG UF9LRVJORUwpOworCWlmICghc211X3RhYmxlLT5oYXJkY29kZV9wcHRhYmxlKSB7CisJCXJldCA9 IC1FTk9NRU07CisJCWdvdG8gZmFpbGVkOworCX0KKworCW1lbWNweShzbXVfdGFibGUtPmhhcmRj b2RlX3BwdGFibGUsIGJ1Ziwgc2l6ZSk7CisJc211X3RhYmxlLT5wb3dlcl9wbGF5X3RhYmxlID0g c211X3RhYmxlLT5oYXJkY29kZV9wcHRhYmxlOworCXNtdV90YWJsZS0+cG93ZXJfcGxheV90YWJs ZV9zaXplID0gc2l6ZTsKKworCXJldCA9IHNtdV9yZXNldChzbXUpOworCWlmIChyZXQpCisJCXBy X2luZm8oInNtdSByZXNldCBmYWlsZWQsIHJldCA9ICVkXG4iLCByZXQpOworCitmYWlsZWQ6CisJ bXV0ZXhfdW5sb2NrKCZzbXUtPm11dGV4KTsKKwlyZXR1cm4gcmV0OworfQorCiBpbnQgc211X2Zl YXR1cmVfaW5pdF9kcG0oc3RydWN0IHNtdV9jb250ZXh0ICpzbXUpCiB7CiAJc3RydWN0IHNtdV9m ZWF0dXJlICpmZWF0dXJlID0gJnNtdS0+c211X2ZlYXR1cmU7CkBAIC0zMjIsNyArMzcwLDcgQEAg c3RhdGljIGludCBzbXVfZmluaV9mYl9hbGxvY2F0aW9ucyhzdHJ1Y3Qgc211X2NvbnRleHQgKnNt dSkKIAl1aW50MzJfdCBpID0gMDsKIAogCWlmICh0YWJsZV9jb3VudCA9PSAwIHx8IHRhYmxlcyA9 PSBOVUxMKQotCQlyZXR1cm4gLUVJTlZBTDsKKwkJcmV0dXJuIDA7CiAKIAlmb3IgKGkgPSAwIDsg aSA8IHRhYmxlX2NvdW50OyBpKyspIHsKIAkJaWYgKHRhYmxlc1tpXS5zaXplID09IDApCkBAIC01 ODQsOSArNjMyLDEwIEBAIHN0YXRpYyBpbnQgc211X2h3X2Zpbmkodm9pZCAqaGFuZGxlKQogCWlm ICghaXNfc3VwcG9ydF9zd19zbXUoYWRldikpCiAJCXJldHVybiAtRUlOVkFMOwogCi0JaWYgKCF0 YWJsZV9jb250ZXh0LT5kcml2ZXJfcHB0YWJsZSkKLQkJcmV0dXJuIC1FSU5WQUw7Ci0Ja2ZyZWUo dGFibGVfY29udGV4dC0+ZHJpdmVyX3BwdGFibGUpOworCWlmICh0YWJsZV9jb250ZXh0LT5kcml2 ZXJfcHB0YWJsZSkgeworCQlrZnJlZSh0YWJsZV9jb250ZXh0LT5kcml2ZXJfcHB0YWJsZSk7CisJ CXRhYmxlX2NvbnRleHQtPmRyaXZlcl9wcHRhYmxlID0gTlVMTDsKKwl9CiAKIAlpZiAodGFibGVf Y29udGV4dC0+bWF4X3N1c3RhaW5hYmxlX2Nsb2NrcykgewogCQlrZnJlZSh0YWJsZV9jb250ZXh0 LT5tYXhfc3VzdGFpbmFibGVfY2xvY2tzKTsKQEAgLTYwNCw2ICs2NTMsMjIgQEAgc3RhdGljIGlu dCBzbXVfaHdfZmluaSh2b2lkICpoYW5kbGUpCiAJcmV0dXJuIDA7CiB9CiAKK2ludCBzbXVfcmVz ZXQoc3RydWN0IHNtdV9jb250ZXh0ICpzbXUpCit7CisJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFk ZXYgPSBzbXUtPmFkZXY7CisJaW50IHJldCA9IDA7CisKKwlyZXQgPSBzbXVfaHdfZmluaShhZGV2 KTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJcmV0ID0gc211X2h3X2luaXQoYWRldik7 CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKworCXJldHVybiByZXQ7Cit9CisKIHN0YXRpYyBp bnQgc211X3N1c3BlbmQodm9pZCAqaGFuZGxlKQogewogCXN0cnVjdCBhbWRncHVfZGV2aWNlICph ZGV2ID0gKHN0cnVjdCBhbWRncHVfZGV2aWNlICopaGFuZGxlOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2FtZGdwdV9zbXUuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvcG93ZXJwbGF5L2luYy9hbWRncHVfc211LmgKaW5kZXggMDA2YTcyMS4uNWVmYTYzNCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2FtZGdwdV9zbXUu aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9pbmMvYW1kZ3B1X3NtdS5oCkBA IC0xNTgsNiArMTU4LDcgQEAgc3RydWN0IHNtdV90YWJsZV9jb250ZXh0CiB7CiAJdm9pZAkJCQkq cG93ZXJfcGxheV90YWJsZTsKIAl1aW50MzJfdAkJCXBvd2VyX3BsYXlfdGFibGVfc2l6ZTsKKwl2 b2lkCQkJCSpoYXJkY29kZV9wcHRhYmxlOwogCiAJdm9pZAkJCQkqbWF4X3N1c3RhaW5hYmxlX2Ns b2NrczsKIAlzdHJ1Y3Qgc211X2Jpb3NfYm9vdF91cF92YWx1ZXMJYm9vdF92YWx1ZXM7CkBAIC0z NzEsNSArMzcyLDggQEAgZXh0ZXJuIGludCBzbXVfZmVhdHVyZV9zZXRfc3VwcG9ydGVkKHN0cnVj dCBzbXVfY29udGV4dCAqc211LCBpbnQgZmVhdHVyZV9pZCwgYm8KIAogaW50IHNtdV91cGRhdGVf dGFibGUoc3RydWN0IHNtdV9jb250ZXh0ICpzbXUsIHVpbnQzMl90IHRhYmxlX2lkLCB2b2lkICp0 YWJsZV9kYXRhLCBib29sIGRydjJzbXUpOwogYm9vbCBpc19zdXBwb3J0X3N3X3NtdShzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldik7CitpbnQgc211X3Jlc2V0KHN0cnVjdCBzbXVfY29udGV4dCAq c211KTsKK2ludCBzbXVfc3lzX2dldF9wcF90YWJsZShzdHJ1Y3Qgc211X2NvbnRleHQgKnNtdSwg dm9pZCAqKnRhYmxlKTsKK2ludCBzbXVfc3lzX3NldF9wcF90YWJsZShzdHJ1Y3Qgc211X2NvbnRl eHQgKnNtdSwgIHZvaWQgKmJ1Ziwgc2l6ZV90IHNpemUpOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L3NtdV92MTFfMC5jIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9wb3dlcnBsYXkvc211X3YxMV8wLmMKaW5kZXggNDYyMTMzYi4uMWFlZjZjNiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvc211X3YxMV8wLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvc211X3YxMV8wLmMKQEAgLTI0MSw4ICsyNDEs MTAgQEAgc3RhdGljIGludCBzbXVfdjExXzBfcmVhZF9wcHRhYmxlX2Zyb21fdmJpb3Moc3RydWN0 IHNtdV9jb250ZXh0ICpzbXUpCiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIAotCXNtdS0+c211 X3RhYmxlLnBvd2VyX3BsYXlfdGFibGUgPSB0YWJsZTsKLQlzbXUtPnNtdV90YWJsZS5wb3dlcl9w bGF5X3RhYmxlX3NpemUgPSBzaXplOworCWlmICghc211LT5zbXVfdGFibGUucG93ZXJfcGxheV90 YWJsZSkKKwkJc211LT5zbXVfdGFibGUucG93ZXJfcGxheV90YWJsZSA9IHRhYmxlOworCWlmICgh c211LT5zbXVfdGFibGUucG93ZXJfcGxheV90YWJsZV9zaXplKQorCQlzbXUtPnNtdV90YWJsZS5w b3dlcl9wbGF5X3RhYmxlX3NpemUgPSBzaXplOwogCiAJcmV0dXJuIDA7CiB9Ci0tIAoyLjcuNAoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBt YWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==