From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko Stuebner Subject: [PATCH v2 8/8] drm/rockchip: dsi: add dual mipi support Date: Mon, 18 Jun 2018 12:28:06 +0200 Message-ID: <20180618102806.15650-9-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 871DA6E3B3 for ; Mon, 18 Jun 2018 10:28:21 +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 QWRkIHRoZSBSb2NrY2hpcC1zZXBjaWZpYyBkdWFsLWRzaSBzZXR1cCBhbmQgaG9vayBpdCBpbnRv IHRoZSBWT1AgYXMgd2VsbC4KQXMgZGVzY3JpYmVkIGluIHRoZSBnZW5lcmFsIGR1YWwtZHNpIGRl dmljZXRyZWUgYmluZGluZywgdGhlIHBhbmVsIHNob3VsZApkZWZpbmUgdHdvIGlucHV0IHBvcnRz IGFuZCBwb2ludCBlYWNoIG9mIHRoZW0gdG8gb25lIG9mIHRoZSB1c2VkIGRzaS0KY29udHJvbGxl cnMsIGFzIHdlbGwgYXMgZGVjbGFyZSBvbmUgb2YgdGhlbSBhcyBjbG9jay1tYXN0ZXIuClRoaXMg aXMgdXNlZCB0byBkZXRlcm1pbmUgdGhlIGR1YWwtZHNpIHN0YXRlIGFuZCBnZXQgYWNjZXNzIHRv IGJvdGgKY29udHJvbGxlciBpbnN0YW5jZXMuCgpTaWduZWQtb2ZmLWJ5OiBIZWlrbyBTdHVlYm5l ciA8aGVpa29Ac250ZWNoLmRlPgotLS0KIC4uLi9ncHUvZHJtL3JvY2tjaGlwL2R3LW1pcGktZHNp LXJvY2tjaGlwLmMgICB8IDY3ICsrKysrKysrKysrKysrKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9y b2NrY2hpcC9yb2NrY2hpcF9kcm1fZHJ2LmggICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9yb2Nr Y2hpcC9yb2NrY2hpcF9kcm1fdm9wLmMgICB8ICAzICsKIGRyaXZlcnMvZ3B1L2RybS9yb2NrY2hp cC9yb2NrY2hpcF9kcm1fdm9wLmggICB8ICA0ICsrCiBkcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAv cm9ja2NoaXBfdm9wX3JlZy5jICAgfCAgMSArCiA1IGZpbGVzIGNoYW5nZWQsIDc1IGluc2VydGlv bnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2No aXAvZHctbWlwaS1kc2ktcm9ja2NoaXAuYyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9kdy1t aXBpLWRzaS1yb2NrY2hpcC5jCmluZGV4IDEyZTRkYWNjNzk3MC4uMzM4MmFkNWExYjBkIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvZHctbWlwaS1kc2ktcm9ja2NoaXAuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvZHctbWlwaS1kc2ktcm9ja2NoaXAuYwpAQCAt MjE4LDYgKzIxOCwxMCBAQCBzdHJ1Y3QgZHdfbWlwaV9kc2lfcm9ja2NoaXAgewogCXN0cnVjdCBj bGsgKmdyZl9jbGs7CiAJc3RydWN0IGNsayAqcGh5X2NmZ19jbGs7CiAKKwkvKiBkdWFsLWNoYW5u ZWwgKi8KKwlib29sIGlzX3NsYXZlOworCXN0cnVjdCBkd19taXBpX2RzaV9yb2NrY2hpcCAqc2xh dmU7CisKIAl1bnNpZ25lZCBpbnQgbGFuZV9tYnBzOyAvKiBwZXIgbGFuZSAqLwogCXUxNiBpbnB1 dF9kaXY7CiAJdTE2IGZlZWRiYWNrX2RpdjsKQEAgLTYwNCw2ICs2MDgsOCBAQCBzdGF0aWMgdm9p ZCBkd19taXBpX2RzaV9lbmNvZGVyX21vZGVfc2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rl ciwKIAl9CiAKIAlkd19taXBpX2RzaV9yb2NrY2hpcF9jb25maWcoZHNpLCBtdXgpOworCWlmIChk c2ktPnNsYXZlKQorCQlkd19taXBpX2RzaV9yb2NrY2hpcF9jb25maWcoZHNpLT5zbGF2ZSwgbXV4 KTsKIAogCWNsa19kaXNhYmxlX3VucHJlcGFyZShkc2ktPmdyZl9jbGspOwogfQpAQCAtNjMyLDYg KzYzOCw4IEBAIGR3X21pcGlfZHNpX2VuY29kZXJfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fZW5j b2RlciAqZW5jb2RlciwKIAl9CiAKIAlzLT5vdXRwdXRfdHlwZSA9IERSTV9NT0RFX0NPTk5FQ1RP Ul9EU0k7CisJaWYgKGRzaS0+c2xhdmUpCisJCXMtPm91dHB1dF9mbGFncyA9IFJPQ0tDSElQX09V VFBVVF9EU0lfRFVBTDsKIAogCXJldHVybiAwOwogfQpAQCAtNjQxLDYgKzY0OSw4IEBAIHN0YXRp YyB2b2lkIGR3X21pcGlfZHNpX2VuY29kZXJfZGlzYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVu Y29kZXIpCiAJc3RydWN0IGR3X21pcGlfZHNpX3JvY2tjaGlwICpkc2kgPSB0b19kc2koZW5jb2Rl cik7CiAKIAlwbV9ydW50aW1lX3B1dChkc2ktPmRldik7CisJaWYgKGRzaS0+c2xhdmUpCisJCXBt X3J1bnRpbWVfcHV0KGRzaS0+c2xhdmUtPmRldik7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg ZHJtX2VuY29kZXJfaGVscGVyX2Z1bmNzCkBAIC02ODEsMTggKzY5MSw3MCBAQCBzdGF0aWMgaW50 IGR3X21pcGlfZHNpX3JvY2tjaGlwX2JpbmQoc3RydWN0IGRldmljZSAqZGV2LAogewogCXN0cnVj dCBkd19taXBpX2RzaV9yb2NrY2hpcCAqZHNpID0gZGV2X2dldF9kcnZkYXRhKGRldik7CiAJc3Ry dWN0IGRybV9kZXZpY2UgKmRybV9kZXYgPSBkYXRhOworCXN0cnVjdCBkZXZpY2Vfbm9kZSAqc2Vj b25kX25wOwogCXN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2U7CiAJc3RydWN0IGRybV9wYW5lbCAq cGFuZWw7CisJYm9vbCBtYXN0ZXIxLCBtYXN0ZXIyOwogCWludCByZXQ7CiAKIAkvKgotCSAqIEhh bmRsZSBwcm9iZS1kZWZlcnJhbHMgZHVlIHRvIG1pc3NpbmcgZGlzcGxheS4KKwkgKiBBdCB0aGlz IHBvaW50IGJvdGggRFNJcyAoaWYgaW4gdXNlKSBzaG91bGQgaGF2ZSBwcm9iZWQgYW5kIGZvdW5k CisJICogYW55IGNvbm5lY3RlZCBkaXNwbGF5cyBvciBicmlkZ2VzLgorCSAqIFRoaXMgYWxzbyB0 YWtlcyBjYXJlIG9mIGhhbmRsaW5nIHBvc3NpYmxlIHByb2JlLWRlZmVycmFscy4KIAkgKi8KIAly ZXQgPSBkcm1fb2ZfZmluZF9wYW5lbF9vcl9icmlkZ2UoZHNpLT5kZXYtPm9mX25vZGUsIDEsIDAs CiAJCQkJCSAgJnBhbmVsLCAmYnJpZGdlKTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCisJ c2Vjb25kX25wID0gb2ZfbWlwaV9kc2lfZmluZF9zZWNvbmRfaG9zdChkc2ktPmRldi0+b2Zfbm9k ZSwgMSwgMCk7CisJaWYgKElTX0VSUihzZWNvbmRfbnApKQorCQlyZXR1cm4gUFRSX0VSUihzZWNv bmRfbnApOworCisJaWYgKHNlY29uZF9ucCkgeworCQlzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw ZGV2OworCisJCW1hc3RlcjEgPSBvZl9wcm9wZXJ0eV9yZWFkX2Jvb2woZHNpLT5kZXYtPm9mX25v ZGUsCisJCQkJCQkiY2xvY2stbWFzdGVyIik7CisJCW1hc3RlcjIgPSBvZl9wcm9wZXJ0eV9yZWFk X2Jvb2woc2Vjb25kX25wLCAiY2xvY2stbWFzdGVyIik7CisKKwkJaWYgKG1hc3RlcjEgJiYgbWFz dGVyMikgeworCQkJRFJNX0RFVl9FUlJPUihkc2ktPmRldiwgIm9ubHkgb25lIGNsb2NrLW1hc3Rl ciBhbGxvd2VkXG4iKTsKKwkJCW9mX25vZGVfcHV0KHNlY29uZF9ucCk7CisJCQlyZXR1cm4gLUVJ TlZBTDsKKwkJfQorCisJCWlmICghbWFzdGVyMSAmJiAhbWFzdGVyMikgeworCQkJRFJNX0RFVl9F UlJPUihkc2ktPmRldiwgIm5vIGNsb2NrLW1hc3RlciBkZWZpbmVkXG4iKTsKKwkJCW9mX25vZGVf cHV0KHNlY29uZF9ucCk7CisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCisJCS8qIHdlIGFyZSB0 aGUgc2xhdmUgaW4gZHVhbC1EU0kgKi8KKwkJaWYgKCFtYXN0ZXIxKSB7CisJCQlkc2ktPmlzX3Ns YXZlID0gdHJ1ZTsKKwkJCW9mX25vZGVfcHV0KHNlY29uZF9ucCk7CisJCQlyZXR1cm4gMDsKKwkJ fQorCisJCXBkZXYgPSBvZl9maW5kX2RldmljZV9ieV9ub2RlKHNlY29uZF9ucCk7CisJCWlmICgh cGRldikgeworCQkJRFJNX0RFVl9FUlJPUihkZXYsICJjb3VsZCBub3QgZmluZCBzbGF2ZSBjb250 cm9sbGVyXG4iKTsKKwkJCXJldHVybiAtRU5PREVWOworCQl9CisKKwkJZHNpLT5zbGF2ZSA9IHBs YXRmb3JtX2dldF9kcnZkYXRhKHBkZXYpOworCQlpZiAoIWRzaS0+c2xhdmUpIHsKKwkJCURSTV9E RVZfRVJST1IoZGV2LCAiY291bGQgbm90IGdldCBzbGF2ZXMgcGxhdGZvcm0tZGF0YVxuIik7CisJ CQlyZXR1cm4gLUVOT0RFVjsKKwkJfQorCisJCWRzaS0+c2xhdmUtPmlzX3NsYXZlID0gdHJ1ZTsK KwkJZHdfbWlwaV9kc2lfc2V0X3NsYXZlKGRzaS0+ZG1kLCBkc2ktPnNsYXZlLT5kbWQpOworCisJ CW9mX25vZGVfcHV0KHNlY29uZF9ucCk7CisJfQorCiAJcmV0ID0gcm9ja2NoaXBfZHNpX2RybV9j cmVhdGVfZW5jb2Rlcihkc2ksIGRybV9kZXYpOwogCWlmIChyZXQpIHsKIAkJRFJNX0RFVl9FUlJP UihkZXYsICJGYWlsZWQgdG8gY3JlYXRlIGRybSBlbmNvZGVyXG4iKTsKQEAgLTcxNCw2ICs3NzYs OSBAQCBzdGF0aWMgdm9pZCBkd19taXBpX2RzaV9yb2NrY2hpcF91bmJpbmQoc3RydWN0IGRldmlj ZSAqZGV2LAogewogCXN0cnVjdCBkd19taXBpX2RzaV9yb2NrY2hpcCAqZHNpID0gZGV2X2dldF9k cnZkYXRhKGRldik7CiAKKwlpZiAoZHNpLT5pc19zbGF2ZSkKKwkJcmV0dXJuOworCiAJZHdfbWlw aV9kc2lfdW5iaW5kKGRzaS0+ZG1kKTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3JvY2tjaGlwL3JvY2tjaGlwX2RybV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9y b2NrY2hpcF9kcm1fZHJ2LmgKaW5kZXggOTZiYjRjYThmZWJmLi4yZTZkMmQ0ZDFiNjUgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fZHJ2LmgKKysrIGIv ZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV9kcnYuaApAQCAtMzcsNiArMzcs NyBAQCBzdHJ1Y3Qgcm9ja2NoaXBfY3J0Y19zdGF0ZSB7CiAJaW50IG91dHB1dF90eXBlOwogCWlu dCBvdXRwdXRfbW9kZTsKIAlpbnQgb3V0cHV0X2JwYzsKKwlpbnQgb3V0cHV0X2ZsYWdzOwogfTsK ICNkZWZpbmUgdG9fcm9ja2NoaXBfY3J0Y19zdGF0ZShzKSBcCiAJCWNvbnRhaW5lcl9vZihzLCBz dHJ1Y3Qgcm9ja2NoaXBfY3J0Y19zdGF0ZSwgYmFzZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmMgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2No aXAvcm9ja2NoaXBfZHJtX3ZvcC5jCmluZGV4IGQxMDVlOTg0Y2YwOS4uOWIyZmE1ZTBlYWRlIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmMKQEAgLTkxNiw2 ICs5MTYsNyBAQCBzdGF0aWMgdm9pZCB2b3BfY3J0Y19hdG9taWNfZW5hYmxlKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywKIAlwaW5fcG9sIHw9IChhZGp1c3RlZF9tb2RlLT5mbGFncyAmIERSTV9NT0RF X0ZMQUdfUFZTWU5DKSA/CiAJCSAgIEJJVChWU1lOQ19QT1NJVElWRSkgOiAwOwogCVZPUF9SRUdf U0VUKHZvcCwgb3V0cHV0LCBwaW5fcG9sLCBwaW5fcG9sKTsKKwlWT1BfUkVHX1NFVCh2b3AsIG91 dHB1dCwgbWlwaV9kdWFsX2NoYW5uZWxfZW4sIDApOwogCiAJc3dpdGNoIChzLT5vdXRwdXRfdHlw ZSkgewogCWNhc2UgRFJNX01PREVfQ09OTkVDVE9SX0xWRFM6CkBAIC05MzMsNiArOTM0LDggQEAg c3RhdGljIHZvaWQgdm9wX2NydGNfYXRvbWljX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMs CiAJY2FzZSBEUk1fTU9ERV9DT05ORUNUT1JfRFNJOgogCQlWT1BfUkVHX1NFVCh2b3AsIG91dHB1 dCwgbWlwaV9waW5fcG9sLCBwaW5fcG9sKTsKIAkJVk9QX1JFR19TRVQodm9wLCBvdXRwdXQsIG1p cGlfZW4sIDEpOworCQlWT1BfUkVHX1NFVCh2b3AsIG91dHB1dCwgbWlwaV9kdWFsX2NoYW5uZWxf ZW4sCisJCQkgICAgISEocy0+b3V0cHV0X2ZsYWdzICYgUk9DS0NISVBfT1VUUFVUX0RTSV9EVUFM KSk7CiAJCWJyZWFrOwogCWNhc2UgRFJNX01PREVfQ09OTkVDVE9SX0Rpc3BsYXlQb3J0OgogCQlw aW5fcG9sICY9IH5CSVQoRENMS19JTlZFUlQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AuaCBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9y b2NrY2hpcF9kcm1fdm9wLmgKaW5kZXggMDg0YWNkZDAwMTlhLi42M2M4MTVlZGVhYWMgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmgKKysrIGIv ZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AuaApAQCAtNjAsNiArNjAs NyBAQCBzdHJ1Y3Qgdm9wX291dHB1dCB7CiAJc3RydWN0IHZvcF9yZWcgZWRwX2VuOwogCXN0cnVj dCB2b3BfcmVnIGhkbWlfZW47CiAJc3RydWN0IHZvcF9yZWcgbWlwaV9lbjsKKwlzdHJ1Y3Qgdm9w X3JlZyBtaXBpX2R1YWxfY2hhbm5lbF9lbjsKIAlzdHJ1Y3Qgdm9wX3JlZyByZ2JfZW47CiB9Owog CkBAIC0yMTMsNiArMjE0LDkgQEAgc3RydWN0IHZvcF9kYXRhIHsKIC8qIGZvciB1c2Ugc3BlY2lh bCBvdXRmYWNlICovCiAjZGVmaW5lIFJPQ0tDSElQX09VVF9NT0RFX0FBQUEJMTUKIAorLyogb3V0 cHV0IGZsYWdzICovCisjZGVmaW5lIFJPQ0tDSElQX09VVFBVVF9EU0lfRFVBTAlCSVQoMCkKKwog ZW51bSBhbHBoYV9tb2RlIHsKIAlBTFBIQV9TVFJBSUdIVCwKIAlBTFBIQV9JTlZFUlNFLApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX3ZvcF9yZWcuYyBiL2Ry aXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF92b3BfcmVnLmMKaW5kZXggMDgwMjNkM2Vj Yjc2Li41NmQ4M2YxYzI1OTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9y b2NrY2hpcF92b3BfcmVnLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlw X3ZvcF9yZWcuYwpAQCAtNDIxLDYgKzQyMSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgdm9wX291 dHB1dCByazMzOTlfb3V0cHV0ID0gewogCS5oZG1pX2VuID0gVk9QX1JFRyhSSzMyODhfU1lTX0NU UkwsIDB4MSwgMTMpLAogCS5lZHBfZW4gPSBWT1BfUkVHKFJLMzI4OF9TWVNfQ1RSTCwgMHgxLCAx NCksCiAJLm1pcGlfZW4gPSBWT1BfUkVHKFJLMzI4OF9TWVNfQ1RSTCwgMHgxLCAxNSksCisJLm1p cGlfZHVhbF9jaGFubmVsX2VuID0gVk9QX1JFRyhSSzMyODhfU1lTX0NUUkwsIDB4MSwgMyksCiB9 OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IHZvcF9kYXRhIHJrMzM5OV92b3BfYmlnID0gewotLSAK Mi4xNy4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpk cmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK