From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulo Zanoni Subject: [PATCH 02/25] drm/i915/fbc: extract intel_fbc_can_activate() Date: Tue, 19 Jan 2016 11:35:35 -0200 Message-ID: <1453210558-7875-3-git-send-email-paulo.r.zanoni@intel.com> References: <1453210558-7875-1-git-send-email-paulo.r.zanoni@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id B45726E73F for ; Tue, 19 Jan 2016 05:36:25 -0800 (PST) In-Reply-To: <1453210558-7875-1-git-send-email-paulo.r.zanoni@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 RXh0cmFjdCBhbGwgdGhlIGNvZGUgdGhhdCBjaGVja3MgaWYgdGhlIEZCQyBjb25maWd1cmF0aW9u IGlzIHZhbGlkIHRvCml0cyBvd24gZnVuY3Rpb24sIG1ha2luZyBfX2ludGVsX2ZiY191cGRhdGUo KSBtdWNoIHNpbXBsZXIuCgpTaWduZWQtb2ZmLWJ5OiBQYXVsbyBaYW5vbmkgPHBhdWxvLnIuemFu b25pQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmMuYyB8IDky ICsrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2Vk LCA1MCBpbnNlcnRpb25zKCspLCA0MiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9mYmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Zi Yy5jCmluZGV4IDZiNDNlYzMuLmRmZjMwZTEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2ZiYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiYy5jCkBA IC01MTQsMTcgKzUxNCw2IEBAIHN0YXRpYyBib29sIGNydGNfY2FuX2ZiYyhzdHJ1Y3QgaW50ZWxf Y3J0YyAqY3J0YykKIAlyZXR1cm4gdHJ1ZTsKIH0KIAotc3RhdGljIGJvb2wgY3J0Y19pc192YWxp ZChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKLXsKLQlpZiAoIWludGVsX2NydGNfYWN0aXZlKCZj cnRjLT5iYXNlKSkKLQkJcmV0dXJuIGZhbHNlOwotCi0JaWYgKCF0b19pbnRlbF9wbGFuZV9zdGF0 ZShjcnRjLT5iYXNlLnByaW1hcnktPnN0YXRlKS0+dmlzaWJsZSkKLQkJcmV0dXJuIGZhbHNlOwot Ci0JcmV0dXJuIHRydWU7Ci19Ci0KIHN0YXRpYyBib29sIG11bHRpcGxlX3BpcGVzX29rKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKIAllbnVtIHBpcGUgcGlwZTsKQEAgLTc1 MCw0OCArNzM5LDQwIEBAIHN0YXRpYyBib29sIGludGVsX2ZiY19od190cmFja2luZ19jb3ZlcnNf c2NyZWVuKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQogCXJldHVybiBlZmZlY3RpdmVfdyA8PSBt YXhfdyAmJiBlZmZlY3RpdmVfaCA8PSBtYXhfaDsKIH0KIAotLyoqCi0gKiBfX2ludGVsX2ZiY191 cGRhdGUgLSBhY3RpdmF0ZS9kZWFjdGl2YXRlIEZCQyBhcyBuZWVkZWQsIHVubG9ja2VkCi0gKiBA Y3J0YzogdGhlIENSVEMgdGhhdCB0cmlnZ2VyZWQgdGhlIHVwZGF0ZQotICoKLSAqIFRoaXMgZnVu Y3Rpb24gY29tcGxldGVseSByZWV2YWx1YXRlcyB0aGUgc3RhdHVzIG9mIEZCQywgdGhlbiBhY3Rp dmF0ZXMsCi0gKiBkZWFjdGl2YXRlcyBvciBtYWludGFpbnMgaXQgb24gdGhlIHNhbWUgc3RhdGUu Ci0gKi8KLXN0YXRpYyB2b2lkIF9faW50ZWxfZmJjX3VwZGF0ZShzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YykKK3N0YXRpYyBib29sIGludGVsX2ZiY19jYW5fYWN0aXZhdGUoc3RydWN0IGludGVsX2Ny dGMgKmNydGMpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gY3J0Yy0+ YmFzZS5kZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCBkcm1fcGxhbmUgKnByaW1hcnk7CiAJc3Ry dWN0IGRybV9mcmFtZWJ1ZmZlciAqZmI7CisJc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFu ZV9zdGF0ZTsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqOwogCWNvbnN0IHN0cnVj dCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlOwogCi0JV0FSTl9PTighbXV0ZXhfaXNf bG9ja2VkKCZkZXZfcHJpdi0+ZmJjLmxvY2spKTsKLQotCWlmICghbXVsdGlwbGVfcGlwZXNfb2so ZGV2X3ByaXYpKSB7Ci0JCXNldF9ub19mYmNfcmVhc29uKGRldl9wcml2LCAibW9yZSB0aGFuIG9u ZSBwaXBlIGFjdGl2ZSIpOwotCQlnb3RvIG91dF9kaXNhYmxlOwotCX0KLQotCWlmICghZGV2X3By aXYtPmZiYy5lbmFibGVkIHx8IGRldl9wcml2LT5mYmMuY3J0YyAhPSBjcnRjKQotCQlyZXR1cm47 Ci0KLQlpZiAoIWNydGNfaXNfdmFsaWQoY3J0YykpIHsKLQkJc2V0X25vX2ZiY19yZWFzb24oZGV2 X3ByaXYsICJubyBvdXRwdXQiKTsKLQkJZ290byBvdXRfZGlzYWJsZTsKKwlpZiAoIWludGVsX2Ny dGNfYWN0aXZlKCZjcnRjLT5iYXNlKSkgeworCQlzZXRfbm9fZmJjX3JlYXNvbihkZXZfcHJpdiwg IkNSVEMgbm90IGFjdGl2ZSIpOworCQlyZXR1cm4gZmFsc2U7CiAJfQogCi0JZmIgPSBjcnRjLT5i YXNlLnByaW1hcnktPmZiOworCXByaW1hcnkgPSBjcnRjLT5iYXNlLnByaW1hcnk7CisJZmIgPSBw cmltYXJ5LT5mYjsKIAlvYmogPSBpbnRlbF9mYl9vYmooZmIpOwogCWFkanVzdGVkX21vZGUgPSAm Y3J0Yy0+Y29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGU7CisJcGxhbmVfc3RhdGUgPSB0b19pbnRl bF9wbGFuZV9zdGF0ZShwcmltYXJ5LT5zdGF0ZSk7CisKKwlpZiAoIXBsYW5lX3N0YXRlLT52aXNp YmxlKSB7CisJCXNldF9ub19mYmNfcmVhc29uKGRldl9wcml2LCAicHJpbWFyeSBwbGFuZSBub3Qg dmlzaWJsZSIpOworCQlyZXR1cm4gZmFsc2U7CisJfQogCiAJaWYgKChhZGp1c3RlZF9tb2RlLT5m bGFncyAmIERSTV9NT0RFX0ZMQUdfSU5URVJMQUNFKSB8fAogCSAgICAoYWRqdXN0ZWRfbW9kZS0+ ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX0RCTFNDQU4pKSB7CiAJCXNldF9ub19mYmNfcmVhc29uKGRl dl9wcml2LCAiaW5jb21wYXRpYmxlIG1vZGUiKTsKLQkJZ290byBvdXRfZGlzYWJsZTsKKwkJcmV0 dXJuIGZhbHNlOwogCX0KIAogCWlmICghaW50ZWxfZmJjX2h3X3RyYWNraW5nX2NvdmVyc19zY3Jl ZW4oY3J0YykpIHsKIAkJc2V0X25vX2ZiY19yZWFzb24oZGV2X3ByaXYsICJtb2RlIHRvbyBsYXJn ZSBmb3IgY29tcHJlc3Npb24iKTsKLQkJZ290byBvdXRfZGlzYWJsZTsKKwkJcmV0dXJuIGZhbHNl OwogCX0KIAogCS8qIFRoZSB1c2Ugb2YgYSBDUFUgZmVuY2UgaXMgbWFuZGF0b3J5IGluIG9yZGVy IHRvIGRldGVjdCB3cml0ZXMKQEAgLTgwMCwyMiArNzgxLDIyIEBAIHN0YXRpYyB2b2lkIF9faW50 ZWxfZmJjX3VwZGF0ZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIAlpZiAob2JqLT50aWxpbmdf bW9kZSAhPSBJOTE1X1RJTElOR19YIHx8CiAJICAgIG9iai0+ZmVuY2VfcmVnID09IEk5MTVfRkVO Q0VfUkVHX05PTkUpIHsKIAkJc2V0X25vX2ZiY19yZWFzb24oZGV2X3ByaXYsICJmcmFtZWJ1ZmZl ciBub3QgdGlsZWQgb3IgZmVuY2VkIik7Ci0JCWdvdG8gb3V0X2Rpc2FibGU7CisJCXJldHVybiBm YWxzZTsKIAl9CiAJaWYgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5nZW4gPD0gNCAmJiAhSVNfRzRY KGRldl9wcml2KSAmJgotCSAgICBjcnRjLT5iYXNlLnByaW1hcnktPnN0YXRlLT5yb3RhdGlvbiAh PSBCSVQoRFJNX1JPVEFURV8wKSkgeworCSAgICBwbGFuZV9zdGF0ZS0+YmFzZS5yb3RhdGlvbiAh PSBCSVQoRFJNX1JPVEFURV8wKSkgewogCQlzZXRfbm9fZmJjX3JlYXNvbihkZXZfcHJpdiwgInJv dGF0aW9uIHVuc3VwcG9ydGVkIik7Ci0JCWdvdG8gb3V0X2Rpc2FibGU7CisJCXJldHVybiBmYWxz ZTsKIAl9CiAKIAlpZiAoIXN0cmlkZV9pc192YWxpZChkZXZfcHJpdiwgZmItPnBpdGNoZXNbMF0p KSB7CiAJCXNldF9ub19mYmNfcmVhc29uKGRldl9wcml2LCAiZnJhbWVidWZmZXIgc3RyaWRlIG5v dCBzdXBwb3J0ZWQiKTsKLQkJZ290byBvdXRfZGlzYWJsZTsKKwkJcmV0dXJuIGZhbHNlOwogCX0K IAogCWlmICghcGl4ZWxfZm9ybWF0X2lzX3ZhbGlkKGZiKSkgewogCQlzZXRfbm9fZmJjX3JlYXNv bihkZXZfcHJpdiwgInBpeGVsIGZvcm1hdCBpcyBpbnZhbGlkIik7Ci0JCWdvdG8gb3V0X2Rpc2Fi bGU7CisJCXJldHVybiBmYWxzZTsKIAl9CiAKIAkvKiBXYUZiY0V4Y2VlZENkQ2xvY2tUaHJlc2hv bGQ6aHN3LGJkdyAqLwpAQCAtODIzLDcgKzgwNCw3IEBAIHN0YXRpYyB2b2lkIF9faW50ZWxfZmJj X3VwZGF0ZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIAkgICAgaWxrX3BpcGVfcGl4ZWxfcmF0 ZShjcnRjLT5jb25maWcpID49CiAJICAgIGRldl9wcml2LT5jZGNsa19mcmVxICogOTUgLyAxMDAp IHsKIAkJc2V0X25vX2ZiY19yZWFzb24oZGV2X3ByaXYsICJwaXhlbCByYXRlIGlzIHRvbyBiaWci KTsKLQkJZ290byBvdXRfZGlzYWJsZTsKKwkJcmV0dXJuIGZhbHNlOwogCX0KIAogCS8qIEl0IGlz IHBvc3NpYmxlIGZvciB0aGUgcmVxdWlyZWQgQ0ZCIHNpemUgY2hhbmdlIHdpdGhvdXQgYQpAQCAt ODM5LDE2ICs4MjAsNDMgQEAgc3RhdGljIHZvaWQgX19pbnRlbF9mYmNfdXBkYXRlKHN0cnVjdCBp bnRlbF9jcnRjICpjcnRjKQogCWlmIChpbnRlbF9mYmNfY2FsY3VsYXRlX2NmYl9zaXplKGNydGMs IGZiKSA+CiAJICAgIGRldl9wcml2LT5mYmMuY29tcHJlc3NlZF9mYi5zaXplICogZGV2X3ByaXYt PmZiYy50aHJlc2hvbGQpIHsKIAkJc2V0X25vX2ZiY19yZWFzb24oZGV2X3ByaXYsICJDRkIgcmVx dWlyZW1lbnRzIGNoYW5nZWQiKTsKKwkJcmV0dXJuIGZhbHNlOworCX0KKworCXJldHVybiB0cnVl OworfQorCisvKioKKyAqIF9faW50ZWxfZmJjX3VwZGF0ZSAtIGFjdGl2YXRlL2RlYWN0aXZhdGUg RkJDIGFzIG5lZWRlZCwgdW5sb2NrZWQKKyAqIEBjcnRjOiB0aGUgQ1JUQyB0aGF0IHRyaWdnZXJl ZCB0aGUgdXBkYXRlCisgKgorICogVGhpcyBmdW5jdGlvbiBjb21wbGV0ZWx5IHJlZXZhbHVhdGVz IHRoZSBzdGF0dXMgb2YgRkJDLCB0aGVuIGFjdGl2YXRlcywKKyAqIGRlYWN0aXZhdGVzIG9yIG1h aW50YWlucyBpdCBvbiB0aGUgc2FtZSBzdGF0ZS4KKyAqLworc3RhdGljIHZvaWQgX19pbnRlbF9m YmNfdXBkYXRlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQoreworCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IGNydGMtPmJhc2UuZGV2LT5kZXZfcHJpdmF0ZTsKKworCVdBUk5f T04oIW11dGV4X2lzX2xvY2tlZCgmZGV2X3ByaXYtPmZiYy5sb2NrKSk7CisKKwlpZiAoIW11bHRp cGxlX3BpcGVzX29rKGRldl9wcml2KSkgeworCQlzZXRfbm9fZmJjX3JlYXNvbihkZXZfcHJpdiwg Im1vcmUgdGhhbiBvbmUgcGlwZSBhY3RpdmUiKTsKIAkJZ290byBvdXRfZGlzYWJsZTsKIAl9CiAK KwlpZiAoIWRldl9wcml2LT5mYmMuZW5hYmxlZCB8fCBkZXZfcHJpdi0+ZmJjLmNydGMgIT0gY3J0 YykKKwkJcmV0dXJuOworCisJaWYgKCFpbnRlbF9mYmNfY2FuX2FjdGl2YXRlKGNydGMpKQorCQln b3RvIG91dF9kaXNhYmxlOworCiAJLyogSWYgdGhlIHNjYW5vdXQgaGFzIG5vdCBjaGFuZ2VkLCBk b24ndCBtb2RpZnkgdGhlIEZCQyBzZXR0aW5ncy4KIAkgKiBOb3RlIHRoYXQgd2UgbWFrZSB0aGUg ZnVuZGFtZW50YWwgYXNzdW1wdGlvbiB0aGF0IHRoZSBmYi0+b2JqCiAJICogY2Fubm90IGJlIHVu cGlubmVkIChhbmQgaGF2ZSBpdHMgR1RUIG9mZnNldCBhbmQgZmVuY2UgcmV2b2tlZCkKIAkgKiB3 aXRob3V0IGZpcnN0IGJlaW5nIGRlY291cGxlZCBmcm9tIHRoZSBzY2Fub3V0IGFuZCBGQkMgZGlz YWJsZWQuCiAJICovCiAJaWYgKGRldl9wcml2LT5mYmMuY3J0YyA9PSBjcnRjICYmCi0JICAgIGRl dl9wcml2LT5mYmMuZmJfaWQgPT0gZmItPmJhc2UuaWQgJiYKKwkgICAgZGV2X3ByaXYtPmZiYy5m Yl9pZCA9PSBjcnRjLT5iYXNlLnByaW1hcnktPmZiLT5iYXNlLmlkICYmCiAJICAgIGRldl9wcml2 LT5mYmMueSA9PSBjcnRjLT5iYXNlLnkgJiYKIAkgICAgZGV2X3ByaXYtPmZiYy5hY3RpdmUpCiAJ CXJldHVybjsKLS0gCjIuNi40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeAo=