From mboxrd@z Thu Jan 1 00:00:00 1970 From: Abhinav Kumar Subject: [DPU PATCH v2 2/2] drm/msm/dsi: implement auto PHY timing calculator for 10nm PHY Date: Tue, 10 Apr 2018 18:54:07 -0700 Message-ID: <1523411647-16840-2-git-send-email-abhinavk@codeaurora.org> References: <1523411647-16840-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: <1523411647-16840-1-git-send-email-abhinavk-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> In-Reply-To: <1523087405-18877-1-git-send-email-abhinavk-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> References: <1523087405-18877-1-git-send-email-abhinavk-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: jeykumar-jfJNa2p1gH1BDgjK7y7TUQ@public.gmane.org, jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, Abhinav Kumar , robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, nganji-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, hoegsberg-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org, jsanka-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, chandanu-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org Q3VycmVudGx5IHRoZSBEU0kgUEhZIHRpbWluZ3MgYXJlIGhhcmQtY29kZWQgZm9yIGEgc3BlY2lm aWMgcGFuZWwKZm9yIHRoZSAxMG5tIFBIWS4KClJlcGxhY2UgdGhpcyB3aXRoIHRoZSBhdXRvIFBI WSB0aW1pbmcgY2FsY3VsYXRvciB3aGljaCBjYW4gY2FsY3VsYXRlCnRoZSBQSFkgdGltaW5ncyBm b3IgYW55IHBhbmVsLgoKQ2hhbmdlcyBpbiB2MjoKLSBOb25lCgpSZXZpZXdlZC1ieTogQXJjaGl0 IFRhbmVqYSA8YXJjaGl0dEBjb2RlYXVyb3JhLm9yZz4KU2lnbmVkLW9mZi1ieTogQWJoaW5hdiBL dW1hciA8YWJoaW5hdmtAY29kZWF1cm9yYS5vcmc+Ci0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9k c2kvcGh5L2RzaV9waHkuYyAgICAgIHwgMTExICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr CiBkcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9waHkvZHNpX3BoeS5oICAgICAgfCAgIDIgKwogZHJp dmVycy9ncHUvZHJtL21zbS9kc2kvcGh5L2RzaV9waHlfMTBubS5jIHwgIDI4IC0tLS0tLS0tCiAz IGZpbGVzIGNoYW5nZWQsIDExMyBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9waHkvZHNpX3BoeS5jIGIvZHJpdmVycy9n cHUvZHJtL21zbS9kc2kvcGh5L2RzaV9waHkuYwppbmRleCA4ZTlkNWMyLi41YjQyODg1IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9waHkvZHNpX3BoeS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9tc20vZHNpL3BoeS9kc2lfcGh5LmMKQEAgLTI2NSw2ICsyNjUsMTE3IEBAIGlu dCBtc21fZHNpX2RwaHlfdGltaW5nX2NhbGNfdjIoc3RydWN0IG1zbV9kc2lfZHBoeV90aW1pbmcg KnRpbWluZywKIAlyZXR1cm4gMDsKIH0KIAoraW50IG1zbV9kc2lfZHBoeV90aW1pbmdfY2FsY192 MyhzdHJ1Y3QgbXNtX2RzaV9kcGh5X3RpbWluZyAqdGltaW5nLAorCQkJCSAgICAgICBzdHJ1Y3Qg bXNtX2RzaV9waHlfY2xrX3JlcXVlc3QgKmNsa19yZXEpCit7CisJY29uc3QgdW5zaWduZWQgbG9u ZyBiaXRfcmF0ZSA9IGNsa19yZXEtPmJpdGNsa19yYXRlOworCWNvbnN0IHVuc2lnbmVkIGxvbmcg ZXNjX3JhdGUgPSBjbGtfcmVxLT5lc2NjbGtfcmF0ZTsKKwlzMzIgdWksIHVpX3g4LCBscHg7CisJ czMyIHRtYXgsIHRtaW47CisJczMyIHBjbnQwID0gNTA7CisJczMyIHBjbnQxID0gNTA7CisJczMy IHBjbnQyID0gMTA7CisJczMyIHBjbnQzID0gMzA7CisJczMyIHBjbnQ0ID0gMTA7CisJczMyIHBj bnQ1ID0gMjsKKwlzMzIgY29lZmYgPSAxMDAwOyAvKiBQcmVjaXNpb24sIHNob3VsZCBhdm9pZCBv dmVyZmxvdyAqLworCXMzMiBoYl9lbiwgaGJfZW5fY2tsbjsKKwlzMzIgdGVtcDsKKworCWlmICgh Yml0X3JhdGUgfHwgIWVzY19yYXRlKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXRpbWluZy0+aHNf aGFsZmJ5dGVfZW4gPSAwOworCWhiX2VuID0gMDsKKwl0aW1pbmctPmhzX2hhbGZieXRlX2VuX2Nr bG4gPSAwOworCWhiX2VuX2NrbG4gPSAwOworCisJdWkgPSBtdWx0X2ZyYWMoTlNFQ19QRVJfTVNF QywgY29lZmYsIGJpdF9yYXRlIC8gMTAwMCk7CisJdWlfeDggPSB1aSA8PCAzOworCWxweCA9IG11 bHRfZnJhYyhOU0VDX1BFUl9NU0VDLCBjb2VmZiwgZXNjX3JhdGUgLyAxMDAwKTsKKworCXRlbXAg PSBTX0RJVl9ST1VORF9VUCgzOCAqIGNvZWZmLCB1aV94OCk7CisJdG1pbiA9IG1heF90KHMzMiwg dGVtcCwgMCk7CisJdGVtcCA9ICg5NSAqIGNvZWZmKSAvIHVpX3g4OworCXRtYXggPSBtYXhfdChz MzIsIHRlbXAsIDApOworCXRpbWluZy0+Y2xrX3ByZXBhcmUgPSBsaW5lYXJfaW50ZXIodG1heCwg dG1pbiwgcGNudDAsIDAsIGZhbHNlKTsKKworCisJdGVtcCA9IDMwMCAqIGNvZWZmIC0gKHRpbWlu Zy0+Y2xrX3ByZXBhcmUgPDwgMykgKiB1aTsKKwl0bWluID0gU19ESVZfUk9VTkRfVVAodGVtcCwg dWlfeDgpIC0gMTsKKwl0bWF4ID0gKHRtaW4gPiAyNTUpID8gNTExIDogMjU1OworCXRpbWluZy0+ Y2xrX3plcm8gPSBsaW5lYXJfaW50ZXIodG1heCwgdG1pbiwgcGNudDUsIDAsIGZhbHNlKTsKKwor CXRtaW4gPSBESVZfUk9VTkRfVVAoNjAgKiBjb2VmZiArIDMgKiB1aSwgdWlfeDgpOworCXRlbXAg PSAxMDUgKiBjb2VmZiArIDEyICogdWkgLSAyMCAqIGNvZWZmOworCXRtYXggPSAodGVtcCArIDMg KiB1aSkgLyB1aV94ODsKKwl0aW1pbmctPmNsa190cmFpbCA9IGxpbmVhcl9pbnRlcih0bWF4LCB0 bWluLCBwY250MywgMCwgZmFsc2UpOworCisJdGVtcCA9IFNfRElWX1JPVU5EX1VQKDQwICogY29l ZmYgKyA0ICogdWksIHVpX3g4KTsKKwl0bWluID0gbWF4X3QoczMyLCB0ZW1wLCAwKTsKKwl0ZW1w ID0gKDg1ICogY29lZmYgKyA2ICogdWkpIC8gdWlfeDg7CisJdG1heCA9IG1heF90KHMzMiwgdGVt cCwgMCk7CisJdGltaW5nLT5oc19wcmVwYXJlID0gbGluZWFyX2ludGVyKHRtYXgsIHRtaW4sIHBj bnQxLCAwLCBmYWxzZSk7CisKKwl0ZW1wID0gMTQ1ICogY29lZmYgKyAxMCAqIHVpIC0gKHRpbWlu Zy0+aHNfcHJlcGFyZSA8PCAzKSAqIHVpOworCXRtaW4gPSBTX0RJVl9ST1VORF9VUCh0ZW1wLCB1 aV94OCkgLSAxOworCXRtYXggPSAyNTU7CisJdGltaW5nLT5oc196ZXJvID0gbGluZWFyX2ludGVy KHRtYXgsIHRtaW4sIHBjbnQ0LCAwLCBmYWxzZSk7CisKKwl0bWluID0gRElWX1JPVU5EX1VQKDYw ICogY29lZmYgKyA0ICogdWksIHVpX3g4KSAtIDE7CisJdGVtcCA9IDEwNSAqIGNvZWZmICsgMTIg KiB1aSAtIDIwICogY29lZmY7CisJdG1heCA9ICh0ZW1wIC8gdWlfeDgpIC0gMTsKKwl0aW1pbmct PmhzX3RyYWlsID0gbGluZWFyX2ludGVyKHRtYXgsIHRtaW4sIHBjbnQzLCAwLCBmYWxzZSk7CisK Kwl0ZW1wID0gNTAgKiBjb2VmZiArICgoaGJfZW4gPDwgMikgLSA4KSAqIHVpOworCXRpbWluZy0+ aHNfcnFzdCA9IFNfRElWX1JPVU5EX1VQKHRlbXAsIHVpX3g4KTsKKworCXRtaW4gPSBESVZfUk9V TkRfVVAoMTAwICogY29lZmYsIHVpX3g4KSAtIDE7CisJdG1heCA9IDI1NTsKKwl0aW1pbmctPmhz X2V4aXQgPSBsaW5lYXJfaW50ZXIodG1heCwgdG1pbiwgcGNudDIsIDAsIGZhbHNlKTsKKworCXRl bXAgPSA1MCAqIGNvZWZmICsgKChoYl9lbl9ja2xuIDw8IDIpIC0gOCkgKiB1aTsKKwl0aW1pbmct PmhzX3Jxc3RfY2tsbiA9IFNfRElWX1JPVU5EX1VQKHRlbXAsIHVpX3g4KTsKKworCXRlbXAgPSA2 MCAqIGNvZWZmICsgNTIgKiB1aSAtIDQzICogdWk7CisJdG1pbiA9IERJVl9ST1VORF9VUCh0ZW1w LCB1aV94OCkgLSAxOworCXRtYXggPSA2MzsKKwl0aW1pbmctPnNoYXJlZF90aW1pbmdzLmNsa19w b3N0ID0KKwkJCQlsaW5lYXJfaW50ZXIodG1heCwgdG1pbiwgcGNudDIsIDAsIGZhbHNlKTsKKwor CXRlbXAgPSA4ICogdWkgKyAodGltaW5nLT5jbGtfcHJlcGFyZSA8PCAzKSAqIHVpOworCXRlbXAg Kz0gKCgodGltaW5nLT5jbGtfemVybyArIDMpIDw8IDMpICsgMTEpICogdWk7CisJdGVtcCArPSBo Yl9lbl9ja2xuID8gKCgodGltaW5nLT5oc19ycXN0X2NrbG4gPDwgMykgKyA0KSAqIHVpKSA6CisJ CQkJKCgodGltaW5nLT5oc19ycXN0X2NrbG4gPDwgMykgKyA4KSAqIHVpKTsKKwl0bWluID0gU19E SVZfUk9VTkRfVVAodGVtcCwgdWlfeDgpIC0gMTsKKwl0bWF4ID0gNjM7CisJaWYgKHRtaW4gPiB0 bWF4KSB7CisJCXRlbXAgPSBsaW5lYXJfaW50ZXIodG1heCA8PCAxLCB0bWluLCBwY250MiwgMCwg ZmFsc2UpOworCQl0aW1pbmctPnNoYXJlZF90aW1pbmdzLmNsa19wcmUgPSB0ZW1wID4+IDE7CisJ CXRpbWluZy0+c2hhcmVkX3RpbWluZ3MuY2xrX3ByZV9pbmNfYnlfMiA9IDE7CisJfSBlbHNlIHsK KwkJdGltaW5nLT5zaGFyZWRfdGltaW5ncy5jbGtfcHJlID0KKwkJCQlsaW5lYXJfaW50ZXIodG1h eCwgdG1pbiwgcGNudDIsIDAsIGZhbHNlKTsKKwkJdGltaW5nLT5zaGFyZWRfdGltaW5ncy5jbGtf cHJlX2luY19ieV8yID0gMDsKKwl9CisKKwl0aW1pbmctPnRhX2dvID0gMzsKKwl0aW1pbmctPnRh X3N1cmUgPSAwOworCXRpbWluZy0+dGFfZ2V0ID0gNDsKKworCURCRygiJWQsICVkLCAlZCwgJWQs ICVkLCAlZCwgJWQsICVkLCAlZCwgJWQsICVkLCAlZCwgJWQsICVkLCAlZCwgJWQiLAorCSAgICB0 aW1pbmctPnNoYXJlZF90aW1pbmdzLmNsa19wcmUsIHRpbWluZy0+c2hhcmVkX3RpbWluZ3MuY2xr X3Bvc3QsCisJICAgIHRpbWluZy0+c2hhcmVkX3RpbWluZ3MuY2xrX3ByZV9pbmNfYnlfMiwgdGlt aW5nLT5jbGtfemVybywKKwkgICAgdGltaW5nLT5jbGtfdHJhaWwsIHRpbWluZy0+Y2xrX3ByZXBh cmUsIHRpbWluZy0+aHNfZXhpdCwKKwkgICAgdGltaW5nLT5oc196ZXJvLCB0aW1pbmctPmhzX3By ZXBhcmUsIHRpbWluZy0+aHNfdHJhaWwsCisJICAgIHRpbWluZy0+aHNfcnFzdCwgdGltaW5nLT5o c19ycXN0X2NrbG4sIHRpbWluZy0+aHNfaGFsZmJ5dGVfZW4sCisJICAgIHRpbWluZy0+aHNfaGFs ZmJ5dGVfZW5fY2tsbiwgdGltaW5nLT5oc19wcmVwX2RseSwKKwkgICAgdGltaW5nLT5oc19wcmVw X2RseV9ja2xuKTsKKworCisJcmV0dXJuIDA7Cit9CisKIHZvaWQgbXNtX2RzaV9waHlfc2V0X3Ny Y19wbGwoc3RydWN0IG1zbV9kc2lfcGh5ICpwaHksIGludCBwbGxfaWQsIHUzMiByZWcsCiAJCQkJ dTMyIGJpdF9tYXNrKQogewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvcGh5 L2RzaV9waHkuaCBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL3BoeS9kc2lfcGh5LmgKaW5kZXgg YzU2MjY4Yy4uYTI0YWI4MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvcGh5 L2RzaV9waHkuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9waHkvZHNpX3BoeS5oCkBA IC0xMDEsNiArMTAxLDggQEAgaW50IG1zbV9kc2lfZHBoeV90aW1pbmdfY2FsYyhzdHJ1Y3QgbXNt X2RzaV9kcGh5X3RpbWluZyAqdGltaW5nLAogCQkJICAgICBzdHJ1Y3QgbXNtX2RzaV9waHlfY2xr X3JlcXVlc3QgKmNsa19yZXEpOwogaW50IG1zbV9kc2lfZHBoeV90aW1pbmdfY2FsY192MihzdHJ1 Y3QgbXNtX2RzaV9kcGh5X3RpbWluZyAqdGltaW5nLAogCQkJCXN0cnVjdCBtc21fZHNpX3BoeV9j bGtfcmVxdWVzdCAqY2xrX3JlcSk7CitpbnQgbXNtX2RzaV9kcGh5X3RpbWluZ19jYWxjX3YzKHN0 cnVjdCBtc21fZHNpX2RwaHlfdGltaW5nICp0aW1pbmcsCisJCQkJc3RydWN0IG1zbV9kc2lfcGh5 X2Nsa19yZXF1ZXN0ICpjbGtfcmVxKTsKIHZvaWQgbXNtX2RzaV9waHlfc2V0X3NyY19wbGwoc3Ry dWN0IG1zbV9kc2lfcGh5ICpwaHksIGludCBwbGxfaWQsIHUzMiByZWcsCiAJCQkJdTMyIGJpdF9t YXNrKTsKIGludCBtc21fZHNpX3BoeV9pbml0X2NvbW1vbihzdHJ1Y3QgbXNtX2RzaV9waHkgKnBo eSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9waHkvZHNpX3BoeV8xMG5t LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9waHkvZHNpX3BoeV8xMG5tLmMKaW5kZXggMGFm OTUxYS4uYjNmZmZjOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvcGh5L2Rz aV9waHlfMTBubS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL3BoeS9kc2lfcGh5XzEw bm0uYwpAQCAtNzksMzQgKzc5LDYgQEAgc3RhdGljIHZvaWQgZHNpX3BoeV9od192M18wX2xhbmVf c2V0dGluZ3Moc3RydWN0IG1zbV9kc2lfcGh5ICpwaHkpCiAJZHNpX3BoeV93cml0ZShsYW5lX2Jh c2UgKyBSRUdfRFNJXzEwbm1fUEhZX0xOX1RYX0RDVFJMKDMpLCAweDA0KTsKIH0KIAotc3RhdGlj IGludCBtc21fZHNpX2RwaHlfdGltaW5nX2NhbGNfdjMoc3RydWN0IG1zbV9kc2lfZHBoeV90aW1p bmcgKnRpbWluZywKLQkJCQkgICAgICAgc3RydWN0IG1zbV9kc2lfcGh5X2Nsa19yZXF1ZXN0ICpj bGtfcmVxKQotewotCS8qCi0JICogVE9ETzogVGhlc2UgcGFyYW1zIG5lZWQgdG8gYmUgY29tcHV0 ZWQsIHRoZXkncmUgY3VycmVudGx5IGhhcmRjb2RlZAotCSAqIGZvciBhIDE0NDB4MjU2MEA2MEh6 IHBhbmVsIHdpdGggYSBieXRlY2xrIG9mIDEwMC42MTggTWh6LCBhbmQgYQotCSAqIGRlZmF1bHQg ZXNjYXBlIGNsb2NrIG9mIDE5LjIgTWh6LgotCSAqLwotCi0JdGltaW5nLT5oc19oYWxmYnl0ZV9l biA9IDA7Ci0JdGltaW5nLT5jbGtfemVybyA9IDB4MWM7Ci0JdGltaW5nLT5jbGtfcHJlcGFyZSA9 IDB4MDc7Ci0JdGltaW5nLT5jbGtfdHJhaWwgPSAweDA3OwotCXRpbWluZy0+aHNfZXhpdCA9IDB4 MjM7Ci0JdGltaW5nLT5oc196ZXJvID0gMHgyMTsKLQl0aW1pbmctPmhzX3ByZXBhcmUgPSAweDA3 OwotCXRpbWluZy0+aHNfdHJhaWwgPSAweDA3OwotCXRpbWluZy0+aHNfcnFzdCA9IDB4MDU7Ci0J dGltaW5nLT50YV9zdXJlID0gMHgwMDsKLQl0aW1pbmctPnRhX2dvID0gMHgwMzsKLQl0aW1pbmct PnRhX2dldCA9IDB4MDQ7Ci0KLQl0aW1pbmctPnNoYXJlZF90aW1pbmdzLmNsa19wcmUgPSAweDJk OwotCXRpbWluZy0+c2hhcmVkX3RpbWluZ3MuY2xrX3Bvc3QgPSAweDBkOwotCi0JcmV0dXJuIDA7 Ci19Ci0KIHN0YXRpYyBpbnQgZHNpXzEwbm1fcGh5X2VuYWJsZShzdHJ1Y3QgbXNtX2RzaV9waHkg KnBoeSwgaW50IHNyY19wbGxfaWQsCiAJCQkgICAgICAgc3RydWN0IG1zbV9kc2lfcGh5X2Nsa19y ZXF1ZXN0ICpjbGtfcmVxKQogewotLSAKVGhlIFF1YWxjb21tIElubm92YXRpb24gQ2VudGVyLCBJ bmMuIGlzIGEgbWVtYmVyIG9mIHRoZSBDb2RlIEF1cm9yYSBGb3J1bSwKYSBMaW51eCBGb3VuZGF0 aW9uIENvbGxhYm9yYXRpdmUgUHJvamVjdAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KRnJlZWRyZW5vIG1haWxpbmcgbGlzdApGcmVlZHJlbm9AbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vZnJlZWRyZW5vCg==