From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Zhong Subject: [PATCH v6 2/6] drm/rockchip/dsi: dw-mipi: support RK3399 mipi dsi Date: Wed, 8 Feb 2017 10:25:18 +0800 Message-ID: <1486520722-8853-3-git-send-email-zyw@rock-chips.com> References: <1486520722-8853-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: <1486520722-8853-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+ ClNpZ25lZC1vZmYtYnk6IE1hcmsgWWFvIDxtYXJrLnlhb0Byb2NrLWNoaXBzLmNvbT4KCi0tLQoK Q2hhbmdlcyBpbiB2NjoKLSBubyBuZWVkIGNoZWNrIHBoeV9jZmdfY2xrIGJlZm9yZSBlbmFibGUv ZGlzYWJsZQoKQ2hhbmdlcyBpbiB2NToKLSBjaGVjayB0aGUgZXJyb3Igb2YgcGh5X2NmZ19jbGsg aW4gZHdfbWlwaV9kc2lfYmluZAoKQ2hhbmdlcyBpbiB2NDoKLSByZW1vdmUgdGhlIHVucmVsYXRl ZCBjaGFuZ2UKCkNoYW5nZXMgaW4gdjM6Ci0gYmFzZSBvbiBKb2huIEtlZXBpbmcncyBwYXRjaCBz ZXJpZXMKCiBkcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvZHctbWlwaS1kc2kuYyB8IDcyICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA2MiBpbnNlcnRp b25zKCspLCAxMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcm9j a2NoaXAvZHctbWlwaS1kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9kdy1taXBpLWRz aS5jCmluZGV4IDNmMjQzMzMuLjhmNjBiODkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9y b2NrY2hpcC9kdy1taXBpLWRzaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9kdy1t aXBpLWRzaS5jCkBAIC0yOSw5ICsyOSwxNyBAQAogCiAjZGVmaW5lIERSSVZFUl9OQU1FICAgICJk dy1taXBpLWRzaSIKIAotI2RlZmluZSBHUkZfU09DX0NPTjYgICAgICAgICAgICAgICAgICAgIDB4 MDI1YwotI2RlZmluZSBEU0kwX1NFTF9WT1BfTElUICAgICAgICAgICAgICAgICgxIDw8IDYpCi0j ZGVmaW5lIERTSTFfU0VMX1ZPUF9MSVQgICAgICAgICAgICAgICAgKDEgPDwgOSkKKyNkZWZpbmUg UkszMjg4X0dSRl9TT0NfQ09ONgkJMHgwMjVjCisjZGVmaW5lIFJLMzI4OF9EU0kwX1NFTF9WT1Bf TElUCQlCSVQoNikKKyNkZWZpbmUgUkszMjg4X0RTSTFfU0VMX1ZPUF9MSVQJCUJJVCg5KQorCisj ZGVmaW5lIFJLMzM5OV9HUkZfU09DX0NPTjE5CQkweDYyNTAKKyNkZWZpbmUgUkszMzk5X0RTSTBf U0VMX1ZPUF9MSVQJCUJJVCgwKQorI2RlZmluZSBSSzMzOTlfRFNJMV9TRUxfVk9QX0xJVAkJQklU KDQpCisKKy8qIGRpc2FibGUgdHVybnJlcXVlc3QsIHR1cm5kaXNhYmxlLCBmb3JjZXR4c3RvcG1v ZGUsIGZvcmNlcnhtb2RlICovCisjZGVmaW5lIFJLMzM5OV9HUkZfU09DX0NPTjIyCQkweDYyNTgK KyNkZWZpbmUgUkszMzk5X0dSRl9EU0lfTU9ERQkJMHhmZmZmMDAwMAogCiAjZGVmaW5lIERTSV9W RVJTSU9OCQkJMHgwMAogI2RlZmluZSBEU0lfUFdSX1VQCQkJMHgwNApAQCAtMjY1LDYgKzI3Mywx MSBAQCBlbnVtIHsKIH07CiAKIHN0cnVjdCBkd19taXBpX2RzaV9wbGF0X2RhdGEgeworCXUzMiBk c2kwX2VuX2JpdDsKKwl1MzIgZHNpMV9lbl9iaXQ7CisJdTMyIGdyZl9zd2l0Y2hfcmVnOworCXUz MiBncmZfZHNpMF9tb2RlOworCXUzMiBncmZfZHNpMF9tb2RlX3JlZzsKIAl1bnNpZ25lZCBpbnQg bWF4X2RhdGFfbGFuZXM7CiAJZW51bSBkcm1fbW9kZV9zdGF0dXMgKCptb2RlX3ZhbGlkKShzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCQkJCQkgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlf bW9kZSAqbW9kZSk7CkBAIC0yODEsNiArMjk0LDcgQEAgc3RydWN0IGR3X21pcGlfZHNpIHsKIAog CXN0cnVjdCBjbGsgKnBsbHJlZl9jbGs7CiAJc3RydWN0IGNsayAqcGNsazsKKwlzdHJ1Y3QgY2xr ICpwaHlfY2ZnX2NsazsKIAogCXVuc2lnbmVkIGludCBsYW5lX21icHM7IC8qIHBlciBsYW5lICov CiAJdTMyIGNoYW5uZWw7CkBAIC00MjUsNiArNDM5LDEyIEBAIHN0YXRpYyBpbnQgZHdfbWlwaV9k c2lfcGh5X2luaXQoc3RydWN0IGR3X21pcGlfZHNpICpkc2kpCiAJZHNpX3dyaXRlKGRzaSwgRFNJ X1BIWV9UU1RfQ1RSTDAsIFBIWV9URVNUQ0xSKTsKIAlkc2lfd3JpdGUoZHNpLCBEU0lfUEhZX1RT VF9DVFJMMCwgUEhZX1VOVEVTVENMUik7CiAKKwlyZXQgPSBjbGtfcHJlcGFyZV9lbmFibGUoZHNp LT5waHlfY2ZnX2Nsayk7CisJaWYgKHJldCkgeworCQlkZXZfZXJyKGRzaS0+ZGV2LCAiRmFpbGVk IHRvIGVuYWJsZSBwaHlfY2ZnX2Nsa1xuIik7CisJCXJldHVybiByZXQ7CisJfQorCiAJZHdfbWlw aV9kc2lfcGh5X3dyaXRlKGRzaSwgMHgxMCwgQllQQVNTX1ZDT19SQU5HRSB8CiAJCQkJCSBWQ09f UkFOR0VfQ09OX1NFTCh2Y28pIHwKIAkJCQkJIFZDT19JTl9DQVBfQ09OX0xPVyB8CkBAIC00ODEs MTcgKzUwMSwxOCBAQCBzdGF0aWMgaW50IGR3X21pcGlfZHNpX3BoeV9pbml0KHN0cnVjdCBkd19t aXBpX2RzaSAqZHNpKQogCQkJCSB2YWwsIHZhbCAmIExPQ0ssIDEwMDAsIFBIWV9TVEFUVVNfVElN RU9VVF9VUyk7CiAJaWYgKHJldCA8IDApIHsKIAkJZGV2X2Vycihkc2ktPmRldiwgImZhaWxlZCB0 byB3YWl0IGZvciBwaHkgbG9jayBzdGF0ZVxuIik7Ci0JCXJldHVybiByZXQ7CisJCWdvdG8gcGh5 X2luaXRfZW5kOwogCX0KIAogCXJldCA9IHJlYWRsX3BvbGxfdGltZW91dChkc2ktPmJhc2UgKyBE U0lfUEhZX1NUQVRVUywKIAkJCQkgdmFsLCB2YWwgJiBTVE9QX1NUQVRFX0NMS19MQU5FLCAxMDAw LAogCQkJCSBQSFlfU1RBVFVTX1RJTUVPVVRfVVMpOwotCWlmIChyZXQgPCAwKSB7CisJaWYgKHJl dCA8IDApCiAJCWRldl9lcnIoZHNpLT5kZXYsCiAJCQkiZmFpbGVkIHRvIHdhaXQgZm9yIHBoeSBj bGsgbGFuZSBzdG9wIHN0YXRlXG4iKTsKLQkJcmV0dXJuIHJldDsKLQl9CisKK3BoeV9pbml0X2Vu ZDoKKwljbGtfZGlzYWJsZV91bnByZXBhcmUoZHNpLT5waHlfY2ZnX2Nsayk7CiAKIAlyZXR1cm4g cmV0OwogfQpAQCAtOTYwLDYgKzk4MSw3IEBAIHN0YXRpYyB2b2lkIGR3X21pcGlfZHNpX2VuY29k ZXJfZW5hYmxlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIHsKIAlzdHJ1Y3QgZHdfbWlw aV9kc2kgKmRzaSA9IGVuY29kZXJfdG9fZHNpKGVuY29kZXIpOwogCXN0cnVjdCBkcm1fZGlzcGxh eV9tb2RlICptb2RlID0gJmVuY29kZXItPmNydGMtPnN0YXRlLT5hZGp1c3RlZF9tb2RlOworCWNv bnN0IHN0cnVjdCBkd19taXBpX2RzaV9wbGF0X2RhdGEgKnBkYXRhID0gZHNpLT5wZGF0YTsKIAlp bnQgbXV4ID0gZHJtX29mX2VuY29kZXJfYWN0aXZlX2VuZHBvaW50X2lkKGRzaS0+ZGV2LT5vZl9u b2RlLCBlbmNvZGVyKTsKIAl1MzIgdmFsOwogCWludCByZXQ7CkBAIC05ODUsNiArMTAwNywxMCBA QCBzdGF0aWMgdm9pZCBkd19taXBpX2RzaV9lbmNvZGVyX2VuYWJsZShzdHJ1Y3QgZHJtX2VuY29k ZXIgKmVuY29kZXIpCiAJZHdfbWlwaV9kc2lfZHBoeV9pbnRlcmZhY2VfY29uZmlnKGRzaSk7CiAJ ZHdfbWlwaV9kc2lfY2xlYXJfZXJyKGRzaSk7CiAKKwlpZiAocGRhdGEtPmdyZl9kc2kwX21vZGVf cmVnKQorCQlyZWdtYXBfd3JpdGUoZHNpLT5ncmZfcmVnbWFwLCBwZGF0YS0+Z3JmX2RzaTBfbW9k ZV9yZWcsCisJCQkgICAgIHBkYXRhLT5ncmZfZHNpMF9tb2RlKTsKKwogCWR3X21pcGlfZHNpX3Bo eV9pbml0KGRzaSk7CiAJZHdfbWlwaV9kc2lfd2FpdF9mb3JfdHdvX2ZyYW1lcyhtb2RlKTsKIApA QCAtOTk4LDExICsxMDI0LDExIEBAIHN0YXRpYyB2b2lkIGR3X21pcGlfZHNpX2VuY29kZXJfZW5h YmxlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIAljbGtfZGlzYWJsZV91bnByZXBhcmUo ZHNpLT5wY2xrKTsKIAogCWlmIChtdXgpCi0JCXZhbCA9IERTSTBfU0VMX1ZPUF9MSVQgfCAoRFNJ MF9TRUxfVk9QX0xJVCA8PCAxNik7CisJCXZhbCA9IHBkYXRhLT5kc2kwX2VuX2JpdCB8IChwZGF0 YS0+ZHNpMF9lbl9iaXQgPDwgMTYpOwogCWVsc2UKLQkJdmFsID0gRFNJMF9TRUxfVk9QX0xJVCA8 PCAxNjsKKwkJdmFsID0gcGRhdGEtPmRzaTBfZW5fYml0IDw8IDE2OwogCi0JcmVnbWFwX3dyaXRl KGRzaS0+Z3JmX3JlZ21hcCwgR1JGX1NPQ19DT042LCB2YWwpOworCXJlZ21hcF93cml0ZShkc2kt PmdyZl9yZWdtYXAsIHBkYXRhLT5ncmZfc3dpdGNoX3JlZywgdmFsKTsKIAlkZXZfZGJnKGRzaS0+ ZGV2LCAidm9wICVzIG91dHB1dCB0byBkc2kwXG4iLCAobXV4KSA/ICJMSVQiIDogIkJJRyIpOwog fQogCkBAIC0xMTYxLDE0ICsxMTg3LDI5IEBAIHN0YXRpYyBlbnVtIGRybV9tb2RlX3N0YXR1cyBy azMyODhfbWlwaV9kc2lfbW9kZV92YWxpZCgKIH0KIAogc3RhdGljIHN0cnVjdCBkd19taXBpX2Rz aV9wbGF0X2RhdGEgcmszMjg4X21pcGlfZHNpX2Rydl9kYXRhID0geworCS5kc2kwX2VuX2JpdCA9 IFJLMzI4OF9EU0kwX1NFTF9WT1BfTElULAorCS5kc2kxX2VuX2JpdCA9IFJLMzI4OF9EU0kxX1NF TF9WT1BfTElULAorCS5ncmZfc3dpdGNoX3JlZyA9IFJLMzI4OF9HUkZfU09DX0NPTjYsCiAJLm1h eF9kYXRhX2xhbmVzID0gNCwKIAkubW9kZV92YWxpZCA9IHJrMzI4OF9taXBpX2RzaV9tb2RlX3Zh bGlkLAogfTsKIAorc3RhdGljIHN0cnVjdCBkd19taXBpX2RzaV9wbGF0X2RhdGEgcmszMzk5X21p cGlfZHNpX2Rydl9kYXRhID0geworCS5kc2kwX2VuX2JpdCA9IFJLMzM5OV9EU0kwX1NFTF9WT1Bf TElULAorCS5kc2kxX2VuX2JpdCA9IFJLMzM5OV9EU0kxX1NFTF9WT1BfTElULAorCS5ncmZfc3dp dGNoX3JlZyA9IFJLMzM5OV9HUkZfU09DX0NPTjE5LAorCS5ncmZfZHNpMF9tb2RlID0gUkszMzk5 X0dSRl9EU0lfTU9ERSwKKwkuZ3JmX2RzaTBfbW9kZV9yZWcgPSBSSzMzOTlfR1JGX1NPQ19DT04y MiwKKwkubWF4X2RhdGFfbGFuZXMgPSA0LAorfTsKKwogc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9k ZXZpY2VfaWQgZHdfbWlwaV9kc2lfZHRfaWRzW10gPSB7CiAJewogCSAuY29tcGF0aWJsZSA9ICJy b2NrY2hpcCxyazMyODgtbWlwaS1kc2kiLAogCSAuZGF0YSA9ICZyazMyODhfbWlwaV9kc2lfZHJ2 X2RhdGEsCisJfSwgeworCSAuY29tcGF0aWJsZSA9ICJyb2NrY2hpcCxyazMzOTktbWlwaS1kc2ki LAorCSAuZGF0YSA9ICZyazMzOTlfbWlwaV9kc2lfZHJ2X2RhdGEsCiAJfSwKIAl7IC8qIHNlbnRp bmVsICovIH0KIH07CkBAIC0xMjQ4LDYgKzEyODksMTcgQEAgc3RhdGljIGludCBkd19taXBpX2Rz aV9iaW5kKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRldmljZSAqbWFzdGVyLAogCQljbGtf ZGlzYWJsZV91bnByZXBhcmUoZHNpLT5wY2xrKTsKIAl9CiAKKwlkc2ktPnBoeV9jZmdfY2xrID0g ZGV2bV9jbGtfZ2V0KGRldiwgInBoeV9jZmciKTsKKwlpZiAoSVNfRVJSKGRzaS0+cGh5X2NmZ19j bGspKSB7CisJCXJldCA9IFBUUl9FUlIoZHNpLT5waHlfY2ZnX2Nsayk7CisJCWlmIChyZXQgIT0g LUVOT0VOVCkgeworCQkJZGV2X2VycihkZXYsICJVbmFibGUgdG8gZ2V0IHBoeV9jZmdfY2xrOiAl ZFxuIiwgcmV0KTsKKwkJCXJldHVybiByZXQ7CisJCX0KKwkJZHNpLT5waHlfY2ZnX2NsayA9IE5V TEw7CisJCWRldl9kYmcoZGV2LCAiaGF2ZSBub3QgcGh5X2NmZ19jbGtcbiIpOworCX0KKwogCXJl dCA9IGNsa19wcmVwYXJlX2VuYWJsZShkc2ktPnBsbHJlZl9jbGspOwogCWlmIChyZXQpIHsKIAkJ ZGV2X2VycihkZXYsICIlczogRmFpbGVkIHRvIGVuYWJsZSBwbGxyZWZfY2xrXG4iLCBfX2Z1bmNf Xyk7Ci0tIAoyLjYuMwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRl dmVsCg==