From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chandan Uddaraju Subject: [[RFC]DPU PATCH] drm/msm/dsi: Use one connector for dual DSI mode Date: Wed, 28 Feb 2018 16:44:49 -0800 Message-ID: <1519865089-26296-1-git-send-email-chandanu@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: 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: abhinavk-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, nganji-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, hoegsberg-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, jsanka-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, Chandan Uddaraju List-Id: linux-arm-msm@vger.kernel.org Q3VycmVudCBEU0kgZHJpdmVyIHVzZXMgdHdvIGNvbm5lY3RvcnMgZm9yIGR1YWwgRFNJIGNhc2Ug ZXZlbgp0aG91Z2ggd2Ugb25seSBoYXZlIG9uZSBwYW5lbC4gRml4IHRoaXMgYnkgaW1wbGVtZW50 aW5nIG9uZQpjb25uZWN0b3IvYnJpZGdlIGZvciBkdWFsIERTSSB1c2UgY2FzZS4KCkN1cnJlbnQg cGF0Y2ggaXMgbm90IHlldCB0ZXN0ZWQgb24gZHVhbC1kc2kgc2V0dXAuCgpTaWduZWQtb2ZmLWJ5 OiBDaGFuZGFuIFVkZGFyYWp1IDxjaGFuZGFudUBjb2RlYXVyb3JhLm9yZz4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vbXNtL2RzaS9kc2kuYyAgICAgICAgIHwgICAzICsKIGRyaXZlcnMvZ3B1L2RybS9t c20vZHNpL2RzaS5oICAgICAgICAgfCAgIDEgKwogZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNp X21hbmFnZXIuYyB8IDEwMCArKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAzIGZp bGVzIGNoYW5nZWQsIDI0IGluc2VydGlvbnMoKyksIDgwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9k c2kvZHNpLmMKaW5kZXggYjc0NGJjYy4uZmY4MTY0YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL21zbS9kc2kvZHNpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpLmMKQEAg LTIwOCw2ICsyMDgsOSBAQCBpbnQgbXNtX2RzaV9tb2Rlc2V0X2luaXQoc3RydWN0IG1zbV9kc2kg Km1zbV9kc2ksIHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCWdvdG8gZmFpbDsKIAl9CiAKKwlp ZiAoIW1zbV9kc2lfbWFuYWdlcl92YWxpZGF0ZV9jdXJyZW50X2NvbmZpZyhtc21fZHNpLT5pZCkp CisJCWdvdG8gZmFpbDsKKwogCW1zbV9kc2ktPmVuY29kZXIgPSBlbmNvZGVyOwogCiAJbXNtX2Rz aS0+YnJpZGdlID0gbXNtX2RzaV9tYW5hZ2VyX2JyaWRnZV9pbml0KG1zbV9kc2ktPmlkKTsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaS5oIGIvZHJpdmVycy9ncHUvZHJt L21zbS9kc2kvZHNpLmgKaW5kZXggNzBkOWE5YS4uMmQ5NzYzZiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL21zbS9kc2kvZHNpLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNp LmgKQEAgLTEwMCw2ICsxMDAsNyBAQCBzdHJ1Y3QgbXNtX2RzaSB7CiB2b2lkIG1zbV9kc2lfbWFu YWdlcl9hdHRhY2hfZHNpX2RldmljZShpbnQgaWQsIHUzMiBkZXZpY2VfZmxhZ3MpOwogaW50IG1z bV9kc2lfbWFuYWdlcl9yZWdpc3RlcihzdHJ1Y3QgbXNtX2RzaSAqbXNtX2RzaSk7CiB2b2lkIG1z bV9kc2lfbWFuYWdlcl91bnJlZ2lzdGVyKHN0cnVjdCBtc21fZHNpICptc21fZHNpKTsKK2Jvb2wg bXNtX2RzaV9tYW5hZ2VyX3ZhbGlkYXRlX2N1cnJlbnRfY29uZmlnKHU4IGlkKTsKIAogLyogbXNt IGRzaSAqLwogc3RhdGljIGlubGluZSBib29sIG1zbV9kc2lfZGV2aWNlX2Nvbm5lY3RlZChzdHJ1 Y3QgbXNtX2RzaSAqbXNtX2RzaSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNp L2RzaV9tYW5hZ2VyLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfbWFuYWdlci5jCmlu ZGV4IDRjYjFjYjYuLmJmOTJmMjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNp L2RzaV9tYW5hZ2VyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpX21hbmFnZXIu YwpAQCAtMzA1LDY3ICszMDUsNiBAQCBzdGF0aWMgdm9pZCBkc2lfbWdyX2Nvbm5lY3Rvcl9kZXN0 cm95KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiAJa2ZyZWUoZHNpX2Nvbm5lY3Rv cik7CiB9CiAKLXN0YXRpYyB2b2lkIGRzaV9kdWFsX2Nvbm5lY3Rvcl9maXhfbW9kZXMoc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKLXsKLQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq bW9kZSwgKm07Ci0KLQkvKiBPbmx5IHN1cHBvcnQgbGVmdC1yaWdodCBtb2RlICovCi0JbGlzdF9m b3JfZWFjaF9lbnRyeV9zYWZlKG1vZGUsIG0sICZjb25uZWN0b3ItPnByb2JlZF9tb2RlcywgaGVh ZCkgewotCQltb2RlLT5jbG9jayA+Pj0gMTsKLQkJbW9kZS0+aGRpc3BsYXkgPj49IDE7Ci0JCW1v ZGUtPmhzeW5jX3N0YXJ0ID4+PSAxOwotCQltb2RlLT5oc3luY19lbmQgPj49IDE7Ci0JCW1vZGUt Pmh0b3RhbCA+Pj0gMTsKLQkJZHJtX21vZGVfc2V0X25hbWUobW9kZSk7Ci0JfQotfQotCi1zdGF0 aWMgaW50IGRzaV9kdWFsX2Nvbm5lY3Rvcl90aWxlX2luaXQoCi0JCQlzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yLCBpbnQgaWQpCi17Ci0Jc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1v ZGU7Ci0JLyogRmFrZSB0b3BvbG9neSBpZCAqLwotCWNoYXIgdG9wb19pZFs4XSA9IHsnTScsICdT JywgJ00nLCAnRCcsICdVJywgJ0QnLCAnUycsICdJJ307Ci0KLQlpZiAoY29ubmVjdG9yLT50aWxl X2dyb3VwKSB7Ci0JCURCRygiVGlsZSBwcm9wZXJ0eSBoYXMgYmVlbiBpbml0aWFsaXplZCIpOwot CQlyZXR1cm4gMDsKLQl9Ci0KLQkvKiBVc2UgdGhlIGZpcnN0IG1vZGUgb25seSBmb3Igbm93ICov Ci0JbW9kZSA9IGxpc3RfZmlyc3RfZW50cnkoJmNvbm5lY3Rvci0+cHJvYmVkX21vZGVzLAotCQkJ CXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlLAotCQkJCWhlYWQpOwotCWlmICghbW9kZSkKLQkJcmV0 dXJuIC1FSU5WQUw7Ci0KLQljb25uZWN0b3ItPnRpbGVfZ3JvdXAgPSBkcm1fbW9kZV9nZXRfdGls ZV9ncm91cCgKLQkJCQkJY29ubmVjdG9yLT5kZXYsIHRvcG9faWQpOwotCWlmICghY29ubmVjdG9y LT50aWxlX2dyb3VwKQotCQljb25uZWN0b3ItPnRpbGVfZ3JvdXAgPSBkcm1fbW9kZV9jcmVhdGVf dGlsZV9ncm91cCgKLQkJCQkJY29ubmVjdG9yLT5kZXYsIHRvcG9faWQpOwotCWlmICghY29ubmVj dG9yLT50aWxlX2dyb3VwKSB7Ci0JCXByX2VycigiJXM6IGZhaWxlZCB0byBjcmVhdGUgdGlsZSBn cm91cFxuIiwgX19mdW5jX18pOwotCQlyZXR1cm4gLUVOT01FTTsKLQl9Ci0KLQljb25uZWN0b3It Pmhhc190aWxlID0gdHJ1ZTsKLQljb25uZWN0b3ItPnRpbGVfaXNfc2luZ2xlX21vbml0b3IgPSB0 cnVlOwotCi0JLyogbW9kZSBoYXMgYmVlbiBmaXhlZCAqLwotCWNvbm5lY3Rvci0+dGlsZV9oX3Np emUgPSBtb2RlLT5oZGlzcGxheTsKLQljb25uZWN0b3ItPnRpbGVfdl9zaXplID0gbW9kZS0+dmRp c3BsYXk7Ci0KLQkvKiBPbmx5IHN1cHBvcnQgbGVmdC1yaWdodCBtb2RlICovCi0JY29ubmVjdG9y LT5udW1faF90aWxlID0gMjsKLQljb25uZWN0b3ItPm51bV92X3RpbGUgPSAxOwotCi0JY29ubmVj dG9yLT50aWxlX3ZfbG9jID0gMDsKLQljb25uZWN0b3ItPnRpbGVfaF9sb2MgPSAoaWQgPT0gRFNJ X1JJR0hUKSA/IDEgOiAwOwotCi0JcmV0dXJuIDA7Ci19Ci0KIHN0YXRpYyBpbnQgZHNpX21ncl9j b25uZWN0b3JfZ2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiB7CiAJ aW50IGlkID0gZHNpX21ncl9jb25uZWN0b3JfZ2V0X2lkKGNvbm5lY3Rvcik7CkBAIC0zNzYsMzEg KzMxNSwxNSBAQCBzdGF0aWMgaW50IGRzaV9tZ3JfY29ubmVjdG9yX2dldF9tb2RlcyhzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCWlmICghcGFuZWwpCiAJCXJldHVybiAwOwogCi0J LyogU2luY2Ugd2UgaGF2ZSAyIGNvbm5lY3RvcnMsIGJ1dCBvbmx5IDEgZHJtX3BhbmVsIGluIGR1 YWwgRFNJIG1vZGUsCi0JICogcGFuZWwgc2hvdWxkIG5vdCBhdHRhY2ggdG8gYW55IGNvbm5lY3Rv ci4KLQkgKiBPbmx5IHRlbXBvcmFyaWx5IGF0dGFjaCBwYW5lbCB0byB0aGUgY3VycmVudCBjb25u ZWN0b3IgaGVyZSwKLQkgKiB0byBsZXQgcGFuZWwgc2V0IG1vZGUgdG8gdGhpcyBjb25uZWN0b3Iu CisJLyoKKwkgKiBJbiBkdWFsIERTSSBtb2RlLCB3ZSBoYXZlIG9uZSBjb25uZWN0b3IgdGhhdCBj YW4gYmUKKwkgKiBhdHRhY2hlZCB0byB0aGUgZHJtX3BhbmVsLgogCSAqLwogCWRybV9wYW5lbF9h dHRhY2gocGFuZWwsIGNvbm5lY3Rvcik7CiAJbnVtID0gZHJtX3BhbmVsX2dldF9tb2RlcyhwYW5l bCk7Ci0JZHJtX3BhbmVsX2RldGFjaChwYW5lbCk7CiAJaWYgKCFudW0pCiAJCXJldHVybiAwOwog Ci0JaWYgKElTX0RVQUxfRFNJKCkpIHsKLQkJLyogcmVwb3J0IGhhbGYgcmVzb2x1dGlvbiB0byB1 c2VyICovCi0JCWRzaV9kdWFsX2Nvbm5lY3Rvcl9maXhfbW9kZXMoY29ubmVjdG9yKTsKLQkJcmV0 ID0gZHNpX2R1YWxfY29ubmVjdG9yX3RpbGVfaW5pdChjb25uZWN0b3IsIGlkKTsKLQkJaWYgKHJl dCkKLQkJCXJldHVybiByZXQ7Ci0JCXJldCA9IGRybV9tb2RlX2Nvbm5lY3Rvcl9zZXRfdGlsZV9w cm9wZXJ0eShjb25uZWN0b3IpOwotCQlpZiAocmV0KSB7Ci0JCQlwcl9lcnIoIiVzOiBzZXQgdGls ZSBwcm9wZXJ0eSBmYWlsZWQsICVkXG4iLAotCQkJCQlfX2Z1bmNfXywgcmV0KTsKLQkJCXJldHVy biByZXQ7Ci0JCX0KLQl9Ci0KIAlyZXR1cm4gbnVtOwogfQogCkBAIC02ODksNiArNjEyLDIzIEBA IHN0cnVjdCBkcm1fY29ubmVjdG9yICptc21fZHNpX21hbmFnZXJfY29ubmVjdG9yX2luaXQodTgg aWQpCiAJcmV0dXJuIGNvbm5lY3RvcjsKIH0KIAorYm9vbCBtc21fZHNpX21hbmFnZXJfdmFsaWRh dGVfY3VycmVudF9jb25maWcodTggaWQpCit7CisJYm9vbCBpc19kdWFsX2RzaSA9IElTX0RVQUxf RFNJKCk7CisKKwkvKgorCSAqIEZvciBkdWFsIERTSSwgd2Ugb25seSBoYXZlIG9uZSBkcm0gcGFu ZWwuIEZvciB0aGlzCisJICogdXNlIGNhc2UsIHdlIHJlZ2lzdGVyIG9ubHkgb25lIGJyaWRnZS9j b25uZWN0b3IuCisJICogU2tpcCBicmlkZ2UvY29ubmVjdG9yIGluaXRpYWxpc2F0aW9uIGlmIGl0 IGlzCisJICogRFNJIDEgaW4gY2FzZSBvZiBkdWFsIERTSS4KKwkgKi8KKwlpZiAoaXNfZHVhbF9k c2kgJiYgKERTSV8xID09IGlkKSkgeworCQlEQkcoIlNraXAgRFNJXzEgYnJpZGdlIHJlZ2lzdHJh dGlvbiBmb3IgZHVhbCBEU0kuXG4iKTsKKwkJcmV0dXJuIGZhbHNlOworCX0KKwlyZXR1cm4gdHJ1 ZTsKK30KKwogLyogaW5pdGlhbGl6ZSBicmlkZ2UgKi8KIHN0cnVjdCBkcm1fYnJpZGdlICptc21f ZHNpX21hbmFnZXJfYnJpZGdlX2luaXQodTggaWQpCiB7Ci0tIApUaGUgUXVhbGNvbW0gSW5ub3Zh dGlvbiBDZW50ZXIsIEluYy4gaXMgYSBtZW1iZXIgb2YgdGhlIENvZGUgQXVyb3JhIEZvcnVtLAph IExpbnV4IEZvdW5kYXRpb24gQ29sbGFib3JhdGl2ZSBQcm9qZWN0CgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpGcmVlZHJlbm8gbWFpbGluZyBsaXN0CkZy ZWVkcmVub0BsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9mcmVlZHJlbm8K