From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: [PATCH 42/51] drm/amdgpu/powerplay: implement fan control interface in amd_powerplay_funcs Date: Thu, 12 Nov 2015 01:18:32 -0500 Message-ID: <1447309121-2480-43-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-qk0-f174.google.com (mail-qk0-f174.google.com [209.85.220.174]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0CD1E7A082 for ; Wed, 11 Nov 2015 22:19:26 -0800 (PST) Received: by qkas77 with SMTP id s77so20227778qka.0 for ; Wed, 11 Nov 2015 22:19:25 -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 RnJvbTogUmV4IFpodSA8UmV4LlpodUBhbWQuY29tPgoKVGhpcyBhZGRzIHRoZSBpbnRlcmZhY2Ug bmVlZGVkIHRvIGV4cG9zZSBwb3dlcnBsYXkgZmFuIGNvbnRyb2wgdG8gc3lzZnMKdmlhIGh3bW9u LgoKU2lnbmVkLW9mZi1ieTogUmV4IFpodSA8UmV4LlpodUBhbWQuY29tPgpSZXZpZXdlZC1ieTog SmFtbXkgWmhvdSA8SmFtbXkuWmhvdUBhbWQuY29tPgpSZXZpZXdlZC1ieTogQWxleCBEZXVjaGVy IDxhbGV4YW5kZXIuZGV1Y2hlckBhbWQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvcG93 ZXJwbGF5L2FtZF9wb3dlcnBsYXkuYyAgICAgfCA4NSArKysrKysrKysrKysrKysrKysrKysrLQog ZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2FtZF9wb3dlcnBsYXkuaCB8ICA0ICsr CiAyIGZpbGVzIGNoYW5nZWQsIDg4IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9hbWRfcG93ZXJwbGF5LmMgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9hbWRfcG93ZXJwbGF5LmMKaW5kZXggNjZjY2Zj MC4uMTAzODVjMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvYW1k X3Bvd2VycGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2FtZF9wb3dl cnBsYXkuYwpAQCAtNDI4LDkgKzQyOCw4OCBAQCBwcF9kZWJ1Z2ZzX3ByaW50X2N1cnJlbnRfcGVy Zm9ybWFuY2VfbGV2ZWwodm9pZCAqaGFuZGxlLAogCWh3bWdyLT5od21ncl9mdW5jLT5wcmludF9j dXJyZW50X3BlcmZvcmNlX2xldmVsKGh3bWdyLCBtKTsKIH0KIAorc3RhdGljIGludCBwcF9kcG1f c2V0X2Zhbl9jb250cm9sX21vZGUodm9pZCAqaGFuZGxlLCB1aW50MzJfdCBtb2RlKQoreworCXN0 cnVjdCBwcF9od21nciAgKmh3bWdyOworCisJaWYgKGhhbmRsZSA9PSBOVUxMKQorCQlyZXR1cm4g LUVJTlZBTDsKKworCWh3bWdyID0gKChzdHJ1Y3QgcHBfaW5zdGFuY2UgKiloYW5kbGUpLT5od21n cjsKKworCWlmIChod21nciA9PSBOVUxMIHx8IGh3bWdyLT5od21ncl9mdW5jID09IE5VTEwgfHwK KwkgIGh3bWdyLT5od21ncl9mdW5jLT5zZXRfZmFuX2NvbnRyb2xfbW9kZSA9PSBOVUxMKQorCQly ZXR1cm4gLUVJTlZBTDsKKworCXJldHVybiBod21nci0+aHdtZ3JfZnVuYy0+c2V0X2Zhbl9jb250 cm9sX21vZGUoaHdtZ3IsIG1vZGUpOworfQorCitzdGF0aWMgaW50IHBwX2RwbV9nZXRfZmFuX2Nv bnRyb2xfbW9kZSh2b2lkICpoYW5kbGUpCit7CisJc3RydWN0IHBwX2h3bWdyICAqaHdtZ3I7CisK KwlpZiAoaGFuZGxlID09IE5VTEwpCisJCXJldHVybiAtRUlOVkFMOworCisJaHdtZ3IgPSAoKHN0 cnVjdCBwcF9pbnN0YW5jZSAqKWhhbmRsZSktPmh3bWdyOworCisJaWYgKGh3bWdyID09IE5VTEwg fHwgaHdtZ3ItPmh3bWdyX2Z1bmMgPT0gTlVMTCB8fAorCSAgaHdtZ3ItPmh3bWdyX2Z1bmMtPmdl dF9mYW5fY29udHJvbF9tb2RlID09IE5VTEwpCisJCXJldHVybiAtRUlOVkFMOworCisJcmV0dXJu IGh3bWdyLT5od21ncl9mdW5jLT5nZXRfZmFuX2NvbnRyb2xfbW9kZShod21ncik7Cit9CisKK3N0 YXRpYyBpbnQgcHBfZHBtX3NldF9mYW5fc3BlZWRfcGVyY2VudCh2b2lkICpoYW5kbGUsIHVpbnQz Ml90IHBlcmNlbnQpCit7CisJc3RydWN0IHBwX2h3bWdyICAqaHdtZ3I7CisKKwlpZiAoaGFuZGxl ID09IE5VTEwpCisJCXJldHVybiAtRUlOVkFMOworCisJaHdtZ3IgPSAoKHN0cnVjdCBwcF9pbnN0 YW5jZSAqKWhhbmRsZSktPmh3bWdyOworCisJaWYgKGh3bWdyID09IE5VTEwgfHwgaHdtZ3ItPmh3 bWdyX2Z1bmMgPT0gTlVMTCB8fAorCSAgaHdtZ3ItPmh3bWdyX2Z1bmMtPnNldF9mYW5fc3BlZWRf cGVyY2VudCA9PSBOVUxMKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXJldHVybiBod21nci0+aHdt Z3JfZnVuYy0+c2V0X2Zhbl9zcGVlZF9wZXJjZW50KGh3bWdyLCBwZXJjZW50KTsKK30KKworc3Rh dGljIGludCBwcF9kcG1fZ2V0X2Zhbl9zcGVlZF9wZXJjZW50KHZvaWQgKmhhbmRsZSwgdWludDMy X3QgKnNwZWVkKQoreworCXN0cnVjdCBwcF9od21nciAgKmh3bWdyOworCisJaWYgKGhhbmRsZSA9 PSBOVUxMKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWh3bWdyID0gKChzdHJ1Y3QgcHBfaW5zdGFu Y2UgKiloYW5kbGUpLT5od21ncjsKKworCWlmIChod21nciA9PSBOVUxMIHx8IGh3bWdyLT5od21n cl9mdW5jID09IE5VTEwgfHwKKwkgIGh3bWdyLT5od21ncl9mdW5jLT5nZXRfZmFuX3NwZWVkX3Bl cmNlbnQgPT0gTlVMTCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyZXR1cm4gaHdtZ3ItPmh3bWdy X2Z1bmMtPmdldF9mYW5fc3BlZWRfcGVyY2VudChod21nciwgc3BlZWQpOworfQorCitzdGF0aWMg aW50IHBwX2RwbV9nZXRfdGVtcGVyYXR1cmUodm9pZCAqaGFuZGxlKQoreworCXN0cnVjdCBwcF9o d21nciAgKmh3bWdyOworCisJaWYgKGhhbmRsZSA9PSBOVUxMKQorCQlyZXR1cm4gLUVJTlZBTDsK KworCWh3bWdyID0gKChzdHJ1Y3QgcHBfaW5zdGFuY2UgKiloYW5kbGUpLT5od21ncjsKKworCWlm IChod21nciA9PSBOVUxMIHx8IGh3bWdyLT5od21ncl9mdW5jID09IE5VTEwgfHwKKwkgIGh3bWdy LT5od21ncl9mdW5jLT5nZXRfdGVtcGVyYXR1cmUgPT0gTlVMTCkKKwkJcmV0dXJuIC1FSU5WQUw7 CisKKwlyZXR1cm4gaHdtZ3ItPmh3bWdyX2Z1bmMtPmdldF90ZW1wZXJhdHVyZShod21ncik7Cit9 CiAKIGNvbnN0IHN0cnVjdCBhbWRfcG93ZXJwbGF5X2Z1bmNzIHBwX2RwbV9mdW5jcyA9IHsKLQku Z2V0X3RlbXBlcmF0dXJlID0gTlVMTCwKKwkuZ2V0X3RlbXBlcmF0dXJlID0gcHBfZHBtX2dldF90 ZW1wZXJhdHVyZSwKIAkubG9hZF9maXJtd2FyZSA9IHBwX2RwbV9sb2FkX2Z3LAogCS53YWl0X2Zv cl9md19sb2FkaW5nX2NvbXBsZXRlID0gcHBfZHBtX2Z3X2xvYWRpbmdfY29tcGxldGUsCiAJLmZv cmNlX3BlcmZvcm1hbmNlX2xldmVsID0gcHBfZHBtX2ZvcmNlX3BlcmZvcm1hbmNlX2xldmVsLApA QCAtNDQyLDYgKzUyMSwxMCBAQCBjb25zdCBzdHJ1Y3QgYW1kX3Bvd2VycGxheV9mdW5jcyBwcF9k cG1fZnVuY3MgPSB7CiAJLnBvd2VyZ2F0ZV91dmQgPSBwcF9kcG1fcG93ZXJnYXRlX3V2ZCwKIAku ZGlzcGF0Y2hfdGFza3MgPSBwcF9kcG1fZGlzcGF0Y2hfdGFza3MsCiAJLnByaW50X2N1cnJlbnRf cGVyZm9ybWFuY2VfbGV2ZWwgPSBwcF9kZWJ1Z2ZzX3ByaW50X2N1cnJlbnRfcGVyZm9ybWFuY2Vf bGV2ZWwsCisJLnNldF9mYW5fY29udHJvbF9tb2RlID0gcHBfZHBtX3NldF9mYW5fY29udHJvbF9t b2RlLAorCS5nZXRfZmFuX2NvbnRyb2xfbW9kZSA9IHBwX2RwbV9nZXRfZmFuX2NvbnRyb2xfbW9k ZSwKKwkuc2V0X2Zhbl9zcGVlZF9wZXJjZW50ID0gcHBfZHBtX3NldF9mYW5fc3BlZWRfcGVyY2Vu dCwKKwkuZ2V0X2Zhbl9zcGVlZF9wZXJjZW50ID0gcHBfZHBtX2dldF9mYW5fc3BlZWRfcGVyY2Vu dCwKIH07CiAKIHN0YXRpYyBpbnQgYW1kX3BwX2luc3RhbmNlX2luaXQoc3RydWN0IGFtZF9wcF9p bml0ICpwcF9pbml0LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkv aW5jL2FtZF9wb3dlcnBsYXkuaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2luYy9h bWRfcG93ZXJwbGF5LmgKaW5kZXggZDgxYjIzOS4uNDBkZWQ2NyAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2FtZF9wb3dlcnBsYXkuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL3Bvd2VycGxheS9pbmMvYW1kX3Bvd2VycGxheS5oCkBAIC0xODcsNiArMTg3 LDEwIEBAIHN0cnVjdCBhbWRfcG93ZXJwbGF5X2Z1bmNzIHsKIAkJCQkgICB2b2lkICppbnB1dCwg dm9pZCAqb3V0cHV0KTsKIAl2b2lkICgqcHJpbnRfY3VycmVudF9wZXJmb3JtYW5jZV9sZXZlbCko dm9pZCAqaGFuZGxlLAogCQkJCQkJICAgICAgc3RydWN0IHNlcV9maWxlICptKTsKKwlpbnQgKCpz ZXRfZmFuX2NvbnRyb2xfbW9kZSkodm9pZCAqaGFuZGxlLCB1aW50MzJfdCBtb2RlKTsKKwlpbnQg KCpnZXRfZmFuX2NvbnRyb2xfbW9kZSkodm9pZCAqaGFuZGxlKTsKKwlpbnQgKCpzZXRfZmFuX3Nw ZWVkX3BlcmNlbnQpKHZvaWQgKmhhbmRsZSwgdWludDMyX3QgcGVyY2VudCk7CisJaW50ICgqZ2V0 X2Zhbl9zcGVlZF9wZXJjZW50KSh2b2lkICpoYW5kbGUsIHVpbnQzMl90ICpzcGVlZCk7CiB9Owog CiBzdHJ1Y3QgYW1kX3Bvd2VycGxheSB7Ci0tIAoxLjguMy4xCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1k ZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=