From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH 3/3] drm/atomic: Use explicit old/new state in drm_atomic_plane_check() Date: Thu, 1 Nov 2018 20:46:46 +0200 Message-ID: <20181101184646.14753-3-ville.syrjala@linux.intel.com> References: <20181101184646.14753-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181101184646.14753-1-ville.syrjala@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: dri-devel@lists.freedesktop.org Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkNv bnZlcnQgZHJtX2F0b21pY19wbGFuZV9jaGVjaygpIG92ZXIgdG8gdXNpbmcgZXhwbGljaXQgb2xk IHZzLiBuZXcKcGxhbmUgc3RhdGVzLiBBdm9pZHMgdGhlIGNvbmZ1c2lvbiBvZiAid2hhdCBkb2Vz IHBsYW5lLT5zdGF0ZSBtZWFuCmFnYWluPyIuCgpTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rs w6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljLmMgfCA5MCArKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KIDEg ZmlsZSBjaGFuZ2VkLCA0NiBpbnNlcnRpb25zKCspLCA0NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9h dG9taWMuYwppbmRleCBkZGU2OTYxODFlZmUuLjQ2ZjhkNzk4ZWZhZiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2RybV9hdG9taWMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21p Yy5jCkBAIC00OTIsMTA4ICs0OTIsMTA5IEBAIGRybV9hdG9taWNfZ2V0X3BsYW5lX3N0YXRlKHN0 cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKIEVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19n ZXRfcGxhbmVfc3RhdGUpOwogCiBzdGF0aWMgYm9vbAotcGxhbmVfc3dpdGNoaW5nX2NydGMoc3Ry dWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAotCQkgICAgIHN0cnVjdCBkcm1fcGxhbmUgKnBs YW5lLAotCQkgICAgIHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQorcGxhbmVf c3dpdGNoaW5nX2NydGMoY29uc3Qgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqb2xkX3BsYW5lX3N0 YXRlLAorCQkgICAgIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKm5ld19wbGFuZV9zdGF0 ZSkKIHsKLQlpZiAoIXBsYW5lLT5zdGF0ZS0+Y3J0YyB8fCAhcGxhbmVfc3RhdGUtPmNydGMpCi0J CXJldHVybiBmYWxzZTsKLQotCWlmIChwbGFuZS0+c3RhdGUtPmNydGMgPT0gcGxhbmVfc3RhdGUt PmNydGMpCi0JCXJldHVybiBmYWxzZTsKLQogCS8qIFRoaXMgY291bGQgYmUgcmVmaW5lZCwgYnV0 IGN1cnJlbnRseSB0aGVyZSdzIG5vIGhlbHBlciBvciBkcml2ZXIgY29kZQogCSAqIHRvIGltcGxl bWVudCBkaXJlY3Qgc3dpdGNoaW5nIG9mIGFjdGl2ZSBwbGFuZXMgbm9yIHVzZXJzcGFjZSB0byB0 YWtlCiAJICogYWR2YW50YWdlIG9mIG1vcmUgZGlyZWN0IHBsYW5lIHN3aXRjaGluZyB3aXRob3V0 IHRoZSBpbnRlcm1lZGlhdGUKIAkgKiBmdWxsIE9GRiBzdGF0ZS4KIAkgKi8KLQlyZXR1cm4gdHJ1 ZTsKKwlyZXR1cm4gb2xkX3BsYW5lX3N0YXRlLT5jcnRjICYmIG5ld19wbGFuZV9zdGF0ZS0+Y3J0 YyAmJgorCQlvbGRfcGxhbmVfc3RhdGUtPmNydGMgIT0gbmV3X3BsYW5lX3N0YXRlLT5jcnRjOwog fQogCiAvKioKICAqIGRybV9hdG9taWNfcGxhbmVfY2hlY2sgLSBjaGVjayBwbGFuZSBzdGF0ZQot ICogQHBsYW5lOiBwbGFuZSB0byBjaGVjawotICogQHN0YXRlOiBwbGFuZSBzdGF0ZSB0byBjaGVj aworICogQG9sZF9wbGFuZV9zdGF0ZTogb2xkIHBsYW5lIHN0YXRlIHRvIGNoZWNrCisgKiBAbmV3 X3BsYW5lX3N0YXRlOiBuZXcgcGxhbmUgc3RhdGUgdG8gY2hlY2sKICAqCiAgKiBQcm92aWRlcyBj b3JlIHNhbml0eSBjaGVja3MgZm9yIHBsYW5lIHN0YXRlLgogICoKICAqIFJFVFVSTlM6CiAgKiBa ZXJvIG9uIHN1Y2Nlc3MsIGVycm9yIGNvZGUgb24gZmFpbHVyZQogICovCi1zdGF0aWMgaW50IGRy bV9hdG9taWNfcGxhbmVfY2hlY2soc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCi0JCXN0cnVjdCBk cm1fcGxhbmVfc3RhdGUgKnN0YXRlKQorc3RhdGljIGludCBkcm1fYXRvbWljX3BsYW5lX2NoZWNr KGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKm9sZF9wbGFuZV9zdGF0ZSwKKwkJCQkgIGNv bnN0IHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKm5ld19wbGFuZV9zdGF0ZSkKIHsKKwlzdHJ1Y3Qg ZHJtX3BsYW5lICpwbGFuZSA9IG5ld19wbGFuZV9zdGF0ZS0+cGxhbmU7CisJc3RydWN0IGRybV9j cnRjICpjcnRjID0gbmV3X3BsYW5lX3N0YXRlLT5jcnRjOworCWNvbnN0IHN0cnVjdCBkcm1fZnJh bWVidWZmZXIgKmZiID0gbmV3X3BsYW5lX3N0YXRlLT5mYjsKIAl1bnNpZ25lZCBpbnQgZmJfd2lk dGgsIGZiX2hlaWdodDsKIAlpbnQgcmV0OwogCiAJLyogZWl0aGVyICpib3RoKiBDUlRDIGFuZCBG QiBtdXN0IGJlIHNldCwgb3IgbmVpdGhlciAqLwotCWlmIChzdGF0ZS0+Y3J0YyAmJiAhc3RhdGUt PmZiKSB7CisJaWYgKGNydGMgJiYgIWZiKSB7CiAJCURSTV9ERUJVR19BVE9NSUMoIltQTEFORTol ZDolc10gQ1JUQyBzZXQgYnV0IG5vIEZCXG4iLAogCQkJCSBwbGFuZS0+YmFzZS5pZCwgcGxhbmUt Pm5hbWUpOwogCQlyZXR1cm4gLUVJTlZBTDsKLQl9IGVsc2UgaWYgKHN0YXRlLT5mYiAmJiAhc3Rh dGUtPmNydGMpIHsKKwl9IGVsc2UgaWYgKGZiICYmICFjcnRjKSB7CiAJCURSTV9ERUJVR19BVE9N SUMoIltQTEFORTolZDolc10gRkIgc2V0IGJ1dCBubyBDUlRDXG4iLAogCQkJCSBwbGFuZS0+YmFz ZS5pZCwgcGxhbmUtPm5hbWUpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKIAkvKiBpZiBkaXNh YmxlZCwgd2UgZG9uJ3QgY2FyZSBhYm91dCB0aGUgcmVzdCBvZiB0aGUgc3RhdGU6ICovCi0JaWYg KCFzdGF0ZS0+Y3J0YykKKwlpZiAoIWNydGMpCiAJCXJldHVybiAwOwogCiAJLyogQ2hlY2sgd2hl dGhlciB0aGlzIHBsYW5lIGlzIHVzYWJsZSBvbiB0aGlzIENSVEMgKi8KLQlpZiAoIShwbGFuZS0+ cG9zc2libGVfY3J0Y3MgJiBkcm1fY3J0Y19tYXNrKHN0YXRlLT5jcnRjKSkpIHsKKwlpZiAoIShw bGFuZS0+cG9zc2libGVfY3J0Y3MgJiBkcm1fY3J0Y19tYXNrKGNydGMpKSkgewogCQlEUk1fREVC VUdfQVRPTUlDKCJJbnZhbGlkIFtDUlRDOiVkOiVzXSBmb3IgW1BMQU5FOiVkOiVzXVxuIiwKLQkJ CQkgc3RhdGUtPmNydGMtPmJhc2UuaWQsIHN0YXRlLT5jcnRjLT5uYW1lLAorCQkJCSBjcnRjLT5i YXNlLmlkLCBjcnRjLT5uYW1lLAogCQkJCSBwbGFuZS0+YmFzZS5pZCwgcGxhbmUtPm5hbWUpOwog CQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKIAkvKiBDaGVjayB3aGV0aGVyIHRoaXMgcGxhbmUgc3Vw cG9ydHMgdGhlIGZiIHBpeGVsIGZvcm1hdC4gKi8KLQlyZXQgPSBkcm1fcGxhbmVfY2hlY2tfcGl4 ZWxfZm9ybWF0KHBsYW5lLCBzdGF0ZS0+ZmItPmZvcm1hdC0+Zm9ybWF0LAotCQkJCQkgICBzdGF0 ZS0+ZmItPm1vZGlmaWVyKTsKKwlyZXQgPSBkcm1fcGxhbmVfY2hlY2tfcGl4ZWxfZm9ybWF0KHBs YW5lLCBmYi0+Zm9ybWF0LT5mb3JtYXQsCisJCQkJCSAgIGZiLT5tb2RpZmllcik7CiAJaWYgKHJl dCkgewogCQlzdHJ1Y3QgZHJtX2Zvcm1hdF9uYW1lX2J1ZiBmb3JtYXRfbmFtZTsKIAkJRFJNX0RF QlVHX0FUT01JQygiW1BMQU5FOiVkOiVzXSBpbnZhbGlkIHBpeGVsIGZvcm1hdCAlcywgbW9kaWZp ZXIgMHglbGx4XG4iLAogCQkJCSBwbGFuZS0+YmFzZS5pZCwgcGxhbmUtPm5hbWUsCi0JCQkJIGRy bV9nZXRfZm9ybWF0X25hbWUoc3RhdGUtPmZiLT5mb3JtYXQtPmZvcm1hdCwKKwkJCQkgZHJtX2dl dF9mb3JtYXRfbmFtZShmYi0+Zm9ybWF0LT5mb3JtYXQsCiAJCQkJCQkgICAgICZmb3JtYXRfbmFt ZSksCi0JCQkJIHN0YXRlLT5mYi0+bW9kaWZpZXIpOworCQkJCSBmYi0+bW9kaWZpZXIpOwogCQly ZXR1cm4gcmV0OwogCX0KIAogCS8qIEdpdmUgZHJpdmVycyBzb21lIGhlbHAgYWdhaW5zdCBpbnRl Z2VyIG92ZXJmbG93cyAqLwotCWlmIChzdGF0ZS0+Y3J0Y193ID4gSU5UX01BWCB8fAotCSAgICBz dGF0ZS0+Y3J0Y194ID4gSU5UX01BWCAtIChpbnQzMl90KSBzdGF0ZS0+Y3J0Y193IHx8Ci0JICAg IHN0YXRlLT5jcnRjX2ggPiBJTlRfTUFYIHx8Ci0JICAgIHN0YXRlLT5jcnRjX3kgPiBJTlRfTUFY IC0gKGludDMyX3QpIHN0YXRlLT5jcnRjX2gpIHsKKwlpZiAobmV3X3BsYW5lX3N0YXRlLT5jcnRj X3cgPiBJTlRfTUFYIHx8CisJICAgIG5ld19wbGFuZV9zdGF0ZS0+Y3J0Y194ID4gSU5UX01BWCAt IChpbnQzMl90KSBuZXdfcGxhbmVfc3RhdGUtPmNydGNfdyB8fAorCSAgICBuZXdfcGxhbmVfc3Rh dGUtPmNydGNfaCA+IElOVF9NQVggfHwKKwkgICAgbmV3X3BsYW5lX3N0YXRlLT5jcnRjX3kgPiBJ TlRfTUFYIC0gKGludDMyX3QpIG5ld19wbGFuZV9zdGF0ZS0+Y3J0Y19oKSB7CiAJCURSTV9ERUJV R19BVE9NSUMoIltQTEFORTolZDolc10gaW52YWxpZCBDUlRDIGNvb3JkaW5hdGVzICV1eCV1KyVk KyVkXG4iLAogCQkJCSBwbGFuZS0+YmFzZS5pZCwgcGxhbmUtPm5hbWUsCi0JCQkJIHN0YXRlLT5j cnRjX3csIHN0YXRlLT5jcnRjX2gsCi0JCQkJIHN0YXRlLT5jcnRjX3gsIHN0YXRlLT5jcnRjX3kp OworCQkJCSBuZXdfcGxhbmVfc3RhdGUtPmNydGNfdywgbmV3X3BsYW5lX3N0YXRlLT5jcnRjX2gs CisJCQkJIG5ld19wbGFuZV9zdGF0ZS0+Y3J0Y194LCBuZXdfcGxhbmVfc3RhdGUtPmNydGNfeSk7 CiAJCXJldHVybiAtRVJBTkdFOwogCX0KIAotCWZiX3dpZHRoID0gc3RhdGUtPmZiLT53aWR0aCA8 PCAxNjsKLQlmYl9oZWlnaHQgPSBzdGF0ZS0+ZmItPmhlaWdodCA8PCAxNjsKKwlmYl93aWR0aCA9 IGZiLT53aWR0aCA8PCAxNjsKKwlmYl9oZWlnaHQgPSBmYi0+aGVpZ2h0IDw8IDE2OwogCiAJLyog TWFrZSBzdXJlIHNvdXJjZSBjb29yZGluYXRlcyBhcmUgaW5zaWRlIHRoZSBmYi4gKi8KLQlpZiAo c3RhdGUtPnNyY193ID4gZmJfd2lkdGggfHwKLQkgICAgc3RhdGUtPnNyY194ID4gZmJfd2lkdGgg LSBzdGF0ZS0+c3JjX3cgfHwKLQkgICAgc3RhdGUtPnNyY19oID4gZmJfaGVpZ2h0IHx8Ci0JICAg IHN0YXRlLT5zcmNfeSA+IGZiX2hlaWdodCAtIHN0YXRlLT5zcmNfaCkgeworCWlmIChuZXdfcGxh bmVfc3RhdGUtPnNyY193ID4gZmJfd2lkdGggfHwKKwkgICAgbmV3X3BsYW5lX3N0YXRlLT5zcmNf eCA+IGZiX3dpZHRoIC0gbmV3X3BsYW5lX3N0YXRlLT5zcmNfdyB8fAorCSAgICBuZXdfcGxhbmVf c3RhdGUtPnNyY19oID4gZmJfaGVpZ2h0IHx8CisJICAgIG5ld19wbGFuZV9zdGF0ZS0+c3JjX3kg PiBmYl9oZWlnaHQgLSBuZXdfcGxhbmVfc3RhdGUtPnNyY19oKSB7CiAJCURSTV9ERUJVR19BVE9N SUMoIltQTEFORTolZDolc10gaW52YWxpZCBzb3VyY2UgY29vcmRpbmF0ZXMgIgogCQkJCSAiJXUu JTA2dXgldS4lMDZ1KyV1LiUwNnUrJXUuJTA2dSAoZmIgJXV4JXUpXG4iLAogCQkJCSBwbGFuZS0+ YmFzZS5pZCwgcGxhbmUtPm5hbWUsCi0JCQkJIHN0YXRlLT5zcmNfdyA+PiAxNiwgKChzdGF0ZS0+ c3JjX3cgJiAweGZmZmYpICogMTU2MjUpID4+IDEwLAotCQkJCSBzdGF0ZS0+c3JjX2ggPj4gMTYs ICgoc3RhdGUtPnNyY19oICYgMHhmZmZmKSAqIDE1NjI1KSA+PiAxMCwKLQkJCQkgc3RhdGUtPnNy Y194ID4+IDE2LCAoKHN0YXRlLT5zcmNfeCAmIDB4ZmZmZikgKiAxNTYyNSkgPj4gMTAsCi0JCQkJ IHN0YXRlLT5zcmNfeSA+PiAxNiwgKChzdGF0ZS0+c3JjX3kgJiAweGZmZmYpICogMTU2MjUpID4+ IDEwLAotCQkJCSBzdGF0ZS0+ZmItPndpZHRoLCBzdGF0ZS0+ZmItPmhlaWdodCk7CisJCQkJIG5l d19wbGFuZV9zdGF0ZS0+c3JjX3cgPj4gMTYsCisJCQkJICgobmV3X3BsYW5lX3N0YXRlLT5zcmNf dyAmIDB4ZmZmZikgKiAxNTYyNSkgPj4gMTAsCisJCQkJIG5ld19wbGFuZV9zdGF0ZS0+c3JjX2gg Pj4gMTYsCisJCQkJICgobmV3X3BsYW5lX3N0YXRlLT5zcmNfaCAmIDB4ZmZmZikgKiAxNTYyNSkg Pj4gMTAsCisJCQkJIG5ld19wbGFuZV9zdGF0ZS0+c3JjX3ggPj4gMTYsCisJCQkJICgobmV3X3Bs YW5lX3N0YXRlLT5zcmNfeCAmIDB4ZmZmZikgKiAxNTYyNSkgPj4gMTAsCisJCQkJIG5ld19wbGFu ZV9zdGF0ZS0+c3JjX3kgPj4gMTYsCisJCQkJICgobmV3X3BsYW5lX3N0YXRlLT5zcmNfeSAmIDB4 ZmZmZikgKiAxNTYyNSkgPj4gMTAsCisJCQkJIGZiLT53aWR0aCwgZmItPmhlaWdodCk7CiAJCXJl dHVybiAtRU5PU1BDOwogCX0KIAotCWlmIChwbGFuZV9zd2l0Y2hpbmdfY3J0YyhzdGF0ZS0+c3Rh dGUsIHBsYW5lLCBzdGF0ZSkpIHsKKwlpZiAocGxhbmVfc3dpdGNoaW5nX2NydGMob2xkX3BsYW5l X3N0YXRlLCBuZXdfcGxhbmVfc3RhdGUpKSB7CiAJCURSTV9ERUJVR19BVE9NSUMoIltQTEFORTol ZDolc10gc3dpdGNoaW5nIENSVEMgZGlyZWN0bHlcbiIsCiAJCQkJIHBsYW5lLT5iYXNlLmlkLCBw bGFuZS0+bmFtZSk7CiAJCXJldHVybiAtRUlOVkFMOwpAQCAtOTY2LDcgKzk2Nyw4IEBAIGludCBk cm1fYXRvbWljX2NoZWNrX29ubHkoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQogCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBzdGF0ZS0+ZGV2OwogCXN0cnVjdCBkcm1fbW9kZV9jb25m aWcgKmNvbmZpZyA9ICZkZXYtPm1vZGVfY29uZmlnOwogCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5l OwotCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlOworCXN0cnVjdCBkcm1fcGxh bmVfc3RhdGUgKm9sZF9wbGFuZV9zdGF0ZTsKKwlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpuZXdf cGxhbmVfc3RhdGU7CiAJc3RydWN0IGRybV9jcnRjICpjcnRjOwogCXN0cnVjdCBkcm1fY3J0Y19z dGF0ZSAqb2xkX2NydGNfc3RhdGU7CiAJc3RydWN0IGRybV9jcnRjX3N0YXRlICpuZXdfY3J0Y19z dGF0ZTsKQEAgLTk3Niw4ICs5NzgsOCBAQCBpbnQgZHJtX2F0b21pY19jaGVja19vbmx5KHN0cnVj dCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKIAogCURSTV9ERUJVR19BVE9NSUMoImNoZWNraW5n ICVwXG4iLCBzdGF0ZSk7CiAKLQlmb3JfZWFjaF9uZXdfcGxhbmVfaW5fc3RhdGUoc3RhdGUsIHBs YW5lLCBwbGFuZV9zdGF0ZSwgaSkgewotCQlyZXQgPSBkcm1fYXRvbWljX3BsYW5lX2NoZWNrKHBs YW5lLCBwbGFuZV9zdGF0ZSk7CisJZm9yX2VhY2hfb2xkbmV3X3BsYW5lX2luX3N0YXRlKHN0YXRl LCBwbGFuZSwgb2xkX3BsYW5lX3N0YXRlLCBuZXdfcGxhbmVfc3RhdGUsIGkpIHsKKwkJcmV0ID0g ZHJtX2F0b21pY19wbGFuZV9jaGVjayhvbGRfcGxhbmVfc3RhdGUsIG5ld19wbGFuZV9zdGF0ZSk7 CiAJCWlmIChyZXQpIHsKIAkJCURSTV9ERUJVR19BVE9NSUMoIltQTEFORTolZDolc10gYXRvbWlj IGNvcmUgY2hlY2sgZmFpbGVkXG4iLAogCQkJCQkgcGxhbmUtPmJhc2UuaWQsIHBsYW5lLT5uYW1l KTsKLS0gCjIuMTguMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4Cg==