From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: [PATCH 16/51] drm/amd/powerplay: implement functions of amd_powerplay_func Date: Thu, 12 Nov 2015 01:18:06 -0500 Message-ID: <1447309121-2480-17-git-send-email-alexander.deucher@amd.com> References: <1447309121-2480-1-git-send-email-alexander.deucher@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qg0-f42.google.com (mail-qg0-f42.google.com [209.85.192.42]) by gabe.freedesktop.org (Postfix) with ESMTPS id 47CA57A092 for ; Wed, 11 Nov 2015 22:19:10 -0800 (PST) Received: by qgad10 with SMTP id d10so40910848qga.3 for ; Wed, 11 Nov 2015 22:19:09 -0800 (PST) In-Reply-To: <1447309121-2480-1-git-send-email-alexander.deucher@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Rex Zhu List-Id: dri-devel@lists.freedesktop.org RnJvbTogUmV4IFpodSA8UmV4LlpodUBhbWQuY29tPgoKVGhpcyBpcyB0aGUgY29tbW9uIGludGVy ZmFjZSBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgcG93ZXJwbGF5Cm1vZHVsZS4KCnYyOiBzcXVh c2ggaW4gZml4ZXMKClNpZ25lZC1vZmYtYnk6IFJleCBaaHUgPFJleC5aaHVAYW1kLmNvbT4KQWNr ZWQtYnk6IEphbW15IFpob3UgPEphbW15Llpob3VAYW1kLmNvbT4KUmV2aWV3ZWQtYnk6IEFsZXgg RGV1Y2hlciA8YWxleGFuZGVyLmRldWNoZXJAYW1kLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0v YW1kL3Bvd2VycGxheS9hbWRfcG93ZXJwbGF5LmMgfCAxOTEgKysrKysrKysrKysrKysrKysrKysr KysrLS0KIDEgZmlsZSBjaGFuZ2VkLCAxODMgaW5zZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9hbWRfcG93ZXJwbGF5 LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9hbWRfcG93ZXJwbGF5LmMKaW5kZXgg MTk2NGEyYS4uNjZjY2ZjMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBs YXkvYW1kX3Bvd2VycGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2Ft ZF9wb3dlcnBsYXkuYwpAQCAtMjcsNiArMjcsOCBAQAogI2luY2x1ZGUgImFtZF9zaGFyZWQuaCIK ICNpbmNsdWRlICJhbWRfcG93ZXJwbGF5LmgiCiAjaW5jbHVkZSAicHBfaW5zdGFuY2UuaCIKKyNp bmNsdWRlICJwb3dlcl9zdGF0ZS5oIgorI2luY2x1ZGUgImV2ZW50bWFuYWdlci5oIgogCiBzdGF0 aWMgaW50IHBwX2Vhcmx5X2luaXQodm9pZCAqaGFuZGxlKQogewpAQCAtMTc3LDExICsxNzksMzEg QEAgc3RhdGljIGludCBwcF9zZXRfcG93ZXJnYXRpbmdfc3RhdGUodm9pZCAqaGFuZGxlLAogCiBz dGF0aWMgaW50IHBwX3N1c3BlbmQodm9pZCAqaGFuZGxlKQogeworCXN0cnVjdCBwcF9pbnN0YW5j ZSAqcHBfaGFuZGxlOworCXN0cnVjdCBwcF9ldmVudG1nciAqZXZlbnRtZ3I7CisJc3RydWN0IHBl bV9ldmVudF9kYXRhIGV2ZW50X2RhdGEgPSB7IHswfSB9OworCisJaWYgKGhhbmRsZSA9PSBOVUxM KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXBwX2hhbmRsZSA9IChzdHJ1Y3QgcHBfaW5zdGFuY2Ug KiloYW5kbGU7CisJZXZlbnRtZ3IgPSBwcF9oYW5kbGUtPmV2ZW50bWdyOworCXBlbV9oYW5kbGVf ZXZlbnQoZXZlbnRtZ3IsIEFNRF9QUF9FVkVOVF9TVVNQRU5ELCAmZXZlbnRfZGF0YSk7CiAJcmV0 dXJuIDA7CiB9CiAKIHN0YXRpYyBpbnQgcHBfcmVzdW1lKHZvaWQgKmhhbmRsZSkKIHsKKwlzdHJ1 Y3QgcHBfaW5zdGFuY2UgKnBwX2hhbmRsZTsKKwlzdHJ1Y3QgcHBfZXZlbnRtZ3IgKmV2ZW50bWdy OworCXN0cnVjdCBwZW1fZXZlbnRfZGF0YSBldmVudF9kYXRhID0geyB7MH0gfTsKKworCWlmICho YW5kbGUgPT0gTlVMTCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlwcF9oYW5kbGUgPSAoc3RydWN0 IHBwX2luc3RhbmNlICopaGFuZGxlOworCWV2ZW50bWdyID0gcHBfaGFuZGxlLT5ldmVudG1ncjsK KwlwZW1faGFuZGxlX2V2ZW50KGV2ZW50bWdyLCBBTURfUFBfRVZFTlRfUkVTVU1FLCAmZXZlbnRf ZGF0YSk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTIxNSw0NSArMjM3LDE5OCBAQCBzdGF0aWMgaW50 IHBwX2RwbV9md19sb2FkaW5nX2NvbXBsZXRlKHZvaWQgKmhhbmRsZSkKIHN0YXRpYyBpbnQgcHBf ZHBtX2ZvcmNlX3BlcmZvcm1hbmNlX2xldmVsKHZvaWQgKmhhbmRsZSwKIAkJCQkJZW51bSBhbWRf ZHBtX2ZvcmNlZF9sZXZlbCBsZXZlbCkKIHsKKwlzdHJ1Y3QgcHBfaW5zdGFuY2UgKnBwX2hhbmRs ZTsKKwlzdHJ1Y3QgcHBfaHdtZ3IgICpod21ncjsKKworCWlmIChoYW5kbGUgPT0gTlVMTCkKKwkJ cmV0dXJuIC1FSU5WQUw7CisKKwlwcF9oYW5kbGUgPSAoc3RydWN0IHBwX2luc3RhbmNlICopaGFu ZGxlOworCisJaHdtZ3IgPSBwcF9oYW5kbGUtPmh3bWdyOworCisJaWYgKGh3bWdyID09IE5VTEwg fHwgaHdtZ3ItPmh3bWdyX2Z1bmMgPT0gTlVMTCB8fAorCSAgICBod21nci0+aHdtZ3JfZnVuYy0+ Zm9yY2VfZHBtX2xldmVsID09IE5VTEwpCisJCXJldHVybiAtRUlOVkFMOworCisJaHdtZ3ItPmh3 bWdyX2Z1bmMtPmZvcmNlX2RwbV9sZXZlbChod21nciwgbGV2ZWwpOworCiAJcmV0dXJuIDA7CiB9 CisKIHN0YXRpYyBlbnVtIGFtZF9kcG1fZm9yY2VkX2xldmVsIHBwX2RwbV9nZXRfcGVyZm9ybWFu Y2VfbGV2ZWwoCiAJCQkJCQkJCXZvaWQgKmhhbmRsZSkKIHsKLQlyZXR1cm4gMDsKKwlzdHJ1Y3Qg cHBfaHdtZ3IgICpod21ncjsKKworCWlmIChoYW5kbGUgPT0gTlVMTCkKKwkJcmV0dXJuIC1FSU5W QUw7CisKKwlod21nciA9ICgoc3RydWN0IHBwX2luc3RhbmNlICopaGFuZGxlKS0+aHdtZ3I7CisK KwlpZiAoaHdtZ3IgPT0gTlVMTCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyZXR1cm4gKCgoc3Ry dWN0IHBwX2luc3RhbmNlICopaGFuZGxlKS0+aHdtZ3ItPmRwbV9sZXZlbCk7CiB9CisKIHN0YXRp YyBpbnQgcHBfZHBtX2dldF9zY2xrKHZvaWQgKmhhbmRsZSwgYm9vbCBsb3cpCiB7Ci0JcmV0dXJu IDA7CisJc3RydWN0IHBwX2h3bWdyICAqaHdtZ3I7CisKKwlpZiAoaGFuZGxlID09IE5VTEwpCisJ CXJldHVybiAtRUlOVkFMOworCisJaHdtZ3IgPSAoKHN0cnVjdCBwcF9pbnN0YW5jZSAqKWhhbmRs ZSktPmh3bWdyOworCisJaWYgKGh3bWdyID09IE5VTEwgfHwgaHdtZ3ItPmh3bWdyX2Z1bmMgPT0g TlVMTCB8fAorCSAgICBod21nci0+aHdtZ3JfZnVuYy0+Z2V0X3NjbGsgPT0gTlVMTCkKKwkJcmV0 dXJuIC1FSU5WQUw7CisKKwlyZXR1cm4gaHdtZ3ItPmh3bWdyX2Z1bmMtPmdldF9zY2xrKGh3bWdy LCBsb3cpOwogfQorCiBzdGF0aWMgaW50IHBwX2RwbV9nZXRfbWNsayh2b2lkICpoYW5kbGUsIGJv b2wgbG93KQogewotCXJldHVybiAwOworCXN0cnVjdCBwcF9od21nciAgKmh3bWdyOworCisJaWYg KGhhbmRsZSA9PSBOVUxMKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWh3bWdyID0gKChzdHJ1Y3Qg cHBfaW5zdGFuY2UgKiloYW5kbGUpLT5od21ncjsKKworCWlmIChod21nciA9PSBOVUxMIHx8IGh3 bWdyLT5od21ncl9mdW5jID09IE5VTEwgfHwKKwkgICAgaHdtZ3ItPmh3bWdyX2Z1bmMtPmdldF9t Y2xrID09IE5VTEwpCisJCXJldHVybiAtRUlOVkFMOworCisJcmV0dXJuIGh3bWdyLT5od21ncl9m dW5jLT5nZXRfbWNsayhod21nciwgbG93KTsKIH0KKwogc3RhdGljIGludCBwcF9kcG1fcG93ZXJn YXRlX3ZjZSh2b2lkICpoYW5kbGUsIGJvb2wgZ2F0ZSkKIHsKLQlyZXR1cm4gMDsKKwlzdHJ1Y3Qg cHBfaHdtZ3IgICpod21ncjsKKworCWlmIChoYW5kbGUgPT0gTlVMTCkKKwkJcmV0dXJuIC1FSU5W QUw7CisKKwlod21nciA9ICgoc3RydWN0IHBwX2luc3RhbmNlICopaGFuZGxlKS0+aHdtZ3I7CisK KwlpZiAoaHdtZ3IgPT0gTlVMTCB8fCBod21nci0+aHdtZ3JfZnVuYyA9PSBOVUxMIHx8CisJICAg IGh3bWdyLT5od21ncl9mdW5jLT5wb3dlcmdhdGVfdmNlID09IE5VTEwpCisJCXJldHVybiAtRUlO VkFMOworCisJcmV0dXJuIGh3bWdyLT5od21ncl9mdW5jLT5wb3dlcmdhdGVfdmNlKGh3bWdyLCBn YXRlKTsKIH0KKwogc3RhdGljIGludCBwcF9kcG1fcG93ZXJnYXRlX3V2ZCh2b2lkICpoYW5kbGUs IGJvb2wgZ2F0ZSkKIHsKLQlyZXR1cm4gMDsKKwlzdHJ1Y3QgcHBfaHdtZ3IgICpod21ncjsKKwor CWlmIChoYW5kbGUgPT0gTlVMTCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlod21nciA9ICgoc3Ry dWN0IHBwX2luc3RhbmNlICopaGFuZGxlKS0+aHdtZ3I7CisKKwlpZiAoaHdtZ3IgPT0gTlVMTCB8 fCBod21nci0+aHdtZ3JfZnVuYyA9PSBOVUxMIHx8CisJICAgIGh3bWdyLT5od21ncl9mdW5jLT5w b3dlcmdhdGVfdXZkID09IE5VTEwpCisJCXJldHVybiAtRUlOVkFMOworCisJcmV0dXJuIGh3bWdy LT5od21ncl9mdW5jLT5wb3dlcmdhdGVfdXZkKGh3bWdyLCBnYXRlKTsKK30KKworc3RhdGljIGVu dW0gUFBfU3RhdGVVSUxhYmVsIHBvd2VyX3N0YXRlX2NvbnZlcnQoZW51bSBhbWRfcG1fc3RhdGVf dHlwZSAgc3RhdGUpCit7CisJc3dpdGNoIChzdGF0ZSkgeworCWNhc2UgUE9XRVJfU1RBVEVfVFlQ RV9CQVRURVJZOgorCQlyZXR1cm4gUFBfU3RhdGVVSUxhYmVsX0JhdHRlcnk7CisJY2FzZSBQT1dF Ul9TVEFURV9UWVBFX0JBTEFOQ0VEOgorCQlyZXR1cm4gUFBfU3RhdGVVSUxhYmVsX0JhbGFuY2Vk OworCWNhc2UgUE9XRVJfU1RBVEVfVFlQRV9QRVJGT1JNQU5DRToKKwkJcmV0dXJuIFBQX1N0YXRl VUlMYWJlbF9QZXJmb3JtYW5jZTsKKwlkZWZhdWx0OgorCQlyZXR1cm4gUFBfU3RhdGVVSUxhYmVs X05vbmU7CisJfQogfQogCiBpbnQgcHBfZHBtX2Rpc3BhdGNoX3Rhc2tzKHZvaWQgKmhhbmRsZSwg ZW51bSBhbWRfcHBfZXZlbnQgZXZlbnRfaWQsIHZvaWQgKmlucHV0LCB2b2lkICpvdXRwdXQpCiB7 Ci0JcmV0dXJuIDA7CisJaW50IHJldCA9IDA7CisJc3RydWN0IHBwX2luc3RhbmNlICpwcF9oYW5k bGU7CisJc3RydWN0IHBlbV9ldmVudF9kYXRhIGRhdGEgPSB7IHswfSB9OworCisJcHBfaGFuZGxl ID0gKHN0cnVjdCBwcF9pbnN0YW5jZSAqKWhhbmRsZTsKKworCWlmIChwcF9oYW5kbGUgPT0gTlVM TCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlzd2l0Y2ggKGV2ZW50X2lkKSB7CisJY2FzZSBBTURf UFBfRVZFTlRfRElTUExBWV9DT05GSUdfQ0hBTkdFOgorCQlyZXQgPSBwZW1faGFuZGxlX2V2ZW50 KHBwX2hhbmRsZS0+ZXZlbnRtZ3IsIGV2ZW50X2lkLCAmZGF0YSk7CisJCWJyZWFrOworCWNhc2Ug QU1EX1BQX0VWRU5UX0VOQUJMRV9VU0VSX1NUQVRFOgorCXsKKwkJZW51bSBhbWRfcG1fc3RhdGVf dHlwZSAgcHM7CisKKwkJaWYgKGlucHV0ID09IE5VTEwpCisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJ cHMgPSAqKHVuc2lnbmVkIGxvbmcgKilpbnB1dDsKKworCQlkYXRhLnJlcXVlc3RlZF91aV9sYWJl bCA9IHBvd2VyX3N0YXRlX2NvbnZlcnQocHMpOworCQlyZXQgPSBwZW1faGFuZGxlX2V2ZW50KHBw X2hhbmRsZS0+ZXZlbnRtZ3IsIGV2ZW50X2lkLCAmZGF0YSk7CisJfQorCWJyZWFrOworCWRlZmF1 bHQ6CisJCWJyZWFrOworCX0KKwlyZXR1cm4gcmV0OwogfQorCiBlbnVtIGFtZF9wbV9zdGF0ZV90 eXBlIHBwX2RwbV9nZXRfY3VycmVudF9wb3dlcl9zdGF0ZSh2b2lkICpoYW5kbGUpCiB7Ci0JcmV0 dXJuIDA7CisJc3RydWN0IHBwX2h3bWdyICpod21ncjsKKwlzdHJ1Y3QgcHBfcG93ZXJfc3RhdGUg KnN0YXRlOworCisJaWYgKGhhbmRsZSA9PSBOVUxMKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWh3 bWdyID0gKChzdHJ1Y3QgcHBfaW5zdGFuY2UgKiloYW5kbGUpLT5od21ncjsKKworCWlmIChod21n ciA9PSBOVUxMIHx8IGh3bWdyLT5jdXJyZW50X3BzID09IE5VTEwpCisJCXJldHVybiAtRUlOVkFM OworCisJc3RhdGUgPSBod21nci0+Y3VycmVudF9wczsKKworCXN3aXRjaCAoc3RhdGUtPmNsYXNz aWZpY2F0aW9uLnVpX2xhYmVsKSB7CisJY2FzZSBQUF9TdGF0ZVVJTGFiZWxfQmF0dGVyeToKKwkJ cmV0dXJuIFBPV0VSX1NUQVRFX1RZUEVfQkFUVEVSWTsKKwljYXNlIFBQX1N0YXRlVUlMYWJlbF9C YWxhbmNlZDoKKwkJcmV0dXJuIFBPV0VSX1NUQVRFX1RZUEVfQkFMQU5DRUQ7CisJY2FzZSBQUF9T dGF0ZVVJTGFiZWxfUGVyZm9ybWFuY2U6CisJCXJldHVybiBQT1dFUl9TVEFURV9UWVBFX1BFUkZP Uk1BTkNFOworCWRlZmF1bHQ6CisJCXJldHVybiBQT1dFUl9TVEFURV9UWVBFX0RFRkFVTFQ7CisJ fQogfQorCiBzdGF0aWMgdm9pZAogcHBfZGVidWdmc19wcmludF9jdXJyZW50X3BlcmZvcm1hbmNl X2xldmVsKHZvaWQgKmhhbmRsZSwKIAkJCQkJICAgICAgIHN0cnVjdCBzZXFfZmlsZSAqbSkKIHsK LQlyZXR1cm47CisJc3RydWN0IHBwX2h3bWdyICAqaHdtZ3I7CisKKwlpZiAoaGFuZGxlID09IE5V TEwpCisJCXJldHVybjsKKworCWh3bWdyID0gKChzdHJ1Y3QgcHBfaW5zdGFuY2UgKiloYW5kbGUp LT5od21ncjsKKworCWlmIChod21nciA9PSBOVUxMIHx8IGh3bWdyLT5od21ncl9mdW5jID09IE5V TEwgfHwKKwkgIGh3bWdyLT5od21ncl9mdW5jLT5wcmludF9jdXJyZW50X3BlcmZvcmNlX2xldmVs ID09IE5VTEwpCisJCXJldHVybjsKKworCWh3bWdyLT5od21ncl9mdW5jLT5wcmludF9jdXJyZW50 X3BlcmZvcmNlX2xldmVsKGh3bWdyLCBtKTsKIH0KIAorCiBjb25zdCBzdHJ1Y3QgYW1kX3Bvd2Vy cGxheV9mdW5jcyBwcF9kcG1fZnVuY3MgPSB7CiAJLmdldF90ZW1wZXJhdHVyZSA9IE5VTEwsCiAJ LmxvYWRfZmlybXdhcmUgPSBwcF9kcG1fbG9hZF9mdywKLS0gCjEuOC4zLjEKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxp c3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==