From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH v2 3/3] drm/atomic: Use explicit old/new state in drm_atomic_plane_check() Date: Tue, 6 Nov 2018 21:16:24 +0200 Message-ID: <20181106191624.2207-1-ville.syrjala@linux.intel.com> References: <20181101184646.14753-3-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-3-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 IHBsYW5lLT5zdGF0ZSBtZWFuCmFnYWluPyIuCgp2MjogU3RpY2sgdG8gdGhlIG11bHRpLXN0YWdl IGxvZ2ljIGluIHBsYW5lX3N3aXRjaGluZ19jcnRjKCkgKERhbmllbCkKClNpZ25lZC1vZmYtYnk6 IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+ClJldmlld2Vk LWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgotLS0KIGRyaXZlcnMv Z3B1L2RybS9kcm1fYXRvbWljLmMgfCA4NSArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0t LS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0NiBpbnNlcnRpb25zKCspLCAzOSBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jIGIvZHJpdmVycy9ncHUv ZHJtL2RybV9hdG9taWMuYwppbmRleCAzYTRiNmIyNTE5NzEuLjlhYzI2NDM3MDUxYiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX2F0b21pYy5jCkBAIC00OTcsMTQgKzQ5NywxMyBAQCBkcm1fYXRvbWljX2dldF9wbGFuZV9z dGF0ZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCiBFWFBPUlRfU1lNQk9MKGRybV9h dG9taWNfZ2V0X3BsYW5lX3N0YXRlKTsKIAogc3RhdGljIGJvb2wKLXBsYW5lX3N3aXRjaGluZ19j cnRjKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKLQkJICAgICBzdHJ1Y3QgZHJtX3Bs YW5lICpwbGFuZSwKLQkJICAgICBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkK K3BsYW5lX3N3aXRjaGluZ19jcnRjKGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKm9sZF9w bGFuZV9zdGF0ZSwKKwkJICAgICBjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpuZXdfcGxh bmVfc3RhdGUpCiB7Ci0JaWYgKCFwbGFuZS0+c3RhdGUtPmNydGMgfHwgIXBsYW5lX3N0YXRlLT5j cnRjKQorCWlmICghb2xkX3BsYW5lX3N0YXRlLT5jcnRjIHx8ICFuZXdfcGxhbmVfc3RhdGUtPmNy dGMpCiAJCXJldHVybiBmYWxzZTsKIAotCWlmIChwbGFuZS0+c3RhdGUtPmNydGMgPT0gcGxhbmVf c3RhdGUtPmNydGMpCisJaWYgKG9sZF9wbGFuZV9zdGF0ZS0+Y3J0YyA9PSBuZXdfcGxhbmVfc3Rh dGUtPmNydGMpCiAJCXJldHVybiBmYWxzZTsKIAogCS8qIFRoaXMgY291bGQgYmUgcmVmaW5lZCwg YnV0IGN1cnJlbnRseSB0aGVyZSdzIG5vIGhlbHBlciBvciBkcml2ZXIgY29kZQpAQCAtNTE3LDg4 ICs1MTYsOTUgQEAgcGxhbmVfc3dpdGNoaW5nX2NydGMoc3RydWN0IGRybV9hdG9taWNfc3RhdGUg KnN0YXRlLAogCiAvKioKICAqIGRybV9hdG9taWNfcGxhbmVfY2hlY2sgLSBjaGVjayBwbGFuZSBz dGF0ZQotICogQHBsYW5lOiBwbGFuZSB0byBjaGVjawotICogQHN0YXRlOiBwbGFuZSBzdGF0ZSB0 byBjaGVjaworICogQG9sZF9wbGFuZV9zdGF0ZTogb2xkIHBsYW5lIHN0YXRlIHRvIGNoZWNrCisg KiBAbmV3X3BsYW5lX3N0YXRlOiBuZXcgcGxhbmUgc3RhdGUgdG8gY2hlY2sKICAqCiAgKiBQcm92 aWRlcyBjb3JlIHNhbml0eSBjaGVja3MgZm9yIHBsYW5lIHN0YXRlLgogICoKICAqIFJFVFVSTlM6 CiAgKiBaZXJvIG9uIHN1Y2Nlc3MsIGVycm9yIGNvZGUgb24gZmFpbHVyZQogICovCi1zdGF0aWMg aW50IGRybV9hdG9taWNfcGxhbmVfY2hlY2soc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCi0JCXN0 cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlKQorc3RhdGljIGludCBkcm1fYXRvbWljX3BsYW5l X2NoZWNrKGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKm9sZF9wbGFuZV9zdGF0ZSwKKwkJ CQkgIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKm5ld19wbGFuZV9zdGF0ZSkKIHsKKwlz dHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSA9IG5ld19wbGFuZV9zdGF0ZS0+cGxhbmU7CisJc3RydWN0 IGRybV9jcnRjICpjcnRjID0gbmV3X3BsYW5lX3N0YXRlLT5jcnRjOworCWNvbnN0IHN0cnVjdCBk cm1fZnJhbWVidWZmZXIgKmZiID0gbmV3X3BsYW5lX3N0YXRlLT5mYjsKIAl1bnNpZ25lZCBpbnQg ZmJfd2lkdGgsIGZiX2hlaWdodDsKIAlpbnQgcmV0OwogCiAJLyogZWl0aGVyICpib3RoKiBDUlRD IGFuZCBGQiBtdXN0IGJlIHNldCwgb3IgbmVpdGhlciAqLwotCWlmIChzdGF0ZS0+Y3J0YyAmJiAh c3RhdGUtPmZiKSB7CisJaWYgKGNydGMgJiYgIWZiKSB7CiAJCURSTV9ERUJVR19BVE9NSUMoIltQ TEFORTolZDolc10gQ1JUQyBzZXQgYnV0IG5vIEZCXG4iLAogCQkJCSBwbGFuZS0+YmFzZS5pZCwg cGxhbmUtPm5hbWUpOwogCQlyZXR1cm4gLUVJTlZBTDsKLQl9IGVsc2UgaWYgKHN0YXRlLT5mYiAm JiAhc3RhdGUtPmNydGMpIHsKKwl9IGVsc2UgaWYgKGZiICYmICFjcnRjKSB7CiAJCURSTV9ERUJV R19BVE9NSUMoIltQTEFORTolZDolc10gRkIgc2V0IGJ1dCBubyBDUlRDXG4iLAogCQkJCSBwbGFu ZS0+YmFzZS5pZCwgcGxhbmUtPm5hbWUpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKIAkvKiBp ZiBkaXNhYmxlZCwgd2UgZG9uJ3QgY2FyZSBhYm91dCB0aGUgcmVzdCBvZiB0aGUgc3RhdGU6ICov Ci0JaWYgKCFzdGF0ZS0+Y3J0YykKKwlpZiAoIWNydGMpCiAJCXJldHVybiAwOwogCiAJLyogQ2hl Y2sgd2hldGhlciB0aGlzIHBsYW5lIGlzIHVzYWJsZSBvbiB0aGlzIENSVEMgKi8KLQlpZiAoIShw bGFuZS0+cG9zc2libGVfY3J0Y3MgJiBkcm1fY3J0Y19tYXNrKHN0YXRlLT5jcnRjKSkpIHsKKwlp ZiAoIShwbGFuZS0+cG9zc2libGVfY3J0Y3MgJiBkcm1fY3J0Y19tYXNrKGNydGMpKSkgewogCQlE Uk1fREVCVUdfQVRPTUlDKCJJbnZhbGlkIFtDUlRDOiVkOiVzXSBmb3IgW1BMQU5FOiVkOiVzXVxu IiwKLQkJCQkgc3RhdGUtPmNydGMtPmJhc2UuaWQsIHN0YXRlLT5jcnRjLT5uYW1lLAorCQkJCSBj cnRjLT5iYXNlLmlkLCBjcnRjLT5uYW1lLAogCQkJCSBwbGFuZS0+YmFzZS5pZCwgcGxhbmUtPm5h bWUpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKIAkvKiBDaGVjayB3aGV0aGVyIHRoaXMgcGxh bmUgc3VwcG9ydHMgdGhlIGZiIHBpeGVsIGZvcm1hdC4gKi8KLQlyZXQgPSBkcm1fcGxhbmVfY2hl Y2tfcGl4ZWxfZm9ybWF0KHBsYW5lLCBzdGF0ZS0+ZmItPmZvcm1hdC0+Zm9ybWF0LAotCQkJCQkg ICBzdGF0ZS0+ZmItPm1vZGlmaWVyKTsKKwlyZXQgPSBkcm1fcGxhbmVfY2hlY2tfcGl4ZWxfZm9y bWF0KHBsYW5lLCBmYi0+Zm9ybWF0LT5mb3JtYXQsCisJCQkJCSAgIGZiLT5tb2RpZmllcik7CiAJ aWYgKHJldCkgewogCQlzdHJ1Y3QgZHJtX2Zvcm1hdF9uYW1lX2J1ZiBmb3JtYXRfbmFtZTsKIAkJ RFJNX0RFQlVHX0FUT01JQygiW1BMQU5FOiVkOiVzXSBpbnZhbGlkIHBpeGVsIGZvcm1hdCAlcywg bW9kaWZpZXIgMHglbGx4XG4iLAogCQkJCSBwbGFuZS0+YmFzZS5pZCwgcGxhbmUtPm5hbWUsCi0J CQkJIGRybV9nZXRfZm9ybWF0X25hbWUoc3RhdGUtPmZiLT5mb3JtYXQtPmZvcm1hdCwKKwkJCQkg ZHJtX2dldF9mb3JtYXRfbmFtZShmYi0+Zm9ybWF0LT5mb3JtYXQsCiAJCQkJCQkgICAgICZmb3Jt YXRfbmFtZSksCi0JCQkJIHN0YXRlLT5mYi0+bW9kaWZpZXIpOworCQkJCSBmYi0+bW9kaWZpZXIp OwogCQlyZXR1cm4gcmV0OwogCX0KIAogCS8qIEdpdmUgZHJpdmVycyBzb21lIGhlbHAgYWdhaW5z dCBpbnRlZ2VyIG92ZXJmbG93cyAqLwotCWlmIChzdGF0ZS0+Y3J0Y193ID4gSU5UX01BWCB8fAot CSAgICBzdGF0ZS0+Y3J0Y194ID4gSU5UX01BWCAtIChpbnQzMl90KSBzdGF0ZS0+Y3J0Y193IHx8 Ci0JICAgIHN0YXRlLT5jcnRjX2ggPiBJTlRfTUFYIHx8Ci0JICAgIHN0YXRlLT5jcnRjX3kgPiBJ TlRfTUFYIC0gKGludDMyX3QpIHN0YXRlLT5jcnRjX2gpIHsKKwlpZiAobmV3X3BsYW5lX3N0YXRl LT5jcnRjX3cgPiBJTlRfTUFYIHx8CisJICAgIG5ld19wbGFuZV9zdGF0ZS0+Y3J0Y194ID4gSU5U X01BWCAtIChpbnQzMl90KSBuZXdfcGxhbmVfc3RhdGUtPmNydGNfdyB8fAorCSAgICBuZXdfcGxh bmVfc3RhdGUtPmNydGNfaCA+IElOVF9NQVggfHwKKwkgICAgbmV3X3BsYW5lX3N0YXRlLT5jcnRj X3kgPiBJTlRfTUFYIC0gKGludDMyX3QpIG5ld19wbGFuZV9zdGF0ZS0+Y3J0Y19oKSB7CiAJCURS TV9ERUJVR19BVE9NSUMoIltQTEFORTolZDolc10gaW52YWxpZCBDUlRDIGNvb3JkaW5hdGVzICV1 eCV1KyVkKyVkXG4iLAogCQkJCSBwbGFuZS0+YmFzZS5pZCwgcGxhbmUtPm5hbWUsCi0JCQkJIHN0 YXRlLT5jcnRjX3csIHN0YXRlLT5jcnRjX2gsCi0JCQkJIHN0YXRlLT5jcnRjX3gsIHN0YXRlLT5j cnRjX3kpOworCQkJCSBuZXdfcGxhbmVfc3RhdGUtPmNydGNfdywgbmV3X3BsYW5lX3N0YXRlLT5j cnRjX2gsCisJCQkJIG5ld19wbGFuZV9zdGF0ZS0+Y3J0Y194LCBuZXdfcGxhbmVfc3RhdGUtPmNy dGNfeSk7CiAJCXJldHVybiAtRVJBTkdFOwogCX0KIAotCWZiX3dpZHRoID0gc3RhdGUtPmZiLT53 aWR0aCA8PCAxNjsKLQlmYl9oZWlnaHQgPSBzdGF0ZS0+ZmItPmhlaWdodCA8PCAxNjsKKwlmYl93 aWR0aCA9IGZiLT53aWR0aCA8PCAxNjsKKwlmYl9oZWlnaHQgPSBmYi0+aGVpZ2h0IDw8IDE2Owog CiAJLyogTWFrZSBzdXJlIHNvdXJjZSBjb29yZGluYXRlcyBhcmUgaW5zaWRlIHRoZSBmYi4gKi8K LQlpZiAoc3RhdGUtPnNyY193ID4gZmJfd2lkdGggfHwKLQkgICAgc3RhdGUtPnNyY194ID4gZmJf d2lkdGggLSBzdGF0ZS0+c3JjX3cgfHwKLQkgICAgc3RhdGUtPnNyY19oID4gZmJfaGVpZ2h0IHx8 Ci0JICAgIHN0YXRlLT5zcmNfeSA+IGZiX2hlaWdodCAtIHN0YXRlLT5zcmNfaCkgeworCWlmIChu ZXdfcGxhbmVfc3RhdGUtPnNyY193ID4gZmJfd2lkdGggfHwKKwkgICAgbmV3X3BsYW5lX3N0YXRl LT5zcmNfeCA+IGZiX3dpZHRoIC0gbmV3X3BsYW5lX3N0YXRlLT5zcmNfdyB8fAorCSAgICBuZXdf cGxhbmVfc3RhdGUtPnNyY19oID4gZmJfaGVpZ2h0IHx8CisJICAgIG5ld19wbGFuZV9zdGF0ZS0+ c3JjX3kgPiBmYl9oZWlnaHQgLSBuZXdfcGxhbmVfc3RhdGUtPnNyY19oKSB7CiAJCURSTV9ERUJV R19BVE9NSUMoIltQTEFORTolZDolc10gaW52YWxpZCBzb3VyY2UgY29vcmRpbmF0ZXMgIgogCQkJ CSAiJXUuJTA2dXgldS4lMDZ1KyV1LiUwNnUrJXUuJTA2dSAoZmIgJXV4JXUpXG4iLAogCQkJCSBw bGFuZS0+YmFzZS5pZCwgcGxhbmUtPm5hbWUsCi0JCQkJIHN0YXRlLT5zcmNfdyA+PiAxNiwgKChz dGF0ZS0+c3JjX3cgJiAweGZmZmYpICogMTU2MjUpID4+IDEwLAotCQkJCSBzdGF0ZS0+c3JjX2gg Pj4gMTYsICgoc3RhdGUtPnNyY19oICYgMHhmZmZmKSAqIDE1NjI1KSA+PiAxMCwKLQkJCQkgc3Rh dGUtPnNyY194ID4+IDE2LCAoKHN0YXRlLT5zcmNfeCAmIDB4ZmZmZikgKiAxNTYyNSkgPj4gMTAs Ci0JCQkJIHN0YXRlLT5zcmNfeSA+PiAxNiwgKChzdGF0ZS0+c3JjX3kgJiAweGZmZmYpICogMTU2 MjUpID4+IDEwLAotCQkJCSBzdGF0ZS0+ZmItPndpZHRoLCBzdGF0ZS0+ZmItPmhlaWdodCk7CisJ CQkJIG5ld19wbGFuZV9zdGF0ZS0+c3JjX3cgPj4gMTYsCisJCQkJICgobmV3X3BsYW5lX3N0YXRl LT5zcmNfdyAmIDB4ZmZmZikgKiAxNTYyNSkgPj4gMTAsCisJCQkJIG5ld19wbGFuZV9zdGF0ZS0+ c3JjX2ggPj4gMTYsCisJCQkJICgobmV3X3BsYW5lX3N0YXRlLT5zcmNfaCAmIDB4ZmZmZikgKiAx NTYyNSkgPj4gMTAsCisJCQkJIG5ld19wbGFuZV9zdGF0ZS0+c3JjX3ggPj4gMTYsCisJCQkJICgo bmV3X3BsYW5lX3N0YXRlLT5zcmNfeCAmIDB4ZmZmZikgKiAxNTYyNSkgPj4gMTAsCisJCQkJIG5l d19wbGFuZV9zdGF0ZS0+c3JjX3kgPj4gMTYsCisJCQkJICgobmV3X3BsYW5lX3N0YXRlLT5zcmNf eSAmIDB4ZmZmZikgKiAxNTYyNSkgPj4gMTAsCisJCQkJIGZiLT53aWR0aCwgZmItPmhlaWdodCk7 CiAJCXJldHVybiAtRU5PU1BDOwogCX0KIAotCWlmIChwbGFuZV9zd2l0Y2hpbmdfY3J0YyhzdGF0 ZS0+c3RhdGUsIHBsYW5lLCBzdGF0ZSkpIHsKKwlpZiAocGxhbmVfc3dpdGNoaW5nX2NydGMob2xk X3BsYW5lX3N0YXRlLCBuZXdfcGxhbmVfc3RhdGUpKSB7CiAJCURSTV9ERUJVR19BVE9NSUMoIltQ TEFORTolZDolc10gc3dpdGNoaW5nIENSVEMgZGlyZWN0bHlcbiIsCiAJCQkJIHBsYW5lLT5iYXNl LmlkLCBwbGFuZS0+bmFtZSk7CiAJCXJldHVybiAtRUlOVkFMOwpAQCAtOTcxLDcgKzk3Nyw4IEBA IGludCBkcm1fYXRvbWljX2NoZWNrX29ubHkoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRl KQogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBzdGF0ZS0+ZGV2OwogCXN0cnVjdCBkcm1fbW9k ZV9jb25maWcgKmNvbmZpZyA9ICZkZXYtPm1vZGVfY29uZmlnOwogCXN0cnVjdCBkcm1fcGxhbmUg KnBsYW5lOwotCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlOworCXN0cnVjdCBk cm1fcGxhbmVfc3RhdGUgKm9sZF9wbGFuZV9zdGF0ZTsKKwlzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRl ICpuZXdfcGxhbmVfc3RhdGU7CiAJc3RydWN0IGRybV9jcnRjICpjcnRjOwogCXN0cnVjdCBkcm1f Y3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGU7CiAJc3RydWN0IGRybV9jcnRjX3N0YXRlICpuZXdf Y3J0Y19zdGF0ZTsKQEAgLTk4MSw4ICs5ODgsOCBAQCBpbnQgZHJtX2F0b21pY19jaGVja19vbmx5 KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKIAogCURSTV9ERUJVR19BVE9NSUMoImNo ZWNraW5nICVwXG4iLCBzdGF0ZSk7CiAKLQlmb3JfZWFjaF9uZXdfcGxhbmVfaW5fc3RhdGUoc3Rh dGUsIHBsYW5lLCBwbGFuZV9zdGF0ZSwgaSkgewotCQlyZXQgPSBkcm1fYXRvbWljX3BsYW5lX2No ZWNrKHBsYW5lLCBwbGFuZV9zdGF0ZSk7CisJZm9yX2VhY2hfb2xkbmV3X3BsYW5lX2luX3N0YXRl KHN0YXRlLCBwbGFuZSwgb2xkX3BsYW5lX3N0YXRlLCBuZXdfcGxhbmVfc3RhdGUsIGkpIHsKKwkJ cmV0ID0gZHJtX2F0b21pY19wbGFuZV9jaGVjayhvbGRfcGxhbmVfc3RhdGUsIG5ld19wbGFuZV9z dGF0ZSk7CiAJCWlmIChyZXQpIHsKIAkJCURSTV9ERUJVR19BVE9NSUMoIltQTEFORTolZDolc10g YXRvbWljIGNvcmUgY2hlY2sgZmFpbGVkXG4iLAogCQkJCQkgcGxhbmUtPmJhc2UuaWQsIHBsYW5l LT5uYW1lKTsKLS0gCjIuMTguMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4Cg==