From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Zhong Subject: [RESEND PATCH v7 2/7] drm/rockchip/dsi: dw-mipi: support RK3399 mipi dsi Date: Mon, 20 Feb 2017 16:02:18 +0800 Message-ID: <1487577744-2855-3-git-send-email-zyw@rock-chips.com> References: <1487577744-2855-1-git-send-email-zyw@rock-chips.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1487577744-2855-1-git-send-email-zyw@rock-chips.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: john@metanate.com, dianders@chromium.org, tfiga@chromium.org, heiko@sntech.de, yzq@rock-chips.com, mark.rutland@arm.com, devicetree@vger.kernel.org, robh+dt@kernel.org, galak@codeaurora.org, pawel.moll@arm.com, seanpaul@chromium.org Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-rockchip@lists.infradead.org, Chris Zhong , linux-arm-kernel@lists.infradead.org List-Id: devicetree@vger.kernel.org VGhlIHZvcGIvdm9wbCBzd2l0Y2ggcmVnaXN0ZXIgb2YgUkszMzk5IG1pcGkgaXMgZGlmZmVyZW50 IGZyb20gUkszMjg4LAp0aGUgZGVmYXVsdCBzZXR0aW5nIGZvciBtaXBpIGRzaSBtb2RlIGlzIGRp ZmZlcmVudCB0b28sIHNvIGFkZCBhCm9mX2RldmljZV9pZCBzdHJ1Y3R1cmUgdG8gZGlzdGluZ3Vp c2ggdGhlbSwgYW5kIG1ha2Ugc3VyZSBzZXQgdGhlCmNvcnJlY3QgbW9kZSBiZWZvcmUgbWlwaSBw aHkgaW5pdC4KClNpZ25lZC1vZmYtYnk6IENocmlzIFpob25nIDx6eXdAcm9jay1jaGlwcy5jb20+ ClNpZ25lZC1vZmYtYnk6IE1hcmsgWWFvIDxtYXJrLnlhb0Byb2NrLWNoaXBzLmNvbT4KUmV2aWV3 ZWQtYnk6IFNlYW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgoKLS0tCgpDaGFuZ2VzIGlu IHY2OgotIG5vIG5lZWQgY2hlY2sgcGh5X2NmZ19jbGsgYmVmb3JlIGVuYWJsZS9kaXNhYmxlCgpD aGFuZ2VzIGluIHY1OgotIGNoZWNrIHRoZSBlcnJvciBvZiBwaHlfY2ZnX2NsayBpbiBkd19taXBp X2RzaV9iaW5kCgpDaGFuZ2VzIGluIHY0OgotIHJlbW92ZSB0aGUgdW5yZWxhdGVkIGNoYW5nZQoK Q2hhbmdlcyBpbiB2MzoKLSBiYXNlIG9uIEpvaG4gS2VlcGluZydzIHBhdGNoIHNlcmllcwoKIGRy aXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9kdy1taXBpLWRzaS5jIHwgNzIgKysrKysrKysrKysrKysr KysrKysrKysrKysrKystLS0tLQogMSBmaWxlIGNoYW5nZWQsIDYyIGluc2VydGlvbnMoKyksIDEw IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9kdy1t aXBpLWRzaS5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2R3LW1pcGktZHNpLmMKaW5kZXgg Y2M1OGFkYS4uNGU3NDY4MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2R3 LW1pcGktZHNpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2R3LW1pcGktZHNpLmMK QEAgLTI5LDkgKzI5LDE3IEBACiAKICNkZWZpbmUgRFJJVkVSX05BTUUgICAgImR3LW1pcGktZHNp IgogCi0jZGVmaW5lIEdSRl9TT0NfQ09ONiAgICAgICAgICAgICAgICAgICAgMHgwMjVjCi0jZGVm aW5lIERTSTBfU0VMX1ZPUF9MSVQgICAgICAgICAgICAgICAgKDEgPDwgNikKLSNkZWZpbmUgRFNJ MV9TRUxfVk9QX0xJVCAgICAgICAgICAgICAgICAoMSA8PCA5KQorI2RlZmluZSBSSzMyODhfR1JG X1NPQ19DT042CQkweDAyNWMKKyNkZWZpbmUgUkszMjg4X0RTSTBfU0VMX1ZPUF9MSVQJCUJJVCg2 KQorI2RlZmluZSBSSzMyODhfRFNJMV9TRUxfVk9QX0xJVAkJQklUKDkpCisKKyNkZWZpbmUgUksz Mzk5X0dSRl9TT0NfQ09OMTkJCTB4NjI1MAorI2RlZmluZSBSSzMzOTlfRFNJMF9TRUxfVk9QX0xJ VAkJQklUKDApCisjZGVmaW5lIFJLMzM5OV9EU0kxX1NFTF9WT1BfTElUCQlCSVQoNCkKKworLyog ZGlzYWJsZSB0dXJucmVxdWVzdCwgdHVybmRpc2FibGUsIGZvcmNldHhzdG9wbW9kZSwgZm9yY2Vy eG1vZGUgKi8KKyNkZWZpbmUgUkszMzk5X0dSRl9TT0NfQ09OMjIJCTB4NjI1OAorI2RlZmluZSBS SzMzOTlfR1JGX0RTSV9NT0RFCQkweGZmZmYwMDAwCiAKICNkZWZpbmUgRFNJX1ZFUlNJT04JCQkw eDAwCiAjZGVmaW5lIERTSV9QV1JfVVAJCQkweDA0CkBAIC0yNjUsNiArMjczLDExIEBAIGVudW0g ewogfTsKIAogc3RydWN0IGR3X21pcGlfZHNpX3BsYXRfZGF0YSB7CisJdTMyIGRzaTBfZW5fYml0 OworCXUzMiBkc2kxX2VuX2JpdDsKKwl1MzIgZ3JmX3N3aXRjaF9yZWc7CisJdTMyIGdyZl9kc2kw X21vZGU7CisJdTMyIGdyZl9kc2kwX21vZGVfcmVnOwogCXVuc2lnbmVkIGludCBtYXhfZGF0YV9s YW5lczsKIAllbnVtIGRybV9tb2RlX3N0YXR1cyAoKm1vZGVfdmFsaWQpKHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IsCiAJCQkJCSAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2Rl KTsKQEAgLTI4MSw2ICsyOTQsNyBAQCBzdHJ1Y3QgZHdfbWlwaV9kc2kgewogCiAJc3RydWN0IGNs ayAqcGxscmVmX2NsazsKIAlzdHJ1Y3QgY2xrICpwY2xrOworCXN0cnVjdCBjbGsgKnBoeV9jZmdf Y2xrOwogCiAJdW5zaWduZWQgaW50IGxhbmVfbWJwczsgLyogcGVyIGxhbmUgKi8KIAl1MzIgY2hh bm5lbDsKQEAgLTQyNSw2ICs0MzksMTIgQEAgc3RhdGljIGludCBkd19taXBpX2RzaV9waHlfaW5p dChzdHJ1Y3QgZHdfbWlwaV9kc2kgKmRzaSkKIAlkc2lfd3JpdGUoZHNpLCBEU0lfUEhZX1RTVF9D VFJMMCwgUEhZX1RFU1RDTFIpOwogCWRzaV93cml0ZShkc2ksIERTSV9QSFlfVFNUX0NUUkwwLCBQ SFlfVU5URVNUQ0xSKTsKIAorCXJldCA9IGNsa19wcmVwYXJlX2VuYWJsZShkc2ktPnBoeV9jZmdf Y2xrKTsKKwlpZiAocmV0KSB7CisJCWRldl9lcnIoZHNpLT5kZXYsICJGYWlsZWQgdG8gZW5hYmxl IHBoeV9jZmdfY2xrXG4iKTsKKwkJcmV0dXJuIHJldDsKKwl9CisKIAlkd19taXBpX2RzaV9waHlf d3JpdGUoZHNpLCAweDEwLCBCWVBBU1NfVkNPX1JBTkdFIHwKIAkJCQkJIFZDT19SQU5HRV9DT05f U0VMKHZjbykgfAogCQkJCQkgVkNPX0lOX0NBUF9DT05fTE9XIHwKQEAgLTQ4MSwxNyArNTAxLDE4 IEBAIHN0YXRpYyBpbnQgZHdfbWlwaV9kc2lfcGh5X2luaXQoc3RydWN0IGR3X21pcGlfZHNpICpk c2kpCiAJCQkJIHZhbCwgdmFsICYgTE9DSywgMTAwMCwgUEhZX1NUQVRVU19USU1FT1VUX1VTKTsK IAlpZiAocmV0IDwgMCkgewogCQlkZXZfZXJyKGRzaS0+ZGV2LCAiZmFpbGVkIHRvIHdhaXQgZm9y IHBoeSBsb2NrIHN0YXRlXG4iKTsKLQkJcmV0dXJuIHJldDsKKwkJZ290byBwaHlfaW5pdF9lbmQ7 CiAJfQogCiAJcmV0ID0gcmVhZGxfcG9sbF90aW1lb3V0KGRzaS0+YmFzZSArIERTSV9QSFlfU1RB VFVTLAogCQkJCSB2YWwsIHZhbCAmIFNUT1BfU1RBVEVfQ0xLX0xBTkUsIDEwMDAsCiAJCQkJIFBI WV9TVEFUVVNfVElNRU9VVF9VUyk7Ci0JaWYgKHJldCA8IDApIHsKKwlpZiAocmV0IDwgMCkKIAkJ ZGV2X2Vycihkc2ktPmRldiwKIAkJCSJmYWlsZWQgdG8gd2FpdCBmb3IgcGh5IGNsayBsYW5lIHN0 b3Agc3RhdGVcbiIpOwotCQlyZXR1cm4gcmV0OwotCX0KKworcGh5X2luaXRfZW5kOgorCWNsa19k aXNhYmxlX3VucHJlcGFyZShkc2ktPnBoeV9jZmdfY2xrKTsKIAogCXJldHVybiByZXQ7CiB9CkBA IC05NjAsNiArOTgxLDcgQEAgc3RhdGljIHZvaWQgZHdfbWlwaV9kc2lfZW5jb2Rlcl9lbmFibGUo c3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogewogCXN0cnVjdCBkd19taXBpX2RzaSAqZHNp ID0gZW5jb2Rlcl90b19kc2koZW5jb2Rlcik7CiAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1v ZGUgPSAmZW5jb2Rlci0+Y3J0Yy0+c3RhdGUtPmFkanVzdGVkX21vZGU7CisJY29uc3Qgc3RydWN0 IGR3X21pcGlfZHNpX3BsYXRfZGF0YSAqcGRhdGEgPSBkc2ktPnBkYXRhOwogCWludCBtdXggPSBk cm1fb2ZfZW5jb2Rlcl9hY3RpdmVfZW5kcG9pbnRfaWQoZHNpLT5kZXYtPm9mX25vZGUsIGVuY29k ZXIpOwogCXUzMiB2YWw7CiAJaW50IHJldDsKQEAgLTk4NSw2ICsxMDA3LDEwIEBAIHN0YXRpYyB2 b2lkIGR3X21pcGlfZHNpX2VuY29kZXJfZW5hYmxlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rl cikKIAlkd19taXBpX2RzaV9kcGh5X2ludGVyZmFjZV9jb25maWcoZHNpKTsKIAlkd19taXBpX2Rz aV9jbGVhcl9lcnIoZHNpKTsKIAorCWlmIChwZGF0YS0+Z3JmX2RzaTBfbW9kZV9yZWcpCisJCXJl Z21hcF93cml0ZShkc2ktPmdyZl9yZWdtYXAsIHBkYXRhLT5ncmZfZHNpMF9tb2RlX3JlZywKKwkJ CSAgICAgcGRhdGEtPmdyZl9kc2kwX21vZGUpOworCiAJZHdfbWlwaV9kc2lfcGh5X2luaXQoZHNp KTsKIAlkd19taXBpX2RzaV93YWl0X2Zvcl90d29fZnJhbWVzKG1vZGUpOwogCkBAIC05OTgsMTEg KzEwMjQsMTEgQEAgc3RhdGljIHZvaWQgZHdfbWlwaV9kc2lfZW5jb2Rlcl9lbmFibGUoc3RydWN0 IGRybV9lbmNvZGVyICplbmNvZGVyKQogCWNsa19kaXNhYmxlX3VucHJlcGFyZShkc2ktPnBjbGsp OwogCiAJaWYgKG11eCkKLQkJdmFsID0gRFNJMF9TRUxfVk9QX0xJVCB8IChEU0kwX1NFTF9WT1Bf TElUIDw8IDE2KTsKKwkJdmFsID0gcGRhdGEtPmRzaTBfZW5fYml0IHwgKHBkYXRhLT5kc2kwX2Vu X2JpdCA8PCAxNik7CiAJZWxzZQotCQl2YWwgPSBEU0kwX1NFTF9WT1BfTElUIDw8IDE2OworCQl2 YWwgPSBwZGF0YS0+ZHNpMF9lbl9iaXQgPDwgMTY7CiAKLQlyZWdtYXBfd3JpdGUoZHNpLT5ncmZf cmVnbWFwLCBHUkZfU09DX0NPTjYsIHZhbCk7CisJcmVnbWFwX3dyaXRlKGRzaS0+Z3JmX3JlZ21h cCwgcGRhdGEtPmdyZl9zd2l0Y2hfcmVnLCB2YWwpOwogCWRldl9kYmcoZHNpLT5kZXYsICJ2b3Ag JXMgb3V0cHV0IHRvIGRzaTBcbiIsIChtdXgpID8gIkxJVCIgOiAiQklHIik7CiB9CiAKQEAgLTEx NjEsMTQgKzExODcsMjkgQEAgc3RhdGljIGVudW0gZHJtX21vZGVfc3RhdHVzIHJrMzI4OF9taXBp X2RzaV9tb2RlX3ZhbGlkKAogfQogCiBzdGF0aWMgc3RydWN0IGR3X21pcGlfZHNpX3BsYXRfZGF0 YSByazMyODhfbWlwaV9kc2lfZHJ2X2RhdGEgPSB7CisJLmRzaTBfZW5fYml0ID0gUkszMjg4X0RT STBfU0VMX1ZPUF9MSVQsCisJLmRzaTFfZW5fYml0ID0gUkszMjg4X0RTSTFfU0VMX1ZPUF9MSVQs CisJLmdyZl9zd2l0Y2hfcmVnID0gUkszMjg4X0dSRl9TT0NfQ09ONiwKIAkubWF4X2RhdGFfbGFu ZXMgPSA0LAogCS5tb2RlX3ZhbGlkID0gcmszMjg4X21pcGlfZHNpX21vZGVfdmFsaWQsCiB9Owog CitzdGF0aWMgc3RydWN0IGR3X21pcGlfZHNpX3BsYXRfZGF0YSByazMzOTlfbWlwaV9kc2lfZHJ2 X2RhdGEgPSB7CisJLmRzaTBfZW5fYml0ID0gUkszMzk5X0RTSTBfU0VMX1ZPUF9MSVQsCisJLmRz aTFfZW5fYml0ID0gUkszMzk5X0RTSTFfU0VMX1ZPUF9MSVQsCisJLmdyZl9zd2l0Y2hfcmVnID0g UkszMzk5X0dSRl9TT0NfQ09OMTksCisJLmdyZl9kc2kwX21vZGUgPSBSSzMzOTlfR1JGX0RTSV9N T0RFLAorCS5ncmZfZHNpMF9tb2RlX3JlZyA9IFJLMzM5OV9HUkZfU09DX0NPTjIyLAorCS5tYXhf ZGF0YV9sYW5lcyA9IDQsCit9OworCiBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBk d19taXBpX2RzaV9kdF9pZHNbXSA9IHsKIAl7CiAJIC5jb21wYXRpYmxlID0gInJvY2tjaGlwLHJr MzI4OC1taXBpLWRzaSIsCiAJIC5kYXRhID0gJnJrMzI4OF9taXBpX2RzaV9kcnZfZGF0YSwKKwl9 LCB7CisJIC5jb21wYXRpYmxlID0gInJvY2tjaGlwLHJrMzM5OS1taXBpLWRzaSIsCisJIC5kYXRh ID0gJnJrMzM5OV9taXBpX2RzaV9kcnZfZGF0YSwKIAl9LAogCXsgLyogc2VudGluZWwgKi8gfQog fTsKQEAgLTEyNDgsNiArMTI4OSwxNyBAQCBzdGF0aWMgaW50IGR3X21pcGlfZHNpX2JpbmQoc3Ry dWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlICptYXN0ZXIsCiAJCWNsa19kaXNhYmxlX3Vu cHJlcGFyZShkc2ktPnBjbGspOwogCX0KIAorCWRzaS0+cGh5X2NmZ19jbGsgPSBkZXZtX2Nsa19n ZXQoZGV2LCAicGh5X2NmZyIpOworCWlmIChJU19FUlIoZHNpLT5waHlfY2ZnX2NsaykpIHsKKwkJ cmV0ID0gUFRSX0VSUihkc2ktPnBoeV9jZmdfY2xrKTsKKwkJaWYgKHJldCAhPSAtRU5PRU5UKSB7 CisJCQlkZXZfZXJyKGRldiwgIlVuYWJsZSB0byBnZXQgcGh5X2NmZ19jbGs6ICVkXG4iLCByZXQp OworCQkJcmV0dXJuIHJldDsKKwkJfQorCQlkc2ktPnBoeV9jZmdfY2xrID0gTlVMTDsKKwkJZGV2 X2RiZyhkZXYsICJoYXZlIG5vdCBwaHlfY2ZnX2Nsa1xuIik7CisJfQorCiAJcmV0ID0gY2xrX3By ZXBhcmVfZW5hYmxlKGRzaS0+cGxscmVmX2Nsayk7CiAJaWYgKHJldCkgewogCQlkZXZfZXJyKGRl diwgIiVzOiBGYWlsZWQgdG8gZW5hYmxlIHBsbHJlZl9jbGtcbiIsIF9fZnVuY19fKTsKLS0gCjIu Ni4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmkt ZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK