From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: [PATCH 09/10] drm/msm/dsi: Add new method to calculate 14nm PHY timings Date: Sat, 7 Jan 2017 18:40:41 +0530 Message-ID: <1483794642-2184-10-git-send-email-architt@codeaurora.org> References: <1483794642-2184-1-git-send-email-architt@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1483794642-2184-1-git-send-email-architt@codeaurora.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: robdclark@gmail.com Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: linux-arm-msm@vger.kernel.org RnJvbTogSGFpIExpIDxoYWxpQGNvZGVhdXJvcmEub3JnPgoKVGhlIDE0bm0gRFNJIFBIWSBvbiA4 eDk2IChjYWxsZWQgUEhZIHYyIGRvd25zdHJlYW0pIHJlcXVpcmVzIGEgZGlmZmVyZW50CnNldCBv ZiBjYWxjdWxhdGlvbnMgZm9yIGNvbXB1dGluZyBELVBIWSB0aW1pbmcgcGFyYW1zLiBDcmVhdGUg YQp0aW1pbmdfY2FsY192MiBmdW5jIGZvciB0aGUgbmV3ZXIgdjIgUEhZcy4KClNpZ25lZC1vZmYt Ynk6IEhhaSBMaSA8aGFsaUBjb2RlYXVyb3JhLm9yZz4KU2lnbmVkLW9mZi1ieTogQXJjaGl0IFRh bmVqYSA8YXJjaGl0dEBjb2RlYXVyb3JhLm9yZz4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rz aS9waHkvZHNpX3BoeS5jIHwgMTE3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK IGRyaXZlcnMvZ3B1L2RybS9tc20vZHNpL3BoeS9kc2lfcGh5LmggfCAgMTEgKysrLQogMiBmaWxl cyBjaGFuZ2VkLCAxMjcgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL3BoeS9kc2lfcGh5LmMgYi9kcml2ZXJzL2dwdS9kcm0v bXNtL2RzaS9waHkvZHNpX3BoeS5jCmluZGV4IGM5ZTFhNzkuLjExOTE5YmMgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL3BoeS9kc2lfcGh5LmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL21zbS9kc2kvcGh5L2RzaV9waHkuYwpAQCAtMTQ4LDYgKzE0OCwxMjMgQEAgaW50IG1zbV9k c2lfZHBoeV90aW1pbmdfY2FsYyhzdHJ1Y3QgbXNtX2RzaV9kcGh5X3RpbWluZyAqdGltaW5nLAog CXJldHVybiAwOwogfQogCitpbnQgbXNtX2RzaV9kcGh5X3RpbWluZ19jYWxjX3YyKHN0cnVjdCBt c21fZHNpX2RwaHlfdGltaW5nICp0aW1pbmcsCisJCQkJc3RydWN0IG1zbV9kc2lfcGh5X2Nsa19y ZXF1ZXN0ICpjbGtfcmVxKQoreworCWNvbnN0IHVuc2lnbmVkIGxvbmcgYml0X3JhdGUgPSBjbGtf cmVxLT5iaXRjbGtfcmF0ZTsKKwljb25zdCB1bnNpZ25lZCBsb25nIGVzY19yYXRlID0gY2xrX3Jl cS0+ZXNjY2xrX3JhdGU7CisJczMyIHVpLCB1aV94OCwgbHB4OworCXMzMiB0bWF4LCB0bWluOwor CXMzMiBwY250MCA9IDUwOworCXMzMiBwY250MSA9IDUwOworCXMzMiBwY250MiA9IDEwOworCXMz MiBwY250MyA9IDMwOworCXMzMiBwY250NCA9IDEwOworCXMzMiBwY250NSA9IDI7CisJczMyIGNv ZWZmID0gMTAwMDsgLyogUHJlY2lzaW9uLCBzaG91bGQgYXZvaWQgb3ZlcmZsb3cgKi8KKwlzMzIg aGJfZW4sIGhiX2VuX2NrbG4sIHBkX2NrbG4sIHBkOworCXMzMiB2YWwsIHZhbF9ja2xuOworCXMz MiB0ZW1wOworCisJaWYgKCFiaXRfcmF0ZSB8fCAhZXNjX3JhdGUpCisJCXJldHVybiAtRUlOVkFM OworCisJdGltaW5nLT5oc19oYWxmYnl0ZV9lbiA9IDA7CisJaGJfZW4gPSAwOworCXRpbWluZy0+ aHNfaGFsZmJ5dGVfZW5fY2tsbiA9IDA7CisJaGJfZW5fY2tsbiA9IDA7CisJdGltaW5nLT5oc19w cmVwX2RseV9ja2xuID0gKGJpdF9yYXRlID4gMTAwMDAwMDAwKSA/IDAgOiAzOworCXBkX2NrbG4g PSB0aW1pbmctPmhzX3ByZXBfZGx5X2NrbG47CisJdGltaW5nLT5oc19wcmVwX2RseSA9IChiaXRf cmF0ZSA+IDEyMDAwMDAwMCkgPyAwIDogMTsKKwlwZCA9IHRpbWluZy0+aHNfcHJlcF9kbHk7CisK Kwl2YWwgPSAoaGJfZW4gPDwgMikgKyAocGQgPDwgMSk7CisJdmFsX2NrbG4gPSAoaGJfZW5fY2ts biA8PCAyKSArIChwZF9ja2xuIDw8IDEpOworCisJdWkgPSBtdWx0X2ZyYWMoTlNFQ19QRVJfTVNF QywgY29lZmYsIGJpdF9yYXRlIC8gMTAwMCk7CisJdWlfeDggPSB1aSA8PCAzOworCWxweCA9IG11 bHRfZnJhYyhOU0VDX1BFUl9NU0VDLCBjb2VmZiwgZXNjX3JhdGUgLyAxMDAwKTsKKworCXRlbXAg PSBTX0RJVl9ST1VORF9VUCgzOCAqIGNvZWZmIC0gdmFsX2NrbG4gKiB1aSwgdWlfeDgpOworCXRt aW4gPSBtYXhfdChzMzIsIHRlbXAsIDApOworCXRlbXAgPSAoOTUgKiBjb2VmZiAtIHZhbF9ja2xu ICogdWkpIC8gdWlfeDg7CisJdG1heCA9IG1heF90KHMzMiwgdGVtcCwgMCk7CisJdGltaW5nLT5j bGtfcHJlcGFyZSA9IGxpbmVhcl9pbnRlcih0bWF4LCB0bWluLCBwY250MCwgMCwgZmFsc2UpOwor CisJdGVtcCA9IDMwMCAqIGNvZWZmIC0gKCh0aW1pbmctPmNsa19wcmVwYXJlIDw8IDMpICsgdmFs X2NrbG4pICogdWk7CisJdG1pbiA9IFNfRElWX1JPVU5EX1VQKHRlbXAgLSAxMSAqIHVpLCB1aV94 OCkgLSAzOworCXRtYXggPSAodG1pbiA+IDI1NSkgPyA1MTEgOiAyNTU7CisJdGltaW5nLT5jbGtf emVybyA9IGxpbmVhcl9pbnRlcih0bWF4LCB0bWluLCBwY250NSwgMCwgZmFsc2UpOworCisJdG1p biA9IERJVl9ST1VORF9VUCg2MCAqIGNvZWZmICsgMyAqIHVpLCB1aV94OCk7CisJdGVtcCA9IDEw NSAqIGNvZWZmICsgMTIgKiB1aSAtIDIwICogY29lZmY7CisJdG1heCA9ICh0ZW1wICsgMyAqIHVp KSAvIHVpX3g4OworCXRpbWluZy0+Y2xrX3RyYWlsID0gbGluZWFyX2ludGVyKHRtYXgsIHRtaW4s IHBjbnQzLCAwLCBmYWxzZSk7CisKKwl0ZW1wID0gU19ESVZfUk9VTkRfVVAoNDAgKiBjb2VmZiAr IDQgKiB1aSAtIHZhbCAqIHVpLCB1aV94OCk7CisJdG1pbiA9IG1heF90KHMzMiwgdGVtcCwgMCk7 CisJdGVtcCA9ICg4NSAqIGNvZWZmICsgNiAqIHVpIC0gdmFsICogdWkpIC8gdWlfeDg7CisJdG1h eCA9IG1heF90KHMzMiwgdGVtcCwgMCk7CisJdGltaW5nLT5oc19wcmVwYXJlID0gbGluZWFyX2lu dGVyKHRtYXgsIHRtaW4sIHBjbnQxLCAwLCBmYWxzZSk7CisKKwl0ZW1wID0gMTQ1ICogY29lZmYg KyAxMCAqIHVpIC0gKCh0aW1pbmctPmhzX3ByZXBhcmUgPDwgMykgKyB2YWwpICogdWk7CisJdG1p biA9IFNfRElWX1JPVU5EX1VQKHRlbXAgLSAxMSAqIHVpLCB1aV94OCkgLSAzOworCXRtYXggPSAy NTU7CisJdGltaW5nLT5oc196ZXJvID0gbGluZWFyX2ludGVyKHRtYXgsIHRtaW4sIHBjbnQ0LCAw LCBmYWxzZSk7CisKKwl0bWluID0gRElWX1JPVU5EX1VQKDYwICogY29lZmYgKyA0ICogdWkgKyAz ICogdWksIHVpX3g4KTsKKwl0ZW1wID0gMTA1ICogY29lZmYgKyAxMiAqIHVpIC0gMjAgKiBjb2Vm ZjsKKwl0bWF4ID0gKHRlbXAgKyAzICogdWkpIC8gdWlfeDg7CisJdGltaW5nLT5oc190cmFpbCA9 IGxpbmVhcl9pbnRlcih0bWF4LCB0bWluLCBwY250MywgMCwgZmFsc2UpOworCisJdGVtcCA9IDUw ICogY29lZmYgKyAoKGhiX2VuIDw8IDIpIC0gOCkgKiB1aTsKKwl0aW1pbmctPmhzX3Jxc3QgPSBT X0RJVl9ST1VORF9VUCh0ZW1wLCB1aV94OCk7CisKKwl0bWluID0gRElWX1JPVU5EX1VQKDEwMCAq IGNvZWZmLCB1aV94OCkgLSAxOworCXRtYXggPSAyNTU7CisJdGltaW5nLT5oc19leGl0ID0gbGlu ZWFyX2ludGVyKHRtYXgsIHRtaW4sIHBjbnQyLCAwLCBmYWxzZSk7CisKKwl0ZW1wID0gNTAgKiBj b2VmZiArICgoaGJfZW5fY2tsbiA8PCAyKSAtIDgpICogdWk7CisJdGltaW5nLT5oc19ycXN0X2Nr bG4gPSBTX0RJVl9ST1VORF9VUCh0ZW1wLCB1aV94OCk7CisKKwl0ZW1wID0gNjAgKiBjb2VmZiAr IDUyICogdWkgLSA0MyAqIHVpOworCXRtaW4gPSBESVZfUk9VTkRfVVAodGVtcCwgdWlfeDgpIC0g MTsKKwl0bWF4ID0gNjM7CisJdGltaW5nLT5zaGFyZWRfdGltaW5ncy5jbGtfcG9zdCA9CisJCQkJ bGluZWFyX2ludGVyKHRtYXgsIHRtaW4sIHBjbnQyLCAwLCBmYWxzZSk7CisKKwl0ZW1wID0gOCAq IHVpICsgKCh0aW1pbmctPmNsa19wcmVwYXJlIDw8IDMpICsgdmFsX2NrbG4pICogdWk7CisJdGVt cCArPSAoKCh0aW1pbmctPmNsa196ZXJvICsgMykgPDwgMykgKyAxMSAtIChwZF9ja2xuIDw8IDEp KSAqIHVpOworCXRlbXAgKz0gaGJfZW5fY2tsbiA/ICgoKHRpbWluZy0+aHNfcnFzdF9ja2xuIDw8 IDMpICsgNCkgKiB1aSkgOgorCQkJCSgoKHRpbWluZy0+aHNfcnFzdF9ja2xuIDw8IDMpICsgOCkg KiB1aSk7CisJdG1pbiA9IFNfRElWX1JPVU5EX1VQKHRlbXAsIHVpX3g4KSAtIDE7CisJdG1heCA9 IDYzOworCWlmICh0bWluID4gdG1heCkgeworCQl0ZW1wID0gbGluZWFyX2ludGVyKHRtYXggPDwg MSwgdG1pbiwgcGNudDIsIDAsIGZhbHNlKTsKKwkJdGltaW5nLT5zaGFyZWRfdGltaW5ncy5jbGtf cHJlID0gdGVtcCA+PiAxOworCQl0aW1pbmctPnNoYXJlZF90aW1pbmdzLmNsa19wcmVfaW5jX2J5 XzIgPSAxOworCX0gZWxzZSB7CisJCXRpbWluZy0+c2hhcmVkX3RpbWluZ3MuY2xrX3ByZSA9CisJ CQkJbGluZWFyX2ludGVyKHRtYXgsIHRtaW4sIHBjbnQyLCAwLCBmYWxzZSk7CisJCXRpbWluZy0+ c2hhcmVkX3RpbWluZ3MuY2xrX3ByZV9pbmNfYnlfMiA9IDA7CisJfQorCisJdGltaW5nLT50YV9n byA9IDM7CisJdGltaW5nLT50YV9zdXJlID0gMDsKKwl0aW1pbmctPnRhX2dldCA9IDQ7CisKKwlE QkcoIiVkLCAlZCwgJWQsICVkLCAlZCwgJWQsICVkLCAlZCwgJWQsICVkLCAlZCwgJWQsICVkLCAl ZCwgJWQsICVkIiwKKwkgICAgdGltaW5nLT5zaGFyZWRfdGltaW5ncy5jbGtfcHJlLCB0aW1pbmct PnNoYXJlZF90aW1pbmdzLmNsa19wb3N0LAorCSAgICB0aW1pbmctPnNoYXJlZF90aW1pbmdzLmNs a19wcmVfaW5jX2J5XzIsIHRpbWluZy0+Y2xrX3plcm8sCisJICAgIHRpbWluZy0+Y2xrX3RyYWls LCB0aW1pbmctPmNsa19wcmVwYXJlLCB0aW1pbmctPmhzX2V4aXQsCisJICAgIHRpbWluZy0+aHNf emVybywgdGltaW5nLT5oc19wcmVwYXJlLCB0aW1pbmctPmhzX3RyYWlsLAorCSAgICB0aW1pbmct PmhzX3Jxc3QsIHRpbWluZy0+aHNfcnFzdF9ja2xuLCB0aW1pbmctPmhzX2hhbGZieXRlX2VuLAor CSAgICB0aW1pbmctPmhzX2hhbGZieXRlX2VuX2NrbG4sIHRpbWluZy0+aHNfcHJlcF9kbHksCisJ ICAgIHRpbWluZy0+aHNfcHJlcF9kbHlfY2tsbik7CisKKwlyZXR1cm4gMDsKK30KKwogdm9pZCBt c21fZHNpX3BoeV9zZXRfc3JjX3BsbChzdHJ1Y3QgbXNtX2RzaV9waHkgKnBoeSwgaW50IHBsbF9p ZCwgdTMyIHJlZywKIAkJCQl1MzIgYml0X21hc2spCiB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vbXNtL2RzaS9waHkvZHNpX3BoeS5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvcGh5 L2RzaV9waHkuaAppbmRleCA2NDcyYjYwLi5mZWVlODcwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vbXNtL2RzaS9waHkvZHNpX3BoeS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNp L3BoeS9kc2lfcGh5LmgKQEAgLTY0LDYgKzY0LDEzIEBAIHN0cnVjdCBtc21fZHNpX2RwaHlfdGlt aW5nIHsKIAl1MzIgdGFfZ2V0OwogCiAJc3RydWN0IG1zbV9kc2lfcGh5X3NoYXJlZF90aW1pbmdz IHNoYXJlZF90aW1pbmdzOworCisJLyogRm9yIFBIWSB2MiBvbmx5ICovCisJdTMyIGhzX3Jxc3Rf Y2tsbjsKKwl1MzIgaHNfcHJlcF9kbHk7CisJdTMyIGhzX3ByZXBfZGx5X2NrbG47CisJdTggaHNf aGFsZmJ5dGVfZW47CisJdTggaHNfaGFsZmJ5dGVfZW5fY2tsbjsKIH07CiAKIHN0cnVjdCBtc21f ZHNpX3BoeSB7CkBAIC04OCw3ICs5NSw5IEBAIHN0cnVjdCBtc21fZHNpX3BoeSB7CiAgKiBQSFkg aW50ZXJuYWwgZnVuY3Rpb25zCiAgKi8KIGludCBtc21fZHNpX2RwaHlfdGltaW5nX2NhbGMoc3Ry dWN0IG1zbV9kc2lfZHBoeV90aW1pbmcgKnRpbWluZywKLQlzdHJ1Y3QgbXNtX2RzaV9waHlfY2xr X3JlcXVlc3QgKmNsa19yZXEpOworCQkJICAgICBzdHJ1Y3QgbXNtX2RzaV9waHlfY2xrX3JlcXVl c3QgKmNsa19yZXEpOworaW50IG1zbV9kc2lfZHBoeV90aW1pbmdfY2FsY192MihzdHJ1Y3QgbXNt X2RzaV9kcGh5X3RpbWluZyAqdGltaW5nLAorCQkJCXN0cnVjdCBtc21fZHNpX3BoeV9jbGtfcmVx dWVzdCAqY2xrX3JlcSk7CiB2b2lkIG1zbV9kc2lfcGh5X3NldF9zcmNfcGxsKHN0cnVjdCBtc21f ZHNpX3BoeSAqcGh5LCBpbnQgcGxsX2lkLCB1MzIgcmVnLAogCQkJCXUzMiBiaXRfbWFzayk7CiBp bnQgbXNtX2RzaV9waHlfaW5pdF9jb21tb24oc3RydWN0IG1zbV9kc2lfcGh5ICpwaHkpOwotLSAK VGhlIFF1YWxjb21tIElubm92YXRpb24gQ2VudGVyLCBJbmMuIGlzIGEgbWVtYmVyIG9mIHRoZSBD b2RlIEF1cm9yYSBGb3J1bSwKaG9zdGVkIGJ5IFRoZSBMaW51eCBGb3VuZGF0aW9uCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGlu ZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK