From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: [PATCH 06/21] drm/msm/dsi: Use one connector for dual DSI mode Date: Mon, 9 Jul 2018 13:31:42 -0400 Message-ID: <20180709173200.238457-7-seanpaul@chromium.org> References: <20180709173200.238457-1-seanpaul@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180709173200.238457-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" To: abhinavk@codeaurora.org, architt@codeaurora.org, chandanu@codeaurora.org, jsanka@codeaurora.org, jcrouse@codeaurora.org, ryadav@codeaurora.org, seanpaul@chromium.org, skolluku@codeaurora.org, dri-devel@lists.freedesktop.org, robdclark@gmail.com, airlied@linux.ie, freedreno@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, nganji@codeaurora.org, hoegsberg@chromium.org, dovizu@chromium.org, robh+dt@kernel.org Cc: Daniel Vetter , Lloyd Atkinson , "Gustavo A. R. Silva" , Neil Armstrong List-Id: linux-arm-msm@vger.kernel.org RnJvbTogQ2hhbmRhbiBVZGRhcmFqdSA8Y2hhbmRhbnVAY29kZWF1cm9yYS5vcmc+CgpDdXJyZW50 IERTSSBkcml2ZXIgdXNlcyB0d28gY29ubmVjdG9ycyBmb3IgZHVhbCBEU0kgY2FzZSBldmVuCnRo b3VnaCB3ZSBvbmx5IGhhdmUgb25lIHBhbmVsLiBGaXggdGhpcyBieSBpbXBsZW1lbnRpbmcgb25l CmNvbm5lY3Rvci9icmlkZ2UgZm9yIGR1YWwgRFNJIHVzZSBjYXNlLiBVc2UgbWFzdGVyIERTSQpj b250cm9sbGVycyB0byByZWdpc3RlciBvbmUgY29ubmVjdG9yL2JyaWRnZS4KCkNoYW5nZXMgaW4g VjI6CiAgICAtUmVtb3ZlZCBDaGFuZ2UtSWQgZnJvbSB0aGUgY29tbWl0IHRleHQgdGFncy4KICAg IC1SZW1vdmUgZXh0cmEgcGFyZW50aGVzZXMKCkNoYW5nZXMgaW4gVjM6CiAgICAtTm9uZQoKUmV2 aWV3ZWQtYnk6IEFyY2hpdCBUYW5lamEgPGFyY2hpdHRAY29kZWF1cm9yYS5vcmc+ClNpZ25lZC1v ZmYtYnk6IENoYW5kYW4gVWRkYXJhanUgPGNoYW5kYW51QGNvZGVhdXJvcmEub3JnPgpbc2VhbnBh dWwgcmVtb3ZlZCB1bnVzZWQgbG9jYWwgdmFyIGNhdXNpbmcgYSBidWlsZCB3YXJuaW5nXQpTaWdu ZWQtb2ZmLWJ5OiBTZWFuIFBhdWwgPHNlYW5wYXVsQGNocm9taXVtLm9yZz4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vbXNtL2RzaS9kc2kuYyAgICAgICAgIHwgICAzICsKIGRyaXZlcnMvZ3B1L2RybS9t c20vZHNpL2RzaS5oICAgICAgICAgfCAgIDEgKwogZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNp X21hbmFnZXIuYyB8IDExMiArKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLQogMyBmaWxlcyBjaGFu Z2VkLCAzMCBpbnNlcnRpb25zKCspLCA4NiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaS5j CmluZGV4IGI3NDRiY2M3ZDhhZC4uZmY4MTY0Y2M2NzM4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vbXNtL2RzaS9kc2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2kuYwpA QCAtMjA4LDYgKzIwOCw5IEBAIGludCBtc21fZHNpX21vZGVzZXRfaW5pdChzdHJ1Y3QgbXNtX2Rz aSAqbXNtX2RzaSwgc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJZ290byBmYWlsOwogCX0KIAor CWlmICghbXNtX2RzaV9tYW5hZ2VyX3ZhbGlkYXRlX2N1cnJlbnRfY29uZmlnKG1zbV9kc2ktPmlk KSkKKwkJZ290byBmYWlsOworCiAJbXNtX2RzaS0+ZW5jb2RlciA9IGVuY29kZXI7CiAKIAltc21f ZHNpLT5icmlkZ2UgPSBtc21fZHNpX21hbmFnZXJfYnJpZGdlX2luaXQobXNtX2RzaS0+aWQpOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpLmggYi9kcml2ZXJzL2dwdS9k cm0vbXNtL2RzaS9kc2kuaAppbmRleCAwMWMzOGY2N2Q2OTkuLmM4NThlOGUxYTViZCAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpLmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L21zbS9kc2kvZHNpLmgKQEAgLTEwMCw2ICsxMDAsNyBAQCBib29sIG1zbV9kc2lfbWFuYWdlcl9j bWRfeGZlcl90cmlnZ2VyKGludCBpZCwgdTMyIGRtYV9iYXNlLCB1MzIgbGVuKTsKIHZvaWQgbXNt X2RzaV9tYW5hZ2VyX2F0dGFjaF9kc2lfZGV2aWNlKGludCBpZCwgdTMyIGRldmljZV9mbGFncyk7 CiBpbnQgbXNtX2RzaV9tYW5hZ2VyX3JlZ2lzdGVyKHN0cnVjdCBtc21fZHNpICptc21fZHNpKTsK IHZvaWQgbXNtX2RzaV9tYW5hZ2VyX3VucmVnaXN0ZXIoc3RydWN0IG1zbV9kc2kgKm1zbV9kc2kp OworYm9vbCBtc21fZHNpX21hbmFnZXJfdmFsaWRhdGVfY3VycmVudF9jb25maWcodTggaWQpOwog CiAvKiBtc20gZHNpICovCiBzdGF0aWMgaW5saW5lIGJvb2wgbXNtX2RzaV9kZXZpY2VfY29ubmVj dGVkKHN0cnVjdCBtc21fZHNpICptc21fZHNpKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L21zbS9kc2kvZHNpX21hbmFnZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaV9tYW5h Z2VyLmMKaW5kZXggM2JiNTA2YjQ0YTRiLi4wMDA3MjFmZTVhYjQgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9tc20vZHNpL2RzaV9tYW5hZ2VyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21z bS9kc2kvZHNpX21hbmFnZXIuYwpAQCAtMzA2LDEwMiArMzA2LDI1IEBAIHN0YXRpYyB2b2lkIGRz aV9tZ3JfY29ubmVjdG9yX2Rlc3Ryb3koc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikK IAlrZnJlZShkc2lfY29ubmVjdG9yKTsKIH0KIAotc3RhdGljIHZvaWQgZHNpX2R1YWxfY29ubmVj dG9yX2ZpeF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQotewotCXN0cnVj dCBkcm1fZGlzcGxheV9tb2RlICptb2RlLCAqbTsKLQotCS8qIE9ubHkgc3VwcG9ydCBsZWZ0LXJp Z2h0IG1vZGUgKi8KLQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUobW9kZSwgbSwgJmNvbm5lY3Rv ci0+cHJvYmVkX21vZGVzLCBoZWFkKSB7Ci0JCW1vZGUtPmNsb2NrID4+PSAxOwotCQltb2RlLT5o ZGlzcGxheSA+Pj0gMTsKLQkJbW9kZS0+aHN5bmNfc3RhcnQgPj49IDE7Ci0JCW1vZGUtPmhzeW5j X2VuZCA+Pj0gMTsKLQkJbW9kZS0+aHRvdGFsID4+PSAxOwotCQlkcm1fbW9kZV9zZXRfbmFtZSht b2RlKTsKLQl9Ci19Ci0KLXN0YXRpYyBpbnQgZHNpX2R1YWxfY29ubmVjdG9yX3RpbGVfaW5pdCgK LQkJCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGludCBpZCkKLXsKLQlzdHJ1Y3Qg ZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsKLQkvKiBGYWtlIHRvcG9sb2d5IGlkICovCi0JY2hhciB0 b3BvX2lkWzhdID0geydNJywgJ1MnLCAnTScsICdEJywgJ1UnLCAnRCcsICdTJywgJ0knfTsKLQot CWlmIChjb25uZWN0b3ItPnRpbGVfZ3JvdXApIHsKLQkJREJHKCJUaWxlIHByb3BlcnR5IGhhcyBi ZWVuIGluaXRpYWxpemVkIik7Ci0JCXJldHVybiAwOwotCX0KLQotCS8qIFVzZSB0aGUgZmlyc3Qg bW9kZSBvbmx5IGZvciBub3cgKi8KLQltb2RlID0gbGlzdF9maXJzdF9lbnRyeSgmY29ubmVjdG9y LT5wcm9iZWRfbW9kZXMsCi0JCQkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUsCi0JCQkJaGVhZCk7 Ci0JaWYgKCFtb2RlKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCWNvbm5lY3Rvci0+dGlsZV9ncm91 cCA9IGRybV9tb2RlX2dldF90aWxlX2dyb3VwKAotCQkJCQljb25uZWN0b3ItPmRldiwgdG9wb19p ZCk7Ci0JaWYgKCFjb25uZWN0b3ItPnRpbGVfZ3JvdXApCi0JCWNvbm5lY3Rvci0+dGlsZV9ncm91 cCA9IGRybV9tb2RlX2NyZWF0ZV90aWxlX2dyb3VwKAotCQkJCQljb25uZWN0b3ItPmRldiwgdG9w b19pZCk7Ci0JaWYgKCFjb25uZWN0b3ItPnRpbGVfZ3JvdXApIHsKLQkJcHJfZXJyKCIlczogZmFp bGVkIHRvIGNyZWF0ZSB0aWxlIGdyb3VwXG4iLCBfX2Z1bmNfXyk7Ci0JCXJldHVybiAtRU5PTUVN OwotCX0KLQotCWNvbm5lY3Rvci0+aGFzX3RpbGUgPSB0cnVlOwotCWNvbm5lY3Rvci0+dGlsZV9p c19zaW5nbGVfbW9uaXRvciA9IHRydWU7Ci0KLQkvKiBtb2RlIGhhcyBiZWVuIGZpeGVkICovCi0J Y29ubmVjdG9yLT50aWxlX2hfc2l6ZSA9IG1vZGUtPmhkaXNwbGF5OwotCWNvbm5lY3Rvci0+dGls ZV92X3NpemUgPSBtb2RlLT52ZGlzcGxheTsKLQotCS8qIE9ubHkgc3VwcG9ydCBsZWZ0LXJpZ2h0 IG1vZGUgKi8KLQljb25uZWN0b3ItPm51bV9oX3RpbGUgPSAyOwotCWNvbm5lY3Rvci0+bnVtX3Zf dGlsZSA9IDE7Ci0KLQljb25uZWN0b3ItPnRpbGVfdl9sb2MgPSAwOwotCWNvbm5lY3Rvci0+dGls ZV9oX2xvYyA9IChpZCA9PSBEU0lfUklHSFQpID8gMSA6IDA7Ci0KLQlyZXR1cm4gMDsKLX0KLQog c3RhdGljIGludCBkc2lfbWdyX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvcikKIHsKIAlpbnQgaWQgPSBkc2lfbWdyX2Nvbm5lY3Rvcl9nZXRfaWQoY29u bmVjdG9yKTsKIAlzdHJ1Y3QgbXNtX2RzaSAqbXNtX2RzaSA9IGRzaV9tZ3JfZ2V0X2RzaShpZCk7 CiAJc3RydWN0IGRybV9wYW5lbCAqcGFuZWwgPSBtc21fZHNpLT5wYW5lbDsKLQlpbnQgcmV0LCBu dW07CisJaW50IG51bTsKIAogCWlmICghcGFuZWwpCiAJCXJldHVybiAwOwogCi0JLyogU2luY2Ug d2UgaGF2ZSAyIGNvbm5lY3RvcnMsIGJ1dCBvbmx5IDEgZHJtX3BhbmVsIGluIGR1YWwgRFNJIG1v ZGUsCi0JICogcGFuZWwgc2hvdWxkIG5vdCBhdHRhY2ggdG8gYW55IGNvbm5lY3Rvci4KLQkgKiBP bmx5IHRlbXBvcmFyaWx5IGF0dGFjaCBwYW5lbCB0byB0aGUgY3VycmVudCBjb25uZWN0b3IgaGVy ZSwKLQkgKiB0byBsZXQgcGFuZWwgc2V0IG1vZGUgdG8gdGhpcyBjb25uZWN0b3IuCisJLyoKKwkg KiBJbiBkdWFsIERTSSBtb2RlLCB3ZSBoYXZlIG9uZSBjb25uZWN0b3IgdGhhdCBjYW4gYmUKKwkg KiBhdHRhY2hlZCB0byB0aGUgZHJtX3BhbmVsLgogCSAqLwogCWRybV9wYW5lbF9hdHRhY2gocGFu ZWwsIGNvbm5lY3Rvcik7CiAJbnVtID0gZHJtX3BhbmVsX2dldF9tb2RlcyhwYW5lbCk7Ci0JZHJt X3BhbmVsX2RldGFjaChwYW5lbCk7CiAJaWYgKCFudW0pCiAJCXJldHVybiAwOwogCi0JaWYgKElT X0RVQUxfRFNJKCkpIHsKLQkJLyogcmVwb3J0IGhhbGYgcmVzb2x1dGlvbiB0byB1c2VyICovCi0J CWRzaV9kdWFsX2Nvbm5lY3Rvcl9maXhfbW9kZXMoY29ubmVjdG9yKTsKLQkJcmV0ID0gZHNpX2R1 YWxfY29ubmVjdG9yX3RpbGVfaW5pdChjb25uZWN0b3IsIGlkKTsKLQkJaWYgKHJldCkKLQkJCXJl dHVybiByZXQ7Ci0JCXJldCA9IGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfdGlsZV9wcm9wZXJ0eShj b25uZWN0b3IpOwotCQlpZiAocmV0KSB7Ci0JCQlwcl9lcnIoIiVzOiBzZXQgdGlsZSBwcm9wZXJ0 eSBmYWlsZWQsICVkXG4iLAotCQkJCQlfX2Z1bmNfXywgcmV0KTsKLQkJCXJldHVybiByZXQ7Ci0J CX0KLQl9Ci0KIAlyZXR1cm4gbnVtOwogfQogCkBAIC00NTUsOCArMzc4LDggQEAgc3RhdGljIHZv aWQgZHNpX21ncl9icmlkZ2VfcHJlX2VuYWJsZShzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKQog CWlmIChyZXQpCiAJCWdvdG8gcGh5X2VuX2ZhaWw7CiAKLQkvKiBEbyBub3RoaW5nIHdpdGggdGhl IGhvc3QgaWYgaXQgaXMgRFNJIDEgaW4gY2FzZSBvZiBkdWFsIERTSSAqLwotCWlmIChpc19kdWFs X2RzaSAmJiAoRFNJXzEgPT0gaWQpKQorCS8qIERvIG5vdGhpbmcgd2l0aCB0aGUgaG9zdCBpZiBp dCBpcyBzbGF2ZS1EU0kgaW4gY2FzZSBvZiBkdWFsIERTSSAqLworCWlmIChpc19kdWFsX2RzaSAm JiAhSVNfTUFTVEVSX0RTSV9MSU5LKGlkKSkKIAkJcmV0dXJuOwogCiAJcmV0ID0gbXNtX2RzaV9o b3N0X3Bvd2VyX29uKGhvc3QsICZwaHlfc2hhcmVkX3RpbWluZ3NbaWRdLCBpc19kdWFsX2RzaSk7 CkBAIC01NTcsMTEgKzQ4MCwxMSBAQCBzdGF0aWMgdm9pZCBkc2lfbWdyX2JyaWRnZV9wb3N0X2Rp c2FibGUoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSkKIAkJcmV0dXJuOwogCiAJLyoKLQkgKiBE byBub3RoaW5nIHdpdGggdGhlIGhvc3QgaWYgaXQgaXMgRFNJIDEgaW4gY2FzZSBvZiBkdWFsIERT SS4KKwkgKiBEbyBub3RoaW5nIHdpdGggdGhlIGhvc3QgaWYgaXQgaXMgc2xhdmUtRFNJIGluIGNh c2Ugb2YgZHVhbCBEU0kuCiAJICogSXQgaXMgc2FmZSB0byBjYWxsIGRzaV9tZ3JfcGh5X2Rpc2Fi bGUoKSBoZXJlIGJlY2F1c2UgYSBzaW5nbGUgUEhZCiAJICogd29uJ3QgYmUgZGlhYmxlZCB1bnRp bCBib3RoIFBIWXMgcmVxdWVzdCBkaXNhYmxlLgogCSAqLwotCWlmIChpc19kdWFsX2RzaSAmJiAo RFNJXzEgPT0gaWQpKQorCWlmIChpc19kdWFsX2RzaSAmJiAhSVNfTUFTVEVSX0RTSV9MSU5LKGlk KSkKIAkJZ290byBkaXNhYmxlX3BoeTsKIAogCWlmIChwYW5lbCkgewpAQCAtNjIyLDcgKzU0NSw3 IEBAIHN0YXRpYyB2b2lkIGRzaV9tZ3JfYnJpZGdlX21vZGVfc2V0KHN0cnVjdCBkcm1fYnJpZGdl ICpicmlkZ2UsCiAJCQltb2RlLT52c3luY19lbmQsIG1vZGUtPnZ0b3RhbCwKIAkJCW1vZGUtPnR5 cGUsIG1vZGUtPmZsYWdzKTsKIAotCWlmIChpc19kdWFsX2RzaSAmJiAoRFNJXzEgPT0gaWQpKQor CWlmIChpc19kdWFsX2RzaSAmJiAhSVNfTUFTVEVSX0RTSV9MSU5LKGlkKSkKIAkJcmV0dXJuOwog CiAJbXNtX2RzaV9ob3N0X3NldF9kaXNwbGF5X21vZGUoaG9zdCwgYWRqdXN0ZWRfbW9kZSk7CkBA IC02OTAsNiArNjEzLDIzIEBAIHN0cnVjdCBkcm1fY29ubmVjdG9yICptc21fZHNpX21hbmFnZXJf Y29ubmVjdG9yX2luaXQodTggaWQpCiAJcmV0dXJuIGNvbm5lY3RvcjsKIH0KIAorYm9vbCBtc21f ZHNpX21hbmFnZXJfdmFsaWRhdGVfY3VycmVudF9jb25maWcodTggaWQpCit7CisJYm9vbCBpc19k dWFsX2RzaSA9IElTX0RVQUxfRFNJKCk7CisKKwkvKgorCSAqIEZvciBkdWFsIERTSSwgd2Ugb25s eSBoYXZlIG9uZSBkcm0gcGFuZWwuIEZvciB0aGlzCisJICogdXNlIGNhc2UsIHdlIHJlZ2lzdGVy IG9ubHkgb25lIGJyaWRnZS9jb25uZWN0b3IuCisJICogU2tpcCBicmlkZ2UvY29ubmVjdG9yIGlu aXRpYWxpc2F0aW9uIGlmIGl0IGlzCisJICogc2xhdmUtRFNJIGZvciBkdWFsIERTSSBjb25maWd1 cmF0aW9uLgorCSAqLworCWlmIChpc19kdWFsX2RzaSAmJiAhSVNfTUFTVEVSX0RTSV9MSU5LKGlk KSkgeworCQlEQkcoIlNraXAgYnJpZGdlIHJlZ2lzdHJhdGlvbiBmb3Igc2xhdmUgRFNJLT5pZDog JWRcbiIsIGlkKTsKKwkJcmV0dXJuIGZhbHNlOworCX0KKwlyZXR1cm4gdHJ1ZTsKK30KKwogLyog aW5pdGlhbGl6ZSBicmlkZ2UgKi8KIHN0cnVjdCBkcm1fYnJpZGdlICptc21fZHNpX21hbmFnZXJf YnJpZGdlX2luaXQodTggaWQpCiB7Ci0tIApTZWFuIFBhdWwsIFNvZnR3YXJlIEVuZ2luZWVyLCBH b29nbGUgLyBDaHJvbWl1bSBPUwoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v ZHJpLWRldmVsCg==