From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: [PATCH v2 49/60] drm/omap: Create all planes before CRTCs Date: Sat, 26 May 2018 20:25:07 +0300 Message-ID: <20180526172518.18710-50-laurent.pinchart@ideasonboard.com> References: <20180526172518.18710-1-laurent.pinchart@ideasonboard.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by gabe.freedesktop.org (Postfix) with ESMTPS id AC2966E41D for ; Sat, 26 May 2018 17:26:06 +0000 (UTC) In-Reply-To: <20180526172518.18710-1-laurent.pinchart@ideasonboard.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Tomi Valkeinen List-Id: dri-devel@lists.freedesktop.org Q3JlYXRpbmcgYWxsIHRoZSBwbGFuZXMgaW4gYSBzaW5nbGUgbG9jYXRpb24gaW5zdGVhZCBvZiBj cmVhdGluZyB0aGVtCnBlci1DUlRDIHdpdGggcmVtYWluaW5nIHBsYW5lcyB0aGVuIGNyZWF0ZWQg aW4gYSBzZWNvbmQgc3RlcCBzaW1wbGlmaWVzCnRoZSBsb2dpYy4KClNpZ25lZC1vZmYtYnk6IExh dXJlbnQgUGluY2hhcnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNvbT4KLS0tCiBk cml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Rydi5jIHwgNDUgKysrKysrKysrKysrKysrKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxOSBpbnNlcnRpb25zKCspLCAy NiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFw X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9kcnYuYwppbmRleCAwZDRjM2Uy ZGIwNTguLjk5ZWQ0N2ExN2NlMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0v b21hcF9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Rydi5jCkBAIC0y NzEsMTQgKzI3MSwzMCBAQCBzdGF0aWMgaW50IG9tYXBfbW9kZXNldF9pbml0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpCiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAotCS8qIEFsbCBwbGFuZXMgY2Fu IGJlIHB1dCB0byBhbnkgQ1JUQyAqLworCS8qIENyZWF0ZSBhbGwgcGxhbmVzIGZpcnN0LiBUaGV5 IGNhbiBhbGwgYmUgcHV0IHRvIGFueSBDUlRDLiAqLwogCXBsYW5lX2NydGNfbWFzayA9ICgxIDw8 IG51bV9jcnRjcykgLSAxOwogCisJZm9yIChpID0gMDsgaSA8IG51bV9vdmxzOyBpKyspIHsKKwkJ ZW51bSBkcm1fcGxhbmVfdHlwZSB0eXBlID0gaSA8IHByaXYtPm51bV9kc3NkZXZzCisJCQkJCSA/ IERSTV9QTEFORV9UWVBFX1BSSU1BUlkKKwkJCQkJIDogRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWTsK KwkJc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7CisKKwkJaWYgKFdBUk5fT04ocHJpdi0+bnVtX3Bs YW5lcyA+PSBBUlJBWV9TSVpFKHByaXYtPnBsYW5lcykpKQorCQkJcmV0dXJuIC1FSU5WQUw7CisK KwkJcGxhbmUgPSBvbWFwX3BsYW5lX2luaXQoZGV2LCBpLCB0eXBlLCBwbGFuZV9jcnRjX21hc2sp OworCQlpZiAoSVNfRVJSKHBsYW5lKSkKKwkJCXJldHVybiBQVFJfRVJSKHBsYW5lKTsKKworCQlw cml2LT5wbGFuZXNbcHJpdi0+bnVtX3BsYW5lcysrXSA9IHBsYW5lOworCX0KKworCS8qIENyZWF0 ZSB0aGUgQ1JUQ3MsIGVuY29kZXJzIGFuZCBjb25uZWN0b3JzLiAqLwogCWZvciAoaSA9IDA7IGkg PCBwcml2LT5udW1fZHNzZGV2czsgaSsrKSB7CiAJCXN0cnVjdCBvbWFwX2Rzc19kZXZpY2UgKmRz c2RldiA9IHByaXYtPmRzc2RldnNbaV07CiAJCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3I7CiAJCXN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcjsKLQkJc3RydWN0IGRybV9wbGFuZSAq cGxhbmU7CiAJCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKIAogCQllbmNvZGVyID0gb21hcF9lbmNv ZGVyX2luaXQoZGV2LCBkc3NkZXYpOwpAQCAtMjkwLDEyICszMDYsNyBAQCBzdGF0aWMgaW50IG9t YXBfbW9kZXNldF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCWlmICghY29ubmVjdG9y KQogCQkJcmV0dXJuIC1FTk9NRU07CiAKLQkJcGxhbmUgPSBvbWFwX3BsYW5lX2luaXQoZGV2LCBp LCBEUk1fUExBTkVfVFlQRV9QUklNQVJZLAotCQkJCQlwbGFuZV9jcnRjX21hc2spOwotCQlpZiAo SVNfRVJSKHBsYW5lKSkKLQkJCXJldHVybiBQVFJfRVJSKHBsYW5lKTsKLQotCQljcnRjID0gb21h cF9jcnRjX2luaXQoZGV2LCBwbGFuZSwgZHNzZGV2KTsKKwkJY3J0YyA9IG9tYXBfY3J0Y19pbml0 KGRldiwgcHJpdi0+cGxhbmVzW2ldLCBkc3NkZXYpOwogCQlpZiAoSVNfRVJSKGNydGMpKQogCQkJ cmV0dXJuIFBUUl9FUlIoY3J0Yyk7CiAKQEAgLTMwMywyOCArMzE0LDEwIEBAIHN0YXRpYyBpbnQg b21hcF9tb2Rlc2V0X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJZW5jb2Rlci0+cG9z c2libGVfY3J0Y3MgPSAxIDw8IGk7CiAKIAkJcHJpdi0+Y3J0Y3NbcHJpdi0+bnVtX2NydGNzKytd ID0gY3J0YzsKLQkJcHJpdi0+cGxhbmVzW3ByaXYtPm51bV9wbGFuZXMrK10gPSBwbGFuZTsKIAkJ cHJpdi0+ZW5jb2RlcnNbcHJpdi0+bnVtX2VuY29kZXJzKytdID0gZW5jb2RlcjsKIAkJcHJpdi0+ Y29ubmVjdG9yc1twcml2LT5udW1fY29ubmVjdG9ycysrXSA9IGNvbm5lY3RvcjsKIAl9CiAKLQkv KgotCSAqIENyZWF0ZSBub3JtYWwgcGxhbmVzIGZvciB0aGUgcmVtYWluaW5nIG92ZXJsYXlzOgot CSAqLwotCWZvciAoOyBpIDwgbnVtX292bHM7IGkrKykgewotCQlzdHJ1Y3QgZHJtX3BsYW5lICpw bGFuZTsKLQotCQlpZiAoV0FSTl9PTihwcml2LT5udW1fcGxhbmVzID49IEFSUkFZX1NJWkUocHJp di0+cGxhbmVzKSkpCi0JCQlyZXR1cm4gLUVJTlZBTDsKLQotCQlwbGFuZSA9IG9tYXBfcGxhbmVf aW5pdChkZXYsIGksIERSTV9QTEFORV9UWVBFX09WRVJMQVksCi0JCQlwbGFuZV9jcnRjX21hc2sp OwotCQlpZiAoSVNfRVJSKHBsYW5lKSkKLQkJCXJldHVybiBQVFJfRVJSKHBsYW5lKTsKLQotCQlw cml2LT5wbGFuZXNbcHJpdi0+bnVtX3BsYW5lcysrXSA9IHBsYW5lOwotCX0KLQogCURCRygicmVn aXN0ZXJlZCAlZCBwbGFuZXMsICVkIGNydGNzLCAlZCBlbmNvZGVycyBhbmQgJWQgY29ubmVjdG9y c1xuIiwKIAkJcHJpdi0+bnVtX3BsYW5lcywgcHJpdi0+bnVtX2NydGNzLCBwcml2LT5udW1fZW5j b2RlcnMsCiAJCXByaXYtPm51bV9jb25uZWN0b3JzKTsKLS0gClJlZ2FyZHMsCgpMYXVyZW50IFBp bmNoYXJ0CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpk cmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK