From mboxrd@z Thu Jan 1 00:00:00 1970 From: Benoit Parrot Subject: [Patch v2 4/6] drm/omap: Add virtual plane DT parsing support Date: Mon, 26 Mar 2018 11:21:26 -0500 Message-ID: <20180326162128.8740-5-bparrot@ti.com> References: <20180326162128.8740-1-bparrot@ti.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180326162128.8740-1-bparrot@ti.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, devicetree@vger.kernel.org, Laurent Pinchart Cc: Peter Ujfalusi , Tomi Valkeinen , Jyri Sarha List-Id: devicetree@vger.kernel.org VmlydHVhbCBwbGFuZXMgYXJlIHVzZWQgdG8gZXh0ZW5kIGRpc3BsYXkgc2l6ZSBjYXBhYmlsaXR5 IGZvciBkaXNwbGF5CmxhcmdlciB0aGFuIDIwNDggcGl4ZWxzIGJ5IHNwbGl0dGluZyB0aGUgZnJh bWUgYnVmZmVyIGVxdWFsbHkgYmV0d2Vlbgp0d28gcGh5c2ljYWwgdmlkZW8tcGlwZWxpbmVzLgoK SGVyZSB3ZSBhcmUgYWRkaW5nIERUIHN1cHBvcnQgdG8gcGFyc2UgJ3BsYW5lJyBjaGlsZCBub2Rl cyB3aGljaApkZXNjcmliZSBob3cgbG9naWNhbCBwbGFuZXMgYXJlIG1hcHBlZCB0byBwaHlzaWNh bCB2aWRlby1waXBlbGluZShzKQphbmQgd2hpY2ggdmlkZW8tb3V0cHV0cyB0aGV5IGFyZSBhdmFp bGFibGUgb24uCgpTaWduZWQtb2ZmLWJ5OiBCZW5vaXQgUGFycm90IDxicGFycm90QHRpLmNvbT4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvZGlzcGMuYyAgIHwgMTEwICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL2Rzcy9v bWFwZHNzLmggfCAgMTEgKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAxMjEgaW5zZXJ0aW9ucygrKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL2Rzcy9kaXNwYy5jIGIvZHJpdmVy cy9ncHUvZHJtL29tYXBkcm0vZHNzL2Rpc3BjLmMKaW5kZXggMzU1NDFkNDQ0MWRmLi4wNmEyZTg5 NDE3NWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL2Rzcy9kaXNwYy5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL2Rzcy9kaXNwYy5jCkBAIC00MzYwLDYgKzQzNjAs MTE1IEBAIHN0YXRpYyB1MzIgZGlzcGNfZ2V0X21lbW9yeV9iYW5kd2lkdGhfbGltaXQodm9pZCkK IAlyZXR1cm4gbGltaXQ7CiB9CiAKK3N0YXRpYyBzdHJ1Y3QgZGV2aWNlX25vZGUgKmRpc3BjX29m X2dldF9wbGFuZV9ieV9pZChzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUsCisJCQkJCQkgICAgdTMy IGlkKQoreworCXN0cnVjdCBkZXZpY2Vfbm9kZSAqcGxhbmU7CisKKwlmb3JfZWFjaF9jaGlsZF9v Zl9ub2RlKG5vZGUsIHBsYW5lKSB7CisJCXUzMiBwbGFuZV9pZCA9IDA7CisKKwkJaWYgKG9mX25v ZGVfY21wKHBsYW5lLT5uYW1lLCAicGxhbmUiKSAhPSAwKQorCQkJY29udGludWU7CisJCW9mX3By b3BlcnR5X3JlYWRfdTMyKHBsYW5lLCAicmVnIiwgJnBsYW5lX2lkKTsKKwkJaWYgKGlkID09IHBs YW5lX2lkKQorCQkJcmV0dXJuIHBsYW5lOworCX0KKworCXJldHVybiBOVUxMOworfQorCitzdGF0 aWMgaW50IGRpc3BjX3BhcnNlX2R0X3BsYW5lX2RhdGEoc3RydWN0IGRpc3BjX3BsYW5lX21hcHBp bmdzICptYXApCit7CisJc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiA9IGRpc3BjLnBkZXY7 CisJc3RydWN0IGRldmljZV9ub2RlICpucCA9IHBkZXYtPmRldi5vZl9ub2RlOworCXN0cnVjdCBk ZXZpY2Vfbm9kZSAqZXA7CisJc3RydWN0IHByb3BlcnR5ICpwcm9wOworCWNvbnN0IF9fYmUzMiAq Y3VyOworCXUzMiB2OworCXUzMiBudW1fb3ZscyA9IGRpc3BjX2dldF9udW1fb3ZscygpOworCXUz MiBod19wbGFuZV9tYXNrID0gMDsKKwl1MzIgbnVtX3BsYW5lczsKKwlpbnQgaSwgaW5kZXg7CisK KwlpZiAoIW5wKQorCQlyZXR1cm4gMDsKKworCWZvciAoaSA9IDA7IGkgPCBudW1fb3ZsczsgaSsr KSB7CisJCWVwID0gZGlzcGNfb2ZfZ2V0X3BsYW5lX2J5X2lkKG5wLCBpKTsKKwkJaWYgKCFlcCkK KwkJCWJyZWFrOworCQlpZiAoIW9mX3Byb3BlcnR5X3JlYWRfYm9vbChlcCwgInZpZGVvLXBpcGVs aW5lcyIpKSB7CisJCQlkZXZfZXJyKCZwZGV2LT5kZXYsCisJCQkJIm1hbGZvcm1lZCBwbGFuZSBu b2RlOiB2aWRlby1waXBlbGluZXMgbWlzc2luZy5cbiIpOworCQkJcmV0dXJuIC1FSU5WQUw7CisJ CX0KKworCQlpbmRleCA9IDA7CisJCW9mX3Byb3BlcnR5X2Zvcl9lYWNoX3UzMihlcCwgInZpZGVv LXBpcGVsaW5lcyIsIHByb3AsIGN1ciwgdikgeworCQkJaWYgKHYgPj0gbnVtX292bHMpIHsKKwkJ CQlkZXZfZXJyKCZwZGV2LT5kZXYsCisJCQkJCSJ2aWRlby1waXBlbGluZXMgcHJvcGVydHk6ICcl ZCcgb3V0LW9mLXJhbmdlLlxuIiwKKwkJCQkJdik7CisJCQkJcmV0dXJuIC1FSU5WQUw7CisJCQl9 CisJCQlpZiAoaHdfcGxhbmVfbWFzayAmIEJJVF9NQVNLKHYpKSB7CisJCQkJZGV2X2VycigmcGRl di0+ZGV2LAorCQkJCQkidmlkZW8tcGlwZWxpbmVzIHByb3BlcnR5OiAnJWQnIHVzZWQgbW9yZSB0 aGFuIG9uY2UuXG4iLAorCQkJCQl2KTsKKwkJCQlyZXR1cm4gLUVJTlZBTDsKKwkJCX0KKwkJCWh3 X3BsYW5lX21hc2sgfD0gQklUKHYpOworCisJCQlpZiAoaW5kZXggPT0gMCkgeworCQkJCW1hcC0+ cGxhbmVbaV0ubWFpbl9pZCA9IHY7CisJCQl9IGVsc2UgaWYgKGluZGV4ID09IDEpIHsKKwkJCQlt YXAtPnBsYW5lW2ldLmF1eF9pZCA9IHY7CisJCQkJbWFwLT5wbGFuZVtpXS5pc192aXJ0dWFsID0g dHJ1ZTsKKwkJCX0gZWxzZSBpZiAoaW5kZXggPiAxKSB7CisJCQkJZGV2X2VycigmcGRldi0+ZGV2 LAorCQkJCQkidmlkZW8tcGlwZWxpbmVzIHByb3BlcnR5OiBtb3JlIHRoYW4gMiB2YWx1ZXMgc3Bl Y2lmaWVkLlxuIik7CisJCQkJcmV0dXJuIC1FSU5WQUw7CisJCQl9CisJCQlpbmRleCsrOworCQl9 CisKKwkJb2ZfcHJvcGVydHlfZm9yX2VhY2hfdTMyKGVwLCAidmlkZW8tb3V0cHV0cyIsIHByb3As IGN1ciwgdikgeworCQkJaWYgKHYgPj0gZGlzcGNfZ2V0X251bV9tZ3JzKCkpIHsKKwkJCQlkZXZf ZXJyKCZwZGV2LT5kZXYsCisJCQkJCSJ2aWRlby1vdXRwdXRzIHByb3BlcnR5OiAnJWQnIG91dC1v Zi1yYW5nZS5cbiIsCisJCQkJCXYpOworCQkJCXJldHVybiAtRUlOVkFMOworCQkJfQorCQkJbWFw LT5wbGFuZVtpXS5jcnRjX21hc2sgfD0gQklUKHYpOworCQl9CisJfQorCisJbnVtX3BsYW5lcyA9 IGk7CisKKwlpZiAobnVtX3BsYW5lcykgeworCQlkZXZfZGJnKCZwZGV2LT5kZXYsICJQbGFuZSBk ZWZpbml0aW9ucyBmb3VuZCBmcm9tIERUOiIpOworCQlmb3IgKGkgPSAwOyBpIDwgbnVtX3BsYW5l czsgaSsrKSB7CisJCQlpZiAobWFwLT5wbGFuZVtpXS5pc192aXJ0dWFsKSB7CisJCQkJZGV2X2Ri ZygmcGRldi0+ZGV2LAorCQkJCQkicGxhbmUlZDogdmlydHVhbCB2aWRlby1waXBlbGluZXM6ICVk LCAlZCB2aWRlby1vdXRwdXQgbWFzazogMHglMDR4IiwKKwkJCQkJaSwgbWFwLT5wbGFuZVtpXS5t YWluX2lkLAorCQkJCQltYXAtPnBsYW5lW2ldLmF1eF9pZCwKKwkJCQkJbWFwLT5wbGFuZVtpXS5j cnRjX21hc2spOworCQkJfSBlbHNlIHsKKwkJCQlkZXZfZGJnKCZwZGV2LT5kZXYsCisJCQkJCSJw bGFuZSVkOiB2aWRlby1waXBlbGluZXM6ICVkIHZpZGVvLW91dHB1dCBtYXNrOiAweCUwNHgiLAor CQkJCQlpLCBtYXAtPnBsYW5lW2ldLm1haW5faWQsCisJCQkJCW1hcC0+cGxhbmVbaV0uY3J0Y19t YXNrKTsKKwkJCX0KKwkJfQorCX0KKworCW1hcC0+bnVtX3BsYW5lcyA9IG51bV9wbGFuZXM7CisK KwlyZXR1cm4gMDsKK30KKwogLyoKICAqIFdvcmthcm91bmQgZm9yIGVycmF0YSBpNzM0IGluIERT UyBkaXNwYwogICogIC0gTENEMSBHYW1tYSBDb3JyZWN0aW9uIElzIE5vdCBXb3JraW5nIFdoZW4g R0ZYIFBpcGUgSXMgRGlzYWJsZWQKQEAgLTQ1NTIsNiArNDY2MSw3IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgZGlzcGNfb3BzIGRpc3BjX29wcyA9IHsKIAkub3ZsX3NldHVwID0gZGlzcGNfb3ZsX3Nl dHVwLAogCS5vdmxfZ2V0X2NvbG9yX21vZGVzID0gZGlzcGNfb3ZsX2dldF9jb2xvcl9tb2RlcywK IAkub3ZsX2dldF9tYXhfc2l6ZSA9IGRpc3BjX292bF9nZXRfbWF4X3NpemUsCisJLmdldF9wbGFu ZV9tYXBwaW5nID0gZGlzcGNfcGFyc2VfZHRfcGxhbmVfZGF0YSwKIH07CiAKIC8qIERJU1BDIEhX IElQIGluaXRpYWxpc2F0aW9uICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRy bS9kc3Mvb21hcGRzcy5oIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vZHNzL29tYXBkc3MuaApp bmRleCBjNThjNzUyOTIxODIuLmFkMGY3NTFlYzA0NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL29tYXBkcm0vZHNzL29tYXBkc3MuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9k c3Mvb21hcGRzcy5oCkBAIC02MzcsNiArNjM3LDE2IEBAIHZvaWQgb21hcGRzc19zZXRfaXNfaW5p dGlhbGl6ZWQoYm9vbCBzZXQpOwogc3RydWN0IGRldmljZV9ub2RlICpkc3Nfb2ZfcG9ydF9nZXRf cGFyZW50X2RldmljZShzdHJ1Y3QgZGV2aWNlX25vZGUgKnBvcnQpOwogdTMyIGRzc19vZl9wb3J0 X2dldF9wb3J0X251bWJlcihzdHJ1Y3QgZGV2aWNlX25vZGUgKnBvcnQpOwogCitzdHJ1Y3QgZGlz cGNfcGxhbmVfbWFwcGluZ3MgeworCXN0cnVjdCB7CisJCXUzMiBtYWluX2lkOworCQl1MzIgYXV4 X2lkOworCQl1MzIgY3J0Y19tYXNrOworCQlib29sIGlzX3ZpcnR1YWw7CisJfSBwbGFuZVs0XTsK Kwl1MzIgbnVtX3BsYW5lczsKK307CisKIHN0cnVjdCBkc3NfbWdyX29wcyB7CiAJaW50ICgqY29u bmVjdCkoZW51bSBvbWFwX2NoYW5uZWwgY2hhbm5lbCwKIAkJc3RydWN0IG9tYXBfZHNzX2Rldmlj ZSAqZHN0KTsKQEAgLTcyMCw2ICs3MzAsNyBAQCBzdHJ1Y3QgZGlzcGNfb3BzIHsKIAogCWNvbnN0 IHUzMiAqKCpvdmxfZ2V0X2NvbG9yX21vZGVzKShlbnVtIG9tYXBfcGxhbmVfaWQgcGxhbmUpOwog CXZvaWQgKCpvdmxfZ2V0X21heF9zaXplKSh1MTYgKndpZHRoLCB1MTYgKmhlaWdodCk7CisJaW50 ICgqZ2V0X3BsYW5lX21hcHBpbmcpKHN0cnVjdCBkaXNwY19wbGFuZV9tYXBwaW5ncyAqcGxhbmUp OwogfTsKIAogdm9pZCBkaXNwY19zZXRfb3BzKGNvbnN0IHN0cnVjdCBkaXNwY19vcHMgKm8pOwot LSAKMi45LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=