From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jagan Teki Subject: [PATCH v6 07/22] drm/sun4i: sun6i_mipi_dsi: Setup burst mode Date: Fri, 25 Jan 2019 01:28:45 +0530 Message-ID: <20190124195900.22620-8-jagan@amarulasolutions.com> References: <20190124195900.22620-1-jagan@amarulasolutions.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190124195900.22620-1-jagan@amarulasolutions.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Maxime Ripard , David Airlie , Daniel Vetter , Chen-Yu Tsai , Michael Turquette , Rob Herring , Mark Rutland Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-sunxi@googlegroups.com, Jagan Teki , Michael Trimarchi , linux-amarula@amarulasolutions.com, linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org List-Id: devicetree@vger.kernel.org U2V0dGluZyB1cCBidXJzdCBtb2RlIGRpc3BsYXkgd291bGQgcmVxdWlyZSB0byBjb21wdXRlCi0g SG9yaXpvbnRhbCB0aW1pbmcgZWRnZSB2YWx1ZXMgdG8gZmlsbCBidXJzdCBkcnEgcmVnaXN0ZXIK LSBMaW5lLCBzeW5jIHZhbHVlcyB0byBmaWxsIGJ1cnN0IGxpbmUgcmVnaXN0ZXIKClNpbmNlIHRo ZXJlIGlzIG5vIGRpcmVjdCBkb2N1bWVudGF0aW9uIGZvciB0aGVzZSBjb21wdXRhdGlvbnMKdGhl IGVkZ2UgYW5kIGxpbmUgZm9ybXVsYXMgYXJlIHRha2VuIGZyb20gQlNQIGNvZGUgKGZyb20gbGlu dXgtc3VueGkvCmRyaXZlcnMvdmlkZW8vc3VueGkvZGlzcDIvZGlzcC9kZS9sb3dsZXZlbF9zdW41 MGl3MS9kZV9kc2kuYykKCmxpbmVfbnVtID0gcGFuZWwtPmxjZF9odCpkc2lfcGl4ZWxfYml0c1tw YW5lbC0+bGNkX2RzaV9mb3JtYXRdLwoJICAoOCpwYW5lbC0+bGNkX2RzaV9sYW5lKTsKZWRnZTEg PSBzeW5jX3BvaW50KyhwYW5lbC0+bGNkX3grcGFuZWwtPmxjZF9oYnArMjApKgoJZHNpX3BpeGVs X2JpdHNbcGFuZWwtPmxjZF9kc2lfZm9ybWF0XSAvKDgqcGFuZWwtPmxjZF9kc2lfbGFuZSk7CmVk Z2UxID0gKGVkZ2UxPmxpbmVfbnVtKT9saW5lX251bTplZGdlMTsKZWRnZTAgPSBlZGdlMSsocGFu ZWwtPmxjZF94KzQwKSp0Y29uX2Rpdi84OwplZGdlMCA9IChlZGdlMD5saW5lX251bSk/KGVkZ2Uw LWxpbmVfbnVtKToxOwoKU2lnbmVkLW9mZi1ieTogSmFnYW4gVGVraSA8amFnYW5AYW1hcnVsYXNv bHV0aW9ucy5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjZpX21pcGlfZHNpLmMg fCA3MCArKysrKysrKysrKysrKysrKysrKysrKystLQogMSBmaWxlIGNoYW5nZWQsIDY3IGluc2Vy dGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N1 bjRpL3N1bjZpX21pcGlfZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNmlfbWlwaV9k c2kuYwppbmRleCAyYWVhYTE5YThkMWUuLjQ2YWQxNDJlNjZlOCAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL3N1bjRpL3N1bjZpX21pcGlfZHNpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3N1 bjRpL3N1bjZpX21pcGlfZHNpLmMKQEAgLTM1NSw2ICszNTUsNDEgQEAgc3RhdGljIHZvaWQgc3Vu NmlfZHNpX2luc3RfaW5pdChzdHJ1Y3Qgc3VuNmlfZHNpICpkc2ksCiAJCSAgICAgU1VONklfRFNJ X0lOU1RfSlVNUF9DRkdfTlVNKDEpKTsKIH07CiAKK3N0YXRpYyB1MzIgc3VuNmlfZHNpX2dldF9l ZGdlMShzdHJ1Y3Qgc3VuNmlfZHNpICpkc2ksCisJCQkgICAgICAgc3RydWN0IGRybV9kaXNwbGF5 X21vZGUgKm1vZGUsIHUzMiBzeW5jX3BvaW50KQoreworCXN0cnVjdCBtaXBpX2RzaV9kZXZpY2Ug KmRldmljZSA9IGRzaS0+ZGV2aWNlOworCXVuc2lnbmVkIGludCBicHAgPSBtaXBpX2RzaV9waXhl bF9mb3JtYXRfdG9fYnBwKGRldmljZS0+Zm9ybWF0KTsKKwl1MzIgaGFjdF9zeW5jX2JwOworCisJ LyogSG9yaXpvbnRhbCB0aW1pbmdzIGR1cmF0aW9uIGV4Y2x1ZGluZyBmcm9udCBwb3JjaCAqLwor CWhhY3Rfc3luY19icCA9IChtb2RlLT5oZGlzcGxheSArIG1vZGUtPmh0b3RhbCAtIG1vZGUtPmhz eW5jX3N0YXJ0KTsKKworCXJldHVybiAoc3luY19wb2ludCArICgoaGFjdF9zeW5jX2JwICsgMjAp ICogYnBwIC8gKDggKiBkZXZpY2UtPmxhbmVzKSkpOworfQorCitzdGF0aWMgdTMyIHN1bjZpX2Rz aV9nZXRfZWRnZTAoc3RydWN0IHN1bjZpX2RzaSAqZHNpLAorCQkJICAgICAgIHN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICptb2RlLCB1MzIgZWRnZTEpCit7CisJc3RydWN0IHN1bjRpX3Rjb24gKnRj b24gPSBkc2ktPnRjb247CisJdW5zaWduZWQgbG9uZyBkY2xrX3JhdGUsIGRjbGtfcGFyZW50X3Jh dGUsIHRjb24wX2RpdjsKKworCWRjbGtfcmF0ZSA9IGNsa19nZXRfcmF0ZSh0Y29uLT5kY2xrKTsK KwlkY2xrX3BhcmVudF9yYXRlID0gY2xrX2dldF9yYXRlKGNsa19nZXRfcGFyZW50KHRjb24tPmRj bGspKTsKKwl0Y29uMF9kaXYgPSBkY2xrX3BhcmVudF9yYXRlIC8gZGNsa19yYXRlOworCisJcmV0 dXJuIChlZGdlMSArIChtb2RlLT5oZGlzcGxheSArIDQwKSAqIHRjb24wX2RpdiAvIDgpOworfQor CitzdGF0aWMgdTMyIHN1bjZpX2RzaV9nZXRfbGluZV9udW0oc3RydWN0IHN1bjZpX2RzaSAqZHNp LAorCQkJCSAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCit7CisJc3RydWN0IG1pcGlf ZHNpX2RldmljZSAqZGV2aWNlID0gZHNpLT5kZXZpY2U7CisJdW5zaWduZWQgaW50IGJwcCA9IG1p cGlfZHNpX3BpeGVsX2Zvcm1hdF90b19icHAoZGV2aWNlLT5mb3JtYXQpOworCisJcmV0dXJuICht b2RlLT5odG90YWwgKiBicHAgLyAoOCAqIGRldmljZS0+bGFuZXMpKTsKK30KKwogc3RhdGljIGlu dCBzdW42aV9kc2lfZ2V0X2RycShzdHJ1Y3Qgc3VuNmlfZHNpICpkc2ksCiAJCQkgICAgICBzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKIHsKQEAgLTQwNCw4ICs0MzksMzIgQEAgc3RhdGlj IHUxNiBzdW42aV9kc2lfZ2V0X3ZpZGVvX3N0YXJ0X2RlbGF5KHN0cnVjdCBzdW42aV9kc2kgKmRz aSwKIHN0YXRpYyB2b2lkIHN1bjZpX2RzaV9zZXR1cF9idXJzdChzdHJ1Y3Qgc3VuNmlfZHNpICpk c2ksCiAJCQkJICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKIHsKLQlyZWdtYXBfd3Jp dGUoZHNpLT5yZWdzLCBTVU42SV9EU0lfVENPTl9EUlFfUkVHLAotCQkgICAgIHN1bjZpX2RzaV9n ZXRfZHJxKGRzaSwgbW9kZSkpOworCXN0cnVjdCBtaXBpX2RzaV9kZXZpY2UgKmRldmljZSA9IGRz aS0+ZGV2aWNlOworCXUzMiBzeW5jX3BvaW50ID0gNDA7CisJdTMyIGxpbmVfbnVtID0gc3VuNmlf ZHNpX2dldF9saW5lX251bShkc2ksIG1vZGUpOworCXUzMiBlZGdlMSA9IHN1bjZpX2RzaV9nZXRf ZWRnZTEoZHNpLCBtb2RlLCBzeW5jX3BvaW50KTsKKwl1MzIgZWRnZTAgPSBzdW42aV9kc2lfZ2V0 X2VkZ2UwKGRzaSwgbW9kZSwgZWRnZTEpOworCXUzMiB2YWw7CisKKwlpZiAoZWRnZTEgPiBsaW5l X251bSkKKwkJZWRnZTEgPSBsaW5lX251bTsKKworCWlmIChlZGdlMCA+IGxpbmVfbnVtKQorCQll ZGdlMCAtPSBsaW5lX251bTsKKwllbHNlCisJCWVkZ2UwID0gMTsKKworCXJlZ21hcF93cml0ZShk c2ktPnJlZ3MsIFNVTjZJX0RTSV9CVVJTVF9EUlFfUkVHLAorCQkgICAgIFNVTjZJX0RTSV9CVVJT VF9EUlFfRURHRTEoZWRnZTEpIHwKKwkJICAgICBTVU42SV9EU0lfQlVSU1RfRFJRX0VER0UwKGVk Z2UwKSk7CisJcmVnbWFwX3dyaXRlKGRzaS0+cmVncywgU1VONklfRFNJX0JVUlNUX0xJTkVfUkVH LAorCQkgICAgIFNVTjZJX0RTSV9CVVJTVF9MSU5FX05VTShsaW5lX251bSkgfAorCQkgICAgIFNV TjZJX0RTSV9CVVJTVF9MSU5FX1NZTkNfUE9JTlQoc3luY19wb2ludCkpOworCisJLyogZW5hYmxl IGJ1cnN0IG1vZGUgKi8KKwlyZWdtYXBfcmVhZChkc2ktPnJlZ3MsIFNVTjZJX0RTSV9CQVNJQ19D VExfUkVHLCAmdmFsKTsKKwl2YWwgfD0gU1VONklfRFNJX0JBU0lDX0NUTF9WSURFT19CVVJTVDsK KwlyZWdtYXBfd3JpdGUoZHNpLT5yZWdzLCBTVU42SV9EU0lfQkFTSUNfQ1RMX1JFRywgdmFsKTsK IH0KIAogc3RhdGljIHZvaWQgc3VuNmlfZHNpX3NldHVwX2luc3RfbG9vcChzdHJ1Y3Qgc3VuNmlf ZHNpICpkc2ksCkBAIC02NjcsNyArNzI2LDEyIEBAIHN0YXRpYyB2b2lkIHN1bjZpX2RzaV9lbmNv ZGVyX2VuYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCiAJCSAgICAgU1VONklfRFNJ X0JBU0lDX0NUTDFfVklERU9fUFJFQ0lTSU9OIHwKIAkJICAgICBTVU42SV9EU0lfQkFTSUNfQ1RM MV9WSURFT19NT0RFKTsKIAotCXN1bjZpX2RzaV9zZXR1cF9idXJzdChkc2ksIG1vZGUpOworCXJl Z21hcF93cml0ZShkc2ktPnJlZ3MsIFNVTjZJX0RTSV9UQ09OX0RSUV9SRUcsCisJCSAgICAgc3Vu NmlfZHNpX2dldF9kcnEoZHNpLCBtb2RlKSk7CisKKwlpZiAoZGV2aWNlLT5tb2RlX2ZsYWdzICYg TUlQSV9EU0lfTU9ERV9WSURFT19CVVJTVCkKKwkJc3VuNmlfZHNpX3NldHVwX2J1cnN0KGRzaSwg bW9kZSk7CisKIAlzdW42aV9kc2lfc2V0dXBfaW5zdF9sb29wKGRzaSwgbW9kZSk7CiAJc3VuNmlf ZHNpX3NldHVwX2Zvcm1hdChkc2ksIG1vZGUpOwogCXN1bjZpX2RzaV9zZXR1cF90aW1pbmdzKGRz aSwgbW9kZSk7Ci0tIAoyLjE4LjAuMzIxLmdmZmM2ZmEwZTMKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRl dmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=