From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: [PATCH 47/51] drm/amd/powerplay: implement new funcs to check current states for tonga. Date: Thu, 12 Nov 2015 01:18:37 -0500 Message-ID: <1447309121-2480-48-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 C14077A08A for ; Wed, 11 Nov 2015 22:19:28 -0800 (PST) Received: by qkcl124 with SMTP id l124so20254088qkc.3 for ; Wed, 11 Nov 2015 22:19:27 -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 RnJvbTogUmV4IFpodSA8UmV4LlpodUBhbWQuY29tPgoKSW1wbGVtZW50IHRoZSBuZXcgY2FsbGJh Y2tzIGZvciB0b25nYS4KClNpZ25lZC1vZmYtYnk6IFJleCBaaHUgPFJleC5aaHVAYW1kLmNvbT4K UmV2aWV3ZWQtYnk6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRldWNoZXJAYW1kLmNvbT4KUmV2 aWV3ZWQtYnk6IEphbW15IFpob3UgPEphbW15Llpob3VAYW1kLmNvbT4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vYW1kL3Bvd2VycGxheS9od21nci90b25nYV9od21nci5jIHwgNjIgKysrKysrKysrKysr KysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCA2MiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvdG9uZ2FfaHdtZ3IuYyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL3RvbmdhX2h3bWdyLmMKaW5kZXggMDg4 YjViZi4uOWExZThiZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkv aHdtZ3IvdG9uZ2FfaHdtZ3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9o d21nci90b25nYV9od21nci5jCkBAIC01OTM1LDYgKzU5MzUsNjYgQEAgaW50IHRvbmdhX3JlZ2lz dGVyX2ludGVybmFsX3RoZXJtYWxfaW50ZXJydXB0KHN0cnVjdCBwcF9od21nciAqaHdtZ3IsCiAJ cmV0dXJuIDA7CiB9CiAKK2Jvb2wgdG9uZ2FfY2hlY2tfc21jX3VwZGF0ZV9yZXF1aXJlZF9mb3Jf ZGlzcGxheV9jb25maWd1cmF0aW9uKHN0cnVjdCBwcF9od21nciAqaHdtZ3IpCit7CisJc3RydWN0 IHRvbmdhX2h3bWdyICpkYXRhID0gKHN0cnVjdCB0b25nYV9od21nciAqKShod21nci0+YmFja2Vu ZCk7CisJYm9vbCBpc191cGRhdGVfcmVxdWlyZWQgPSBmYWxzZTsKKwlzdHJ1Y3QgY2dzX2Rpc3Bs YXlfaW5mbyBpbmZvID0gezAsMCxOVUxMfTsKKworCWNnc19nZXRfYWN0aXZlX2Rpc3BsYXlzX2lu Zm8oaHdtZ3ItPmRldmljZSwgJmluZm8pOworCisJaWYgKGRhdGEtPmRpc3BsYXlfdGltaW5nLm51 bV9leGlzdGluZ19kaXNwbGF5cyAhPSBpbmZvLmRpc3BsYXlfY291bnQpCisJCWlzX3VwZGF0ZV9y ZXF1aXJlZCA9IHRydWU7CisvKiBUTyBETyBORUVEIFRPIEdFVCBERUVQIFNMRUVQIENMT0NLIEZS T00gREFMCisJaWYgKHBobV9jYXBfZW5hYmxlZChod21nci0+aHdtZ3ItPnBsYXRmb3JtX2Rlc2Ny aXB0b3IucGxhdGZvcm1DYXBzLCBQSE1fUGxhdGZvcm1DYXBzX1NjbGtEZWVwU2xlZXApKSB7CisJ CWNnc19nZXRfbWluX2Nsb2NrX3NldHRpbmdzKGh3bWdyLT5kZXZpY2UsICZtaW5fY2xvY2tzKTsK KwkJaWYobWluX2Nsb2Nrcy5lbmdpbmVDbG9ja0luU1IgIT0gZGF0YS0+ZGlzcGxheV90aW1pbmcu bWluQ2xvY2tJblNSKQorCQkJaXNfdXBkYXRlX3JlcXVpcmVkID0gdHJ1ZTsKKyovCisJcmV0dXJu IGlzX3VwZGF0ZV9yZXF1aXJlZDsKK30KKworc3RhdGljIGlubGluZSBib29sIHRvbmdhX2FyZV9w b3dlcl9sZXZlbHNfZXF1YWwoY29uc3Qgc3RydWN0IHRvbmdhX3BlcmZvcm1hbmNlX2xldmVsICpw bDEsCisJCQkJCQkJICAgY29uc3Qgc3RydWN0IHRvbmdhX3BlcmZvcm1hbmNlX2xldmVsICpwbDIp Cit7CisJcmV0dXJuICgocGwxLT5tZW1vcnlfY2xvY2sgPT0gcGwyLT5tZW1vcnlfY2xvY2spICYm CisJCSAgKHBsMS0+ZW5naW5lX2Nsb2NrID09IHBsMi0+ZW5naW5lX2Nsb2NrKSAmJgorCQkgIChw bDEtPnBjaWVfZ2VuID09IHBsMi0+cGNpZV9nZW4pICYmCisJCSAgKHBsMS0+cGNpZV9sYW5lID09 IHBsMi0+cGNpZV9sYW5lKSk7Cit9CisKK2ludCB0b25nYV9jaGVja19zdGF0ZXNfZXF1YWwoc3Ry dWN0IHBwX2h3bWdyICpod21nciwgY29uc3Qgc3RydWN0IHBwX2h3X3Bvd2VyX3N0YXRlICpwc3Rh dGUxLCBjb25zdCBzdHJ1Y3QgcHBfaHdfcG93ZXJfc3RhdGUgKnBzdGF0ZTIsIGJvb2wgKmVxdWFs KQoreworCWNvbnN0IHN0cnVjdCB0b25nYV9wb3dlcl9zdGF0ZSAqcHNhID0gY2FzdF9jb25zdF9w aHdfdG9uZ2FfcG93ZXJfc3RhdGUocHN0YXRlMSk7CisJY29uc3Qgc3RydWN0IHRvbmdhX3Bvd2Vy X3N0YXRlICpwc2IgPSBjYXN0X2NvbnN0X3Bod190b25nYV9wb3dlcl9zdGF0ZShwc3RhdGUyKTsK KwlpbnQgaTsKKworCWlmIChwc3RhdGUxID09IE5VTEwgfHwgcHN0YXRlMiA9PSBOVUxMIHx8IGVx dWFsID09IE5VTEwpCisJCXJldHVybiAtRUlOVkFMOworCisJLyogSWYgdGhlIHR3byBzdGF0ZXMg ZG9uJ3QgZXZlbiBoYXZlIHRoZSBzYW1lIG51bWJlciBvZiBwZXJmb3JtYW5jZSBsZXZlbHMgdGhl eSBjYW5ub3QgYmUgdGhlIHNhbWUgc3RhdGUuICovCisJaWYgKHBzYS0+cGVyZm9ybWFuY2VfbGV2 ZWxfY291bnQgIT0gcHNiLT5wZXJmb3JtYW5jZV9sZXZlbF9jb3VudCkgeworCQkqZXF1YWwgPSBm YWxzZTsKKwkJcmV0dXJuIDA7CisJfQorCisJZm9yIChpID0gMDsgaSA8IHBzYS0+cGVyZm9ybWFu Y2VfbGV2ZWxfY291bnQ7IGkrKykgeworCQlpZiAoIXRvbmdhX2FyZV9wb3dlcl9sZXZlbHNfZXF1 YWwoJihwc2EtPnBlcmZvcm1hbmNlX2xldmVsc1tpXSksICYocHNiLT5wZXJmb3JtYW5jZV9sZXZl bHNbaV0pKSkgeworCQkJLyogSWYgd2UgaGF2ZSBmb3VuZCBldmVuIG9uZSBwZXJmb3JtYW5jZSBs ZXZlbCBwYWlyIHRoYXQgaXMgZGlmZmVyZW50IHRoZSBzdGF0ZXMgYXJlIGRpZmZlcmVudC4gKi8K KwkJCSplcXVhbCA9IGZhbHNlOworCQkJcmV0dXJuIDA7CisJCX0KKwl9CisKKwkvKiBJZiBhbGwg cGVyZm9ybWFuY2UgbGV2ZWxzIGFyZSB0aGUgc2FtZSB0cnkgdG8gdXNlIHRoZSBVVkQgY2xvY2tz IHRvIGJyZWFrIHRoZSB0aWUuKi8KKwkqZXF1YWwgPSAoKHBzYS0+dXZkX2Nsb2Nrcy5WQ0xLID09 IHBzYi0+dXZkX2Nsb2Nrcy5WQ0xLKSAmJiAocHNhLT51dmRfY2xvY2tzLkRDTEsgPT0gcHNiLT51 dmRfY2xvY2tzLkRDTEspKTsKKwkqZXF1YWwgJj0gKChwc2EtPnZjZV9jbG9ja3MuRVZDTEsgPT0g cHNiLT52Y2VfY2xvY2tzLkVWQ0xLKSAmJiAocHNhLT52Y2VfY2xvY2tzLkVDQ0xLID09IHBzYi0+ dmNlX2Nsb2Nrcy5FQ0NMSykpOworCSplcXVhbCAmPSAocHNhLT5zY2xrX3RocmVzaG9sZCA9PSBw c2ItPnNjbGtfdGhyZXNob2xkKTsKKwkqZXF1YWwgJj0gKHBzYS0+YWNwX2NsayA9PSBwc2ItPmFj cF9jbGspOworCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcHBfaHdtZ3Jf ZnVuYyB0b25nYV9od21ncl9mdW5jcyA9IHsKIAkuYmFja2VuZF9pbml0ID0gJnRvbmdhX2h3bWdy X2JhY2tlbmRfaW5pdCwKIAkuYmFja2VuZF9maW5pID0gJnRvbmdhX2h3bWdyX2JhY2tlbmRfZmlu aSwKQEAgLTU5NjgsNiArNjAyOCw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcHBfaHdtZ3JfZnVu YyB0b25nYV9od21ncl9mdW5jcyA9IHsKIAkuc2V0X2Zhbl9zcGVlZF9ycG0gPSB0b25nYV9mYW5f Y3RybF9zZXRfZmFuX3NwZWVkX3JwbSwKIAkudW5pbml0aWFsaXplX3RoZXJtYWxfY29udHJvbGxl ciA9IHRvbmdhX3RoZXJtYWxfY3RybF91bmluaXRpYWxpemVfdGhlcm1hbF9jb250cm9sbGVyLAog CS5yZWdpc3Rlcl9pbnRlcm5hbF90aGVybWFsX2ludGVycnVwdCA9IHRvbmdhX3JlZ2lzdGVyX2lu dGVybmFsX3RoZXJtYWxfaW50ZXJydXB0LAorCS5jaGVja19zbWNfdXBkYXRlX3JlcXVpcmVkX2Zv cl9kaXNwbGF5X2NvbmZpZ3VyYXRpb24gPSB0b25nYV9jaGVja19zbWNfdXBkYXRlX3JlcXVpcmVk X2Zvcl9kaXNwbGF5X2NvbmZpZ3VyYXRpb24sCisJLmNoZWNrX3N0YXRlc19lcXVhbCA9IHRvbmdh X2NoZWNrX3N0YXRlc19lcXVhbCwKIH07CiAKIGludCB0b25nYV9od21ncl9pbml0KHN0cnVjdCBw cF9od21nciAqaHdtZ3IpCi0tIAoxLjguMy4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2RyaS1kZXZlbAo=