From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chandan Uddaraju Subject: [DPU PATCH 2/2] drm/msm/dsi: Use one connector for dual DSI mode Date: Tue, 10 Apr 2018 18:16:08 -0700 Message-ID: <1523409368-29750-3-git-send-email-chandanu@codeaurora.org> References: <1523409368-29750-1-git-send-email-chandanu@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1523409368-29750-1-git-send-email-chandanu-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: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: jeykumar-jfJNa2p1gH1BDgjK7y7TUQ@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, 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, Chandan Uddaraju List-Id: linux-arm-msm@vger.kernel.org Q3VycmVudCBEU0kgZHJpdmVyIHVzZXMgdHdvIGNvbm5lY3RvcnMgZm9yIGR1YWwgRFNJIGNhc2Ug ZXZlbgp0aG91Z2ggd2Ugb25seSBoYXZlIG9uZSBwYW5lbC4gRml4IHRoaXMgYnkgaW1wbGVtZW50 aW5nIG9uZQpjb25uZWN0b3IvYnJpZGdlIGZvciBkdWFsIERTSSB1c2UgY2FzZS4gVXNlIG1hc3Rl ciBEU0kKY29udHJvbGxlcnMgdG8gcmVnaXN0ZXIgb25lIGNvbm5lY3Rvci9icmlkZ2UuCgpDaGFu Z2UtSWQ6IEkwNjdiMzlmM2IzMmViM2FhOTJkNDE1NWQ0Y2E3MDNjYTc2OTA2NDViClNpZ25lZC1v ZmYtYnk6IENoYW5kYW4gVWRkYXJhanUgPGNoYW5kYW51QGNvZGVhdXJvcmEub3JnPgotLS0KIGRy aXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaS5jICAgICAgICAgfCAgIDMgKwogZHJpdmVycy9ncHUv ZHJtL21zbS9kc2kvZHNpLmggICAgICAgICB8ICAgMSArCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rz aS9kc2lfbWFuYWdlci5jIHwgMTEwICsrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K IDMgZmlsZXMgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgODUgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0v bXNtL2RzaS9kc2kuYwppbmRleCBiNzQ0YmNjLi5mZjgxNjRjIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vbXNtL2RzaS9kc2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2ku YwpAQCAtMjA4LDYgKzIwOCw5IEBAIGludCBtc21fZHNpX21vZGVzZXRfaW5pdChzdHJ1Y3QgbXNt X2RzaSAqbXNtX2RzaSwgc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJZ290byBmYWlsOwogCX0K IAorCWlmICghbXNtX2RzaV9tYW5hZ2VyX3ZhbGlkYXRlX2N1cnJlbnRfY29uZmlnKG1zbV9kc2kt PmlkKSkKKwkJZ290byBmYWlsOworCiAJbXNtX2RzaS0+ZW5jb2RlciA9IGVuY29kZXI7CiAKIAlt c21fZHNpLT5icmlkZ2UgPSBtc21fZHNpX21hbmFnZXJfYnJpZGdlX2luaXQobXNtX2RzaS0+aWQp OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpLmggYi9kcml2ZXJzL2dw dS9kcm0vbXNtL2RzaS9kc2kuaAppbmRleCA0MTMxYjQ3Li5kNDg3ZDk0IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2kuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rz aS9kc2kuaApAQCAtMTAwLDYgKzEwMCw3IEBAIHN0cnVjdCBtc21fZHNpIHsKIHZvaWQgbXNtX2Rz aV9tYW5hZ2VyX2F0dGFjaF9kc2lfZGV2aWNlKGludCBpZCwgdTMyIGRldmljZV9mbGFncyk7CiBp bnQgbXNtX2RzaV9tYW5hZ2VyX3JlZ2lzdGVyKHN0cnVjdCBtc21fZHNpICptc21fZHNpKTsKIHZv aWQgbXNtX2RzaV9tYW5hZ2VyX3VucmVnaXN0ZXIoc3RydWN0IG1zbV9kc2kgKm1zbV9kc2kpOwor Ym9vbCBtc21fZHNpX21hbmFnZXJfdmFsaWRhdGVfY3VycmVudF9jb25maWcodTggaWQpOwogCiAv KiBtc20gZHNpICovCiBzdGF0aWMgaW5saW5lIGJvb2wgbXNtX2RzaV9kZXZpY2VfY29ubmVjdGVk KHN0cnVjdCBtc21fZHNpICptc21fZHNpKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21z bS9kc2kvZHNpX21hbmFnZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaV9tYW5hZ2Vy LmMKaW5kZXggOGVmMWMzZC4uNTgxN2Y1OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21z bS9kc2kvZHNpX21hbmFnZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfbWFu YWdlci5jCkBAIC0zMDUsNjcgKzMwNSw2IEBAIHN0YXRpYyB2b2lkIGRzaV9tZ3JfY29ubmVjdG9y X2Rlc3Ryb3koc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAlrZnJlZShkc2lfY29u bmVjdG9yKTsKIH0KIAotc3RhdGljIHZvaWQgZHNpX2R1YWxfY29ubmVjdG9yX2ZpeF9tb2Rlcyhz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQotewotCXN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICptb2RlLCAqbTsKLQotCS8qIE9ubHkgc3VwcG9ydCBsZWZ0LXJpZ2h0IG1vZGUgKi8KLQls aXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUobW9kZSwgbSwgJmNvbm5lY3Rvci0+cHJvYmVkX21vZGVz LCBoZWFkKSB7Ci0JCW1vZGUtPmNsb2NrID4+PSAxOwotCQltb2RlLT5oZGlzcGxheSA+Pj0gMTsK LQkJbW9kZS0+aHN5bmNfc3RhcnQgPj49IDE7Ci0JCW1vZGUtPmhzeW5jX2VuZCA+Pj0gMTsKLQkJ bW9kZS0+aHRvdGFsID4+PSAxOwotCQlkcm1fbW9kZV9zZXRfbmFtZShtb2RlKTsKLQl9Ci19Ci0K LXN0YXRpYyBpbnQgZHNpX2R1YWxfY29ubmVjdG9yX3RpbGVfaW5pdCgKLQkJCXN0cnVjdCBkcm1f Y29ubmVjdG9yICpjb25uZWN0b3IsIGludCBpZCkKLXsKLQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSAqbW9kZTsKLQkvKiBGYWtlIHRvcG9sb2d5IGlkICovCi0JY2hhciB0b3BvX2lkWzhdID0geydN JywgJ1MnLCAnTScsICdEJywgJ1UnLCAnRCcsICdTJywgJ0knfTsKLQotCWlmIChjb25uZWN0b3It PnRpbGVfZ3JvdXApIHsKLQkJREJHKCJUaWxlIHByb3BlcnR5IGhhcyBiZWVuIGluaXRpYWxpemVk Iik7Ci0JCXJldHVybiAwOwotCX0KLQotCS8qIFVzZSB0aGUgZmlyc3QgbW9kZSBvbmx5IGZvciBu b3cgKi8KLQltb2RlID0gbGlzdF9maXJzdF9lbnRyeSgmY29ubmVjdG9yLT5wcm9iZWRfbW9kZXMs Ci0JCQkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUsCi0JCQkJaGVhZCk7Ci0JaWYgKCFtb2RlKQot CQlyZXR1cm4gLUVJTlZBTDsKLQotCWNvbm5lY3Rvci0+dGlsZV9ncm91cCA9IGRybV9tb2RlX2dl dF90aWxlX2dyb3VwKAotCQkJCQljb25uZWN0b3ItPmRldiwgdG9wb19pZCk7Ci0JaWYgKCFjb25u ZWN0b3ItPnRpbGVfZ3JvdXApCi0JCWNvbm5lY3Rvci0+dGlsZV9ncm91cCA9IGRybV9tb2RlX2Ny ZWF0ZV90aWxlX2dyb3VwKAotCQkJCQljb25uZWN0b3ItPmRldiwgdG9wb19pZCk7Ci0JaWYgKCFj b25uZWN0b3ItPnRpbGVfZ3JvdXApIHsKLQkJcHJfZXJyKCIlczogZmFpbGVkIHRvIGNyZWF0ZSB0 aWxlIGdyb3VwXG4iLCBfX2Z1bmNfXyk7Ci0JCXJldHVybiAtRU5PTUVNOwotCX0KLQotCWNvbm5l Y3Rvci0+aGFzX3RpbGUgPSB0cnVlOwotCWNvbm5lY3Rvci0+dGlsZV9pc19zaW5nbGVfbW9uaXRv ciA9IHRydWU7Ci0KLQkvKiBtb2RlIGhhcyBiZWVuIGZpeGVkICovCi0JY29ubmVjdG9yLT50aWxl X2hfc2l6ZSA9IG1vZGUtPmhkaXNwbGF5OwotCWNvbm5lY3Rvci0+dGlsZV92X3NpemUgPSBtb2Rl LT52ZGlzcGxheTsKLQotCS8qIE9ubHkgc3VwcG9ydCBsZWZ0LXJpZ2h0IG1vZGUgKi8KLQljb25u ZWN0b3ItPm51bV9oX3RpbGUgPSAyOwotCWNvbm5lY3Rvci0+bnVtX3ZfdGlsZSA9IDE7Ci0KLQlj b25uZWN0b3ItPnRpbGVfdl9sb2MgPSAwOwotCWNvbm5lY3Rvci0+dGlsZV9oX2xvYyA9IChpZCA9 PSBEU0lfUklHSFQpID8gMSA6IDA7Ci0KLQlyZXR1cm4gMDsKLX0KLQogc3RhdGljIGludCBkc2lf bWdyX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikK IHsKIAlpbnQgaWQgPSBkc2lfbWdyX2Nvbm5lY3Rvcl9nZXRfaWQoY29ubmVjdG9yKTsKQEAgLTM3 NiwzMSArMzE1LDE1IEBAIHN0YXRpYyBpbnQgZHNpX21ncl9jb25uZWN0b3JfZ2V0X21vZGVzKHN0 cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiAJaWYgKCFwYW5lbCkKIAkJcmV0dXJuIDA7 CiAKLQkvKiBTaW5jZSB3ZSBoYXZlIDIgY29ubmVjdG9ycywgYnV0IG9ubHkgMSBkcm1fcGFuZWwg aW4gZHVhbCBEU0kgbW9kZSwKLQkgKiBwYW5lbCBzaG91bGQgbm90IGF0dGFjaCB0byBhbnkgY29u bmVjdG9yLgotCSAqIE9ubHkgdGVtcG9yYXJpbHkgYXR0YWNoIHBhbmVsIHRvIHRoZSBjdXJyZW50 IGNvbm5lY3RvciBoZXJlLAotCSAqIHRvIGxldCBwYW5lbCBzZXQgbW9kZSB0byB0aGlzIGNvbm5l Y3Rvci4KKwkvKgorCSAqIEluIGR1YWwgRFNJIG1vZGUsIHdlIGhhdmUgb25lIGNvbm5lY3RvciB0 aGF0IGNhbiBiZQorCSAqIGF0dGFjaGVkIHRvIHRoZSBkcm1fcGFuZWwuCiAJICovCiAJZHJtX3Bh bmVsX2F0dGFjaChwYW5lbCwgY29ubmVjdG9yKTsKIAludW0gPSBkcm1fcGFuZWxfZ2V0X21vZGVz KHBhbmVsKTsKLQlkcm1fcGFuZWxfZGV0YWNoKHBhbmVsKTsKIAlpZiAoIW51bSkKIAkJcmV0dXJu IDA7CiAKLQlpZiAoSVNfRFVBTF9EU0koKSkgewotCQkvKiByZXBvcnQgaGFsZiByZXNvbHV0aW9u IHRvIHVzZXIgKi8KLQkJZHNpX2R1YWxfY29ubmVjdG9yX2ZpeF9tb2Rlcyhjb25uZWN0b3IpOwot CQlyZXQgPSBkc2lfZHVhbF9jb25uZWN0b3JfdGlsZV9pbml0KGNvbm5lY3RvciwgaWQpOwotCQlp ZiAocmV0KQotCQkJcmV0dXJuIHJldDsKLQkJcmV0ID0gZHJtX21vZGVfY29ubmVjdG9yX3NldF90 aWxlX3Byb3BlcnR5KGNvbm5lY3Rvcik7Ci0JCWlmIChyZXQpIHsKLQkJCXByX2VycigiJXM6IHNl dCB0aWxlIHByb3BlcnR5IGZhaWxlZCwgJWRcbiIsCi0JCQkJCV9fZnVuY19fLCByZXQpOwotCQkJ cmV0dXJuIHJldDsKLQkJfQotCX0KLQogCXJldHVybiBudW07CiB9CiAKQEAgLTQ1NCw4ICszNzcs OCBAQCBzdGF0aWMgdm9pZCBkc2lfbWdyX2JyaWRnZV9wcmVfZW5hYmxlKHN0cnVjdCBkcm1fYnJp ZGdlICpicmlkZ2UpCiAJaWYgKHJldCkKIAkJZ290byBwaHlfZW5fZmFpbDsKIAotCS8qIERvIG5v dGhpbmcgd2l0aCB0aGUgaG9zdCBpZiBpdCBpcyBEU0kgMSBpbiBjYXNlIG9mIGR1YWwgRFNJICov Ci0JaWYgKGlzX2R1YWxfZHNpICYmIChEU0lfMSA9PSBpZCkpCisJLyogRG8gbm90aGluZyB3aXRo IHRoZSBob3N0IGlmIGl0IGlzIHNsYXZlLURTSSBpbiBjYXNlIG9mIGR1YWwgRFNJICovCisJaWYg KGlzX2R1YWxfZHNpICYmICghSVNfTUFTVEVSX0RTSV9MSU5LKGlkKSkpCiAJCXJldHVybjsKIAog CXJldCA9IG1zbV9kc2lfaG9zdF9wb3dlcl9vbihob3N0LCAmcGh5X3NoYXJlZF90aW1pbmdzW2lk XSk7CkBAIC01NTYsMTEgKzQ3OSwxMSBAQCBzdGF0aWMgdm9pZCBkc2lfbWdyX2JyaWRnZV9wb3N0 X2Rpc2FibGUoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSkKIAkJcmV0dXJuOwogCiAJLyoKLQkg KiBEbyBub3RoaW5nIHdpdGggdGhlIGhvc3QgaWYgaXQgaXMgRFNJIDEgaW4gY2FzZSBvZiBkdWFs IERTSS4KKwkgKiBEbyBub3RoaW5nIHdpdGggdGhlIGhvc3QgaWYgaXQgaXMgc2xhdmUtRFNJIGlu IGNhc2Ugb2YgZHVhbCBEU0kuCiAJICogSXQgaXMgc2FmZSB0byBjYWxsIGRzaV9tZ3JfcGh5X2Rp c2FibGUoKSBoZXJlIGJlY2F1c2UgYSBzaW5nbGUgUEhZCiAJICogd29uJ3QgYmUgZGlhYmxlZCB1 bnRpbCBib3RoIFBIWXMgcmVxdWVzdCBkaXNhYmxlLgogCSAqLwotCWlmIChpc19kdWFsX2RzaSAm JiAoRFNJXzEgPT0gaWQpKQorCWlmIChpc19kdWFsX2RzaSAmJiAoIUlTX01BU1RFUl9EU0lfTElO SyhpZCkpKQogCQlnb3RvIGRpc2FibGVfcGh5OwogCiAJaWYgKHBhbmVsKSB7CkBAIC02MjEsNyAr NTQ0LDcgQEAgc3RhdGljIHZvaWQgZHNpX21ncl9icmlkZ2VfbW9kZV9zZXQoc3RydWN0IGRybV9i cmlkZ2UgKmJyaWRnZSwKIAkJCW1vZGUtPnZzeW5jX2VuZCwgbW9kZS0+dnRvdGFsLAogCQkJbW9k ZS0+dHlwZSwgbW9kZS0+ZmxhZ3MpOwogCi0JaWYgKGlzX2R1YWxfZHNpICYmIChEU0lfMSA9PSBp ZCkpCisJaWYgKGlzX2R1YWxfZHNpICYmICghSVNfTUFTVEVSX0RTSV9MSU5LKGlkKSkpCiAJCXJl dHVybjsKIAogCW1zbV9kc2lfaG9zdF9zZXRfZGlzcGxheV9tb2RlKGhvc3QsIGFkanVzdGVkX21v ZGUpOwpAQCAtNzA0LDYgKzYyNywyMyBAQCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqbXNtX2RzaV9t YW5hZ2VyX2Nvbm5lY3Rvcl9pbml0KHU4IGlkKQogCXJldHVybiBjb25uZWN0b3I7CiB9CiAKK2Jv b2wgbXNtX2RzaV9tYW5hZ2VyX3ZhbGlkYXRlX2N1cnJlbnRfY29uZmlnKHU4IGlkKQoreworCWJv b2wgaXNfZHVhbF9kc2kgPSBJU19EVUFMX0RTSSgpOworCisJLyoKKwkgKiBGb3IgZHVhbCBEU0ks IHdlIG9ubHkgaGF2ZSBvbmUgZHJtIHBhbmVsLiBGb3IgdGhpcworCSAqIHVzZSBjYXNlLCB3ZSBy ZWdpc3RlciBvbmx5IG9uZSBicmlkZ2UvY29ubmVjdG9yLgorCSAqIFNraXAgYnJpZGdlL2Nvbm5l Y3RvciBpbml0aWFsaXNhdGlvbiBpZiBpdCBpcworCSAqIHNsYXZlLURTSSBmb3IgZHVhbCBEU0kg Y29uZmlndXJhdGlvbi4KKwkgKi8KKwlpZiAoaXNfZHVhbF9kc2kgJiYgKCFJU19NQVNURVJfRFNJ X0xJTksoaWQpKSkgeworCQlEQkcoIlNraXAgYnJpZGdlIHJlZ2lzdHJhdGlvbiBmb3Igc2xhdmUg RFNJLT5pZDogJWRcbiIsIGlkKTsKKwkJcmV0dXJuIGZhbHNlOworCX0KKwlyZXR1cm4gdHJ1ZTsK K30KKwogLyogaW5pdGlhbGl6ZSBicmlkZ2UgKi8KIHN0cnVjdCBkcm1fYnJpZGdlICptc21fZHNp X21hbmFnZXJfYnJpZGdlX2luaXQodTggaWQpCiB7Ci0tIApUaGUgUXVhbGNvbW0gSW5ub3ZhdGlv biBDZW50ZXIsIEluYy4gaXMgYSBtZW1iZXIgb2YgdGhlIENvZGUgQXVyb3JhIEZvcnVtLAphIExp bnV4IEZvdW5kYXRpb24gQ29sbGFib3JhdGl2ZSBQcm9qZWN0CgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpGcmVlZHJlbm8gbWFpbGluZyBsaXN0CkZyZWVk cmVub0BsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9mcmVlZHJlbm8K