From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko Stuebner Subject: [PATCH v5 6/7] drm/bridge/synopsys: dsi: add dual-dsi support Date: Tue, 21 Aug 2018 16:05:14 +0200 Message-ID: <20180821140515.22246-7-heiko@sntech.de> References: <20180821140515.22246-1-heiko@sntech.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180821140515.22246-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, seanpaul@chromium.org, mka@chromium.org List-Id: devicetree@vger.kernel.org RnJvbTogTmlja2V5IFlhbmcgPG5pY2tleS55YW5nQHJvY2stY2hpcHMuY29tPgoKQWxsb3cgdG8g YWxzbyBkcml2ZSBhIHNsYXZlIGR3LW1pcGktZHNpIGNvbnRyb2xsZXIgaW4gYSBkdWFsLWRzaQpz ZXR1cC4gVGhpcyB3aWxsIHJlcXVpcmUgYWRkaXRpb25hbCBpbXBsZW1lbnRhdGlvbi1zcGVjaWZp Ywpjb2RlIHRvIGxvb2sgdXAgdGhlIHNsYXZlIGluc3RhbmNlIGFuZCBkbyBzcGVjaWZpYyBzZXR1 cC4KQWxzbyB3aWxsIHByb2JhYmx5IG5lZWQgY29kZSBpbiB0aGUgc3BlY2lmaWMgY3J0Y3MgYXMg ZHVhbC1kc2kKZG9lcyBub3QgZXF1YWwgdHdvIHNlcGFyYXRlIGRzaSBvdXRwdXRzLgoKVG8gYWN0 aXZhdGUsIHRoZSBpbXBsZW1lbnRhdGlvbi1zcGVjaWZpYyBjb2RlIHNob3VsZCBzZXQgdGhlIHNs YXZlCnVzaW5nIGR3X21pcGlfZHNpX3NldF9zbGF2ZSgpIGJlZm9yZSBjYWxsaW5nIF9fZHdfbWlw aV9kc2lfYmluZCgpLgoKdjI6Ci0gZXhwZWN0IHJlYWwgaW50ZXJmYWNlIG51bWJlciBvZiBsYW5l cwotIGtlZXAgbGlua3MgdG8gYm90aCBtYXN0ZXIgYW5kIHNsYXZlCnYzOgotIHJlbW92ZSB1bm5l ZWRlZCBzZXBhcmF0ZSB2YXJpYWJsZXMKLSByZW1vdmUgdW5uZWVkZWQgc2Vjb25kIHNsYXZlIHNl dHRpbmdzCi0gZGlzYWJsZSBzbGF2ZSBiZWZvcmUgbWFzdGVyCi0gbGFuZS1zdW0gY2FsY3VsYXRp b24gY29tbWVudHMKClNpZ25lZC1vZmYtYnk6IE5pY2tleSBZYW5nIDxuaWNrZXkueWFuZ0Byb2Nr LWNoaXBzLmNvbT4KU2lnbmVkLW9mZi1ieTogSGVpa28gU3R1ZWJuZXIgPGhlaWtvQHNudGVjaC5k ZT4KVGVzdGVkLWJ5OiBQaGlsaXBwZSBDb3JudSA8cGhpbGlwcGUuY29ybnVAc3QuY29tPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctbWlwaS1kc2kuYyB8IDgwICsrKysr KysrKysrKysrKysrLS0KIGluY2x1ZGUvZHJtL2JyaWRnZS9kd19taXBpX2RzaS5oICAgICAgICAg ICAgICB8ICAxICsKIDIgZmlsZXMgY2hhbmdlZCwgNzUgaW5zZXJ0aW9ucygrKSwgNiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LW1p cGktZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LW1pcGktZHNpLmMK aW5kZXggMzk2MmU1ZDg0ZTFlLi4yZjRiMTQ1YjczYWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9icmlkZ2Uvc3lub3BzeXMvZHctbWlwaS1kc2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v YnJpZGdlL3N5bm9wc3lzL2R3LW1pcGktZHNpLmMKQEAgLTIzMCw5ICsyMzAsMjAgQEAgc3RydWN0 IGR3X21pcGlfZHNpIHsKIAl1MzIgZm9ybWF0OwogCXVuc2lnbmVkIGxvbmcgbW9kZV9mbGFnczsK IAorCXN0cnVjdCBkd19taXBpX2RzaSAqbWFzdGVyOyAvKiBkdWFsLWRzaSBtYXN0ZXIgcHRyICov CisJc3RydWN0IGR3X21pcGlfZHNpICpzbGF2ZTsgLyogZHVhbC1kc2kgc2xhdmUgcHRyICovCisK IAljb25zdCBzdHJ1Y3QgZHdfbWlwaV9kc2lfcGxhdF9kYXRhICpwbGF0X2RhdGE7CiB9OwogCisv KgorICogQ2hlY2sgaWYgZWl0aGVyIGEgbGluayB0byBhIG1hc3RlciBvciBzbGF2ZSBpcyBwcmVz ZW50CisgKi8KK3N0YXRpYyBpbmxpbmUgYm9vbCBkd19taXBpX2lzX2R1YWxfbW9kZShzdHJ1Y3Qg ZHdfbWlwaV9kc2kgKmRzaSkKK3sKKwlyZXR1cm4gZHNpLT5zbGF2ZSB8fCBkc2ktPm1hc3RlcjsK K30KKwogLyoKICAqIFRoZSBjb250cm9sbGVyIHNob3VsZCBnZW5lcmF0ZSAyIGZyYW1lcyBiZWZv cmUKICAqIHByZXBhcmluZyB0aGUgcGVyaXBoZXJhbC4KQEAgLTQ1NiwxMCArNDY3LDE3IEBAIHN0 YXRpYyBzc2l6ZV90IGR3X21pcGlfZHNpX2hvc3RfdHJhbnNmZXIoc3RydWN0IG1pcGlfZHNpX2hv c3QgKmhvc3QsCiAJfQogCiAJZHdfbWlwaV9tZXNzYWdlX2NvbmZpZyhkc2ksIG1zZyk7CisJaWYg KGRzaS0+c2xhdmUpCisJCWR3X21pcGlfbWVzc2FnZV9jb25maWcoZHNpLT5zbGF2ZSwgbXNnKTsK IAogCXJldCA9IGR3X21pcGlfZHNpX3dyaXRlKGRzaSwgJnBhY2tldCk7CiAJaWYgKHJldCkKIAkJ cmV0dXJuIHJldDsKKwlpZiAoZHNpLT5zbGF2ZSkgeworCQlyZXQgPSBkd19taXBpX2RzaV93cml0 ZShkc2ktPnNsYXZlLCAmcGFja2V0KTsKKwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7CisJfQog CiAJaWYgKG1zZy0+cnhfYnVmICYmIG1zZy0+cnhfbGVuKSB7CiAJCXJldCA9IGR3X21pcGlfZHNp X3JlYWQoZHNpLCBtc2cpOwpAQCAtNTk4LDcgKzYxNiwxMSBAQCBzdGF0aWMgdm9pZCBkd19taXBp X2RzaV92aWRlb19wYWNrZXRfY29uZmlnKHN0cnVjdCBkd19taXBpX2RzaSAqZHNpLAogCSAqIERT SV9WTlBDUi5OUFNJWkUuLi4gZXNwZWNpYWxseSBiZWNhdXNlIHRoaXMgZHJpdmVyIHN1cHBvcnRz CiAJICogbm9uLWJ1cnN0IHZpZGVvIG1vZGVzLCBzZWUgZHdfbWlwaV9kc2lfdmlkZW9fbW9kZV9j b25maWcoKS4uLgogCSAqLwotCWRzaV93cml0ZShkc2ksIERTSV9WSURfUEtUX1NJWkUsIFZJRF9Q S1RfU0laRShtb2RlLT5oZGlzcGxheSkpOworCisJZHNpX3dyaXRlKGRzaSwgRFNJX1ZJRF9QS1Rf U0laRSwKKwkJICAgICAgIGR3X21pcGlfaXNfZHVhbF9tb2RlKGRzaSkgPworCQkJCVZJRF9QS1Rf U0laRShtb2RlLT5oZGlzcGxheSAvIDIpIDoKKwkJCQlWSURfUEtUX1NJWkUobW9kZS0+aGRpc3Bs YXkpKTsKIH0KIAogc3RhdGljIHZvaWQgZHdfbWlwaV9kc2lfY29tbWFuZF9tb2RlX2NvbmZpZyhz dHJ1Y3QgZHdfbWlwaV9kc2kgKmRzaSkKQEAgLTc3MCwyNCArNzkyLDQzIEBAIHN0YXRpYyB2b2lk IGR3X21pcGlfZHNpX2JyaWRnZV9wb3N0X2Rpc2FibGUoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRn ZSkKIAkgKi8KIAlkc2ktPnBhbmVsX2JyaWRnZS0+ZnVuY3MtPnBvc3RfZGlzYWJsZShkc2ktPnBh bmVsX2JyaWRnZSk7CiAKKwlpZiAoZHNpLT5zbGF2ZSkgeworCQlkd19taXBpX2RzaV9kaXNhYmxl KGRzaS0+c2xhdmUpOworCQljbGtfZGlzYWJsZV91bnByZXBhcmUoZHNpLT5zbGF2ZS0+cGNsayk7 CisJCXBtX3J1bnRpbWVfcHV0KGRzaS0+c2xhdmUtPmRldik7CisJfQogCWR3X21pcGlfZHNpX2Rp c2FibGUoZHNpKTsKKwogCWNsa19kaXNhYmxlX3VucHJlcGFyZShkc2ktPnBjbGspOwogCXBtX3J1 bnRpbWVfcHV0KGRzaS0+ZGV2KTsKIH0KIAotc3RhdGljIHZvaWQgZHdfbWlwaV9kc2lfYnJpZGdl X21vZGVfc2V0KHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCi0JCQkJCXN0cnVjdCBkcm1fZGlz cGxheV9tb2RlICptb2RlLAotCQkJCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRf bW9kZSkKK3N0YXRpYyB1bnNpZ25lZCBpbnQgZHdfbWlwaV9kc2lfZ2V0X2xhbmVzKHN0cnVjdCBk d19taXBpX2RzaSAqZHNpKQoreworCS8qIHRoaXMgaW5zdGFuY2UgaXMgdGhlIHNsYXZlLCBzbyBh ZGQgdGhlIG1hc3RlcidzIGxhbmVzICovCisJaWYgKGRzaS0+bWFzdGVyKQorCQlyZXR1cm4gZHNp LT5tYXN0ZXItPmxhbmVzICsgZHNpLT5sYW5lczsKKworCS8qIHRoaXMgaW5zdGFuY2UgaXMgdGhl IG1hc3Rlciwgc28gYWRkIHRoZSBzbGF2ZSdzIGxhbmVzICovCisJaWYgKGRzaS0+c2xhdmUpCisJ CXJldHVybiBkc2ktPmxhbmVzICsgZHNpLT5zbGF2ZS0+bGFuZXM7CisKKwkvKiBzaW5nbGUtZHNp LCBzbyBubyBvdGhlciBpbnN0YW5jZSB0byBjb25zaWRlciAqLworCXJldHVybiBkc2ktPmxhbmVz OworfQorCitzdGF0aWMgdm9pZCBkd19taXBpX2RzaV9tb2RlX3NldChzdHJ1Y3QgZHdfbWlwaV9k c2kgKmRzaSwKKwkJCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSkKIHsK LQlzdHJ1Y3QgZHdfbWlwaV9kc2kgKmRzaSA9IGJyaWRnZV90b19kc2koYnJpZGdlKTsKIAljb25z dCBzdHJ1Y3QgZHdfbWlwaV9kc2lfcGh5X29wcyAqcGh5X29wcyA9IGRzaS0+cGxhdF9kYXRhLT5w aHlfb3BzOwogCXZvaWQgKnByaXZfZGF0YSA9IGRzaS0+cGxhdF9kYXRhLT5wcml2X2RhdGE7CiAJ aW50IHJldDsKKwl1MzIgbGFuZXMgPSBkd19taXBpX2RzaV9nZXRfbGFuZXMoZHNpKTsKIAogCWNs a19wcmVwYXJlX2VuYWJsZShkc2ktPnBjbGspOwogCiAJcmV0ID0gcGh5X29wcy0+Z2V0X2xhbmVf bWJwcyhwcml2X2RhdGEsIGFkanVzdGVkX21vZGUsIGRzaS0+bW9kZV9mbGFncywKLQkJCQkgICAg IGRzaS0+bGFuZXMsIGRzaS0+Zm9ybWF0LCAmZHNpLT5sYW5lX21icHMpOworCQkJCSAgICAgbGFu ZXMsIGRzaS0+Zm9ybWF0LCAmZHNpLT5sYW5lX21icHMpOwogCWlmIChyZXQpCiAJCURSTV9ERUJV R19EUklWRVIoIlBoeSBnZXRfbGFuZV9tYnBzKCkgZmFpbGVkXG4iKTsKIApAQCAtODE5LDEyICs4 NjAsMjUgQEAgc3RhdGljIHZvaWQgZHdfbWlwaV9kc2lfYnJpZGdlX21vZGVfc2V0KHN0cnVjdCBk cm1fYnJpZGdlICpicmlkZ2UsCiAJZHdfbWlwaV9kc2lfc2V0X21vZGUoZHNpLCAwKTsKIH0KIAor c3RhdGljIHZvaWQgZHdfbWlwaV9kc2lfYnJpZGdlX21vZGVfc2V0KHN0cnVjdCBkcm1fYnJpZGdl ICpicmlkZ2UsCisJCQkJCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAorCQkJCQlzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9kZSkKK3sKKwlzdHJ1Y3QgZHdfbWlwaV9k c2kgKmRzaSA9IGJyaWRnZV90b19kc2koYnJpZGdlKTsKKworCWR3X21pcGlfZHNpX21vZGVfc2V0 KGRzaSwgYWRqdXN0ZWRfbW9kZSk7CisJaWYgKGRzaS0+c2xhdmUpCisJCWR3X21pcGlfZHNpX21v ZGVfc2V0KGRzaS0+c2xhdmUsIGFkanVzdGVkX21vZGUpOworfQorCiBzdGF0aWMgdm9pZCBkd19t aXBpX2RzaV9icmlkZ2VfZW5hYmxlKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UpCiB7CiAJc3Ry dWN0IGR3X21pcGlfZHNpICpkc2kgPSBicmlkZ2VfdG9fZHNpKGJyaWRnZSk7CiAKIAkvKiBTd2l0 Y2ggdG8gdmlkZW8gbW9kZSBmb3IgcGFuZWwtYnJpZGdlIGVuYWJsZSAmIHBhbmVsIGVuYWJsZSAq LwogCWR3X21pcGlfZHNpX3NldF9tb2RlKGRzaSwgTUlQSV9EU0lfTU9ERV9WSURFTyk7CisJaWYg KGRzaS0+c2xhdmUpCisJCWR3X21pcGlfZHNpX3NldF9tb2RlKGRzaS0+c2xhdmUsIE1JUElfRFNJ X01PREVfVklERU8pOwogfQogCiBzdGF0aWMgZW51bSBkcm1fbW9kZV9zdGF0dXMKQEAgLTk2MSw2 ICsxMDE1LDIwIEBAIHN0YXRpYyB2b2lkIF9fZHdfbWlwaV9kc2lfcmVtb3ZlKHN0cnVjdCBkd19t aXBpX2RzaSAqZHNpKQogCXBtX3J1bnRpbWVfZGlzYWJsZShkc2ktPmRldik7CiB9CiAKK3ZvaWQg ZHdfbWlwaV9kc2lfc2V0X3NsYXZlKHN0cnVjdCBkd19taXBpX2RzaSAqZHNpLCBzdHJ1Y3QgZHdf bWlwaV9kc2kgKnNsYXZlKQoreworCS8qIGludHJvZHVjZSBjb250cm9sbGVycyB0byBlYWNoIG90 aGVyICovCisJZHNpLT5zbGF2ZSA9IHNsYXZlOworCWRzaS0+c2xhdmUtPm1hc3RlciA9IGRzaTsK KworCS8qIG1pZ3JhdGUgc2V0dGluZ3MgZm9yIGFscmVhZHkgYXR0YWNoZWQgZGlzcGxheXMgKi8K Kwlkc2ktPnNsYXZlLT5sYW5lcyA9IGRzaS0+bGFuZXM7CisJZHNpLT5zbGF2ZS0+Y2hhbm5lbCA9 IGRzaS0+Y2hhbm5lbDsKKwlkc2ktPnNsYXZlLT5mb3JtYXQgPSBkc2ktPmZvcm1hdDsKKwlkc2kt PnNsYXZlLT5tb2RlX2ZsYWdzID0gZHNpLT5tb2RlX2ZsYWdzOworfQorRVhQT1JUX1NZTUJPTF9H UEwoZHdfbWlwaV9kc2lfc2V0X3NsYXZlKTsKKwogLyoKICAqIFByb2JlL3JlbW92ZSBBUEksIHVz ZWQgZnJvbSBwbGF0Zm9ybXMgYmFzZWQgb24gdGhlIERSTSBicmlkZ2UgQVBJLgogICovCmRpZmYg LS1naXQgYS9pbmNsdWRlL2RybS9icmlkZ2UvZHdfbWlwaV9kc2kuaCBiL2luY2x1ZGUvZHJtL2Jy aWRnZS9kd19taXBpX2RzaS5oCmluZGV4IGE5YzAzMDk5Y2YzZS4uNDhhNjcxZTc4MmNhIDEwMDY0 NAotLS0gYS9pbmNsdWRlL2RybS9icmlkZ2UvZHdfbWlwaV9kc2kuaAorKysgYi9pbmNsdWRlL2Ry bS9icmlkZ2UvZHdfbWlwaV9kc2kuaApAQCAtNDUsNSArNDUsNiBAQCBzdHJ1Y3QgZHdfbWlwaV9k c2kgKmR3X21pcGlfZHNpX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCiB2b2lk IGR3X21pcGlfZHNpX3JlbW92ZShzdHJ1Y3QgZHdfbWlwaV9kc2kgKmRzaSk7CiBpbnQgZHdfbWlw aV9kc2lfYmluZChzdHJ1Y3QgZHdfbWlwaV9kc2kgKmRzaSwgc3RydWN0IGRybV9lbmNvZGVyICpl bmNvZGVyKTsKIHZvaWQgZHdfbWlwaV9kc2lfdW5iaW5kKHN0cnVjdCBkd19taXBpX2RzaSAqZHNp KTsKK3ZvaWQgZHdfbWlwaV9kc2lfc2V0X3NsYXZlKHN0cnVjdCBkd19taXBpX2RzaSAqZHNpLCBz dHJ1Y3QgZHdfbWlwaV9kc2kgKnNsYXZlKTsKIAogI2VuZGlmIC8qIF9fRFdfTUlQSV9EU0lfXyAq LwotLSAKMi4xNy4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2 ZWwK