From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jitao Shi Subject: [v4 3/3] drm/mediatek: add mipi_tx driver for mt8183 Date: Sat, 1 Jun 2019 17:52:35 +0800 Message-ID: <20190601095235.9194-4-jitao.shi@mediatek.com> References: <20190601095235.9194-1-jitao.shi@mediatek.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190601095235.9194-1-jitao.shi@mediatek.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , linux-pwm@vger.kernel.org, David Airlie , Matthias Brugger Cc: stonea168@163.com, dri-devel@lists.freedesktop.org, Andy Yan , Ajay Kumar , Vincent Palatin , cawa.cheng@mediatek.com, Russell King , Thierry Reding , devicetree@vger.kernel.org, Jitao Shi , linux-mediatek@lists.infradead.org, yingjoe.chen@mediatek.com, eddie.huang@mediatek.com, linux-arm-kernel@lists.infradead.org, Rahul Sharma , srv_heupstream@mediatek.com, linux-kernel@vger.kernel.org, Sascha Hauer , Sean Paul List-Id: linux-mediatek@lists.infradead.org VGhpcyBwYXRjaCBhZGQgbXQ4MTgzIG1pcGlfdHggZHJpdmVyLgpBbmQgYWxzbyBzdXBwb3J0IG90 aGVyIGNoaXBzIHRoYXQgdXNlIHRoZSBzYW1lIGJpbmRpbmcgYW5kIGRyaXZlci4KClNpZ25lZC1v ZmYtYnk6IEppdGFvIFNoaSA8aml0YW8uc2hpQG1lZGlhdGVrLmNvbT4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vbWVkaWF0ZWsvTWFrZWZpbGUgICAgICAgICAgICAgfCAgIDEgKwogZHJpdmVycy9ncHUv ZHJtL21lZGlhdGVrL210a19taXBpX3R4LmMgICAgICAgIHwgICAyICsKIGRyaXZlcnMvZ3B1L2Ry bS9tZWRpYXRlay9tdGtfbWlwaV90eC5oICAgICAgICB8ICAgMSArCiBkcml2ZXJzL2dwdS9kcm0v bWVkaWF0ZWsvbXRrX210ODE4M19taXBpX3R4LmMgfCAxNjIgKysrKysrKysrKysrKysrKysrKysr KysrKysKIDQgZmlsZXMgY2hhbmdlZCwgMTY2IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEw MDY0NCBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX210ODE4M19taXBpX3R4LmMKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9k cm0vbWVkaWF0ZWsvTWFrZWZpbGUKaW5kZXggMmM4ZGUxZjVhNWVlLi44MDY3YTRiZTgzMTEgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9NYWtlZmlsZQorKysgYi9kcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvTWFrZWZpbGUKQEAgLTEzLDYgKzEzLDcgQEAgbWVkaWF0ZWstZHJt LXkgOj0gbXRrX2Rpc3BfY29sb3IubyBcCiAJCSAgbXRrX2RzaS5vIFwKIAkJICBtdGtfbWlwaV90 eC5vIFwKIAkJICBtdGtfbXQ4MTczX21pcGlfdHgubyBcCisJCSAgbXRrX210ODE4M19taXBpX3R4 Lm8gXAogCQkgIG10a19kcGkubwogCiBvYmotJChDT05GSUdfRFJNX01FRElBVEVLKSArPSBtZWRp YXRlay1kcm0ubwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19taXBp X3R4LmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX21pcGlfdHguYwppbmRleCBjZGM2 OGI4OGNlZmQuLmFiMGZiZmJhNTU3MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlh dGVrL210a19taXBpX3R4LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19taXBp X3R4LmMKQEAgLTE4Miw2ICsxODIsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9p ZCBtdGtfbWlwaV90eF9tYXRjaFtdID0gewogCSAgLmRhdGEgPSAmbXQyNzAxX21pcGl0eF9kYXRh IH0sCiAJeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMtbWlwaS10eCIsCiAJICAuZGF0 YSA9ICZtdDgxNzNfbWlwaXR4X2RhdGEgfSwKKwl7IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10 ODE4My1taXBpLXR4IiwKKwkgIC5kYXRhID0gJm10ODE4M19taXBpdHhfZGF0YSB9LAogCXsgfSwK IH07CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfbWlwaV90eC5o IGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19taXBpX3R4LmgKaW5kZXggNjYwNzI2OTI0 OTkyLi4zZmQyNDU2Mzk1MmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9t dGtfbWlwaV90eC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfbWlwaV90eC5o CkBAIC00NSw1ICs0NSw2IEBAIHVuc2lnbmVkIGxvbmcgbXRrX21pcGlfdHhfcGxsX3JlY2FsY19y YXRlKHN0cnVjdCBjbGtfaHcgKmh3LAogCiBleHRlcm4gY29uc3Qgc3RydWN0IG10a19taXBpdHhf ZGF0YSBtdDI3MDFfbWlwaXR4X2RhdGE7CiBleHRlcm4gY29uc3Qgc3RydWN0IG10a19taXBpdHhf ZGF0YSBtdDgxNzNfbWlwaXR4X2RhdGE7CitleHRlcm4gY29uc3Qgc3RydWN0IG10a19taXBpdHhf ZGF0YSBtdDgxODNfbWlwaXR4X2RhdGE7CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL21lZGlhdGVrL210a19tdDgxODNfbWlwaV90eC5jIGIvZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19tdDgxODNfbWlwaV90eC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAwMC4uYTlmODkzZDhlNDA5Ci0tLSAvZGV2L251bGwKKysrIGIvZHJpdmVycy9ncHUv ZHJtL21lZGlhdGVrL210a19tdDgxODNfbWlwaV90eC5jCkBAIC0wLDAgKzEsMTYyIEBACisvLyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAx OSBNZWRpYVRlayBJbmMuCisgKiBBdXRob3I6IGppdGFvLnNoaSA8aml0YW8uc2hpQG1lZGlhdGVr LmNvbT4KKyAqLworCisjaW5jbHVkZSAibXRrX21pcGlfdHguaCIKKworI2RlZmluZSBNSVBJVFhf TEFORV9DT04JCTB4MDAwYworI2RlZmluZSBSR19EU0lfQ1BIWV9UMURSVl9FTgkJQklUKDApCisj ZGVmaW5lIFJHX0RTSV9BTkFfQ0tfU0VMCQlCSVQoMSkKKyNkZWZpbmUgUkdfRFNJX1BIWV9DS19T RUwJCUJJVCgyKQorI2RlZmluZSBSR19EU0lfQ1BIWV9FTgkJCUJJVCgzKQorI2RlZmluZSBSR19E U0lfUEhZQ0tfSU5WX0VOCQlCSVQoNCkKKyNkZWZpbmUgUkdfRFNJX1BXUjA0X0VOCQkJQklUKDUp CisjZGVmaW5lIFJHX0RTSV9CR19MUEZfRU4JCUJJVCg2KQorI2RlZmluZSBSR19EU0lfQkdfQ09S RV9FTgkJQklUKDcpCisjZGVmaW5lIFJHX0RTSV9QQURfVElFTF9TRUwJCUJJVCg4KQorCisjZGVm aW5lIE1JUElUWF9QTExfUFdSCTB4MDAyOAorI2RlZmluZSBNSVBJVFhfUExMX0NPTjAJMHgwMDJj CisjZGVmaW5lIE1JUElUWF9QTExfQ09OMQkweDAwMzAKKyNkZWZpbmUgTUlQSVRYX1BMTF9DT04y CTB4MDAzNAorI2RlZmluZSBNSVBJVFhfUExMX0NPTjMJMHgwMDM4CisjZGVmaW5lIE1JUElUWF9Q TExfQ09ONAkweDAwM2MKKyNkZWZpbmUgUkdfRFNJX1BMTF9JQklBUwkJKDMgPDwgMTApCisKKyNk ZWZpbmUgTUlQSVRYX0QyX1NXX0NUTF9FTgkweDAxNDQKKyNkZWZpbmUgTUlQSVRYX0QwX1NXX0NU TF9FTgkweDAyNDQKKyNkZWZpbmUgTUlQSVRYX0NLX0NLTU9ERV9FTgkweDAzMjgKKyNkZWZpbmUg RFNJX0NLX0NLTU9ERV9FTgkJQklUKDApCisjZGVmaW5lIE1JUElUWF9DS19TV19DVExfRU4JMHgw MzQ0CisjZGVmaW5lIE1JUElUWF9EMV9TV19DVExfRU4JMHgwNDQ0CisjZGVmaW5lIE1JUElUWF9E M19TV19DVExfRU4JMHgwNTQ0CisjZGVmaW5lIERTSV9TV19DVExfRU4JCQlCSVQoMCkKKyNkZWZp bmUgQURfRFNJX1BMTF9TRE1fUFdSX09OCQlCSVQoMCkKKyNkZWZpbmUgQURfRFNJX1BMTF9TRE1f SVNPX0VOCQlCSVQoMSkKKworI2RlZmluZSBSR19EU0lfUExMX0VOCQkJQklUKDQpCisjZGVmaW5l IFJHX0RTSV9QTExfUE9TRElWCQkoMHg3IDw8IDgpCisKK3N0YXRpYyBpbnQgbXRrX21pcGlfdHhf cGxsX3ByZXBhcmUoc3RydWN0IGNsa19odyAqaHcpCit7CisJc3RydWN0IG10a19taXBpX3R4ICpt aXBpX3R4ID0gbXRrX21pcGlfdHhfZnJvbV9jbGtfaHcoaHcpOworCXVuc2lnbmVkIGludCB0eGRp diwgdHhkaXYwOworCXU2NCBwY3c7CisJaW50IHJldDsKKworCWRldl9kYmcobWlwaV90eC0+ZGV2 LCAicHJlcGFyZTogJXUgYnBzXG4iLCBtaXBpX3R4LT5kYXRhX3JhdGUpOworCisJaWYgKG1pcGlf dHgtPmRhdGFfcmF0ZSA+PSAyMDAwMDAwMDAwKSB7CisJCXR4ZGl2ID0gMTsKKwkJdHhkaXYwID0g MDsKKwl9IGVsc2UgaWYgKG1pcGlfdHgtPmRhdGFfcmF0ZSA+PSAxMDAwMDAwMDAwKSB7CisJCXR4 ZGl2ID0gMjsKKwkJdHhkaXYwID0gMTsKKwl9IGVsc2UgaWYgKG1pcGlfdHgtPmRhdGFfcmF0ZSA+ PSA1MDAwMDAwMDApIHsKKwkJdHhkaXYgPSA0OworCQl0eGRpdjAgPSAyOworCX0gZWxzZSBpZiAo bWlwaV90eC0+ZGF0YV9yYXRlID4gMjUwMDAwMDAwKSB7CisJCXR4ZGl2ID0gODsKKwkJdHhkaXYw ID0gMzsKKwl9IGVsc2UgaWYgKG1pcGlfdHgtPmRhdGFfcmF0ZSA+PSAxMjUwMDAwMDApIHsKKwkJ dHhkaXYgPSAxNjsKKwkJdHhkaXYwID0gNDsKKwl9IGVsc2UgeworCQlyZXR1cm4gLUVJTlZBTDsK Kwl9CisKKwlyZXQgPSBjbGtfcHJlcGFyZV9lbmFibGUobWlwaV90eC0+cmVmX2Nsayk7CisJaWYg KHJldCA8IDApIHsKKwkJZGV2X2VycihtaXBpX3R4LT5kZXYsCisJCQkiY2FuJ3QgcHJlcGFyZSBh bmQgZW5hYmxlIG1pcGlfdHggcmVmX2NsayAlZFxuIiwgcmV0KTsKKwkJcmV0dXJuIHJldDsKKwl9 CisKKwltdGtfbWlwaV90eF9jbGVhcl9iaXRzKG1pcGlfdHgsIE1JUElUWF9QTExfQ09ONCwgUkdf RFNJX1BMTF9JQklBUyk7CisKKwltdGtfbWlwaV90eF9zZXRfYml0cyhtaXBpX3R4LCBNSVBJVFhf UExMX1BXUiwgQURfRFNJX1BMTF9TRE1fUFdSX09OKTsKKwl1c2xlZXBfcmFuZ2UoMzAsIDEwMCk7 CisJbXRrX21pcGlfdHhfY2xlYXJfYml0cyhtaXBpX3R4LCBNSVBJVFhfUExMX1BXUiwgQURfRFNJ X1BMTF9TRE1fSVNPX0VOKTsKKwltdGtfbWlwaV90eF9jbGVhcl9iaXRzKG1pcGlfdHgsIE1JUElU WF9QTExfQ09OMSwgUkdfRFNJX1BMTF9FTik7CisJcGN3ID0gZGl2X3U2NCgoKHU2NCltaXBpX3R4 LT5kYXRhX3JhdGUgKiB0eGRpdikgPDwgMjQsIDI2MDAwMDAwKTsKKwl3cml0ZWwocGN3LCBtaXBp X3R4LT5yZWdzICsgTUlQSVRYX1BMTF9DT04wKTsKKwltdGtfbWlwaV90eF91cGRhdGVfYml0cyht aXBpX3R4LCBNSVBJVFhfUExMX0NPTjEsIFJHX0RTSV9QTExfUE9TRElWLAorCQkJCXR4ZGl2MCA8 PCA4KTsKKwl1c2xlZXBfcmFuZ2UoMTAwMCwgMjAwMCk7CisJbXRrX21pcGlfdHhfc2V0X2JpdHMo bWlwaV90eCwgTUlQSVRYX1BMTF9DT04xLCBSR19EU0lfUExMX0VOKTsKKworCXJldHVybiAwOwor fQorCitzdGF0aWMgdm9pZCBtdGtfbWlwaV90eF9wbGxfdW5wcmVwYXJlKHN0cnVjdCBjbGtfaHcg Kmh3KQoreworCXN0cnVjdCBtdGtfbWlwaV90eCAqbWlwaV90eCA9IG10a19taXBpX3R4X2Zyb21f Y2xrX2h3KGh3KTsKKworCWRldl9kYmcobWlwaV90eC0+ZGV2LCAidW5wcmVwYXJlXG4iKTsKKwor CW10a19taXBpX3R4X2NsZWFyX2JpdHMobWlwaV90eCwgTUlQSVRYX1BMTF9DT04xLCBSR19EU0lf UExMX0VOKTsKKworCW10a19taXBpX3R4X3NldF9iaXRzKG1pcGlfdHgsIE1JUElUWF9QTExfUFdS LCBBRF9EU0lfUExMX1NETV9JU09fRU4pOworCW10a19taXBpX3R4X2NsZWFyX2JpdHMobWlwaV90 eCwgTUlQSVRYX1BMTF9QV1IsIEFEX0RTSV9QTExfU0RNX1BXUl9PTik7CisJY2xrX2Rpc2FibGVf dW5wcmVwYXJlKG1pcGlfdHgtPnJlZl9jbGspOworfQorCitzdGF0aWMgbG9uZyBtdGtfbWlwaV90 eF9wbGxfcm91bmRfcmF0ZShzdHJ1Y3QgY2xrX2h3ICpodywgdW5zaWduZWQgbG9uZyByYXRlLAor CQkJCSAgICAgICB1bnNpZ25lZCBsb25nICpwcmF0ZSkKK3sKKwlyZXR1cm4gY2xhbXBfdmFsKHJh dGUsIDUwMDAwMDAwLCAxNjAwMDAwMDAwKTsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBjbGtf b3BzIG10a19taXBpX3R4X3BsbF9vcHMgPSB7CisJLnByZXBhcmUgPSBtdGtfbWlwaV90eF9wbGxf cHJlcGFyZSwKKwkudW5wcmVwYXJlID0gbXRrX21pcGlfdHhfcGxsX3VucHJlcGFyZSwKKwkucm91 bmRfcmF0ZSA9IG10a19taXBpX3R4X3BsbF9yb3VuZF9yYXRlLAorCS5zZXRfcmF0ZSA9IG10a19t aXBpX3R4X3BsbF9zZXRfcmF0ZSwKKwkucmVjYWxjX3JhdGUgPSBtdGtfbWlwaV90eF9wbGxfcmVj YWxjX3JhdGUsCit9OworCitzdGF0aWMgdm9pZCBtdGtfbWlwaV90eF9wb3dlcl9vbl9zaWduYWwo c3RydWN0IHBoeSAqcGh5KQoreworCXN0cnVjdCBtdGtfbWlwaV90eCAqbWlwaV90eCA9IHBoeV9n ZXRfZHJ2ZGF0YShwaHkpOworCisJLyogQkdfTFBGX0VOIC8gQkdfQ09SRV9FTiAqLworCXdyaXRl bChSR19EU0lfUEFEX1RJRUxfU0VMIHwgUkdfRFNJX0JHX0NPUkVfRU4sCisJICAgICAgIG1pcGlf dHgtPnJlZ3MgKyBNSVBJVFhfTEFORV9DT04pOworCXVzbGVlcF9yYW5nZSgzMCwgMTAwKTsKKwl3 cml0ZWwoUkdfRFNJX0JHX0NPUkVfRU4gfCBSR19EU0lfQkdfTFBGX0VOLAorCSAgICAgICBtaXBp X3R4LT5yZWdzICsgTUlQSVRYX0xBTkVfQ09OKTsKKworCS8qIFN3aXRjaCBPRkYgZWFjaCBMYW5l ICovCisJbXRrX21pcGlfdHhfY2xlYXJfYml0cyhtaXBpX3R4LCBNSVBJVFhfRDBfU1dfQ1RMX0VO LCBEU0lfU1dfQ1RMX0VOKTsKKwltdGtfbWlwaV90eF9jbGVhcl9iaXRzKG1pcGlfdHgsIE1JUElU WF9EMV9TV19DVExfRU4sIERTSV9TV19DVExfRU4pOworCW10a19taXBpX3R4X2NsZWFyX2JpdHMo bWlwaV90eCwgTUlQSVRYX0QyX1NXX0NUTF9FTiwgRFNJX1NXX0NUTF9FTik7CisJbXRrX21pcGlf dHhfY2xlYXJfYml0cyhtaXBpX3R4LCBNSVBJVFhfRDNfU1dfQ1RMX0VOLCBEU0lfU1dfQ1RMX0VO KTsKKwltdGtfbWlwaV90eF9jbGVhcl9iaXRzKG1pcGlfdHgsIE1JUElUWF9DS19TV19DVExfRU4s IERTSV9TV19DVExfRU4pOworCisJbXRrX21pcGlfdHhfc2V0X2JpdHMobWlwaV90eCwgTUlQSVRY X0NLX0NLTU9ERV9FTiwgRFNJX0NLX0NLTU9ERV9FTik7Cit9CisKK3N0YXRpYyB2b2lkIG10a19t aXBpX3R4X3Bvd2VyX29mZl9zaWduYWwoc3RydWN0IHBoeSAqcGh5KQoreworCXN0cnVjdCBtdGtf bWlwaV90eCAqbWlwaV90eCA9IHBoeV9nZXRfZHJ2ZGF0YShwaHkpOworCisJLyogU3dpdGNoIE9O IGVhY2ggTGFuZSAqLworCW10a19taXBpX3R4X3NldF9iaXRzKG1pcGlfdHgsIE1JUElUWF9EMF9T V19DVExfRU4sIERTSV9TV19DVExfRU4pOworCW10a19taXBpX3R4X3NldF9iaXRzKG1pcGlfdHgs IE1JUElUWF9EMV9TV19DVExfRU4sIERTSV9TV19DVExfRU4pOworCW10a19taXBpX3R4X3NldF9i aXRzKG1pcGlfdHgsIE1JUElUWF9EMl9TV19DVExfRU4sIERTSV9TV19DVExfRU4pOworCW10a19t aXBpX3R4X3NldF9iaXRzKG1pcGlfdHgsIE1JUElUWF9EM19TV19DVExfRU4sIERTSV9TV19DVExf RU4pOworCW10a19taXBpX3R4X3NldF9iaXRzKG1pcGlfdHgsIE1JUElUWF9DS19TV19DVExfRU4s IERTSV9TV19DVExfRU4pOworCisJd3JpdGVsKFJHX0RTSV9QQURfVElFTF9TRUwgfCBSR19EU0lf QkdfQ09SRV9FTiwKKwkgICAgICAgbWlwaV90eC0+cmVncyArIE1JUElUWF9MQU5FX0NPTik7CisJ d3JpdGVsKFJHX0RTSV9QQURfVElFTF9TRUwsIG1pcGlfdHgtPnJlZ3MgKyBNSVBJVFhfTEFORV9D T04pOworfQorCitjb25zdCBzdHJ1Y3QgbXRrX21pcGl0eF9kYXRhIG10ODE4M19taXBpdHhfZGF0 YSA9IHsKKwkubWlwaV90eF9jbGtfb3BzID0gJm10a19taXBpX3R4X3BsbF9vcHMsCisJLm1pcGlf dHhfZW5hYmxlX3NpZ25hbCA9IG10a19taXBpX3R4X3Bvd2VyX29uX3NpZ25hbCwKKwkubWlwaV90 eF9kaXNhYmxlX3NpZ25hbCA9IG10a19taXBpX3R4X3Bvd2VyX29mZl9zaWduYWwsCit9OworCi0t IAoyLjEyLjUKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA==