From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko Stuebner Subject: [PATCH v6 6/7] drm/bridge/synopsys: dsi: add dual-dsi support Date: Mon, 1 Oct 2018 14:38:44 +0200 Message-ID: <20181001123845.11818-7-heiko@sntech.de> References: <20181001123845.11818-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 [185.11.138.130]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1A22389C89 for ; Mon, 1 Oct 2018 12:39:04 +0000 (UTC) In-Reply-To: <20181001123845.11818-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: architt@codeaurora.org, hjc@rock-chips.com, a.hajda@samsung.com Cc: briannorris@chromium.org, hoegsberg@gmail.com, philippe.cornu@st.com, dri-devel@lists.freedesktop.org, yannick.fertre@st.com, linux-rockchip@lists.infradead.org, nickey.yang@rock-chips.com, mka@chromium.org, seanpaul@chromium.org, linux-arm-kernel@lists.infradead.org List-Id: dri-devel@lists.freedesktop.org RnJvbTogTmlja2V5IFlhbmcgPG5pY2tleS55YW5nQHJvY2stY2hpcHMuY29tPgoKQWxsb3cgdG8g YWxzbyBkcml2ZSBhIHNsYXZlIGR3LW1pcGktZHNpIGNvbnRyb2xsZXIgaW4gYSBkdWFsLWRzaQpz ZXR1cC4gVGhpcyB3aWxsIHJlcXVpcmUgYWRkaXRpb25hbCBpbXBsZW1lbnRhdGlvbi1zcGVjaWZp Ywpjb2RlIHRvIGxvb2sgdXAgdGhlIHNsYXZlIGluc3RhbmNlIGFuZCBkbyBzcGVjaWZpYyBzZXR1 cC4KQWxzbyB3aWxsIHByb2JhYmx5IG5lZWQgY29kZSBpbiB0aGUgc3BlY2lmaWMgY3J0Y3MgYXMg ZHVhbC1kc2kKZG9lcyBub3QgZXF1YWwgdHdvIHNlcGFyYXRlIGRzaSBvdXRwdXRzLgoKVG8gYWN0 aXZhdGUsIHRoZSBpbXBsZW1lbnRhdGlvbi1zcGVjaWZpYyBjb2RlIHNob3VsZCBzZXQgdGhlIHNs YXZlCnVzaW5nIGR3X21pcGlfZHNpX3NldF9zbGF2ZSgpIGJlZm9yZSBjYWxsaW5nIF9fZHdfbWlw aV9kc2lfYmluZCgpLgoKdjI6Ci0gZXhwZWN0IHJlYWwgaW50ZXJmYWNlIG51bWJlciBvZiBsYW5l cwotIGtlZXAgbGlua3MgdG8gYm90aCBtYXN0ZXIgYW5kIHNsYXZlCnYzOgotIHJlbW92ZSB1bm5l ZWRlZCBzZXBhcmF0ZSB2YXJpYWJsZXMKLSByZW1vdmUgdW5uZWVkZWQgc2Vjb25kIHNsYXZlIHNl dHRpbmdzCi0gZGlzYWJsZSBzbGF2ZSBiZWZvcmUgbWFzdGVyCi0gbGFuZS1zdW0gY2FsY3VsYXRp b24gY29tbWVudHMKClNpZ25lZC1vZmYtYnk6IE5pY2tleSBZYW5nIDxuaWNrZXkueWFuZ0Byb2Nr LWNoaXBzLmNvbT4KU2lnbmVkLW9mZi1ieTogSGVpa28gU3R1ZWJuZXIgPGhlaWtvQHNudGVjaC5k ZT4KVGVzdGVkLWJ5OiBQaGlsaXBwZSBDb3JudSA8cGhpbGlwcGUuY29ybnVAc3QuY29tPgpSZXZp ZXdlZC1ieTogQW5kcnplaiBIYWpkYSA8YS5oYWpkYUBzYW1zdW5nLmNvbT4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LW1pcGktZHNpLmMgfCA4MCArKysrKysrKysrKysr KysrKy0tCiBpbmNsdWRlL2RybS9icmlkZ2UvZHdfbWlwaV9kc2kuaCAgICAgICAgICAgICAgfCAg MSArCiAyIGZpbGVzIGNoYW5nZWQsIDc1IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1taXBpLWRzaS5j IGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1taXBpLWRzaS5jCmluZGV4IDM5 NjJlNWQ4NGUxZS4uMmY0YjE0NWI3M2FmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJp ZGdlL3N5bm9wc3lzL2R3LW1pcGktZHNpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9z eW5vcHN5cy9kdy1taXBpLWRzaS5jCkBAIC0yMzAsOSArMjMwLDIwIEBAIHN0cnVjdCBkd19taXBp X2RzaSB7CiAJdTMyIGZvcm1hdDsKIAl1bnNpZ25lZCBsb25nIG1vZGVfZmxhZ3M7CiAKKwlzdHJ1 Y3QgZHdfbWlwaV9kc2kgKm1hc3RlcjsgLyogZHVhbC1kc2kgbWFzdGVyIHB0ciAqLworCXN0cnVj dCBkd19taXBpX2RzaSAqc2xhdmU7IC8qIGR1YWwtZHNpIHNsYXZlIHB0ciAqLworCiAJY29uc3Qg c3RydWN0IGR3X21pcGlfZHNpX3BsYXRfZGF0YSAqcGxhdF9kYXRhOwogfTsKIAorLyoKKyAqIENo ZWNrIGlmIGVpdGhlciBhIGxpbmsgdG8gYSBtYXN0ZXIgb3Igc2xhdmUgaXMgcHJlc2VudAorICov CitzdGF0aWMgaW5saW5lIGJvb2wgZHdfbWlwaV9pc19kdWFsX21vZGUoc3RydWN0IGR3X21pcGlf ZHNpICpkc2kpCit7CisJcmV0dXJuIGRzaS0+c2xhdmUgfHwgZHNpLT5tYXN0ZXI7Cit9CisKIC8q CiAgKiBUaGUgY29udHJvbGxlciBzaG91bGQgZ2VuZXJhdGUgMiBmcmFtZXMgYmVmb3JlCiAgKiBw cmVwYXJpbmcgdGhlIHBlcmlwaGVyYWwuCkBAIC00NTYsMTAgKzQ2NywxNyBAQCBzdGF0aWMgc3Np emVfdCBkd19taXBpX2RzaV9ob3N0X3RyYW5zZmVyKHN0cnVjdCBtaXBpX2RzaV9ob3N0ICpob3N0 LAogCX0KIAogCWR3X21pcGlfbWVzc2FnZV9jb25maWcoZHNpLCBtc2cpOworCWlmIChkc2ktPnNs YXZlKQorCQlkd19taXBpX21lc3NhZ2VfY29uZmlnKGRzaS0+c2xhdmUsIG1zZyk7CiAKIAlyZXQg PSBkd19taXBpX2RzaV93cml0ZShkc2ksICZwYWNrZXQpOwogCWlmIChyZXQpCiAJCXJldHVybiBy ZXQ7CisJaWYgKGRzaS0+c2xhdmUpIHsKKwkJcmV0ID0gZHdfbWlwaV9kc2lfd3JpdGUoZHNpLT5z bGF2ZSwgJnBhY2tldCk7CisJCWlmIChyZXQpCisJCQlyZXR1cm4gcmV0OworCX0KIAogCWlmICht c2ctPnJ4X2J1ZiAmJiBtc2ctPnJ4X2xlbikgewogCQlyZXQgPSBkd19taXBpX2RzaV9yZWFkKGRz aSwgbXNnKTsKQEAgLTU5OCw3ICs2MTYsMTEgQEAgc3RhdGljIHZvaWQgZHdfbWlwaV9kc2lfdmlk ZW9fcGFja2V0X2NvbmZpZyhzdHJ1Y3QgZHdfbWlwaV9kc2kgKmRzaSwKIAkgKiBEU0lfVk5QQ1Iu TlBTSVpFLi4uIGVzcGVjaWFsbHkgYmVjYXVzZSB0aGlzIGRyaXZlciBzdXBwb3J0cwogCSAqIG5v bi1idXJzdCB2aWRlbyBtb2Rlcywgc2VlIGR3X21pcGlfZHNpX3ZpZGVvX21vZGVfY29uZmlnKCku Li4KIAkgKi8KLQlkc2lfd3JpdGUoZHNpLCBEU0lfVklEX1BLVF9TSVpFLCBWSURfUEtUX1NJWkUo bW9kZS0+aGRpc3BsYXkpKTsKKworCWRzaV93cml0ZShkc2ksIERTSV9WSURfUEtUX1NJWkUsCisJ CSAgICAgICBkd19taXBpX2lzX2R1YWxfbW9kZShkc2kpID8KKwkJCQlWSURfUEtUX1NJWkUobW9k ZS0+aGRpc3BsYXkgLyAyKSA6CisJCQkJVklEX1BLVF9TSVpFKG1vZGUtPmhkaXNwbGF5KSk7CiB9 CiAKIHN0YXRpYyB2b2lkIGR3X21pcGlfZHNpX2NvbW1hbmRfbW9kZV9jb25maWcoc3RydWN0IGR3 X21pcGlfZHNpICpkc2kpCkBAIC03NzAsMjQgKzc5Miw0MyBAQCBzdGF0aWMgdm9pZCBkd19taXBp X2RzaV9icmlkZ2VfcG9zdF9kaXNhYmxlKHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UpCiAJICov CiAJZHNpLT5wYW5lbF9icmlkZ2UtPmZ1bmNzLT5wb3N0X2Rpc2FibGUoZHNpLT5wYW5lbF9icmlk Z2UpOwogCisJaWYgKGRzaS0+c2xhdmUpIHsKKwkJZHdfbWlwaV9kc2lfZGlzYWJsZShkc2ktPnNs YXZlKTsKKwkJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGRzaS0+c2xhdmUtPnBjbGspOworCQlwbV9y dW50aW1lX3B1dChkc2ktPnNsYXZlLT5kZXYpOworCX0KIAlkd19taXBpX2RzaV9kaXNhYmxlKGRz aSk7CisKIAljbGtfZGlzYWJsZV91bnByZXBhcmUoZHNpLT5wY2xrKTsKIAlwbV9ydW50aW1lX3B1 dChkc2ktPmRldik7CiB9CiAKLXN0YXRpYyB2b2lkIGR3X21pcGlfZHNpX2JyaWRnZV9tb2RlX3Nl dChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlLAotCQkJCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqbW9kZSwKLQkJCQkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUpCitz dGF0aWMgdW5zaWduZWQgaW50IGR3X21pcGlfZHNpX2dldF9sYW5lcyhzdHJ1Y3QgZHdfbWlwaV9k c2kgKmRzaSkKK3sKKwkvKiB0aGlzIGluc3RhbmNlIGlzIHRoZSBzbGF2ZSwgc28gYWRkIHRoZSBt YXN0ZXIncyBsYW5lcyAqLworCWlmIChkc2ktPm1hc3RlcikKKwkJcmV0dXJuIGRzaS0+bWFzdGVy LT5sYW5lcyArIGRzaS0+bGFuZXM7CisKKwkvKiB0aGlzIGluc3RhbmNlIGlzIHRoZSBtYXN0ZXIs IHNvIGFkZCB0aGUgc2xhdmUncyBsYW5lcyAqLworCWlmIChkc2ktPnNsYXZlKQorCQlyZXR1cm4g ZHNpLT5sYW5lcyArIGRzaS0+c2xhdmUtPmxhbmVzOworCisJLyogc2luZ2xlLWRzaSwgc28gbm8g b3RoZXIgaW5zdGFuY2UgdG8gY29uc2lkZXIgKi8KKwlyZXR1cm4gZHNpLT5sYW5lczsKK30KKwor c3RhdGljIHZvaWQgZHdfbWlwaV9kc2lfbW9kZV9zZXQoc3RydWN0IGR3X21pcGlfZHNpICpkc2ks CisJCQkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUpCiB7Ci0Jc3RydWN0 IGR3X21pcGlfZHNpICpkc2kgPSBicmlkZ2VfdG9fZHNpKGJyaWRnZSk7CiAJY29uc3Qgc3RydWN0 IGR3X21pcGlfZHNpX3BoeV9vcHMgKnBoeV9vcHMgPSBkc2ktPnBsYXRfZGF0YS0+cGh5X29wczsK IAl2b2lkICpwcml2X2RhdGEgPSBkc2ktPnBsYXRfZGF0YS0+cHJpdl9kYXRhOwogCWludCByZXQ7 CisJdTMyIGxhbmVzID0gZHdfbWlwaV9kc2lfZ2V0X2xhbmVzKGRzaSk7CiAKIAljbGtfcHJlcGFy ZV9lbmFibGUoZHNpLT5wY2xrKTsKIAogCXJldCA9IHBoeV9vcHMtPmdldF9sYW5lX21icHMocHJp dl9kYXRhLCBhZGp1c3RlZF9tb2RlLCBkc2ktPm1vZGVfZmxhZ3MsCi0JCQkJICAgICBkc2ktPmxh bmVzLCBkc2ktPmZvcm1hdCwgJmRzaS0+bGFuZV9tYnBzKTsKKwkJCQkgICAgIGxhbmVzLCBkc2kt PmZvcm1hdCwgJmRzaS0+bGFuZV9tYnBzKTsKIAlpZiAocmV0KQogCQlEUk1fREVCVUdfRFJJVkVS KCJQaHkgZ2V0X2xhbmVfbWJwcygpIGZhaWxlZFxuIik7CiAKQEAgLTgxOSwxMiArODYwLDI1IEBA IHN0YXRpYyB2b2lkIGR3X21pcGlfZHNpX2JyaWRnZV9tb2RlX3NldChzdHJ1Y3QgZHJtX2JyaWRn ZSAqYnJpZGdlLAogCWR3X21pcGlfZHNpX3NldF9tb2RlKGRzaSwgMCk7CiB9CiAKK3N0YXRpYyB2 b2lkIGR3X21pcGlfZHNpX2JyaWRnZV9tb2RlX3NldChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdl LAorCQkJCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKKwkJCQkJc3RydWN0IGRybV9k aXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUpCit7CisJc3RydWN0IGR3X21pcGlfZHNpICpkc2kg PSBicmlkZ2VfdG9fZHNpKGJyaWRnZSk7CisKKwlkd19taXBpX2RzaV9tb2RlX3NldChkc2ksIGFk anVzdGVkX21vZGUpOworCWlmIChkc2ktPnNsYXZlKQorCQlkd19taXBpX2RzaV9tb2RlX3NldChk c2ktPnNsYXZlLCBhZGp1c3RlZF9tb2RlKTsKK30KKwogc3RhdGljIHZvaWQgZHdfbWlwaV9kc2lf YnJpZGdlX2VuYWJsZShzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKQogewogCXN0cnVjdCBkd19t aXBpX2RzaSAqZHNpID0gYnJpZGdlX3RvX2RzaShicmlkZ2UpOwogCiAJLyogU3dpdGNoIHRvIHZp ZGVvIG1vZGUgZm9yIHBhbmVsLWJyaWRnZSBlbmFibGUgJiBwYW5lbCBlbmFibGUgKi8KIAlkd19t aXBpX2RzaV9zZXRfbW9kZShkc2ksIE1JUElfRFNJX01PREVfVklERU8pOworCWlmIChkc2ktPnNs YXZlKQorCQlkd19taXBpX2RzaV9zZXRfbW9kZShkc2ktPnNsYXZlLCBNSVBJX0RTSV9NT0RFX1ZJ REVPKTsKIH0KIAogc3RhdGljIGVudW0gZHJtX21vZGVfc3RhdHVzCkBAIC05NjEsNiArMTAxNSwy MCBAQCBzdGF0aWMgdm9pZCBfX2R3X21pcGlfZHNpX3JlbW92ZShzdHJ1Y3QgZHdfbWlwaV9kc2kg KmRzaSkKIAlwbV9ydW50aW1lX2Rpc2FibGUoZHNpLT5kZXYpOwogfQogCit2b2lkIGR3X21pcGlf ZHNpX3NldF9zbGF2ZShzdHJ1Y3QgZHdfbWlwaV9kc2kgKmRzaSwgc3RydWN0IGR3X21pcGlfZHNp ICpzbGF2ZSkKK3sKKwkvKiBpbnRyb2R1Y2UgY29udHJvbGxlcnMgdG8gZWFjaCBvdGhlciAqLwor CWRzaS0+c2xhdmUgPSBzbGF2ZTsKKwlkc2ktPnNsYXZlLT5tYXN0ZXIgPSBkc2k7CisKKwkvKiBt aWdyYXRlIHNldHRpbmdzIGZvciBhbHJlYWR5IGF0dGFjaGVkIGRpc3BsYXlzICovCisJZHNpLT5z bGF2ZS0+bGFuZXMgPSBkc2ktPmxhbmVzOworCWRzaS0+c2xhdmUtPmNoYW5uZWwgPSBkc2ktPmNo YW5uZWw7CisJZHNpLT5zbGF2ZS0+Zm9ybWF0ID0gZHNpLT5mb3JtYXQ7CisJZHNpLT5zbGF2ZS0+ bW9kZV9mbGFncyA9IGRzaS0+bW9kZV9mbGFnczsKK30KK0VYUE9SVF9TWU1CT0xfR1BMKGR3X21p cGlfZHNpX3NldF9zbGF2ZSk7CisKIC8qCiAgKiBQcm9iZS9yZW1vdmUgQVBJLCB1c2VkIGZyb20g cGxhdGZvcm1zIGJhc2VkIG9uIHRoZSBEUk0gYnJpZGdlIEFQSS4KICAqLwpkaWZmIC0tZ2l0IGEv aW5jbHVkZS9kcm0vYnJpZGdlL2R3X21pcGlfZHNpLmggYi9pbmNsdWRlL2RybS9icmlkZ2UvZHdf bWlwaV9kc2kuaAppbmRleCBhOWMwMzA5OWNmM2UuLjQ4YTY3MWU3ODJjYSAxMDA2NDQKLS0tIGEv aW5jbHVkZS9kcm0vYnJpZGdlL2R3X21pcGlfZHNpLmgKKysrIGIvaW5jbHVkZS9kcm0vYnJpZGdl L2R3X21pcGlfZHNpLmgKQEAgLTQ1LDUgKzQ1LDYgQEAgc3RydWN0IGR3X21pcGlfZHNpICpkd19t aXBpX2RzaV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAogdm9pZCBkd19taXBp X2RzaV9yZW1vdmUoc3RydWN0IGR3X21pcGlfZHNpICpkc2kpOwogaW50IGR3X21pcGlfZHNpX2Jp bmQoc3RydWN0IGR3X21pcGlfZHNpICpkc2ksIHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rlcik7 CiB2b2lkIGR3X21pcGlfZHNpX3VuYmluZChzdHJ1Y3QgZHdfbWlwaV9kc2kgKmRzaSk7Cit2b2lk IGR3X21pcGlfZHNpX3NldF9zbGF2ZShzdHJ1Y3QgZHdfbWlwaV9kc2kgKmRzaSwgc3RydWN0IGR3 X21pcGlfZHNpICpzbGF2ZSk7CiAKICNlbmRpZiAvKiBfX0RXX01JUElfRFNJX18gKi8KLS0gCjIu MTguMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJp LWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==