From: Matt Roper Subject: [PATCH] drm/i915: Switch plane handling to atomic helpers (v5) Date: Wed, 26 Nov 2014 11:25:02 -0800 Message-ID: <1417029902-9496-1-git-send-email-matthew.d.roper@intel.com> References: <1417015507-27265-9-git-send-email-matthew.d.roper@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 9B1556E6C2 for ; Wed, 26 Nov 2014 11:25:09 -0800 (PST) In-Reply-To: <1417015507-27265-9-git-send-email-matthew.d.roper@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 Tm93IHRoYXQgd2UgaGF2ZSBob29rcyB0byBlbmFibGUgdGhlIGF0b21pYyBwbGFuZSBoZWxwZXJz LCB3ZSBjYW4gdXNlCnRoZSBwbGFuZSBoZWxwZXJzIGZvciBvdXIgLnVwZGF0ZV9wbGFuZSgpIGFu ZCAuZGlzYWJsZV9wbGFuZSgpCmVudHJ5cG9pbnRzLgoKdjI6IEZpeCBjb21taXQgbWVzc2FnZSB0 eXBvIChCb2IpCgp2MzogUmViYXNlZCBvbiB0b3Agb2YgR3VzdGF2byBQYWRvdmFuJ3MgcGF0Y2hl cyB0byBraWxsIG9mZgogICAgaW50ZWxfY3J0Y19jdXJzb3Jfc2V0X29iaigpIGFuZCBpbnRlbF9w aXBlX3NldF9iYXNlKCkuCgp2NDogUmViYXNlIGFnYWluIG9uIGxhdGVzdCBkaXNwbGF5IHJlZmFj dG9yIHNlcmllcy4gIE5vdyB0aGF0IHByZXZpb3VzCiAgICBwYXRjaGVzIGhhdmUgc21vb3RoZWQg dGhlIHJvdWdoIGVkZ2VzIG9mIHRoZSBleGlzdGluZyBkaXNwbGF5IGNvZGUsCiAgICB0aGUgdHJh bnNpdGlvbiBoZXJlIGlzIG11Y2ggbGVzcyBwYWluZnVsLgoKdjU6IFBsYW5lIGhlbHBlcnMgd2ls bCByZS1wcmVwYXJlIHRoZSBzYW1lIGZiIGZvciBhIHBsYW5lLiAgRHJvcCB0aGUKICAgIFdBUk4g b24gdGhpcyBjb25kaXRpb24uCgpUZXN0Y2FzZTogaWd0L2ttc19wbGFuZQpUZXN0Y2FzZTogaWd0 L2ttc191bml2ZXJzYWxfcGxhbmUKVGVzdGNhc2U6IGlndC9rbXNfY3Vyc29yX2NyYwpBY2tub3ds ZWRnZWQtYnkodjIpOiBCb2IgUGFhdXdlIDxib2Iuai5wYWF1d2VAaW50ZWwuY29tPgpTaWduZWQt b2ZmLWJ5OiBNYXR0IFJvcGVyIDxtYXR0aGV3LmQucm9wZXJAaW50ZWwuY29tPgotLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDExOSArKysrLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgIHwg ICA0ICstCiAyIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDEwOSBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggM2VjYmViNy4uNjZlMjQ2 NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtMTE2MjUsNyArMTE2MjUs NyBAQCBpbnRlbF9wcmVwYXJlX3BsYW5lX2ZiKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCXVu c2lnbmVkIGZyb250YnVmZmVyX2JpdHMgPSAwOwogCWludCByZXQ7CiAKLQlpZiAoV0FSTl9PTihm YiA9PSBwbGFuZS0+ZmIgfHwgIW9iaikpCisJaWYgKGZiID09IHBsYW5lLT5mYiB8fCAhb2JqKQog CQlyZXR1cm4gMDsKIAogCXN3aXRjaCAocGxhbmUtPnR5cGUpIHsKQEAgLTExODM1LDk5ICsxMTgz NSw2IEBAIGludGVsX2NvbW1pdF9wcmltYXJ5X3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5l LAogCX0KIH0KIAotaW50Ci1pbnRlbF91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxh bmUsIHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKLQkJICAgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAq ZmIsIGludCBjcnRjX3gsIGludCBjcnRjX3ksCi0JCSAgIHVuc2lnbmVkIGludCBjcnRjX3csIHVu c2lnbmVkIGludCBjcnRjX2gsCi0JCSAgIHVpbnQzMl90IHNyY194LCB1aW50MzJfdCBzcmNfeSwK LQkJICAgdWludDMyX3Qgc3JjX3csIHVpbnQzMl90IHNyY19oKQotewotCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBwbGFuZS0+ZGV2OwotCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKm9sZF9mYiA9 IHBsYW5lLT5mYjsKLQlzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgc3RhdGUgPSB7eyAwIH19Owot CXN0cnVjdCBpbnRlbF9wbGFuZSAqaW50ZWxfcGxhbmUgPSB0b19pbnRlbF9wbGFuZShwbGFuZSk7 Ci0Jc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwot CXVuc2lnbmVkIHN0YXJ0X3ZibF9jb3VudDsKLQlib29sIGF0b21pY191cGRhdGUgPSBmYWxzZTsK LQlpbnQgcmV0OwotCi0Jc3RhdGUuYmFzZS5jcnRjID0gY3J0YyA/IGNydGMgOiBwbGFuZS0+Y3J0 YzsKLQlzdGF0ZS5iYXNlLmZiID0gZmI7Ci0KLQkvKiBzYW1wbGUgY29vcmRpbmF0ZXMgaW4gMTYu MTYgZml4ZWQgcG9pbnQgKi8KLQlzdGF0ZS5zcmMueDEgPSBzcmNfeDsKLQlzdGF0ZS5zcmMueDIg PSBzcmNfeCArIHNyY193OwotCXN0YXRlLnNyYy55MSA9IHNyY195OwotCXN0YXRlLnNyYy55MiA9 IHNyY195ICsgc3JjX2g7Ci0KLQkvKiBpbnRlZ2VyIHBpeGVscyAqLwotCXN0YXRlLmRzdC54MSA9 IGNydGNfeDsKLQlzdGF0ZS5kc3QueDIgPSBjcnRjX3ggKyBjcnRjX3c7Ci0Jc3RhdGUuZHN0Lnkx ID0gY3J0Y195OwotCXN0YXRlLmRzdC55MiA9IGNydGNfeSArIGNydGNfaDsKLQotCXN0YXRlLmNs aXAueDEgPSAwOwotCXN0YXRlLmNsaXAueTEgPSAwOwotCXN0YXRlLmNsaXAueDIgPSBpbnRlbF9j cnRjLT5hY3RpdmUgPyBpbnRlbF9jcnRjLT5jb25maWcucGlwZV9zcmNfdyA6IDA7Ci0Jc3RhdGUu Y2xpcC55MiA9IGludGVsX2NydGMtPmFjdGl2ZSA/IGludGVsX2NydGMtPmNvbmZpZy5waXBlX3Ny Y19oIDogMDsKLQotCXN0YXRlLm9yaWdfc3JjID0gc3RhdGUuc3JjOwotCXN0YXRlLm9yaWdfZHN0 ID0gc3RhdGUuZHN0OwotCi0JcmV0ID0gaW50ZWxfcGxhbmUtPmNoZWNrX3BsYW5lKHBsYW5lLCAm c3RhdGUpOwotCWlmIChyZXQpCi0JCXJldHVybiByZXQ7Ci0KLQlpZiAoZmIgIT0gb2xkX2ZiICYm IGZiKSB7Ci0JCXJldCA9IGludGVsX3ByZXBhcmVfcGxhbmVfZmIocGxhbmUsIGZiKTsKLQkJaWYg KHJldCkKLQkJCXJldHVybiByZXQ7Ci0JfQotCi0JaWYgKGludGVsX3BsYW5lLT5wcmVfY29tbWl0 KQotCQlpbnRlbF9wbGFuZS0+cHJlX2NvbW1pdChwbGFuZSwgJnN0YXRlKTsKLQotCS8qIFBlcmZv cm0gdmJsYW5rIGV2YXNpb24gYXJvdW5kIGNvbW1pdCBvcGVyYXRpb24gKi8KLQlpZiAoaW50ZWxf Y3J0Yy0+YWN0aXZlKQotCQlhdG9taWNfdXBkYXRlID0gaW50ZWxfcGlwZV91cGRhdGVfc3RhcnQo aW50ZWxfY3J0YywKLQkJCQkJCQkmc3RhcnRfdmJsX2NvdW50KTsKLQlpbnRlbF9wbGFuZS0+Y29t bWl0X3BsYW5lKHBsYW5lLCAmc3RhdGUpOwotCWlmIChhdG9taWNfdXBkYXRlKQotCQlpbnRlbF9w aXBlX3VwZGF0ZV9lbmQoaW50ZWxfY3J0Yywgc3RhcnRfdmJsX2NvdW50KTsKLQotCWlmIChpbnRl bF9wbGFuZS0+cG9zdF9jb21taXQpCi0JCWludGVsX3BsYW5lLT5wb3N0X2NvbW1pdChwbGFuZSwg JnN0YXRlKTsKLQotCWlmIChmYiAhPSBvbGRfZmIpIHsKLQkJaWYgKGludGVsX2NydGMtPmFjdGl2 ZSkKLQkJCWludGVsX3dhaXRfZm9yX3ZibGFuayhkZXYsIGludGVsX2NydGMtPnBpcGUpOwotCQlp ZiAob2xkX2ZiKQotCQkJaW50ZWxfY2xlYW51cF9wbGFuZV9mYihwbGFuZSwgb2xkX2ZiKTsKLQl9 Ci0KLQlwbGFuZS0+ZmIgPSBmYjsKLQotCXJldHVybiAwOwotfQotCi0vKioKLSAqIGludGVsX2Rp c2FibGVfcGxhbmUgLSBkaXNhYmxlIGEgcGxhbmUKLSAqIEBwbGFuZTogcGxhbmUgdG8gZGlzYWJs ZQotICoKLSAqIEdlbmVyYWwgZGlzYWJsZSBoYW5kbGVyIGZvciBhbGwgcGxhbmUgdHlwZXMuCi0g Ki8KLWludAotaW50ZWxfZGlzYWJsZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSkKLXsK LQlpZiAoIXBsYW5lLT5mYikKLQkJcmV0dXJuIDA7Ci0KLQlCVUdfT04oIXBsYW5lLT5jcnRjKTsK LQotCXJldHVybiBwbGFuZS0+ZnVuY3MtPnVwZGF0ZV9wbGFuZShwbGFuZSwgcGxhbmUtPmNydGMs IE5VTEwsCi0JCQkJCSAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCk7Ci19Ci0KIC8qIENvbW1vbiBk ZXN0cnVjdGlvbiBmdW5jdGlvbiBmb3IgYm90aCBwcmltYXJ5IGFuZCBjdXJzb3IgcGxhbmVzICov CiB2b2lkIGludGVsX3BsYW5lX2Rlc3Ryb3koc3RydWN0IGRybV9wbGFuZSAqcGxhbmUpCiB7CkBA IC0xMTkzOCw4ICsxMTg0NSw4IEBAIHZvaWQgaW50ZWxfcGxhbmVfZGVzdHJveShzdHJ1Y3QgZHJt X3BsYW5lICpwbGFuZSkKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3Mg aW50ZWxfcHJpbWFyeV9wbGFuZV9mdW5jcyA9IHsKLQkudXBkYXRlX3BsYW5lID0gaW50ZWxfdXBk YXRlX3BsYW5lLAotCS5kaXNhYmxlX3BsYW5lID0gaW50ZWxfZGlzYWJsZV9wbGFuZSwKKwkudXBk YXRlX3BsYW5lID0gZHJtX3BsYW5lX2hlbHBlcl91cGRhdGUsCisJLmRpc2FibGVfcGxhbmUgPSBk cm1fcGxhbmVfaGVscGVyX2Rpc2FibGUsCiAJLmRlc3Ryb3kgPSBpbnRlbF9wbGFuZV9kZXN0cm95 LAogCS5zZXRfcHJvcGVydHkgPSBpbnRlbF9wbGFuZV9zZXRfcHJvcGVydHksCiAJLmF0b21pY19k dXBsaWNhdGVfc3RhdGUgPSBpbnRlbF9wbGFuZV9kdXBsaWNhdGVfc3RhdGUsCkBAIC0xMjAxNSw3 ICsxMTkyMiw2IEBAIGludGVsX2NoZWNrX2N1cnNvcl9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpw bGFuZSwKIAlzdHJ1Y3QgZHJtX3JlY3QgKnNyYyA9ICZzdGF0ZS0+c3JjOwogCWNvbnN0IHN0cnVj dCBkcm1fcmVjdCAqY2xpcCA9ICZzdGF0ZS0+Y2xpcDsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2JqID0gaW50ZWxfZmJfb2JqKGZiKTsKLQlpbnQgY3J0Y193LCBjcnRjX2g7CiAJdW5z aWduZWQgc3RyaWRlOwogCWludCByZXQ7CiAKQEAgLTEyMDMzLDE1ICsxMTkzOSwxNCBAQCBpbnRl bF9jaGVja19jdXJzb3JfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJCXJldHVybiAw OwogCiAJLyogQ2hlY2sgZm9yIHdoaWNoIGN1cnNvciB0eXBlcyB3ZSBzdXBwb3J0ICovCi0JY3J0 Y193ID0gZHJtX3JlY3Rfd2lkdGgoJnN0YXRlLT5vcmlnX2RzdCk7Ci0JY3J0Y19oID0gZHJtX3Jl Y3RfaGVpZ2h0KCZzdGF0ZS0+b3JpZ19kc3QpOwotCWlmICghY3Vyc29yX3NpemVfb2soZGV2LCBj cnRjX3csIGNydGNfaCkpIHsKLQkJRFJNX0RFQlVHKCJDdXJzb3IgZGltZW5zaW9uIG5vdCBzdXBw b3J0ZWRcbiIpOworCWlmICghY3Vyc29yX3NpemVfb2soZGV2LCBzdGF0ZS0+YmFzZS5jcnRjX3cs IHN0YXRlLT5iYXNlLmNydGNfaCkpIHsKKwkJRFJNX0RFQlVHKCJDdXJzb3IgZGltZW5zaW9uICVk eCVkIG5vdCBzdXBwb3J0ZWRcbiIsCisJCQkgIHN0YXRlLT5iYXNlLmNydGNfdywgc3RhdGUtPmJh c2UuY3J0Y19oKTsKIAkJcmV0dXJuIC1FSU5WQUw7CiAJfQogCi0Jc3RyaWRlID0gcm91bmR1cF9w b3dfb2ZfdHdvKGNydGNfdykgKiA0OwotCWlmIChvYmotPmJhc2Uuc2l6ZSA8IHN0cmlkZSAqIGNy dGNfaCkgeworCXN0cmlkZSA9IHJvdW5kdXBfcG93X29mX3R3byhzdGF0ZS0+YmFzZS5jcnRjX3cp ICogNDsKKwlpZiAob2JqLT5iYXNlLnNpemUgPCBzdHJpZGUgKiBzdGF0ZS0+YmFzZS5jcnRjX2gp IHsKIAkJRFJNX0RFQlVHX0tNUygiYnVmZmVyIGlzIHRvbyBzbWFsbFxuIik7CiAJCXJldHVybiAt RU5PTUVNOwogCX0KQEAgLTEyMTExLDggKzEyMDE2LDggQEAgaW50ZWxfY29tbWl0X2N1cnNvcl9w bGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqID0gaW50ZWxfZmJfb2JqKHN0YXRlLT5iYXNlLmZiKTsKIAl1aW50MzJfdCBhZGRyOwog Ci0JY3J0Yy0+Y3Vyc29yX3ggPSBzdGF0ZS0+b3JpZ19kc3QueDE7Ci0JY3J0Yy0+Y3Vyc29yX3kg PSBzdGF0ZS0+b3JpZ19kc3QueTE7CisJY3J0Yy0+Y3Vyc29yX3ggPSBzdGF0ZS0+YmFzZS5jcnRj X3g7CisJY3J0Yy0+Y3Vyc29yX3kgPSBzdGF0ZS0+YmFzZS5jcnRjX3k7CiAKIAlpbnRlbF9wbGFu ZS0+Y3J0Y194ID0gc3RhdGUtPm9yaWdfZHN0LngxOwogCWludGVsX3BsYW5lLT5jcnRjX3kgPSBz dGF0ZS0+b3JpZ19kc3QueTE7CkBAIC0xMjE0NSw4ICsxMjA1MCw4IEBAIHVwZGF0ZToKIH0KIAog c3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfZnVuY3MgaW50ZWxfY3Vyc29yX3BsYW5lX2Z1 bmNzID0gewotCS51cGRhdGVfcGxhbmUgPSBpbnRlbF91cGRhdGVfcGxhbmUsCi0JLmRpc2FibGVf cGxhbmUgPSBpbnRlbF9kaXNhYmxlX3BsYW5lLAorCS51cGRhdGVfcGxhbmUgPSBkcm1fcGxhbmVf aGVscGVyX3VwZGF0ZSwKKwkuZGlzYWJsZV9wbGFuZSA9IGRybV9wbGFuZV9oZWxwZXJfZGlzYWJs ZSwKIAkuZGVzdHJveSA9IGludGVsX3BsYW5lX2Rlc3Ryb3ksCiAJLnNldF9wcm9wZXJ0eSA9IGlu dGVsX3BsYW5lX3NldF9wcm9wZXJ0eSwKIAkuYXRvbWljX2R1cGxpY2F0ZV9zdGF0ZSA9IGludGVs X3BsYW5lX2R1cGxpY2F0ZV9zdGF0ZSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3Nwcml0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKaW5k ZXggOWFhZjk5MS4uYTNiYjJhZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfc3ByaXRlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKQEAg LTE0MTgsOCArMTQxOCw4IEBAIGludCBpbnRlbF9wbGFuZV9yZXN0b3JlKHN0cnVjdCBkcm1fcGxh bmUgKnBsYW5lKQogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9wbGFuZV9mdW5jcyBpbnRl bF9wbGFuZV9mdW5jcyA9IHsKLQkudXBkYXRlX3BsYW5lID0gaW50ZWxfdXBkYXRlX3BsYW5lLAot CS5kaXNhYmxlX3BsYW5lID0gaW50ZWxfZGlzYWJsZV9wbGFuZSwKKwkudXBkYXRlX3BsYW5lID0g ZHJtX3BsYW5lX2hlbHBlcl91cGRhdGUsCisJLmRpc2FibGVfcGxhbmUgPSBkcm1fcGxhbmVfaGVs cGVyX2Rpc2FibGUsCiAJLmRlc3Ryb3kgPSBpbnRlbF9wbGFuZV9kZXN0cm95LAogCS5zZXRfcHJv cGVydHkgPSBpbnRlbF9wbGFuZV9zZXRfcHJvcGVydHksCiAJLmF0b21pY19kdXBsaWNhdGVfc3Rh dGUgPSBpbnRlbF9wbGFuZV9kdXBsaWNhdGVfc3RhdGUsCi0tIAoxLjguNS4xCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=