From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: [PATCH v3 1/4] drm/omap: Populate DSS children in omapdss driver Date: Sat, 10 Nov 2018 13:16:51 +0200 Message-ID: <20181110111654.4387-2-laurent.pinchart@ideasonboard.com> References: <20181110111654.4387-1-laurent.pinchart@ideasonboard.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181110111654.4387-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: Tony Lindgren , linux-omap@vger.kernel.org, Tomi Valkeinen List-Id: linux-omap@vger.kernel.org VGhlIERTUyBEVCBub2RlIGNvbnRhaW5zIGNoaWxkcmVuIHRoYXQgZGVzY3JpYmUgdGhlIERTUyBj b21wb25lbnRzCihESVNQQyBhbmQgaW50ZXJuYWwgZW5jb2RlcnMpLiBFYWNoIG9mIHRob3NlIGNv bXBvbmVudHMgaXMgaGFuZGxlZCBieSBhCnBsYXRmb3JtIGRyaXZlciwgYW5kIHRodXMgbmVlZHMg dG8gYmUgYmFja2VkIGJ5IGEgcGxhdGZvcm0gZGV2aWNlLgoKVGhlIGNvcnJlc3BvbmRpbmcgcGxh dGZvcm0gZGV2aWNlcyBhcmUgY3JlYXRlZCBpbiBtYWNoLW9tYXAyIGNvZGUgYnkgYQpjYWxsIHRv IG9mX3BsYXRmb3JtX3BvcHVsYXRlKCkuIFdoaWxlIHRoaXMgYXBwcm9hY2ggaGFzIHdvcmtlZCBz byBmYXIsCml0IGRvZXNuJ3QgbW9kZWwgdGhlIGhhcmR3YXJlIGFyY2hpdGVjdHVyZSB2ZXJ5IHdl bGwsIGFzIGl0IGNyZWF0ZXMKY2hpbGQgZGV2aWNlcyBiZWZvcmUgdGhlIHBhcmVudCBpcyByZWFk eSB0byBoYW5kbGUgdGhlbS4gVGhpcyB3b3VsZCBiZQpha2luIHRvIGNyZWF0aW5nIEkyQyBzbGF2 ZXMgYmVmb3JlIHRoZSBJMkMgbWFzdGVyIGlzIGF2YWlsYWJsZS4KClRoZSB0YXNrIGNhbiBiZSBl YXNpbHkgcGVyZm9ybWVkIGluIHRoZSBvbWFwZHNzIGRyaXZlciBjb2RlIGluc3RlYWQsCnNpbXBs aWZ5aW5nIG1hY2gtb21hcDIgY29kZS4gV2UgaG93ZXZlciBjYW4ndCByZW1vdmUgdGhlIG1hY2gt b21hcDIgY29kZQpjb21wbGV0ZWx5IGFzIHRoZSBvbWFwMmZiIGRyaXZlciBzdGlsbCBkZXBlbmRz IG9uIGl0LCBidXQgd2UgY2FuIG1vdmUgaXQKdG8gdGhlIG9tYXAyZmItc3BlY2lmaWMgc2VjdGlv biwgd2hlcmUgaXQgY2FuIHN0YXkgdW50aWwgdGhlIG9tYXAyZmIKZHJpdmVyIGdldHMgcmVtb3Zl ZC4KClRoaXMgaGFzIHRoZSBhZGRlZCBiZW5lZml0IG9mIG5vdCBhbGxvd2luZyBEU1MgY29tcG9u ZW50cyB0byBwcm9iZQpiZWZvcmUgdGhlIERTUyBpdHNlbGYsIHdoaWNoIGxlZCB0byBydW50aW1l IFBNIGlzc3VlcyB3aGVuIHRoZSBEU1MgcHJvYmUKaXMgZGVmZXJyZWQuCgpGaXhlczogMjdkNjI0 NTI3ZDk5ICgiZHJtL29tYXA6IGRzczogQWNxdWlyZSBuZXh0IGRzc2RldiBhdCBwcm9iZSB0aW1l IikKU2lnbmVkLW9mZi1ieTogTGF1cmVudCBQaW5jaGFydCA8bGF1cmVudC5waW5jaGFydEBpZGVh c29uYm9hcmQuY29tPgpBY2tlZC1ieTogVG9ueSBMaW5kZ3JlbiA8dG9ueUBhdG9taWRlLmNvbT4K LS0tCiBhcmNoL2FybS9tYWNoLW9tYXAyL2Rpc3BsYXkuYyAgICAgfCAxMTEgKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvZHNzLmMgfCAg MTEgKystCiAyIGZpbGVzIGNoYW5nZWQsIDYzIGluc2VydGlvbnMoKyksIDU5IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcDIvZGlzcGxheS5jIGIvYXJjaC9hcm0v bWFjaC1vbWFwMi9kaXNwbGF5LmMKaW5kZXggOTUwMGI2ZTI3MzgwLi5mODZiNzJkMWQ1OWUgMTAw NjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcDIvZGlzcGxheS5jCisrKyBiL2FyY2gvYXJtL21h Y2gtb21hcDIvZGlzcGxheS5jCkBAIC0yMDksMTEgKzIwOSw2MSBAQCBzdGF0aWMgaW50IF9faW5p dCBvbWFwZHNzX2luaXRfZmJkZXYodm9pZCkKIAogCXJldHVybiAwOwogfQotI2Vsc2UKLXN0YXRp YyBpbmxpbmUgaW50IG9tYXBkc3NfaW5pdF9mYmRldih2b2lkKQorCitzdGF0aWMgY29uc3QgY2hh ciAqIGNvbnN0IG9tYXBkc3NfY29tcGF0X25hbWVzW10gX19pbml0Y29uc3QgPSB7CisJInRpLG9t YXAyLWRzcyIsCisJInRpLG9tYXAzLWRzcyIsCisJInRpLG9tYXA0LWRzcyIsCisJInRpLG9tYXA1 LWRzcyIsCisJInRpLGRyYTctZHNzIiwKK307CisKK3N0YXRpYyBzdHJ1Y3QgZGV2aWNlX25vZGUg KiBfX2luaXQgb21hcGRzc19maW5kX2Rzc19vZl9ub2RlKHZvaWQpCiB7Ci0JcmV0dXJuIDA7CisJ c3RydWN0IGRldmljZV9ub2RlICpub2RlOworCWludCBpOworCisJZm9yIChpID0gMDsgaSA8IEFS UkFZX1NJWkUob21hcGRzc19jb21wYXRfbmFtZXMpOyArK2kpIHsKKwkJbm9kZSA9IG9mX2ZpbmRf Y29tcGF0aWJsZV9ub2RlKE5VTEwsIE5VTEwsCisJCQlvbWFwZHNzX2NvbXBhdF9uYW1lc1tpXSk7 CisJCWlmIChub2RlKQorCQkJcmV0dXJuIG5vZGU7CisJfQorCisJcmV0dXJuIE5VTEw7CiB9CisK K3N0YXRpYyBpbnQgX19pbml0IG9tYXBkc3NfaW5pdF9vZih2b2lkKQoreworCWludCByOworCXN0 cnVjdCBkZXZpY2Vfbm9kZSAqbm9kZTsKKwlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2Owor CisJLyogb25seSBjcmVhdGUgZHNzIGhlbHBlciBkZXZpY2VzIGlmIGRzcyBpcyBlbmFibGVkIGlu IHRoZSAuZHRzICovCisKKwlub2RlID0gb21hcGRzc19maW5kX2Rzc19vZl9ub2RlKCk7CisJaWYg KCFub2RlKQorCQlyZXR1cm4gMDsKKworCWlmICghb2ZfZGV2aWNlX2lzX2F2YWlsYWJsZShub2Rl KSkKKwkJcmV0dXJuIDA7CisKKwlwZGV2ID0gb2ZfZmluZF9kZXZpY2VfYnlfbm9kZShub2RlKTsK KworCWlmICghcGRldikgeworCQlwcl9lcnIoIlVuYWJsZSB0byBmaW5kIERTUyBwbGF0Zm9ybSBk ZXZpY2VcbiIpOworCQlyZXR1cm4gLUVOT0RFVjsKKwl9CisKKwlyID0gb2ZfcGxhdGZvcm1fcG9w dWxhdGUobm9kZSwgTlVMTCwgTlVMTCwgJnBkZXYtPmRldik7CisJaWYgKHIpIHsKKwkJcHJfZXJy KCJVbmFibGUgdG8gcG9wdWxhdGUgRFNTIHN1Ym1vZHVsZSBkZXZpY2VzXG4iKTsKKwkJcmV0dXJu IHI7CisJfQorCisJcmV0dXJuIG9tYXBkc3NfaW5pdF9mYmRldigpOworfQorb21hcF9kZXZpY2Vf aW5pdGNhbGwob21hcGRzc19pbml0X29mKTsKICNlbmRpZiAvKiBDT05GSUdfRkJfT01BUDIgKi8K IAogc3RhdGljIHZvaWQgZGlzcGNfZGlzYWJsZV9vdXRwdXRzKHZvaWQpCkBAIC0zNjEsNTggKzQx MSwzIEBAIGludCBvbWFwX2Rzc19yZXNldChzdHJ1Y3Qgb21hcF9od21vZCAqb2gpCiAKIAlyZXR1 cm4gcjsKIH0KLQotc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBvbWFwZHNzX2NvbXBhdF9uYW1l c1tdIF9faW5pdGNvbnN0ID0gewotCSJ0aSxvbWFwMi1kc3MiLAotCSJ0aSxvbWFwMy1kc3MiLAot CSJ0aSxvbWFwNC1kc3MiLAotCSJ0aSxvbWFwNS1kc3MiLAotCSJ0aSxkcmE3LWRzcyIsCi19Owot Ci1zdGF0aWMgc3RydWN0IGRldmljZV9ub2RlICogX19pbml0IG9tYXBkc3NfZmluZF9kc3Nfb2Zf bm9kZSh2b2lkKQotewotCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbm9kZTsKLQlpbnQgaTsKLQotCWZv ciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKG9tYXBkc3NfY29tcGF0X25hbWVzKTsgKytpKSB7Ci0J CW5vZGUgPSBvZl9maW5kX2NvbXBhdGlibGVfbm9kZShOVUxMLCBOVUxMLAotCQkJb21hcGRzc19j b21wYXRfbmFtZXNbaV0pOwotCQlpZiAobm9kZSkKLQkJCXJldHVybiBub2RlOwotCX0KLQotCXJl dHVybiBOVUxMOwotfQotCi1zdGF0aWMgaW50IF9faW5pdCBvbWFwZHNzX2luaXRfb2Yodm9pZCkK LXsKLQlpbnQgcjsKLQlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGU7Ci0Jc3RydWN0IHBsYXRmb3Jt X2RldmljZSAqcGRldjsKLQotCS8qIG9ubHkgY3JlYXRlIGRzcyBoZWxwZXIgZGV2aWNlcyBpZiBk c3MgaXMgZW5hYmxlZCBpbiB0aGUgLmR0cyAqLwotCi0Jbm9kZSA9IG9tYXBkc3NfZmluZF9kc3Nf b2Zfbm9kZSgpOwotCWlmICghbm9kZSkKLQkJcmV0dXJuIDA7Ci0KLQlpZiAoIW9mX2RldmljZV9p c19hdmFpbGFibGUobm9kZSkpCi0JCXJldHVybiAwOwotCi0JcGRldiA9IG9mX2ZpbmRfZGV2aWNl X2J5X25vZGUobm9kZSk7Ci0KLQlpZiAoIXBkZXYpIHsKLQkJcHJfZXJyKCJVbmFibGUgdG8gZmlu ZCBEU1MgcGxhdGZvcm0gZGV2aWNlXG4iKTsKLQkJcmV0dXJuIC1FTk9ERVY7Ci0JfQotCi0JciA9 IG9mX3BsYXRmb3JtX3BvcHVsYXRlKG5vZGUsIE5VTEwsIE5VTEwsICZwZGV2LT5kZXYpOwotCWlm IChyKSB7Ci0JCXByX2VycigiVW5hYmxlIHRvIHBvcHVsYXRlIERTUyBzdWJtb2R1bGUgZGV2aWNl c1xuIik7Ci0JCXJldHVybiByOwotCX0KLQotCXJldHVybiBvbWFwZHNzX2luaXRfZmJkZXYoKTsK LX0KLW9tYXBfZGV2aWNlX2luaXRjYWxsKG9tYXBkc3NfaW5pdF9vZik7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vb21hcGRybS9kc3MvZHNzLmMgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRy bS9kc3MvZHNzLmMKaW5kZXggMWFhZjI2MGFhOWI4Li43NTUzYzdmYzFjNDUgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL2Rzcy9kc3MuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v b21hcGRybS9kc3MvZHNzLmMKQEAgLTE0ODQsMTYgKzE0ODQsMjMgQEAgc3RhdGljIGludCBkc3Nf cHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAkJCQkJCSAgIGRzcyk7CiAKIAkv KiBBZGQgYWxsIHRoZSBjaGlsZCBkZXZpY2VzIGFzIGNvbXBvbmVudHMuICovCisJciA9IG9mX3Bs YXRmb3JtX3BvcHVsYXRlKHBkZXYtPmRldi5vZl9ub2RlLCBOVUxMLCBOVUxMLCAmcGRldi0+ZGV2 KTsKKwlpZiAocikKKwkJZ290byBlcnJfdW5pbml0X2RlYnVnZnM7CisKIAlvbWFwZHNzX2dhdGhl cl9jb21wb25lbnRzKCZwZGV2LT5kZXYpOwogCiAJZGV2aWNlX2Zvcl9lYWNoX2NoaWxkKCZwZGV2 LT5kZXYsICZtYXRjaCwgZHNzX2FkZF9jaGlsZF9jb21wb25lbnQpOwogCiAJciA9IGNvbXBvbmVu dF9tYXN0ZXJfYWRkX3dpdGhfbWF0Y2goJnBkZXYtPmRldiwgJmRzc19jb21wb25lbnRfb3BzLCBt YXRjaCk7CiAJaWYgKHIpCi0JCWdvdG8gZXJyX3VuaW5pdF9kZWJ1Z2ZzOworCQlnb3RvIGVycl9v Zl9kZXBvcHVsYXRlOwogCiAJcmV0dXJuIDA7CiAKK2Vycl9vZl9kZXBvcHVsYXRlOgorCW9mX3Bs YXRmb3JtX2RlcG9wdWxhdGUoJnBkZXYtPmRldik7CisKIGVycl91bmluaXRfZGVidWdmczoKIAlk c3NfZGVidWdmc19yZW1vdmVfZmlsZShkc3MtPmRlYnVnZnMuY2xrKTsKIAlkc3NfZGVidWdmc19y ZW1vdmVfZmlsZShkc3MtPmRlYnVnZnMuZHNzKTsKQEAgLTE1MjIsNiArMTUyOSw4IEBAIHN0YXRp YyBpbnQgZHNzX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogewogCXN0cnVj dCBkc3NfZGV2aWNlICpkc3MgPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2KTsKIAorCW9mX3Bs YXRmb3JtX2RlcG9wdWxhdGUoJnBkZXYtPmRldik7CisKIAljb21wb25lbnRfbWFzdGVyX2RlbCgm cGRldi0+ZGV2LCAmZHNzX2NvbXBvbmVudF9vcHMpOwogCiAJZHNzX2RlYnVnZnNfcmVtb3ZlX2Zp bGUoZHNzLT5kZWJ1Z2ZzLmNsayk7Ci0tIApSZWdhcmRzLAoKTGF1cmVudCBQaW5jaGFydAoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1h aWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==