From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: [PATCH v3 05/19] drm/msm/dsi: Use one connector for dual DSI mode Date: Fri, 20 Jul 2018 16:42:56 -0400 Message-ID: <20180720204315.19054-6-seanpaul@chromium.org> References: <20180720204315.19054-1-seanpaul@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180720204315.19054-1-seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: abhinavk-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, architt-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, chandanu-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, jsanka-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, ryadav-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, skolluku-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, airlied-cv59FeDIM0c@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, nganji-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, hoegsberg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, dovizu-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org Cc: Neil Armstrong , Daniel Vetter , Lloyd Atkinson , "Gustavo A. R. Silva" , Sibi Sankar , Shawn Guo List-Id: linux-arm-msm@vger.kernel.org RnJvbTogQ2hhbmRhbiBVZGRhcmFqdSA8Y2hhbmRhbnVAY29kZWF1cm9yYS5vcmc+CgpDdXJyZW50 IERTSSBkcml2ZXIgdXNlcyB0d28gY29ubmVjdG9ycyBmb3IgZHVhbCBEU0kgY2FzZSBldmVuCnRo b3VnaCB3ZSBvbmx5IGhhdmUgb25lIHBhbmVsLiBGaXggdGhpcyBieSBpbXBsZW1lbnRpbmcgb25l CmNvbm5lY3Rvci9icmlkZ2UgZm9yIGR1YWwgRFNJIHVzZSBjYXNlLiBVc2UgbWFzdGVyIERTSQpj b250cm9sbGVycyB0byByZWdpc3RlciBvbmUgY29ubmVjdG9yL2JyaWRnZS4KCkNoYW5nZXMgaW4g djM6Ci0gTm9uZQoKUmV2aWV3ZWQtYnk6IEFyY2hpdCBUYW5lamEgPGFyY2hpdHRAY29kZWF1cm9y YS5vcmc+ClNpZ25lZC1vZmYtYnk6IENoYW5kYW4gVWRkYXJhanUgPGNoYW5kYW51QGNvZGVhdXJv cmEub3JnPgpbc2VhbnBhdWwgcmVtb3ZlZCB1bnVzZWQgbG9jYWwgdmFyIGNhdXNpbmcgYSBidWls ZCB3YXJuaW5nXQpTaWduZWQtb2ZmLWJ5OiBTZWFuIFBhdWwgPHNlYW5wYXVsQGNocm9taXVtLm9y Zz4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2kuYyAgICAgICAgIHwgICAzICsKIGRy aXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaS5oICAgICAgICAgfCAgIDEgKwogZHJpdmVycy9ncHUv ZHJtL21zbS9kc2kvZHNpX21hbmFnZXIuYyB8IDExMiArKysrKystLS0tLS0tLS0tLS0tLS0tLS0t LQogMyBmaWxlcyBjaGFuZ2VkLCAzMCBpbnNlcnRpb25zKCspLCA4NiBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2kuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZHNpL2RzaS5jCmluZGV4IGI3NDRiY2M3ZDhhZC4uZmY4MTY0Y2M2NzM4IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v bXNtL2RzaS9kc2kuYwpAQCAtMjA4LDYgKzIwOCw5IEBAIGludCBtc21fZHNpX21vZGVzZXRfaW5p dChzdHJ1Y3QgbXNtX2RzaSAqbXNtX2RzaSwgc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJZ290 byBmYWlsOwogCX0KIAorCWlmICghbXNtX2RzaV9tYW5hZ2VyX3ZhbGlkYXRlX2N1cnJlbnRfY29u ZmlnKG1zbV9kc2ktPmlkKSkKKwkJZ290byBmYWlsOworCiAJbXNtX2RzaS0+ZW5jb2RlciA9IGVu Y29kZXI7CiAKIAltc21fZHNpLT5icmlkZ2UgPSBtc21fZHNpX21hbmFnZXJfYnJpZGdlX2luaXQo bXNtX2RzaS0+aWQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpLmgg Yi9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2kuaAppbmRleCBkM2Y2MTNjNzZmZmEuLjA4ZjNm YzY3NzFiNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpLmgKKysrIGIv ZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpLmgKQEAgLTEwMCw2ICsxMDAsNyBAQCBib29sIG1z bV9kc2lfbWFuYWdlcl9jbWRfeGZlcl90cmlnZ2VyKGludCBpZCwgdTMyIGRtYV9iYXNlLCB1MzIg bGVuKTsKIHZvaWQgbXNtX2RzaV9tYW5hZ2VyX2F0dGFjaF9kc2lfZGV2aWNlKGludCBpZCwgdTMy IGRldmljZV9mbGFncyk7CiBpbnQgbXNtX2RzaV9tYW5hZ2VyX3JlZ2lzdGVyKHN0cnVjdCBtc21f ZHNpICptc21fZHNpKTsKIHZvaWQgbXNtX2RzaV9tYW5hZ2VyX3VucmVnaXN0ZXIoc3RydWN0IG1z bV9kc2kgKm1zbV9kc2kpOworYm9vbCBtc21fZHNpX21hbmFnZXJfdmFsaWRhdGVfY3VycmVudF9j b25maWcodTggaWQpOwogCiAvKiBtc20gZHNpICovCiBzdGF0aWMgaW5saW5lIGJvb2wgbXNtX2Rz aV9kZXZpY2VfY29ubmVjdGVkKHN0cnVjdCBtc21fZHNpICptc21fZHNpKQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpX21hbmFnZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9t c20vZHNpL2RzaV9tYW5hZ2VyLmMKaW5kZXggM2JiNTA2YjQ0YTRiLi4wMDA3MjFmZTVhYjQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaV9tYW5hZ2VyLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL21zbS9kc2kvZHNpX21hbmFnZXIuYwpAQCAtMzA2LDEwMiArMzA2LDI1IEBA IHN0YXRpYyB2b2lkIGRzaV9tZ3JfY29ubmVjdG9yX2Rlc3Ryb3koc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3RvcikKIAlrZnJlZShkc2lfY29ubmVjdG9yKTsKIH0KIAotc3RhdGljIHZvaWQg ZHNpX2R1YWxfY29ubmVjdG9yX2ZpeF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yKQotewotCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLCAqbTsKLQotCS8qIE9ubHkg c3VwcG9ydCBsZWZ0LXJpZ2h0IG1vZGUgKi8KLQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUobW9k ZSwgbSwgJmNvbm5lY3Rvci0+cHJvYmVkX21vZGVzLCBoZWFkKSB7Ci0JCW1vZGUtPmNsb2NrID4+ PSAxOwotCQltb2RlLT5oZGlzcGxheSA+Pj0gMTsKLQkJbW9kZS0+aHN5bmNfc3RhcnQgPj49IDE7 Ci0JCW1vZGUtPmhzeW5jX2VuZCA+Pj0gMTsKLQkJbW9kZS0+aHRvdGFsID4+PSAxOwotCQlkcm1f bW9kZV9zZXRfbmFtZShtb2RlKTsKLQl9Ci19Ci0KLXN0YXRpYyBpbnQgZHNpX2R1YWxfY29ubmVj dG9yX3RpbGVfaW5pdCgKLQkJCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGludCBp ZCkKLXsKLQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsKLQkvKiBGYWtlIHRvcG9sb2d5 IGlkICovCi0JY2hhciB0b3BvX2lkWzhdID0geydNJywgJ1MnLCAnTScsICdEJywgJ1UnLCAnRCcs ICdTJywgJ0knfTsKLQotCWlmIChjb25uZWN0b3ItPnRpbGVfZ3JvdXApIHsKLQkJREJHKCJUaWxl IHByb3BlcnR5IGhhcyBiZWVuIGluaXRpYWxpemVkIik7Ci0JCXJldHVybiAwOwotCX0KLQotCS8q IFVzZSB0aGUgZmlyc3QgbW9kZSBvbmx5IGZvciBub3cgKi8KLQltb2RlID0gbGlzdF9maXJzdF9l bnRyeSgmY29ubmVjdG9yLT5wcm9iZWRfbW9kZXMsCi0JCQkJc3RydWN0IGRybV9kaXNwbGF5X21v ZGUsCi0JCQkJaGVhZCk7Ci0JaWYgKCFtb2RlKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCWNvbm5l Y3Rvci0+dGlsZV9ncm91cCA9IGRybV9tb2RlX2dldF90aWxlX2dyb3VwKAotCQkJCQljb25uZWN0 b3ItPmRldiwgdG9wb19pZCk7Ci0JaWYgKCFjb25uZWN0b3ItPnRpbGVfZ3JvdXApCi0JCWNvbm5l Y3Rvci0+dGlsZV9ncm91cCA9IGRybV9tb2RlX2NyZWF0ZV90aWxlX2dyb3VwKAotCQkJCQljb25u ZWN0b3ItPmRldiwgdG9wb19pZCk7Ci0JaWYgKCFjb25uZWN0b3ItPnRpbGVfZ3JvdXApIHsKLQkJ cHJfZXJyKCIlczogZmFpbGVkIHRvIGNyZWF0ZSB0aWxlIGdyb3VwXG4iLCBfX2Z1bmNfXyk7Ci0J CXJldHVybiAtRU5PTUVNOwotCX0KLQotCWNvbm5lY3Rvci0+aGFzX3RpbGUgPSB0cnVlOwotCWNv bm5lY3Rvci0+dGlsZV9pc19zaW5nbGVfbW9uaXRvciA9IHRydWU7Ci0KLQkvKiBtb2RlIGhhcyBi ZWVuIGZpeGVkICovCi0JY29ubmVjdG9yLT50aWxlX2hfc2l6ZSA9IG1vZGUtPmhkaXNwbGF5Owot CWNvbm5lY3Rvci0+dGlsZV92X3NpemUgPSBtb2RlLT52ZGlzcGxheTsKLQotCS8qIE9ubHkgc3Vw cG9ydCBsZWZ0LXJpZ2h0IG1vZGUgKi8KLQljb25uZWN0b3ItPm51bV9oX3RpbGUgPSAyOwotCWNv bm5lY3Rvci0+bnVtX3ZfdGlsZSA9IDE7Ci0KLQljb25uZWN0b3ItPnRpbGVfdl9sb2MgPSAwOwot CWNvbm5lY3Rvci0+dGlsZV9oX2xvYyA9IChpZCA9PSBEU0lfUklHSFQpID8gMSA6IDA7Ci0KLQly ZXR1cm4gMDsKLX0KLQogc3RhdGljIGludCBkc2lfbWdyX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIHsKIAlpbnQgaWQgPSBkc2lfbWdyX2Nvbm5l Y3Rvcl9nZXRfaWQoY29ubmVjdG9yKTsKIAlzdHJ1Y3QgbXNtX2RzaSAqbXNtX2RzaSA9IGRzaV9t Z3JfZ2V0X2RzaShpZCk7CiAJc3RydWN0IGRybV9wYW5lbCAqcGFuZWwgPSBtc21fZHNpLT5wYW5l bDsKLQlpbnQgcmV0LCBudW07CisJaW50IG51bTsKIAogCWlmICghcGFuZWwpCiAJCXJldHVybiAw OwogCi0JLyogU2luY2Ugd2UgaGF2ZSAyIGNvbm5lY3RvcnMsIGJ1dCBvbmx5IDEgZHJtX3BhbmVs IGluIGR1YWwgRFNJIG1vZGUsCi0JICogcGFuZWwgc2hvdWxkIG5vdCBhdHRhY2ggdG8gYW55IGNv bm5lY3Rvci4KLQkgKiBPbmx5IHRlbXBvcmFyaWx5IGF0dGFjaCBwYW5lbCB0byB0aGUgY3VycmVu dCBjb25uZWN0b3IgaGVyZSwKLQkgKiB0byBsZXQgcGFuZWwgc2V0IG1vZGUgdG8gdGhpcyBjb25u ZWN0b3IuCisJLyoKKwkgKiBJbiBkdWFsIERTSSBtb2RlLCB3ZSBoYXZlIG9uZSBjb25uZWN0b3Ig dGhhdCBjYW4gYmUKKwkgKiBhdHRhY2hlZCB0byB0aGUgZHJtX3BhbmVsLgogCSAqLwogCWRybV9w YW5lbF9hdHRhY2gocGFuZWwsIGNvbm5lY3Rvcik7CiAJbnVtID0gZHJtX3BhbmVsX2dldF9tb2Rl cyhwYW5lbCk7Ci0JZHJtX3BhbmVsX2RldGFjaChwYW5lbCk7CiAJaWYgKCFudW0pCiAJCXJldHVy biAwOwogCi0JaWYgKElTX0RVQUxfRFNJKCkpIHsKLQkJLyogcmVwb3J0IGhhbGYgcmVzb2x1dGlv biB0byB1c2VyICovCi0JCWRzaV9kdWFsX2Nvbm5lY3Rvcl9maXhfbW9kZXMoY29ubmVjdG9yKTsK LQkJcmV0ID0gZHNpX2R1YWxfY29ubmVjdG9yX3RpbGVfaW5pdChjb25uZWN0b3IsIGlkKTsKLQkJ aWYgKHJldCkKLQkJCXJldHVybiByZXQ7Ci0JCXJldCA9IGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRf dGlsZV9wcm9wZXJ0eShjb25uZWN0b3IpOwotCQlpZiAocmV0KSB7Ci0JCQlwcl9lcnIoIiVzOiBz ZXQgdGlsZSBwcm9wZXJ0eSBmYWlsZWQsICVkXG4iLAotCQkJCQlfX2Z1bmNfXywgcmV0KTsKLQkJ CXJldHVybiByZXQ7Ci0JCX0KLQl9Ci0KIAlyZXR1cm4gbnVtOwogfQogCkBAIC00NTUsOCArMzc4 LDggQEAgc3RhdGljIHZvaWQgZHNpX21ncl9icmlkZ2VfcHJlX2VuYWJsZShzdHJ1Y3QgZHJtX2Jy aWRnZSAqYnJpZGdlKQogCWlmIChyZXQpCiAJCWdvdG8gcGh5X2VuX2ZhaWw7CiAKLQkvKiBEbyBu b3RoaW5nIHdpdGggdGhlIGhvc3QgaWYgaXQgaXMgRFNJIDEgaW4gY2FzZSBvZiBkdWFsIERTSSAq LwotCWlmIChpc19kdWFsX2RzaSAmJiAoRFNJXzEgPT0gaWQpKQorCS8qIERvIG5vdGhpbmcgd2l0 aCB0aGUgaG9zdCBpZiBpdCBpcyBzbGF2ZS1EU0kgaW4gY2FzZSBvZiBkdWFsIERTSSAqLworCWlm IChpc19kdWFsX2RzaSAmJiAhSVNfTUFTVEVSX0RTSV9MSU5LKGlkKSkKIAkJcmV0dXJuOwogCiAJ cmV0ID0gbXNtX2RzaV9ob3N0X3Bvd2VyX29uKGhvc3QsICZwaHlfc2hhcmVkX3RpbWluZ3NbaWRd LCBpc19kdWFsX2RzaSk7CkBAIC01NTcsMTEgKzQ4MCwxMSBAQCBzdGF0aWMgdm9pZCBkc2lfbWdy X2JyaWRnZV9wb3N0X2Rpc2FibGUoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSkKIAkJcmV0dXJu OwogCiAJLyoKLQkgKiBEbyBub3RoaW5nIHdpdGggdGhlIGhvc3QgaWYgaXQgaXMgRFNJIDEgaW4g Y2FzZSBvZiBkdWFsIERTSS4KKwkgKiBEbyBub3RoaW5nIHdpdGggdGhlIGhvc3QgaWYgaXQgaXMg c2xhdmUtRFNJIGluIGNhc2Ugb2YgZHVhbCBEU0kuCiAJICogSXQgaXMgc2FmZSB0byBjYWxsIGRz aV9tZ3JfcGh5X2Rpc2FibGUoKSBoZXJlIGJlY2F1c2UgYSBzaW5nbGUgUEhZCiAJICogd29uJ3Qg YmUgZGlhYmxlZCB1bnRpbCBib3RoIFBIWXMgcmVxdWVzdCBkaXNhYmxlLgogCSAqLwotCWlmIChp c19kdWFsX2RzaSAmJiAoRFNJXzEgPT0gaWQpKQorCWlmIChpc19kdWFsX2RzaSAmJiAhSVNfTUFT VEVSX0RTSV9MSU5LKGlkKSkKIAkJZ290byBkaXNhYmxlX3BoeTsKIAogCWlmIChwYW5lbCkgewpA QCAtNjIyLDcgKzU0NSw3IEBAIHN0YXRpYyB2b2lkIGRzaV9tZ3JfYnJpZGdlX21vZGVfc2V0KHN0 cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UsCiAJCQltb2RlLT52c3luY19lbmQsIG1vZGUtPnZ0b3Rh bCwKIAkJCW1vZGUtPnR5cGUsIG1vZGUtPmZsYWdzKTsKIAotCWlmIChpc19kdWFsX2RzaSAmJiAo RFNJXzEgPT0gaWQpKQorCWlmIChpc19kdWFsX2RzaSAmJiAhSVNfTUFTVEVSX0RTSV9MSU5LKGlk KSkKIAkJcmV0dXJuOwogCiAJbXNtX2RzaV9ob3N0X3NldF9kaXNwbGF5X21vZGUoaG9zdCwgYWRq dXN0ZWRfbW9kZSk7CkBAIC02OTAsNiArNjEzLDIzIEBAIHN0cnVjdCBkcm1fY29ubmVjdG9yICpt c21fZHNpX21hbmFnZXJfY29ubmVjdG9yX2luaXQodTggaWQpCiAJcmV0dXJuIGNvbm5lY3RvcjsK IH0KIAorYm9vbCBtc21fZHNpX21hbmFnZXJfdmFsaWRhdGVfY3VycmVudF9jb25maWcodTggaWQp Cit7CisJYm9vbCBpc19kdWFsX2RzaSA9IElTX0RVQUxfRFNJKCk7CisKKwkvKgorCSAqIEZvciBk dWFsIERTSSwgd2Ugb25seSBoYXZlIG9uZSBkcm0gcGFuZWwuIEZvciB0aGlzCisJICogdXNlIGNh c2UsIHdlIHJlZ2lzdGVyIG9ubHkgb25lIGJyaWRnZS9jb25uZWN0b3IuCisJICogU2tpcCBicmlk Z2UvY29ubmVjdG9yIGluaXRpYWxpc2F0aW9uIGlmIGl0IGlzCisJICogc2xhdmUtRFNJIGZvciBk dWFsIERTSSBjb25maWd1cmF0aW9uLgorCSAqLworCWlmIChpc19kdWFsX2RzaSAmJiAhSVNfTUFT VEVSX0RTSV9MSU5LKGlkKSkgeworCQlEQkcoIlNraXAgYnJpZGdlIHJlZ2lzdHJhdGlvbiBmb3Ig c2xhdmUgRFNJLT5pZDogJWRcbiIsIGlkKTsKKwkJcmV0dXJuIGZhbHNlOworCX0KKwlyZXR1cm4g dHJ1ZTsKK30KKwogLyogaW5pdGlhbGl6ZSBicmlkZ2UgKi8KIHN0cnVjdCBkcm1fYnJpZGdlICpt c21fZHNpX21hbmFnZXJfYnJpZGdlX2luaXQodTggaWQpCiB7Ci0tIApTZWFuIFBhdWwsIFNvZnR3 YXJlIEVuZ2luZWVyLCBHb29nbGUgLyBDaHJvbWl1bSBPUwoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KRnJlZWRyZW5vIG1haWxpbmcgbGlzdApGcmVlZHJl bm9AbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vZnJlZWRyZW5vCg==