From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko Stuebner Subject: [PATCH v2 7/8] drm/bridge/synopsys: dsi: add dual-dsi support Date: Mon, 18 Jun 2018 12:28:05 +0200 Message-ID: <20180618102806.15650-8-heiko@sntech.de> References: <20180618102806.15650-1-heiko@sntech.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from gloria.sntech.de (gloria.sntech.de [95.129.55.99]) by gabe.freedesktop.org (Postfix) with ESMTPS id B810F6E3AC for ; Mon, 18 Jun 2018 10:28:22 +0000 (UTC) In-Reply-To: <20180618102806.15650-1-heiko@sntech.de> 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: mark.rutland@arm.com, devicetree@vger.kernel.org, briannorris@chromium.org, hoegsberg@gmail.com, philippe.cornu@st.com, yannick.fertre@st.com, linux-rockchip@lists.infradead.org, nickey.yang@rock-chips.com, robh+dt@kernel.org, thierry.reding@gmail.com, laurent.pinchart@ideasonboard.com, mka@chromium.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogTmlja2V5IFlhbmcgPG5pY2tleS55YW5nQHJvY2stY2hpcHMuY29tPgoKQWxsb3cgdG8g YWxzbyBkcml2ZSBhIHNsYXZlIGR3LW1pcGktZHNpIGNvbnRyb2xsZXIgaW4gYSBkdWFsLWRzaQpz ZXR1cC4gVGhpcyB3aWxsIHJlcXVpcmUgYWRkaXRpb25hbCBpbXBsZW1lbnRhdGlvbi1zcGVjaWZp Ywpjb2RlIHRvIGxvb2sgdXAgdGhlIHNsYXZlIGluc3RhbmNlIGFuZCBkbyBzcGVjaWZpYyBzZXR1 cC4KQWxzbyB3aWxsIHByb2JhYmx5IG5lZWQgY29kZSBpbiB0aGUgc3BlY2lmaWMgY3J0Y3MgYXMg ZHVhbC1kc2kKZG9lcyBub3QgZXF1YWwgdHdvIHNlcGFyYXRlIGRzaSBvdXRwdXRzLgoKVG8gYWN0 aXZhdGUsIHRoZSBpbXBsZW1lbnRhdGlvbi1zcGVjaWZpYyBjb2RlIHNob3VsZCBzZXQgdGhlIHNs YXZlCnVzaW5nIGR3X21pcGlfZHNpX3NldF9zbGF2ZSgpIGJlZm9yZSBjYWxsaW5nIF9fZHdfbWlw aV9kc2lfYmluZCgpLgoKdjI6Ci0gZXhwZWN0IHJlYWwgaW50ZXJmYWNlIG51bWJlciBvZiBsYW5l cwotIGtlZXAgbGlua3MgdG8gYm90aCBtYXN0ZXIgYW5kIHNsYXZlCgpTaWduZWQtb2ZmLWJ5OiBO aWNrZXkgWWFuZyA8bmlja2V5LnlhbmdAcm9jay1jaGlwcy5jb20+ClNpZ25lZC1vZmYtYnk6IEhl aWtvIFN0dWVibmVyIDxoZWlrb0BzbnRlY2guZGU+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2JyaWRn ZS9zeW5vcHN5cy9kdy1taXBpLWRzaS5jIHwgOTMgKysrKysrKysrKysrKysrKystLQogaW5jbHVk ZS9kcm0vYnJpZGdlL2R3X21pcGlfZHNpLmggICAgICAgICAgICAgIHwgIDEgKwogMiBmaWxlcyBj aGFuZ2VkLCA4NiBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctbWlwaS1kc2kuYyBiL2RyaXZlcnMvZ3B1 L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctbWlwaS1kc2kuYwppbmRleCBiZDUwM2YwMDBlZDUuLjZh MzQ1ZDFkZGUyNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9k dy1taXBpLWRzaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctbWlw aS1kc2kuYwpAQCAtMjMwLDkgKzIzMCwyMCBAQCBzdHJ1Y3QgZHdfbWlwaV9kc2kgewogCXUzMiBm b3JtYXQ7CiAJdW5zaWduZWQgbG9uZyBtb2RlX2ZsYWdzOwogCisJc3RydWN0IGR3X21pcGlfZHNp ICptYXN0ZXI7IC8qIGR1YWwtZHNpIG1hc3RlciBwdHIgKi8KKwlzdHJ1Y3QgZHdfbWlwaV9kc2kg KnNsYXZlOyAvKiBkdWFsLWRzaSBzbGF2ZSBwdHIgKi8KKwogCWNvbnN0IHN0cnVjdCBkd19taXBp X2RzaV9wbGF0X2RhdGEgKnBsYXRfZGF0YTsKIH07CiAKKy8qCisgKiBDaGVjayBpZiBlaXRoZXIg YSBsaW5rIHRvIGEgbWFzdGVyIG9yIHNsYXZlIGlzIHByZXNlbnQKKyAqLworc3RhdGljIGlubGlu ZSBib29sIGR3X21pcGlfaXNfZHVhbF9tb2RlKHN0cnVjdCBkd19taXBpX2RzaSAqZHNpKQorewor CXJldHVybiBkc2ktPnNsYXZlIHx8IGRzaS0+bWFzdGVyOworfQorCiAvKgogICogVGhlIGNvbnRy b2xsZXIgc2hvdWxkIGdlbmVyYXRlIDIgZnJhbWVzIGJlZm9yZQogICogcHJlcGFyaW5nIHRoZSBw ZXJpcGhlcmFsLgpAQCAtMjczLDE4ICsyODQsMjYgQEAgc3RhdGljIGludCBkd19taXBpX2RzaV9o b3N0X2F0dGFjaChzdHJ1Y3QgbWlwaV9kc2lfaG9zdCAqaG9zdCwKIAlzdHJ1Y3QgZHJtX2JyaWRn ZSAqYnJpZGdlOwogCXN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsOwogCWludCByZXQ7CisJaW50IGxh bmVzID0gZGV2aWNlLT5sYW5lczsKIAotCWlmIChkZXZpY2UtPmxhbmVzID4gZHNpLT5wbGF0X2Rh dGEtPm1heF9kYXRhX2xhbmVzKSB7CisJaWYgKGxhbmVzID4gZHNpLT5wbGF0X2RhdGEtPm1heF9k YXRhX2xhbmVzKSB7CiAJCWRldl9lcnIoZHNpLT5kZXYsICJ0aGUgbnVtYmVyIG9mIGRhdGEgbGFu ZXMoJXUpIGlzIHRvbyBtYW55XG4iLAogCQkJZGV2aWNlLT5sYW5lcyk7CiAJCXJldHVybiAtRUlO VkFMOwogCX0KIAotCWRzaS0+bGFuZXMgPSBkZXZpY2UtPmxhbmVzOworCWRzaS0+bGFuZXMgPSBs YW5lczsKIAlkc2ktPmNoYW5uZWwgPSBkZXZpY2UtPmNoYW5uZWw7CiAJZHNpLT5mb3JtYXQgPSBk ZXZpY2UtPmZvcm1hdDsKIAlkc2ktPm1vZGVfZmxhZ3MgPSBkZXZpY2UtPm1vZGVfZmxhZ3M7CiAK KwlpZiAoZHNpLT5zbGF2ZSkgeworCQlkc2ktPnNsYXZlLT5sYW5lcyA9IGRzaS0+bGFuZXM7CisJ CWRzaS0+c2xhdmUtPmNoYW5uZWwgPSBkc2ktPmNoYW5uZWw7CisJCWRzaS0+c2xhdmUtPmZvcm1h dCA9IGRzaS0+Zm9ybWF0OworCQlkc2ktPnNsYXZlLT5tb2RlX2ZsYWdzID0gZHNpLT5tb2RlX2Zs YWdzOworCX0KKwogCXJldCA9IGRybV9vZl9maW5kX3BhbmVsX29yX2JyaWRnZShob3N0LT5kZXYt Pm9mX25vZGUsIDEsIDAsCiAJCQkJCSAgJnBhbmVsLCAmYnJpZGdlKTsKIAlpZiAocmV0KQpAQCAt NDQxLDEwICs0NjAsMTcgQEAgc3RhdGljIHNzaXplX3QgZHdfbWlwaV9kc2lfaG9zdF90cmFuc2Zl cihzdHJ1Y3QgbWlwaV9kc2lfaG9zdCAqaG9zdCwKIAl9CiAKIAlkd19taXBpX21lc3NhZ2VfY29u ZmlnKGRzaSwgbXNnKTsKKwlpZiAoZHNpLT5zbGF2ZSkKKwkJZHdfbWlwaV9tZXNzYWdlX2NvbmZp Zyhkc2ktPnNsYXZlLCBtc2cpOwogCiAJcmV0ID0gZHdfbWlwaV9kc2lfd3JpdGUoZHNpLCAmcGFj a2V0KTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OworCWlmIChkc2ktPnNsYXZlKSB7CisJCXJl dCA9IGR3X21pcGlfZHNpX3dyaXRlKGRzaS0+c2xhdmUsICZwYWNrZXQpOworCQlpZiAocmV0KQor CQkJcmV0dXJuIHJldDsKKwl9CiAKIAlpZiAobXNnLT5yeF9idWYgJiYgbXNnLT5yeF9sZW4pIHsK IAkJcmV0ID0gZHdfbWlwaV9kc2lfcmVhZChkc2ksIG1zZyk7CkBAIC01ODMsNyArNjA5LDE1IEBA IHN0YXRpYyB2b2lkIGR3X21pcGlfZHNpX3ZpZGVvX3BhY2tldF9jb25maWcoc3RydWN0IGR3X21p cGlfZHNpICpkc2ksCiAJICogRFNJX1ZOUENSLk5QU0laRS4uLiBlc3BlY2lhbGx5IGJlY2F1c2Ug dGhpcyBkcml2ZXIgc3VwcG9ydHMKIAkgKiBub24tYnVyc3QgdmlkZW8gbW9kZXMsIHNlZSBkd19t aXBpX2RzaV92aWRlb19tb2RlX2NvbmZpZygpLi4uCiAJICovCi0JZHNpX3dyaXRlKGRzaSwgRFNJ X1ZJRF9QS1RfU0laRSwgVklEX1BLVF9TSVpFKG1vZGUtPmhkaXNwbGF5KSk7CisKKwlpbnQgcGt0 X3NpemU7CisKKwlpZiAoZHdfbWlwaV9pc19kdWFsX21vZGUoZHNpKSkKKwkJcGt0X3NpemUgPSBW SURfUEtUX1NJWkUobW9kZS0+aGRpc3BsYXkgLyAyKTsKKwllbHNlCisJCXBrdF9zaXplID0gVklE X1BLVF9TSVpFKG1vZGUtPmhkaXNwbGF5KTsKKworCWRzaV93cml0ZShkc2ksIERTSV9WSURfUEtU X1NJWkUsIHBrdF9zaXplKTsKIH0KIAogc3RhdGljIHZvaWQgZHdfbWlwaV9kc2lfY29tbWFuZF9t b2RlX2NvbmZpZyhzdHJ1Y3QgZHdfbWlwaV9kc2kgKmRzaSkKQEAgLTc1NiwyMyArNzkwLDM5IEBA IHN0YXRpYyB2b2lkIGR3X21pcGlfZHNpX2JyaWRnZV9wb3N0X2Rpc2FibGUoc3RydWN0IGRybV9i cmlkZ2UgKmJyaWRnZSkKIAlkc2ktPnBhbmVsX2JyaWRnZS0+ZnVuY3MtPnBvc3RfZGlzYWJsZShk c2ktPnBhbmVsX2JyaWRnZSk7CiAKIAlkd19taXBpX2RzaV9kaXNhYmxlKGRzaSk7CisJaWYgKGRz aS0+c2xhdmUpIHsKKwkJZHdfbWlwaV9kc2lfZGlzYWJsZShkc2ktPnNsYXZlKTsKKwkJY2xrX2Rp c2FibGVfdW5wcmVwYXJlKGRzaS0+c2xhdmUtPnBjbGspOworCQlwbV9ydW50aW1lX3B1dChkc2kt PnNsYXZlLT5kZXYpOworCX0KKwogCWNsa19kaXNhYmxlX3VucHJlcGFyZShkc2ktPnBjbGspOwog CXBtX3J1bnRpbWVfcHV0KGRzaS0+ZGV2KTsKIH0KIAotc3RhdGljIHZvaWQgZHdfbWlwaV9kc2lf YnJpZGdlX21vZGVfc2V0KHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCi0JCQkJCXN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICptb2RlLAotCQkJCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRq dXN0ZWRfbW9kZSkKK3N0YXRpYyB1bnNpZ25lZCBpbnQgZHdfbWlwaV9kc2lfZ2V0X2xhbmVzKHN0 cnVjdCBkd19taXBpX2RzaSAqZHNpKQoreworCWlmIChkc2ktPm1hc3RlcikKKwkJcmV0dXJuIGRz aS0+bWFzdGVyLT5sYW5lcyArIGRzaS0+bGFuZXM7CisKKwlpZiAoZHNpLT5zbGF2ZSkKKwkJcmV0 dXJuIGRzaS0+bGFuZXMgKyBkc2ktPnNsYXZlLT5sYW5lczsKKworCXJldHVybiBkc2ktPmxhbmVz OworfQorCitzdGF0aWMgdm9pZCBkd19taXBpX2RzaV9tb2RlX3NldChzdHJ1Y3QgZHdfbWlwaV9k c2kgKmRzaSwKKwkJCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSkKIHsK LQlzdHJ1Y3QgZHdfbWlwaV9kc2kgKmRzaSA9IGJyaWRnZV90b19kc2koYnJpZGdlKTsKIAljb25z dCBzdHJ1Y3QgZHdfbWlwaV9kc2lfcGh5X29wcyAqcGh5X29wcyA9IGRzaS0+cGxhdF9kYXRhLT5w aHlfb3BzOwogCXZvaWQgKnByaXZfZGF0YSA9IGRzaS0+cGxhdF9kYXRhLT5wcml2X2RhdGE7CiAJ aW50IHJldDsKKwl1MzIgbGFuZXMgPSBkd19taXBpX2RzaV9nZXRfbGFuZXMoZHNpKTsKIAogCWNs a19wcmVwYXJlX2VuYWJsZShkc2ktPnBjbGspOwogCiAJcmV0ID0gcGh5X29wcy0+Z2V0X2xhbmVf bWJwcyhwcml2X2RhdGEsIGFkanVzdGVkX21vZGUsIGRzaS0+bW9kZV9mbGFncywKLQkJCQkgICAg IGRzaS0+bGFuZXMsIGRzaS0+Zm9ybWF0LCAmZHNpLT5sYW5lX21icHMpOworCQkJCSAgICAgbGFu ZXMsIGRzaS0+Zm9ybWF0LCAmZHNpLT5sYW5lX21icHMpOwogCWlmIChyZXQpCiAJCURSTV9ERUJV R19EUklWRVIoIlBoeSBnZXRfbGFuZV9tYnBzKCkgZmFpbGVkXG4iKTsKIApAQCAtODA0LDEyICs4 NTQsMjUgQEAgc3RhdGljIHZvaWQgZHdfbWlwaV9kc2lfYnJpZGdlX21vZGVfc2V0KHN0cnVjdCBk cm1fYnJpZGdlICpicmlkZ2UsCiAJZHdfbWlwaV9kc2lfc2V0X21vZGUoZHNpLCAwKTsKIH0KIAor c3RhdGljIHZvaWQgZHdfbWlwaV9kc2lfYnJpZGdlX21vZGVfc2V0KHN0cnVjdCBkcm1fYnJpZGdl ICpicmlkZ2UsCisJCQkJCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAorCQkJCQlzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSkKK3sKKwlzdHJ1Y3QgZHdfbWlwaV9k c2kgKmRzaSA9IGJyaWRnZV90b19kc2koYnJpZGdlKTsKKworCWR3X21pcGlfZHNpX21vZGVfc2V0 KGRzaSwgYWRqdXN0ZWRfbW9kZSk7CisJaWYgKGRzaS0+c2xhdmUpCisJCWR3X21pcGlfZHNpX21v ZGVfc2V0KGRzaS0+c2xhdmUsIGFkanVzdGVkX21vZGUpOworfQorCiBzdGF0aWMgdm9pZCBkd19t aXBpX2RzaV9icmlkZ2VfZW5hYmxlKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UpCiB7CiAJc3Ry dWN0IGR3X21pcGlfZHNpICpkc2kgPSBicmlkZ2VfdG9fZHNpKGJyaWRnZSk7CiAKIAkvKiBTd2l0 Y2ggdG8gdmlkZW8gbW9kZSBmb3IgcGFuZWwtYnJpZGdlIGVuYWJsZSAmIHBhbmVsIGVuYWJsZSAq LwogCWR3X21pcGlfZHNpX3NldF9tb2RlKGRzaSwgTUlQSV9EU0lfTU9ERV9WSURFTyk7CisJaWYg KGRzaS0+c2xhdmUpCisJCWR3X21pcGlfZHNpX3NldF9tb2RlKGRzaS0+c2xhdmUsIE1JUElfRFNJ X01PREVfVklERU8pOwogfQogCiBzdGF0aWMgZW51bSBkcm1fbW9kZV9zdGF0dXMKQEAgLTk0OSw2 ICsxMDEyLDIwIEBAIHN0YXRpYyB2b2lkIF9fZHdfbWlwaV9kc2lfcmVtb3ZlKHN0cnVjdCBkd19t aXBpX2RzaSAqZHNpKQogCXBtX3J1bnRpbWVfZGlzYWJsZShkc2ktPmRldik7CiB9CiAKK3ZvaWQg ZHdfbWlwaV9kc2lfc2V0X3NsYXZlKHN0cnVjdCBkd19taXBpX2RzaSAqZHNpLCBzdHJ1Y3QgZHdf bWlwaV9kc2kgKnNsYXZlKQoreworCS8qIGludHJvZHVjZSBjb250cm9sbGVycyB0byBlYWNoIG90 aGVyICovCisJZHNpLT5zbGF2ZSA9IHNsYXZlOworCWRzaS0+c2xhdmUtPm1hc3RlciA9IGRzaTsK KworCS8qIG1pZ3JhdGUgc2V0dGluZ3MgZm9yIGFscmVhZHkgYXR0YWNoZWQgZGlzcGxheXMgKi8K Kwlkc2ktPnNsYXZlLT5sYW5lcyA9IGRzaS0+bGFuZXM7CisJZHNpLT5zbGF2ZS0+Y2hhbm5lbCA9 IGRzaS0+Y2hhbm5lbDsKKwlkc2ktPnNsYXZlLT5mb3JtYXQgPSBkc2ktPmZvcm1hdDsKKwlkc2kt PnNsYXZlLT5tb2RlX2ZsYWdzID0gZHNpLT5tb2RlX2ZsYWdzOworfQorRVhQT1JUX1NZTUJPTF9H UEwoZHdfbWlwaV9kc2lfc2V0X3NsYXZlKTsKKwogLyoKICAqIFByb2JlL3JlbW92ZSBBUEksIHVz ZWQgZnJvbSBwbGF0Zm9ybXMgYmFzZWQgb24gdGhlIERSTSBicmlkZ2UgQVBJLgogICovCmRpZmYg LS1naXQgYS9pbmNsdWRlL2RybS9icmlkZ2UvZHdfbWlwaV9kc2kuaCBiL2luY2x1ZGUvZHJtL2Jy aWRnZS9kd19taXBpX2RzaS5oCmluZGV4IDZkN2Y4ZWI1ZDlmMi4uNWZkOTk3Y2RmMjgxIDEwMDY0 NAotLS0gYS9pbmNsdWRlL2RybS9icmlkZ2UvZHdfbWlwaV9kc2kuaAorKysgYi9pbmNsdWRlL2Ry bS9icmlkZ2UvZHdfbWlwaV9kc2kuaApAQCAtMzcsNSArMzcsNiBAQCBzdHJ1Y3QgZHdfbWlwaV9k c2kgKmR3X21pcGlfZHNpX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCiB2b2lk IGR3X21pcGlfZHNpX3JlbW92ZShzdHJ1Y3QgZHdfbWlwaV9kc2kgKmRzaSk7CiBpbnQgZHdfbWlw aV9kc2lfYmluZChzdHJ1Y3QgZHdfbWlwaV9kc2kgKmRzaSwgc3RydWN0IGRybV9lbmNvZGVyICpl bmNvZGVyKTsKIHZvaWQgZHdfbWlwaV9kc2lfdW5iaW5kKHN0cnVjdCBkd19taXBpX2RzaSAqZHNp KTsKK3ZvaWQgZHdfbWlwaV9kc2lfc2V0X3NsYXZlKHN0cnVjdCBkd19taXBpX2RzaSAqZHNpLCBz dHJ1Y3QgZHdfbWlwaV9kc2kgKnNsYXZlKTsKIAogI2VuZGlmIC8qIF9fRFdfTUlQSV9EU0lfXyAq LwotLSAKMi4xNy4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2 ZWwK