From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v4 2/8] drm/i915: Unify power domain handling. Date: Wed, 10 Feb 2016 13:49:37 +0100 Message-ID: <1455108583-29227-3-git-send-email-maarten.lankhorst@linux.intel.com> References: <1455108583-29227-1-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mblankhorst.nl (mblankhorst.nl [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id 65E196E6C3 for ; Wed, 10 Feb 2016 04:49:48 -0800 (PST) In-Reply-To: <1455108583-29227-1-git-send-email-maarten.lankhorst@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org UmlnaHQgbm93IHRoZXJlJ3Mgc2VwYXJhdGUgcG93ZXIgZG9tYWluIGhhbmRsaW5nIGZvciB1cGRh dGVfcGlwZSBhbmQKbW9kZXNldHMuIFVuaWZ5IHRoaXMgYW5kIG9ubHkgZ3JhYiBQT1dFUl9ET01B SU5fTU9ERVNFVCBvbmNlLgoKU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0 ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMgfCA2OSArKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K IDEgZmlsZSBjaGFuZ2VkLCAyNCBpbnNlcnRpb25zKCspLCA0NSBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggYjQ3OWJhNjIzOGQ3Li44MDRmMmM2ZjI2 MGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTUzNTksMzIgKzUzNTks NiBAQCBzdGF0aWMgdm9pZCBtb2Rlc2V0X3B1dF9wb3dlcl9kb21haW5zKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwKIAkJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2X3ByaXYs IGRvbWFpbik7CiB9CiAKLXN0YXRpYyB2b2lkIG1vZGVzZXRfdXBkYXRlX2NydGNfcG93ZXJfZG9t YWlucyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCi17Ci0Jc3RydWN0IGludGVsX2F0 b21pY19zdGF0ZSAqaW50ZWxfc3RhdGUgPSB0b19pbnRlbF9hdG9taWNfc3RhdGUoc3RhdGUpOwot CXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBzdGF0ZS0+ZGV2OwotCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0JdW5zaWduZWQgbG9uZyBwdXRf ZG9tYWluc1tJOTE1X01BWF9QSVBFU10gPSB7fTsKLQlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNy dGNfc3RhdGU7Ci0Jc3RydWN0IGRybV9jcnRjICpjcnRjOwotCWludCBpOwotCi0JZm9yX2VhY2hf Y3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0YywgY3J0Y19zdGF0ZSwgaSkgewotCQlpZiAobmVlZHNf bW9kZXNldChjcnRjLT5zdGF0ZSkpCi0JCQlwdXRfZG9tYWluc1t0b19pbnRlbF9jcnRjKGNydGMp LT5waXBlXSA9Ci0JCQkJbW9kZXNldF9nZXRfY3J0Y19wb3dlcl9kb21haW5zKGNydGMsCi0JCQkJ CXRvX2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUpKTsKLQl9Ci0KLQlpZiAoZGV2X3ByaXYt PmRpc3BsYXkubW9kZXNldF9jb21taXRfY2RjbGsgJiYKLQkgICAgaW50ZWxfc3RhdGUtPmRldl9j ZGNsayAhPSBkZXZfcHJpdi0+Y2RjbGtfZnJlcSkKLQkJZGV2X3ByaXYtPmRpc3BsYXkubW9kZXNl dF9jb21taXRfY2RjbGsoc3RhdGUpOwotCi0JZm9yIChpID0gMDsgaSA8IEk5MTVfTUFYX1BJUEVT OyBpKyspCi0JCWlmIChwdXRfZG9tYWluc1tpXSkKLQkJCW1vZGVzZXRfcHV0X3Bvd2VyX2RvbWFp bnMoZGV2X3ByaXYsIHB1dF9kb21haW5zW2ldKTsKLX0KLQogc3RhdGljIGludCBpbnRlbF9jb21w dXRlX21heF9kb3RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogewogCWlu dCBtYXhfY2RjbGtfZnJlcSA9IGRldl9wcml2LT5tYXhfY2RjbGtfZnJlcTsKQEAgLTEzNDIyLDYg KzEzMzk2LDcgQEAgc3RhdGljIGludCBpbnRlbF9hdG9taWNfY29tbWl0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCiAJc3RydWN0IGRybV9jcnRjICpjcnRjOwogCWludCByZXQgPSAwLCBpOwogCWJv b2wgaHdfY2hlY2sgPSBpbnRlbF9zdGF0ZS0+bW9kZXNldDsKKwl1bnNpZ25lZCBsb25nIHB1dF9k b21haW5zW0k5MTVfTUFYX1BJUEVTXSA9IHt9OwogCiAJcmV0ID0gaW50ZWxfYXRvbWljX3ByZXBh cmVfY29tbWl0KGRldiwgc3RhdGUsIGFzeW5jKTsKIAlpZiAocmV0KSB7CkBAIC0xMzQzNywxMSAr MTM0MTIsMjIgQEAgc3RhdGljIGludCBpbnRlbF9hdG9taWNfY29tbWl0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCiAJCSAgICAgICBzaXplb2YoaW50ZWxfc3RhdGUtPm1pbl9waXhjbGspKTsKIAkJ ZGV2X3ByaXYtPmFjdGl2ZV9jcnRjcyA9IGludGVsX3N0YXRlLT5hY3RpdmVfY3J0Y3M7CiAJCWRl dl9wcml2LT5hdG9taWNfY2RjbGtfZnJlcSA9IGludGVsX3N0YXRlLT5jZGNsazsKKworCQlpbnRl bF9kaXNwbGF5X3Bvd2VyX2dldChkZXZfcHJpdiwgUE9XRVJfRE9NQUlOX01PREVTRVQpOwogCX0K IAogCWZvcl9lYWNoX2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIGNydGNfc3RhdGUsIGkpIHsK IAkJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwog CisJCWlmIChuZWVkc19tb2Rlc2V0KGNydGMtPnN0YXRlKSB8fAorCQkgICAgdG9faW50ZWxfY3J0 Y19zdGF0ZShjcnRjLT5zdGF0ZSktPnVwZGF0ZV9waXBlKSB7CisJCQlod19jaGVjayA9IHRydWU7 CisKKwkJCXB1dF9kb21haW5zW3RvX2ludGVsX2NydGMoY3J0YyktPnBpcGVdID0KKwkJCQltb2Rl c2V0X2dldF9jcnRjX3Bvd2VyX2RvbWFpbnMoY3J0YywKKwkJCQkJdG9faW50ZWxfY3J0Y19zdGF0 ZShjcnRjLT5zdGF0ZSkpOworCQl9CisKIAkJaWYgKCFuZWVkc19tb2Rlc2V0KGNydGMtPnN0YXRl KSkKIAkJCWNvbnRpbnVlOwogCkBAIC0xMzQ3NCw3ICsxMzQ2MCwxMCBAQCBzdGF0aWMgaW50IGlu dGVsX2F0b21pY19jb21taXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJaW50ZWxfc2hhcmVk X2RwbGxfY29tbWl0KHN0YXRlKTsKIAogCQlkcm1fYXRvbWljX2hlbHBlcl91cGRhdGVfbGVnYWN5 X21vZGVzZXRfc3RhdGUoc3RhdGUtPmRldiwgc3RhdGUpOwotCQltb2Rlc2V0X3VwZGF0ZV9jcnRj X3Bvd2VyX2RvbWFpbnMoc3RhdGUpOworCisJCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5tb2Rlc2V0 X2NvbW1pdF9jZGNsayAmJgorCQkgICAgaW50ZWxfc3RhdGUtPmRldl9jZGNsayAhPSBkZXZfcHJp di0+Y2RjbGtfZnJlcSkKKwkJCWRldl9wcml2LT5kaXNwbGF5Lm1vZGVzZXRfY29tbWl0X2NkY2xr KHN0YXRlKTsKIAl9CiAKIAkvKiBOb3cgZW5hYmxlIHRoZSBjbG9ja3MsIHBsYW5lLCBwaXBlLCBh bmQgY29ubmVjdG9ycyB0aGF0IHdlIHNldCB1cC4gKi8KQEAgLTEzNDgzLDI0ICsxMzQ3MiwxMiBA QCBzdGF0aWMgaW50IGludGVsX2F0b21pY19jb21taXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwK IAkJYm9vbCBtb2Rlc2V0ID0gbmVlZHNfbW9kZXNldChjcnRjLT5zdGF0ZSk7CiAJCWJvb2wgdXBk YXRlX3BpcGUgPSAhbW9kZXNldCAmJgogCQkJdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5zdGF0 ZSktPnVwZGF0ZV9waXBlOwotCQl1bnNpZ25lZCBsb25nIHB1dF9kb21haW5zID0gMDsKLQotCQlp ZiAobW9kZXNldCkKLQkJCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRldl9wcml2LCBQT1dFUl9E T01BSU5fTU9ERVNFVCk7CiAKIAkJaWYgKG1vZGVzZXQgJiYgY3J0Yy0+c3RhdGUtPmFjdGl2ZSkg ewogCQkJdXBkYXRlX3NjYW5saW5lX29mZnNldCh0b19pbnRlbF9jcnRjKGNydGMpKTsKIAkJCWRl dl9wcml2LT5kaXNwbGF5LmNydGNfZW5hYmxlKGNydGMpOwogCQl9CiAKLQkJaWYgKHVwZGF0ZV9w aXBlKSB7Ci0JCQlwdXRfZG9tYWlucyA9IG1vZGVzZXRfZ2V0X2NydGNfcG93ZXJfZG9tYWlucyhj cnRjLAotCQkJCQkgICAgICB0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPnN0YXRlKSk7Ci0KLQkJ CS8qIG1ha2Ugc3VyZSBpbnRlbF9tb2Rlc2V0X2NoZWNrX3N0YXRlIHJ1bnMgKi8KLQkJCWh3X2No ZWNrID0gdHJ1ZTsKLQkJfQotCiAJCWlmICghbW9kZXNldCkKIAkJCWludGVsX3ByZV9wbGFuZV91 cGRhdGUodG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjX3N0YXRlKSk7CiAKQEAgLTEzNTExLDE5ICsx MzQ4OCwyMSBAQCBzdGF0aWMgaW50IGludGVsX2F0b21pY19jb21taXQoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKIAkJICAgIChjcnRjLT5zdGF0ZS0+cGxhbmVzX2NoYW5nZWQgfHwgdXBkYXRlX3Bp cGUpKQogCQkJZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X3BsYW5lc19vbl9jcnRjKGNydGNfc3Rh dGUpOwogCi0JCWlmIChwdXRfZG9tYWlucykKLQkJCW1vZGVzZXRfcHV0X3Bvd2VyX2RvbWFpbnMo ZGV2X3ByaXYsIHB1dF9kb21haW5zKTsKLQogCQlpbnRlbF9wb3N0X3BsYW5lX3VwZGF0ZShpbnRl bF9jcnRjKTsKLQotCQlpZiAobW9kZXNldCkKLQkJCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRl dl9wcml2LCBQT1dFUl9ET01BSU5fTU9ERVNFVCk7CiAJfQogCiAJLyogRklYTUU6IGFkZCBzdWJw aXhlbCBvcmRlciAqLwogCiAJZHJtX2F0b21pY19oZWxwZXJfd2FpdF9mb3JfdmJsYW5rcyhkZXYs IHN0YXRlKTsKIAorCWZvcl9lYWNoX2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIGNydGNfc3Rh dGUsIGkpIHsKKwkJaWYgKHB1dF9kb21haW5zW2ldKQorCQkJbW9kZXNldF9wdXRfcG93ZXJfZG9t YWlucyhkZXZfcHJpdiwgcHV0X2RvbWFpbnNbaV0pOworCX0KKworCWlmIChpbnRlbF9zdGF0ZS0+ bW9kZXNldCkKKwkJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2X3ByaXYsIFBPV0VSX0RPTUFJ Tl9NT0RFU0VUKTsKKwogCW11dGV4X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsKIAlkcm1fYXRv bWljX2hlbHBlcl9jbGVhbnVwX3BsYW5lcyhkZXYsIHN0YXRlKTsKIAltdXRleF91bmxvY2soJmRl di0+c3RydWN0X211dGV4KTsKLS0gCjIuMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK