From mboxrd@z Thu Jan 1 00:00:00 1970 From: Abhinav Kumar Subject: [DPU PATCH v3 2/2] drm/msm/dsi: implement auto PHY timing calculator for 10nm PHY Date: Mon, 16 Apr 2018 18:56:46 -0700 Message-ID: <1523930206-6304-2-git-send-email-abhinavk@codeaurora.org> References: <1523930206-6304-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: <1523930206-6304-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: architt-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, jeykumar-jfJNa2p1gH1BDgjK7y7TUQ@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 b3IgYW55IHBhbmVsLgoKQ2hhbmdlcyBpbiB2MzoKLSBOb25lCgpDaGFuZ2VzIGluIHYyOgotIE5v bmUKClJldmlld2VkLWJ5OiBTZWFuIFBhdWwgPHNlYW5wYXVsQGNocm9taXVtLm9yZz4KUmV2aWV3 ZWQtYnk6IEFyY2hpdCBUYW5lamEgPGFyY2hpdHRAY29kZWF1cm9yYS5vcmc+ClNpZ25lZC1vZmYt Ynk6IEFiaGluYXYgS3VtYXIgPGFiaGluYXZrQGNvZGVhdXJvcmEub3JnPgotLS0KIGRyaXZlcnMv Z3B1L2RybS9tc20vZHNpL3BoeS9kc2lfcGh5LmMgICAgICB8IDEwOSArKysrKysrKysrKysrKysr KysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvcGh5L2RzaV9waHkuaCAgICAg IHwgICAyICsKIGRyaXZlcnMvZ3B1L2RybS9tc20vZHNpL3BoeS9kc2lfcGh5XzEwbm0uYyB8ICAy OCAtLS0tLS0tLQogMyBmaWxlcyBjaGFuZ2VkLCAxMTEgaW5zZXJ0aW9ucygrKSwgMjggZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvcGh5L2RzaV9waHku YyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL3BoeS9kc2lfcGh5LmMKaW5kZXggOGU5ZDVjMi4u OWE5ZmEwYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvcGh5L2RzaV9waHku YworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9waHkvZHNpX3BoeS5jCkBAIC0yNjUsNiAr MjY1LDExNSBAQCBpbnQgbXNtX2RzaV9kcGh5X3RpbWluZ19jYWxjX3YyKHN0cnVjdCBtc21fZHNp X2RwaHlfdGltaW5nICp0aW1pbmcsCiAJcmV0dXJuIDA7CiB9CiAKK2ludCBtc21fZHNpX2RwaHlf dGltaW5nX2NhbGNfdjMoc3RydWN0IG1zbV9kc2lfZHBoeV90aW1pbmcgKnRpbWluZywKKwlzdHJ1 Y3QgbXNtX2RzaV9waHlfY2xrX3JlcXVlc3QgKmNsa19yZXEpCit7CisJY29uc3QgdW5zaWduZWQg bG9uZyBiaXRfcmF0ZSA9IGNsa19yZXEtPmJpdGNsa19yYXRlOworCWNvbnN0IHVuc2lnbmVkIGxv bmcgZXNjX3JhdGUgPSBjbGtfcmVxLT5lc2NjbGtfcmF0ZTsKKwlzMzIgdWksIHVpX3g4LCBscHg7 CisJczMyIHRtYXgsIHRtaW47CisJczMyIHBjbnQwID0gNTA7CisJczMyIHBjbnQxID0gNTA7CisJ czMyIHBjbnQyID0gMTA7CisJczMyIHBjbnQzID0gMzA7CisJczMyIHBjbnQ0ID0gMTA7CisJczMy IHBjbnQ1ID0gMjsKKwlzMzIgY29lZmYgPSAxMDAwOyAvKiBQcmVjaXNpb24sIHNob3VsZCBhdm9p ZCBvdmVyZmxvdyAqLworCXMzMiBoYl9lbiwgaGJfZW5fY2tsbjsKKwlzMzIgdGVtcDsKKworCWlm ICghYml0X3JhdGUgfHwgIWVzY19yYXRlKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXRpbWluZy0+ aHNfaGFsZmJ5dGVfZW4gPSAwOworCWhiX2VuID0gMDsKKwl0aW1pbmctPmhzX2hhbGZieXRlX2Vu X2NrbG4gPSAwOworCWhiX2VuX2NrbG4gPSAwOworCisJdWkgPSBtdWx0X2ZyYWMoTlNFQ19QRVJf TVNFQywgY29lZmYsIGJpdF9yYXRlIC8gMTAwMCk7CisJdWlfeDggPSB1aSA8PCAzOworCWxweCA9 IG11bHRfZnJhYyhOU0VDX1BFUl9NU0VDLCBjb2VmZiwgZXNjX3JhdGUgLyAxMDAwKTsKKworCXRl bXAgPSBTX0RJVl9ST1VORF9VUCgzOCAqIGNvZWZmLCB1aV94OCk7CisJdG1pbiA9IG1heF90KHMz MiwgdGVtcCwgMCk7CisJdGVtcCA9ICg5NSAqIGNvZWZmKSAvIHVpX3g4OworCXRtYXggPSBtYXhf dChzMzIsIHRlbXAsIDApOworCXRpbWluZy0+Y2xrX3ByZXBhcmUgPSBsaW5lYXJfaW50ZXIodG1h eCwgdG1pbiwgcGNudDAsIDAsIGZhbHNlKTsKKworCXRlbXAgPSAzMDAgKiBjb2VmZiAtICh0aW1p bmctPmNsa19wcmVwYXJlIDw8IDMpICogdWk7CisJdG1pbiA9IFNfRElWX1JPVU5EX1VQKHRlbXAs IHVpX3g4KSAtIDE7CisJdG1heCA9ICh0bWluID4gMjU1KSA/IDUxMSA6IDI1NTsKKwl0aW1pbmct PmNsa196ZXJvID0gbGluZWFyX2ludGVyKHRtYXgsIHRtaW4sIHBjbnQ1LCAwLCBmYWxzZSk7CisK Kwl0bWluID0gRElWX1JPVU5EX1VQKDYwICogY29lZmYgKyAzICogdWksIHVpX3g4KTsKKwl0ZW1w ID0gMTA1ICogY29lZmYgKyAxMiAqIHVpIC0gMjAgKiBjb2VmZjsKKwl0bWF4ID0gKHRlbXAgKyAz ICogdWkpIC8gdWlfeDg7CisJdGltaW5nLT5jbGtfdHJhaWwgPSBsaW5lYXJfaW50ZXIodG1heCwg dG1pbiwgcGNudDMsIDAsIGZhbHNlKTsKKworCXRlbXAgPSBTX0RJVl9ST1VORF9VUCg0MCAqIGNv ZWZmICsgNCAqIHVpLCB1aV94OCk7CisJdG1pbiA9IG1heF90KHMzMiwgdGVtcCwgMCk7CisJdGVt cCA9ICg4NSAqIGNvZWZmICsgNiAqIHVpKSAvIHVpX3g4OworCXRtYXggPSBtYXhfdChzMzIsIHRl bXAsIDApOworCXRpbWluZy0+aHNfcHJlcGFyZSA9IGxpbmVhcl9pbnRlcih0bWF4LCB0bWluLCBw Y250MSwgMCwgZmFsc2UpOworCisJdGVtcCA9IDE0NSAqIGNvZWZmICsgMTAgKiB1aSAtICh0aW1p bmctPmhzX3ByZXBhcmUgPDwgMykgKiB1aTsKKwl0bWluID0gU19ESVZfUk9VTkRfVVAodGVtcCwg dWlfeDgpIC0gMTsKKwl0bWF4ID0gMjU1OworCXRpbWluZy0+aHNfemVybyA9IGxpbmVhcl9pbnRl cih0bWF4LCB0bWluLCBwY250NCwgMCwgZmFsc2UpOworCisJdG1pbiA9IERJVl9ST1VORF9VUCg2 MCAqIGNvZWZmICsgNCAqIHVpLCB1aV94OCkgLSAxOworCXRlbXAgPSAxMDUgKiBjb2VmZiArIDEy ICogdWkgLSAyMCAqIGNvZWZmOworCXRtYXggPSAodGVtcCAvIHVpX3g4KSAtIDE7CisJdGltaW5n LT5oc190cmFpbCA9IGxpbmVhcl9pbnRlcih0bWF4LCB0bWluLCBwY250MywgMCwgZmFsc2UpOwor CisJdGVtcCA9IDUwICogY29lZmYgKyAoKGhiX2VuIDw8IDIpIC0gOCkgKiB1aTsKKwl0aW1pbmct PmhzX3Jxc3QgPSBTX0RJVl9ST1VORF9VUCh0ZW1wLCB1aV94OCk7CisKKwl0bWluID0gRElWX1JP VU5EX1VQKDEwMCAqIGNvZWZmLCB1aV94OCkgLSAxOworCXRtYXggPSAyNTU7CisJdGltaW5nLT5o c19leGl0ID0gbGluZWFyX2ludGVyKHRtYXgsIHRtaW4sIHBjbnQyLCAwLCBmYWxzZSk7CisKKwl0 ZW1wID0gNTAgKiBjb2VmZiArICgoaGJfZW5fY2tsbiA8PCAyKSAtIDgpICogdWk7CisJdGltaW5n LT5oc19ycXN0X2NrbG4gPSBTX0RJVl9ST1VORF9VUCh0ZW1wLCB1aV94OCk7CisKKwl0ZW1wID0g NjAgKiBjb2VmZiArIDUyICogdWkgLSA0MyAqIHVpOworCXRtaW4gPSBESVZfUk9VTkRfVVAodGVt cCwgdWlfeDgpIC0gMTsKKwl0bWF4ID0gNjM7CisJdGltaW5nLT5zaGFyZWRfdGltaW5ncy5jbGtf cG9zdCA9CisJCWxpbmVhcl9pbnRlcih0bWF4LCB0bWluLCBwY250MiwgMCwgZmFsc2UpOworCisJ dGVtcCA9IDggKiB1aSArICh0aW1pbmctPmNsa19wcmVwYXJlIDw8IDMpICogdWk7CisJdGVtcCAr PSAoKCh0aW1pbmctPmNsa196ZXJvICsgMykgPDwgMykgKyAxMSkgKiB1aTsKKwl0ZW1wICs9IGhi X2VuX2NrbG4gPyAoKCh0aW1pbmctPmhzX3Jxc3RfY2tsbiA8PCAzKSArIDQpICogdWkpIDoKKwkJ KCgodGltaW5nLT5oc19ycXN0X2NrbG4gPDwgMykgKyA4KSAqIHVpKTsKKwl0bWluID0gU19ESVZf Uk9VTkRfVVAodGVtcCwgdWlfeDgpIC0gMTsKKwl0bWF4ID0gNjM7CisJaWYgKHRtaW4gPiB0bWF4 KSB7CisJCXRlbXAgPSBsaW5lYXJfaW50ZXIodG1heCA8PCAxLCB0bWluLCBwY250MiwgMCwgZmFs c2UpOworCQl0aW1pbmctPnNoYXJlZF90aW1pbmdzLmNsa19wcmUgPSB0ZW1wID4+IDE7CisJCXRp bWluZy0+c2hhcmVkX3RpbWluZ3MuY2xrX3ByZV9pbmNfYnlfMiA9IDE7CisJfSBlbHNlIHsKKwkJ dGltaW5nLT5zaGFyZWRfdGltaW5ncy5jbGtfcHJlID0KKwkJCWxpbmVhcl9pbnRlcih0bWF4LCB0 bWluLCBwY250MiwgMCwgZmFsc2UpOworCQkJdGltaW5nLT5zaGFyZWRfdGltaW5ncy5jbGtfcHJl X2luY19ieV8yID0gMDsKKwl9CisKKwl0aW1pbmctPnRhX2dvID0gMzsKKwl0aW1pbmctPnRhX3N1 cmUgPSAwOworCXRpbWluZy0+dGFfZ2V0ID0gNDsKKworCURCRygiJWQsICVkLCAlZCwgJWQsICVk LCAlZCwgJWQsICVkLCAlZCwgJWQsICVkLCAlZCwgJWQsICVkLCAlZCwgJWQiLAorCQl0aW1pbmct PnNoYXJlZF90aW1pbmdzLmNsa19wcmUsIHRpbWluZy0+c2hhcmVkX3RpbWluZ3MuY2xrX3Bvc3Qs CisJCXRpbWluZy0+c2hhcmVkX3RpbWluZ3MuY2xrX3ByZV9pbmNfYnlfMiwgdGltaW5nLT5jbGtf emVybywKKwkJdGltaW5nLT5jbGtfdHJhaWwsIHRpbWluZy0+Y2xrX3ByZXBhcmUsIHRpbWluZy0+ aHNfZXhpdCwKKwkJdGltaW5nLT5oc196ZXJvLCB0aW1pbmctPmhzX3ByZXBhcmUsIHRpbWluZy0+ aHNfdHJhaWwsCisJCXRpbWluZy0+aHNfcnFzdCwgdGltaW5nLT5oc19ycXN0X2NrbG4sIHRpbWlu Zy0+aHNfaGFsZmJ5dGVfZW4sCisJCXRpbWluZy0+aHNfaGFsZmJ5dGVfZW5fY2tsbiwgdGltaW5n LT5oc19wcmVwX2RseSwKKwkJdGltaW5nLT5oc19wcmVwX2RseV9ja2xuKTsKKworCXJldHVybiAw OworfQorCiB2b2lkIG1zbV9kc2lfcGh5X3NldF9zcmNfcGxsKHN0cnVjdCBtc21fZHNpX3BoeSAq cGh5LCBpbnQgcGxsX2lkLCB1MzIgcmVnLAogCQkJCXUzMiBiaXRfbWFzaykKIHsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL3BoeS9kc2lfcGh5LmggYi9kcml2ZXJzL2dwdS9k cm0vbXNtL2RzaS9waHkvZHNpX3BoeS5oCmluZGV4IGM1NjI2OGMuLmEyNGFiODAgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL3BoeS9kc2lfcGh5LmgKKysrIGIvZHJpdmVycy9n cHUvZHJtL21zbS9kc2kvcGh5L2RzaV9waHkuaApAQCAtMTAxLDYgKzEwMSw4IEBAIGludCBtc21f ZHNpX2RwaHlfdGltaW5nX2NhbGMoc3RydWN0IG1zbV9kc2lfZHBoeV90aW1pbmcgKnRpbWluZywK IAkJCSAgICAgc3RydWN0IG1zbV9kc2lfcGh5X2Nsa19yZXF1ZXN0ICpjbGtfcmVxKTsKIGludCBt c21fZHNpX2RwaHlfdGltaW5nX2NhbGNfdjIoc3RydWN0IG1zbV9kc2lfZHBoeV90aW1pbmcgKnRp bWluZywKIAkJCQlzdHJ1Y3QgbXNtX2RzaV9waHlfY2xrX3JlcXVlc3QgKmNsa19yZXEpOworaW50 IG1zbV9kc2lfZHBoeV90aW1pbmdfY2FsY192MyhzdHJ1Y3QgbXNtX2RzaV9kcGh5X3RpbWluZyAq dGltaW5nLAorCQkJCXN0cnVjdCBtc21fZHNpX3BoeV9jbGtfcmVxdWVzdCAqY2xrX3JlcSk7CiB2 b2lkIG1zbV9kc2lfcGh5X3NldF9zcmNfcGxsKHN0cnVjdCBtc21fZHNpX3BoeSAqcGh5LCBpbnQg cGxsX2lkLCB1MzIgcmVnLAogCQkJCXUzMiBiaXRfbWFzayk7CiBpbnQgbXNtX2RzaV9waHlfaW5p dF9jb21tb24oc3RydWN0IG1zbV9kc2lfcGh5ICpwaHkpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL21zbS9kc2kvcGh5L2RzaV9waHlfMTBubS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9k c2kvcGh5L2RzaV9waHlfMTBubS5jCmluZGV4IDBhZjk1MWEuLmIzZmZmYzggMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL3BoeS9kc2lfcGh5XzEwbm0uYworKysgYi9kcml2ZXJz L2dwdS9kcm0vbXNtL2RzaS9waHkvZHNpX3BoeV8xMG5tLmMKQEAgLTc5LDM0ICs3OSw2IEBAIHN0 YXRpYyB2b2lkIGRzaV9waHlfaHdfdjNfMF9sYW5lX3NldHRpbmdzKHN0cnVjdCBtc21fZHNpX3Bo eSAqcGh5KQogCWRzaV9waHlfd3JpdGUobGFuZV9iYXNlICsgUkVHX0RTSV8xMG5tX1BIWV9MTl9U WF9EQ1RSTCgzKSwgMHgwNCk7CiB9CiAKLXN0YXRpYyBpbnQgbXNtX2RzaV9kcGh5X3RpbWluZ19j YWxjX3YzKHN0cnVjdCBtc21fZHNpX2RwaHlfdGltaW5nICp0aW1pbmcsCi0JCQkJICAgICAgIHN0 cnVjdCBtc21fZHNpX3BoeV9jbGtfcmVxdWVzdCAqY2xrX3JlcSkKLXsKLQkvKgotCSAqIFRPRE86 IFRoZXNlIHBhcmFtcyBuZWVkIHRvIGJlIGNvbXB1dGVkLCB0aGV5J3JlIGN1cnJlbnRseSBoYXJk Y29kZWQKLQkgKiBmb3IgYSAxNDQweDI1NjBANjBIeiBwYW5lbCB3aXRoIGEgYnl0ZWNsayBvZiAx MDAuNjE4IE1oeiwgYW5kIGEKLQkgKiBkZWZhdWx0IGVzY2FwZSBjbG9jayBvZiAxOS4yIE1oei4K LQkgKi8KLQotCXRpbWluZy0+aHNfaGFsZmJ5dGVfZW4gPSAwOwotCXRpbWluZy0+Y2xrX3plcm8g PSAweDFjOwotCXRpbWluZy0+Y2xrX3ByZXBhcmUgPSAweDA3OwotCXRpbWluZy0+Y2xrX3RyYWls ID0gMHgwNzsKLQl0aW1pbmctPmhzX2V4aXQgPSAweDIzOwotCXRpbWluZy0+aHNfemVybyA9IDB4 MjE7Ci0JdGltaW5nLT5oc19wcmVwYXJlID0gMHgwNzsKLQl0aW1pbmctPmhzX3RyYWlsID0gMHgw NzsKLQl0aW1pbmctPmhzX3Jxc3QgPSAweDA1OwotCXRpbWluZy0+dGFfc3VyZSA9IDB4MDA7Ci0J dGltaW5nLT50YV9nbyA9IDB4MDM7Ci0JdGltaW5nLT50YV9nZXQgPSAweDA0OwotCi0JdGltaW5n LT5zaGFyZWRfdGltaW5ncy5jbGtfcHJlID0gMHgyZDsKLQl0aW1pbmctPnNoYXJlZF90aW1pbmdz LmNsa19wb3N0ID0gMHgwZDsKLQotCXJldHVybiAwOwotfQotCiBzdGF0aWMgaW50IGRzaV8xMG5t X3BoeV9lbmFibGUoc3RydWN0IG1zbV9kc2lfcGh5ICpwaHksIGludCBzcmNfcGxsX2lkLAogCQkJ ICAgICAgIHN0cnVjdCBtc21fZHNpX3BoeV9jbGtfcmVxdWVzdCAqY2xrX3JlcSkKIHsKLS0gClRo ZSBRdWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwgSW5jLiBpcyBhIG1lbWJlciBvZiB0aGUgQ29k ZSBBdXJvcmEgRm9ydW0sCmEgTGludXggRm91bmRhdGlvbiBDb2xsYWJvcmF0aXZlIFByb2plY3QK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkZyZWVkcmVu byBtYWlsaW5nIGxpc3QKRnJlZWRyZW5vQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVkcmVubwo=