From mboxrd@z Thu Jan 1 00:00:00 1970 From: Abhinav Kumar Subject: [DPU PATCH 2/2] drm/msm/dsi: implement auto PHY timing calculator for 10nm PHY Date: Sat, 7 Apr 2018 00:50:05 -0700 Message-ID: <1523087405-18877-2-git-send-email-abhinavk@codeaurora.org> References: <1523087405-18877-1-git-send-email-abhinavk@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1523087405-18877-1-git-send-email-abhinavk@codeaurora.org> 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, freedreno@lists.freedesktop.org, linux-arm-msm@vger.kernel.org Cc: manojavm@codeaurora.org, Abhinav Kumar , hoegsberg@google.com, chandanu@codeaurora.org List-Id: linux-arm-msm@vger.kernel.org Q3VycmVudGx5IHRoZSBEU0kgUEhZIHRpbWluZ3MgYXJlIGhhcmQtY29kZWQgZm9yIGEgc3BlY2lm aWMgcGFuZWwKZm9yIHRoZSAxMG5tIFBIWS4KClJlcGxhY2UgdGhpcyB3aXRoIHRoZSBhdXRvIFBI WSB0aW1pbmcgY2FsY3VsYXRvciB3aGljaCBjYW4gY2FsY3VsYXRlCnRoZSBQSFkgdGltaW5ncyBm b3IgYW55IHBhbmVsLgoKU2lnbmVkLW9mZi1ieTogQWJoaW5hdiBLdW1hciA8YWJoaW5hdmtAY29k ZWF1cm9yYS5vcmc+Ci0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvcGh5L2RzaV9waHkuYyAg ICAgIHwgMTExICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0v bXNtL2RzaS9waHkvZHNpX3BoeS5oICAgICAgfCAgIDIgKwogZHJpdmVycy9ncHUvZHJtL21zbS9k c2kvcGh5L2RzaV9waHlfMTBubS5jIHwgIDI4IC0tLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDEx MyBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vbXNtL2RzaS9waHkvZHNpX3BoeS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvcGh5 L2RzaV9waHkuYwppbmRleCA4ZTlkNWMyLi41YjQyODg1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vbXNtL2RzaS9waHkvZHNpX3BoeS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNp L3BoeS9kc2lfcGh5LmMKQEAgLTI2NSw2ICsyNjUsMTE3IEBAIGludCBtc21fZHNpX2RwaHlfdGlt aW5nX2NhbGNfdjIoc3RydWN0IG1zbV9kc2lfZHBoeV90aW1pbmcgKnRpbWluZywKIAlyZXR1cm4g MDsKIH0KIAoraW50IG1zbV9kc2lfZHBoeV90aW1pbmdfY2FsY192MyhzdHJ1Y3QgbXNtX2RzaV9k cGh5X3RpbWluZyAqdGltaW5nLAorCQkJCSAgICAgICBzdHJ1Y3QgbXNtX2RzaV9waHlfY2xrX3Jl cXVlc3QgKmNsa19yZXEpCit7CisJY29uc3QgdW5zaWduZWQgbG9uZyBiaXRfcmF0ZSA9IGNsa19y ZXEtPmJpdGNsa19yYXRlOworCWNvbnN0IHVuc2lnbmVkIGxvbmcgZXNjX3JhdGUgPSBjbGtfcmVx LT5lc2NjbGtfcmF0ZTsKKwlzMzIgdWksIHVpX3g4LCBscHg7CisJczMyIHRtYXgsIHRtaW47CisJ czMyIHBjbnQwID0gNTA7CisJczMyIHBjbnQxID0gNTA7CisJczMyIHBjbnQyID0gMTA7CisJczMy IHBjbnQzID0gMzA7CisJczMyIHBjbnQ0ID0gMTA7CisJczMyIHBjbnQ1ID0gMjsKKwlzMzIgY29l ZmYgPSAxMDAwOyAvKiBQcmVjaXNpb24sIHNob3VsZCBhdm9pZCBvdmVyZmxvdyAqLworCXMzMiBo Yl9lbiwgaGJfZW5fY2tsbjsKKwlzMzIgdGVtcDsKKworCWlmICghYml0X3JhdGUgfHwgIWVzY19y YXRlKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXRpbWluZy0+aHNfaGFsZmJ5dGVfZW4gPSAwOwor CWhiX2VuID0gMDsKKwl0aW1pbmctPmhzX2hhbGZieXRlX2VuX2NrbG4gPSAwOworCWhiX2VuX2Nr bG4gPSAwOworCisJdWkgPSBtdWx0X2ZyYWMoTlNFQ19QRVJfTVNFQywgY29lZmYsIGJpdF9yYXRl IC8gMTAwMCk7CisJdWlfeDggPSB1aSA8PCAzOworCWxweCA9IG11bHRfZnJhYyhOU0VDX1BFUl9N U0VDLCBjb2VmZiwgZXNjX3JhdGUgLyAxMDAwKTsKKworCXRlbXAgPSBTX0RJVl9ST1VORF9VUCgz OCAqIGNvZWZmLCB1aV94OCk7CisJdG1pbiA9IG1heF90KHMzMiwgdGVtcCwgMCk7CisJdGVtcCA9 ICg5NSAqIGNvZWZmKSAvIHVpX3g4OworCXRtYXggPSBtYXhfdChzMzIsIHRlbXAsIDApOworCXRp bWluZy0+Y2xrX3ByZXBhcmUgPSBsaW5lYXJfaW50ZXIodG1heCwgdG1pbiwgcGNudDAsIDAsIGZh bHNlKTsKKworCisJdGVtcCA9IDMwMCAqIGNvZWZmIC0gKHRpbWluZy0+Y2xrX3ByZXBhcmUgPDwg MykgKiB1aTsKKwl0bWluID0gU19ESVZfUk9VTkRfVVAodGVtcCwgdWlfeDgpIC0gMTsKKwl0bWF4 ID0gKHRtaW4gPiAyNTUpID8gNTExIDogMjU1OworCXRpbWluZy0+Y2xrX3plcm8gPSBsaW5lYXJf aW50ZXIodG1heCwgdG1pbiwgcGNudDUsIDAsIGZhbHNlKTsKKworCXRtaW4gPSBESVZfUk9VTkRf VVAoNjAgKiBjb2VmZiArIDMgKiB1aSwgdWlfeDgpOworCXRlbXAgPSAxMDUgKiBjb2VmZiArIDEy ICogdWkgLSAyMCAqIGNvZWZmOworCXRtYXggPSAodGVtcCArIDMgKiB1aSkgLyB1aV94ODsKKwl0 aW1pbmctPmNsa190cmFpbCA9IGxpbmVhcl9pbnRlcih0bWF4LCB0bWluLCBwY250MywgMCwgZmFs c2UpOworCisJdGVtcCA9IFNfRElWX1JPVU5EX1VQKDQwICogY29lZmYgKyA0ICogdWksIHVpX3g4 KTsKKwl0bWluID0gbWF4X3QoczMyLCB0ZW1wLCAwKTsKKwl0ZW1wID0gKDg1ICogY29lZmYgKyA2 ICogdWkpIC8gdWlfeDg7CisJdG1heCA9IG1heF90KHMzMiwgdGVtcCwgMCk7CisJdGltaW5nLT5o c19wcmVwYXJlID0gbGluZWFyX2ludGVyKHRtYXgsIHRtaW4sIHBjbnQxLCAwLCBmYWxzZSk7CisK Kwl0ZW1wID0gMTQ1ICogY29lZmYgKyAxMCAqIHVpIC0gKHRpbWluZy0+aHNfcHJlcGFyZSA8PCAz KSAqIHVpOworCXRtaW4gPSBTX0RJVl9ST1VORF9VUCh0ZW1wLCB1aV94OCkgLSAxOworCXRtYXgg PSAyNTU7CisJdGltaW5nLT5oc196ZXJvID0gbGluZWFyX2ludGVyKHRtYXgsIHRtaW4sIHBjbnQ0 LCAwLCBmYWxzZSk7CisKKwl0bWluID0gRElWX1JPVU5EX1VQKDYwICogY29lZmYgKyA0ICogdWks IHVpX3g4KSAtIDE7CisJdGVtcCA9IDEwNSAqIGNvZWZmICsgMTIgKiB1aSAtIDIwICogY29lZmY7 CisJdG1heCA9ICh0ZW1wIC8gdWlfeDgpIC0gMTsKKwl0aW1pbmctPmhzX3RyYWlsID0gbGluZWFy X2ludGVyKHRtYXgsIHRtaW4sIHBjbnQzLCAwLCBmYWxzZSk7CisKKwl0ZW1wID0gNTAgKiBjb2Vm ZiArICgoaGJfZW4gPDwgMikgLSA4KSAqIHVpOworCXRpbWluZy0+aHNfcnFzdCA9IFNfRElWX1JP VU5EX1VQKHRlbXAsIHVpX3g4KTsKKworCXRtaW4gPSBESVZfUk9VTkRfVVAoMTAwICogY29lZmYs IHVpX3g4KSAtIDE7CisJdG1heCA9IDI1NTsKKwl0aW1pbmctPmhzX2V4aXQgPSBsaW5lYXJfaW50 ZXIodG1heCwgdG1pbiwgcGNudDIsIDAsIGZhbHNlKTsKKworCXRlbXAgPSA1MCAqIGNvZWZmICsg KChoYl9lbl9ja2xuIDw8IDIpIC0gOCkgKiB1aTsKKwl0aW1pbmctPmhzX3Jxc3RfY2tsbiA9IFNf RElWX1JPVU5EX1VQKHRlbXAsIHVpX3g4KTsKKworCXRlbXAgPSA2MCAqIGNvZWZmICsgNTIgKiB1 aSAtIDQzICogdWk7CisJdG1pbiA9IERJVl9ST1VORF9VUCh0ZW1wLCB1aV94OCkgLSAxOworCXRt YXggPSA2MzsKKwl0aW1pbmctPnNoYXJlZF90aW1pbmdzLmNsa19wb3N0ID0KKwkJCQlsaW5lYXJf aW50ZXIodG1heCwgdG1pbiwgcGNudDIsIDAsIGZhbHNlKTsKKworCXRlbXAgPSA4ICogdWkgKyAo dGltaW5nLT5jbGtfcHJlcGFyZSA8PCAzKSAqIHVpOworCXRlbXAgKz0gKCgodGltaW5nLT5jbGtf emVybyArIDMpIDw8IDMpICsgMTEpICogdWk7CisJdGVtcCArPSBoYl9lbl9ja2xuID8gKCgodGlt aW5nLT5oc19ycXN0X2NrbG4gPDwgMykgKyA0KSAqIHVpKSA6CisJCQkJKCgodGltaW5nLT5oc19y cXN0X2NrbG4gPDwgMykgKyA4KSAqIHVpKTsKKwl0bWluID0gU19ESVZfUk9VTkRfVVAodGVtcCwg dWlfeDgpIC0gMTsKKwl0bWF4ID0gNjM7CisJaWYgKHRtaW4gPiB0bWF4KSB7CisJCXRlbXAgPSBs aW5lYXJfaW50ZXIodG1heCA8PCAxLCB0bWluLCBwY250MiwgMCwgZmFsc2UpOworCQl0aW1pbmct PnNoYXJlZF90aW1pbmdzLmNsa19wcmUgPSB0ZW1wID4+IDE7CisJCXRpbWluZy0+c2hhcmVkX3Rp bWluZ3MuY2xrX3ByZV9pbmNfYnlfMiA9IDE7CisJfSBlbHNlIHsKKwkJdGltaW5nLT5zaGFyZWRf dGltaW5ncy5jbGtfcHJlID0KKwkJCQlsaW5lYXJfaW50ZXIodG1heCwgdG1pbiwgcGNudDIsIDAs IGZhbHNlKTsKKwkJdGltaW5nLT5zaGFyZWRfdGltaW5ncy5jbGtfcHJlX2luY19ieV8yID0gMDsK Kwl9CisKKwl0aW1pbmctPnRhX2dvID0gMzsKKwl0aW1pbmctPnRhX3N1cmUgPSAwOworCXRpbWlu Zy0+dGFfZ2V0ID0gNDsKKworCURCRygiJWQsICVkLCAlZCwgJWQsICVkLCAlZCwgJWQsICVkLCAl ZCwgJWQsICVkLCAlZCwgJWQsICVkLCAlZCwgJWQiLAorCSAgICB0aW1pbmctPnNoYXJlZF90aW1p bmdzLmNsa19wcmUsIHRpbWluZy0+c2hhcmVkX3RpbWluZ3MuY2xrX3Bvc3QsCisJICAgIHRpbWlu Zy0+c2hhcmVkX3RpbWluZ3MuY2xrX3ByZV9pbmNfYnlfMiwgdGltaW5nLT5jbGtfemVybywKKwkg ICAgdGltaW5nLT5jbGtfdHJhaWwsIHRpbWluZy0+Y2xrX3ByZXBhcmUsIHRpbWluZy0+aHNfZXhp dCwKKwkgICAgdGltaW5nLT5oc196ZXJvLCB0aW1pbmctPmhzX3ByZXBhcmUsIHRpbWluZy0+aHNf dHJhaWwsCisJICAgIHRpbWluZy0+aHNfcnFzdCwgdGltaW5nLT5oc19ycXN0X2NrbG4sIHRpbWlu Zy0+aHNfaGFsZmJ5dGVfZW4sCisJICAgIHRpbWluZy0+aHNfaGFsZmJ5dGVfZW5fY2tsbiwgdGlt aW5nLT5oc19wcmVwX2RseSwKKwkgICAgdGltaW5nLT5oc19wcmVwX2RseV9ja2xuKTsKKworCisJ cmV0dXJuIDA7Cit9CisKIHZvaWQgbXNtX2RzaV9waHlfc2V0X3NyY19wbGwoc3RydWN0IG1zbV9k c2lfcGh5ICpwaHksIGludCBwbGxfaWQsIHUzMiByZWcsCiAJCQkJdTMyIGJpdF9tYXNrKQogewpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvcGh5L2RzaV9waHkuaCBiL2RyaXZl cnMvZ3B1L2RybS9tc20vZHNpL3BoeS9kc2lfcGh5LmgKaW5kZXggYzU2MjY4Yy4uYTI0YWI4MCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvcGh5L2RzaV9waHkuaAorKysgYi9k cml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9waHkvZHNpX3BoeS5oCkBAIC0xMDEsNiArMTAxLDggQEAg aW50IG1zbV9kc2lfZHBoeV90aW1pbmdfY2FsYyhzdHJ1Y3QgbXNtX2RzaV9kcGh5X3RpbWluZyAq dGltaW5nLAogCQkJICAgICBzdHJ1Y3QgbXNtX2RzaV9waHlfY2xrX3JlcXVlc3QgKmNsa19yZXEp OwogaW50IG1zbV9kc2lfZHBoeV90aW1pbmdfY2FsY192MihzdHJ1Y3QgbXNtX2RzaV9kcGh5X3Rp bWluZyAqdGltaW5nLAogCQkJCXN0cnVjdCBtc21fZHNpX3BoeV9jbGtfcmVxdWVzdCAqY2xrX3Jl cSk7CitpbnQgbXNtX2RzaV9kcGh5X3RpbWluZ19jYWxjX3YzKHN0cnVjdCBtc21fZHNpX2RwaHlf dGltaW5nICp0aW1pbmcsCisJCQkJc3RydWN0IG1zbV9kc2lfcGh5X2Nsa19yZXF1ZXN0ICpjbGtf cmVxKTsKIHZvaWQgbXNtX2RzaV9waHlfc2V0X3NyY19wbGwoc3RydWN0IG1zbV9kc2lfcGh5ICpw aHksIGludCBwbGxfaWQsIHUzMiByZWcsCiAJCQkJdTMyIGJpdF9tYXNrKTsKIGludCBtc21fZHNp X3BoeV9pbml0X2NvbW1vbihzdHJ1Y3QgbXNtX2RzaV9waHkgKnBoeSk7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9waHkvZHNpX3BoeV8xMG5tLmMgYi9kcml2ZXJzL2dwdS9k cm0vbXNtL2RzaS9waHkvZHNpX3BoeV8xMG5tLmMKaW5kZXggMGFmOTUxYS4uYjNmZmZjOCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvcGh5L2RzaV9waHlfMTBubS5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL3BoeS9kc2lfcGh5XzEwbm0uYwpAQCAtNzksMzQgKzc5 LDYgQEAgc3RhdGljIHZvaWQgZHNpX3BoeV9od192M18wX2xhbmVfc2V0dGluZ3Moc3RydWN0IG1z bV9kc2lfcGh5ICpwaHkpCiAJZHNpX3BoeV93cml0ZShsYW5lX2Jhc2UgKyBSRUdfRFNJXzEwbm1f UEhZX0xOX1RYX0RDVFJMKDMpLCAweDA0KTsKIH0KIAotc3RhdGljIGludCBtc21fZHNpX2RwaHlf dGltaW5nX2NhbGNfdjMoc3RydWN0IG1zbV9kc2lfZHBoeV90aW1pbmcgKnRpbWluZywKLQkJCQkg ICAgICAgc3RydWN0IG1zbV9kc2lfcGh5X2Nsa19yZXF1ZXN0ICpjbGtfcmVxKQotewotCS8qCi0J ICogVE9ETzogVGhlc2UgcGFyYW1zIG5lZWQgdG8gYmUgY29tcHV0ZWQsIHRoZXkncmUgY3VycmVu dGx5IGhhcmRjb2RlZAotCSAqIGZvciBhIDE0NDB4MjU2MEA2MEh6IHBhbmVsIHdpdGggYSBieXRl Y2xrIG9mIDEwMC42MTggTWh6LCBhbmQgYQotCSAqIGRlZmF1bHQgZXNjYXBlIGNsb2NrIG9mIDE5 LjIgTWh6LgotCSAqLwotCi0JdGltaW5nLT5oc19oYWxmYnl0ZV9lbiA9IDA7Ci0JdGltaW5nLT5j bGtfemVybyA9IDB4MWM7Ci0JdGltaW5nLT5jbGtfcHJlcGFyZSA9IDB4MDc7Ci0JdGltaW5nLT5j bGtfdHJhaWwgPSAweDA3OwotCXRpbWluZy0+aHNfZXhpdCA9IDB4MjM7Ci0JdGltaW5nLT5oc196 ZXJvID0gMHgyMTsKLQl0aW1pbmctPmhzX3ByZXBhcmUgPSAweDA3OwotCXRpbWluZy0+aHNfdHJh aWwgPSAweDA3OwotCXRpbWluZy0+aHNfcnFzdCA9IDB4MDU7Ci0JdGltaW5nLT50YV9zdXJlID0g MHgwMDsKLQl0aW1pbmctPnRhX2dvID0gMHgwMzsKLQl0aW1pbmctPnRhX2dldCA9IDB4MDQ7Ci0K LQl0aW1pbmctPnNoYXJlZF90aW1pbmdzLmNsa19wcmUgPSAweDJkOwotCXRpbWluZy0+c2hhcmVk X3RpbWluZ3MuY2xrX3Bvc3QgPSAweDBkOwotCi0JcmV0dXJuIDA7Ci19Ci0KIHN0YXRpYyBpbnQg ZHNpXzEwbm1fcGh5X2VuYWJsZShzdHJ1Y3QgbXNtX2RzaV9waHkgKnBoeSwgaW50IHNyY19wbGxf aWQsCiAJCQkgICAgICAgc3RydWN0IG1zbV9kc2lfcGh5X2Nsa19yZXF1ZXN0ICpjbGtfcmVxKQog ewotLSAKVGhlIFF1YWxjb21tIElubm92YXRpb24gQ2VudGVyLCBJbmMuIGlzIGEgbWVtYmVyIG9m IHRoZSBDb2RlIEF1cm9yYSBGb3J1bSwKYSBMaW51eCBGb3VuZGF0aW9uIENvbGxhYm9yYXRpdmUg UHJvamVjdAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K ZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==