From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: [PATCH 3/3] drm/msm: dsi: Handle dual-channel for 6G as well Date: Wed, 25 Jul 2018 16:34:45 -0400 Message-ID: <20180725203529.164928-3-seanpaul@chromium.org> References: <20180725203529.164928-1-seanpaul@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180725203529.164928-1-seanpaul@chromium.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, Sibi Sankar , freedreno@lists.freedesktop.org List-Id: linux-arm-msm@vger.kernel.org VGhpcyBmaXhlcyB1cCBhIGNvbGxpc2lvbiBiZXR3ZWVuIGludHJvZHVjaW5nIGR1YWwtY2hhbm5l bCBzdXBwb3J0IGFuZAp0aGUgZHNpIHJlZmFjdG9ycy4gVGhpcyBwYXRjaCBhcHBsaWVzIHRoZSBz YW1lIGR1YWwtY2hhbm5lbApjb25zaWRlcmF0aW9ucyBhbmQgcGNsayBjYWxjdWxhdGlvbnMgdG8g Ym90aCB2MiBhbmQgNkcsIHdpdGggYSBiaXQgb2YKYWJzdHJhY3RpbmcgZm9yIGdvb2QgbWVhc3Vy ZS4KClNpZ25lZC1vZmYtYnk6IFNlYW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaV9ob3N0LmMgfCA3MiArKysrKysrKysrKysrKyst LS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzNSBpbnNlcnRpb25zKCspLCAzNyBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfaG9zdC5j IGIvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpX2hvc3QuYwppbmRleCAzMTk1MDFkY2MwODMu Ljk2ZmI1ZjYzNTMxNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpX2hv c3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfaG9zdC5jCkBAIC02NjQsMTEg KzY2NCw5IEBAIHZvaWQgZHNpX2xpbmtfY2xrX2Rpc2FibGVfdjIoc3RydWN0IG1zbV9kc2lfaG9z dCAqbXNtX2hvc3QpCiAJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKG1zbV9ob3N0LT5ieXRlX2Nsayk7 CiB9CiAKLWludCBkc2lfY2FsY19jbGtfcmF0ZV82ZyhzdHJ1Y3QgbXNtX2RzaV9ob3N0ICptc21f aG9zdCwgYm9vbCBpc19kdWFsX2RzaSkKK3N0YXRpYyB1MzIgZHNpX2dldF9wY2xrX3JhdGUoc3Ry dWN0IG1zbV9kc2lfaG9zdCAqbXNtX2hvc3QsIGJvb2wgaXNfZHVhbF9kc2kpCiB7CiAJc3RydWN0 IGRybV9kaXNwbGF5X21vZGUgKm1vZGUgPSBtc21faG9zdC0+bW9kZTsKLQl1OCBsYW5lcyA9IG1z bV9ob3N0LT5sYW5lczsKLQl1MzIgYnBwID0gZHNpX2dldF9icHAobXNtX2hvc3QtPmZvcm1hdCk7 CiAJdTMyIHBjbGtfcmF0ZTsKIAogCXBjbGtfcmF0ZSA9IG1vZGUtPmNsb2NrICogMTAwMDsKQEAg LTY3Niw2MSArNjc0LDYxIEBAIGludCBkc2lfY2FsY19jbGtfcmF0ZV82ZyhzdHJ1Y3QgbXNtX2Rz aV9ob3N0ICptc21faG9zdCwgYm9vbCBpc19kdWFsX2RzaSkKIAkvKgogCSAqIEZvciBkdWFsIERT SSBtb2RlLCB0aGUgY3VycmVudCBEUk0gbW9kZSBoYXMgdGhlIGNvbXBsZXRlIHdpZHRoIG9mIHRo ZQogCSAqIHBhbmVsLiBTaW5jZSwgdGhlIGNvbXBsZXRlIHBhbmVsIGlzIGRyaXZlbiBieSB0d28g RFNJIGNvbnRyb2xsZXJzLAotCSAqIHRoZWNsb2NrIHJhdGVzIGhhdmUgdG8gYmUgc3BsaXQgYmV0 d2VlbiB0aGUgdHdvIGRzaSBjb250cm9sbGVycy4KKwkgKiB0aGUgY2xvY2sgcmF0ZXMgaGF2ZSB0 byBiZSBzcGxpdCBiZXR3ZWVuIHRoZSB0d28gZHNpIGNvbnRyb2xsZXJzLgogCSAqIEFkanVzdCB0 aGUgYnl0ZSBhbmQgcGl4ZWwgY2xvY2sgcmF0ZXMgZm9yIGVhY2ggZHNpIGhvc3QgYWNjb3JkaW5n bHkuCiAJICovCiAJaWYgKGlzX2R1YWxfZHNpKQogCQlwY2xrX3JhdGUgLz0gMjsKIAotCWlmIChs YW5lcyA+IDApIHsKLQkJbXNtX2hvc3QtPmJ5dGVfY2xrX3JhdGUgPSAocGNsa19yYXRlICogYnBw KSAvICg4ICogbGFuZXMpOwotCX0gZWxzZSB7CisJcmV0dXJuIHBjbGtfcmF0ZTsKK30KKworc3Rh dGljIHZvaWQgZHNpX2NhbGNfcGNsayhzdHJ1Y3QgbXNtX2RzaV9ob3N0ICptc21faG9zdCwgYm9v bCBpc19kdWFsX2RzaSkKK3sKKwl1OCBsYW5lcyA9IG1zbV9ob3N0LT5sYW5lczsKKwl1MzIgYnBw ID0gZHNpX2dldF9icHAobXNtX2hvc3QtPmZvcm1hdCk7CisJdTMyIHBjbGtfcmF0ZSA9IGRzaV9n ZXRfcGNsa19yYXRlKG1zbV9ob3N0LCBpc19kdWFsX2RzaSk7CisJdTY0IHBjbGtfYnBwID0gKHU2 NClwY2xrX3JhdGUgKiBicHA7CisKKwlpZiAobGFuZXMgPT0gMCkgewogCQlwcl9lcnIoIiVzOiBm b3JjaW5nIG1kc3NfZHNpIGxhbmVzIHRvIDFcbiIsIF9fZnVuY19fKTsKLQkJbXNtX2hvc3QtPmJ5 dGVfY2xrX3JhdGUgPSAocGNsa19yYXRlICogYnBwKSAvIDg7CisJCWxhbmVzID0gMTsKIAl9CiAK LQlEQkcoInBjbGs9JWQsIGJjbGs9JWQiLCBwY2xrX3JhdGUsIG1zbV9ob3N0LT5ieXRlX2Nsa19y YXRlKTsKKwlkb19kaXYocGNsa19icHAsICg4ICogbGFuZXMpKTsKIAotCW1zbV9ob3N0LT5lc2Nf Y2xrX3JhdGUgPSBjbGtfZ2V0X3JhdGUobXNtX2hvc3QtPmVzY19jbGspOworCW1zbV9ob3N0LT5w aXhlbF9jbGtfcmF0ZSA9IHBjbGtfcmF0ZTsKKwltc21faG9zdC0+Ynl0ZV9jbGtfcmF0ZSA9IHBj bGtfYnBwOworCisJREJHKCJwY2xrPSVkLCBiY2xrPSVkIiwgbXNtX2hvc3QtPnBpeGVsX2Nsa19y YXRlLAorCQkJCW1zbV9ob3N0LT5ieXRlX2Nsa19yYXRlKTsKKworfQorCitpbnQgZHNpX2NhbGNf Y2xrX3JhdGVfNmcoc3RydWN0IG1zbV9kc2lfaG9zdCAqbXNtX2hvc3QsIGJvb2wgaXNfZHVhbF9k c2kpCit7CisJaWYgKCFtc21faG9zdC0+bW9kZSkgeworCQlwcl9lcnIoIiVzOiBtb2RlIG5vdCBz ZXRcbiIsIF9fZnVuY19fKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQogCisJZHNpX2NhbGNfcGNs ayhtc21faG9zdCwgaXNfZHVhbF9kc2kpOworCW1zbV9ob3N0LT5lc2NfY2xrX3JhdGUgPSBjbGtf Z2V0X3JhdGUobXNtX2hvc3QtPmVzY19jbGspOwogCXJldHVybiAwOwogfQogCiBpbnQgZHNpX2Nh bGNfY2xrX3JhdGVfdjIoc3RydWN0IG1zbV9kc2lfaG9zdCAqbXNtX2hvc3QsIGJvb2wgaXNfZHVh bF9kc2kpCiB7Ci0Jc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUgPSBtc21faG9zdC0+bW9k ZTsKLQl1OCBsYW5lcyA9IG1zbV9ob3N0LT5sYW5lczsKIAl1MzIgYnBwID0gZHNpX2dldF9icHAo bXNtX2hvc3QtPmZvcm1hdCk7Ci0JdTMyIHBjbGtfcmF0ZTsKIAl1NjQgcGNsa19icHA7CiAJdW5z aWduZWQgaW50IGVzY19taHosIGVzY19kaXY7CiAJdW5zaWduZWQgbG9uZyBieXRlX21oejsKIAot CXBjbGtfcmF0ZSA9IG1vZGUtPmNsb2NrICogMTAwMDsKLQotCS8qCi0JICogRm9yIGR1YWwgRFNJ IG1vZGUsIHRoZSBjdXJyZW50IERSTSBtb2RlIGhhcyB0aGUgY29tcGxldGUgd2lkdGggb2YgdGhl Ci0JICogcGFuZWwuIFNpbmNlLCB0aGUgY29tcGxldGUgcGFuZWwgaXMgZHJpdmVuIGJ5IHR3byBE U0kgY29udHJvbGxlcnMsCi0JICogdGhlY2xvY2sgcmF0ZXMgaGF2ZSB0byBiZSBzcGxpdCBiZXR3 ZWVuIHRoZSB0d28gZHNpIGNvbnRyb2xsZXJzLgotCSAqIEFkanVzdCB0aGUgYnl0ZSBhbmQgcGl4 ZWwgY2xvY2sgcmF0ZXMgZm9yIGVhY2ggZHNpIGhvc3QgYWNjb3JkaW5nbHkuCi0JICovCi0JaWYg KGlzX2R1YWxfZHNpKQotCQlwY2xrX3JhdGUgLz0gMjsKLQotCXBjbGtfYnBwID0gcGNsa19yYXRl ICogYnBwOwotCWlmIChsYW5lcyA+IDApIHsKLQkJZG9fZGl2KHBjbGtfYnBwLCAoOCAqIGxhbmVz KSk7Ci0JfSBlbHNlIHsKLQkJcHJfZXJyKCIlczogZm9yY2luZyBtZHNzX2RzaSBsYW5lcyB0byAx XG4iLCBfX2Z1bmNfXyk7Ci0JCWRvX2RpdihwY2xrX2JwcCwgOCk7Ci0JfQotCW1zbV9ob3N0LT5w aXhlbF9jbGtfcmF0ZSA9IHBjbGtfcmF0ZTsKLQltc21faG9zdC0+Ynl0ZV9jbGtfcmF0ZSA9IHBj bGtfYnBwOwotCi0JREJHKCJwY2xrPSVkLCBiY2xrPSVkIiwgbXNtX2hvc3QtPnBpeGVsX2Nsa19y YXRlLAotCQkJCW1zbV9ob3N0LT5ieXRlX2Nsa19yYXRlKTsKKwlkc2lfY2FsY19wY2xrKG1zbV9o b3N0LCBpc19kdWFsX2RzaSk7CiAKLQltc21faG9zdC0+c3JjX2Nsa19yYXRlID0gKHBjbGtfcmF0 ZSAqIGJwcCkgLyA4OworCXBjbGtfYnBwID0gKHU2NClkc2lfZ2V0X3BjbGtfcmF0ZShtc21faG9z dCwgaXNfZHVhbF9kc2kpICogYnBwOworCWRvX2RpdihwY2xrX2JwcCwgOCk7CisJbXNtX2hvc3Qt PnNyY19jbGtfcmF0ZSA9IHBjbGtfYnBwOwogCiAJLyoKIAkgKiBlc2MgY2xvY2sgaXMgYnl0ZSBj bG9jayBmb2xsb3dlZCBieSBhIDQgYml0IGRpdmlkZXIsCi0tIApTZWFuIFBhdWwsIFNvZnR3YXJl IEVuZ2luZWVyLCBHb29nbGUgLyBDaHJvbWl1bSBPUwoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVsCg==