From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chandan Uddaraju Subject: [DPU PATCH v3 2/2] drm/msm/dsi: Use one connector for dual DSI mode Date: Wed, 18 Apr 2018 12:45:15 -0700 Message-ID: <1524080715-23228-3-git-send-email-chandanu@codeaurora.org> References: <1524080715-23228-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: <1524080715-23228-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: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@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 aW5nIG9uZQpjb25uZWN0b3IvYnJpZGdlIGZvciBkdWFsIERTSSB1c2UgY2FzZS4gVXNlIG1hc3Rl ciBEU0kKY29udHJvbGxlcnMgdG8gcmVnaXN0ZXIgb25lIGNvbm5lY3Rvci9icmlkZ2UuCgpDaGFu Z2VzIGluIFYyOgogICAgLVJlbW92ZWQgQ2hhbmdlLUlkIGZyb20gdGhlIGNvbW1pdCB0ZXh0IHRh Z3MuCiAgICAtUmVtb3ZlIGV4dHJhIHBhcmVudGhlc2VzCgpDaGFuZ2VzIGluIFYzOgogICAgLU5v bmUKClNpZ25lZC1vZmYtYnk6IENoYW5kYW4gVWRkYXJhanUgPGNoYW5kYW51QGNvZGVhdXJvcmEu b3JnPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaS5jICAgICAgICAgfCAgIDMgKwog ZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpLmggICAgICAgICB8ICAgMSArCiBkcml2ZXJzL2dw dS9kcm0vbXNtL2RzaS9kc2lfbWFuYWdlci5jIHwgMTEwICsrKysrKysrLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgODUgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpLmMgYi9kcml2 ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2kuYwppbmRleCBiNzQ0YmNjLi5mZjgxNjRjIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v bXNtL2RzaS9kc2kuYwpAQCAtMjA4LDYgKzIwOCw5IEBAIGludCBtc21fZHNpX21vZGVzZXRfaW5p dChzdHJ1Y3QgbXNtX2RzaSAqbXNtX2RzaSwgc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJZ290 byBmYWlsOwogCX0KIAorCWlmICghbXNtX2RzaV9tYW5hZ2VyX3ZhbGlkYXRlX2N1cnJlbnRfY29u ZmlnKG1zbV9kc2ktPmlkKSkKKwkJZ290byBmYWlsOworCiAJbXNtX2RzaS0+ZW5jb2RlciA9IGVu Y29kZXI7CiAKIAltc21fZHNpLT5icmlkZ2UgPSBtc21fZHNpX21hbmFnZXJfYnJpZGdlX2luaXQo bXNtX2RzaS0+aWQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpLmgg Yi9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2kuaAppbmRleCAwMWMzOGY2Li5jODU4ZThlIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2kuaAorKysgYi9kcml2ZXJzL2dw dS9kcm0vbXNtL2RzaS9kc2kuaApAQCAtMTAwLDYgKzEwMCw3IEBAIHN0cnVjdCBtc21fZHNpIHsK IHZvaWQgbXNtX2RzaV9tYW5hZ2VyX2F0dGFjaF9kc2lfZGV2aWNlKGludCBpZCwgdTMyIGRldmlj ZV9mbGFncyk7CiBpbnQgbXNtX2RzaV9tYW5hZ2VyX3JlZ2lzdGVyKHN0cnVjdCBtc21fZHNpICpt c21fZHNpKTsKIHZvaWQgbXNtX2RzaV9tYW5hZ2VyX3VucmVnaXN0ZXIoc3RydWN0IG1zbV9kc2kg Km1zbV9kc2kpOworYm9vbCBtc21fZHNpX21hbmFnZXJfdmFsaWRhdGVfY3VycmVudF9jb25maWco dTggaWQpOwogCiAvKiBtc20gZHNpICovCiBzdGF0aWMgaW5saW5lIGJvb2wgbXNtX2RzaV9kZXZp Y2VfY29ubmVjdGVkKHN0cnVjdCBtc21fZHNpICptc21fZHNpKQpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL21zbS9kc2kvZHNpX21hbmFnZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNp L2RzaV9tYW5hZ2VyLmMKaW5kZXggM2JiNTA2Yi4uMmExMWY4MiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL21zbS9kc2kvZHNpX21hbmFnZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNt L2RzaS9kc2lfbWFuYWdlci5jCkBAIC0zMDYsNjcgKzMwNiw2IEBAIHN0YXRpYyB2b2lkIGRzaV9t Z3JfY29ubmVjdG9yX2Rlc3Ryb3koc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAlr ZnJlZShkc2lfY29ubmVjdG9yKTsKIH0KIAotc3RhdGljIHZvaWQgZHNpX2R1YWxfY29ubmVjdG9y X2ZpeF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQotewotCXN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICptb2RlLCAqbTsKLQotCS8qIE9ubHkgc3VwcG9ydCBsZWZ0LXJpZ2h0 IG1vZGUgKi8KLQlsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUobW9kZSwgbSwgJmNvbm5lY3Rvci0+ cHJvYmVkX21vZGVzLCBoZWFkKSB7Ci0JCW1vZGUtPmNsb2NrID4+PSAxOwotCQltb2RlLT5oZGlz cGxheSA+Pj0gMTsKLQkJbW9kZS0+aHN5bmNfc3RhcnQgPj49IDE7Ci0JCW1vZGUtPmhzeW5jX2Vu ZCA+Pj0gMTsKLQkJbW9kZS0+aHRvdGFsID4+PSAxOwotCQlkcm1fbW9kZV9zZXRfbmFtZShtb2Rl KTsKLQl9Ci19Ci0KLXN0YXRpYyBpbnQgZHNpX2R1YWxfY29ubmVjdG9yX3RpbGVfaW5pdCgKLQkJ CXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGludCBpZCkKLXsKLQlzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqbW9kZTsKLQkvKiBGYWtlIHRvcG9sb2d5IGlkICovCi0JY2hhciB0b3Bv X2lkWzhdID0geydNJywgJ1MnLCAnTScsICdEJywgJ1UnLCAnRCcsICdTJywgJ0knfTsKLQotCWlm IChjb25uZWN0b3ItPnRpbGVfZ3JvdXApIHsKLQkJREJHKCJUaWxlIHByb3BlcnR5IGhhcyBiZWVu IGluaXRpYWxpemVkIik7Ci0JCXJldHVybiAwOwotCX0KLQotCS8qIFVzZSB0aGUgZmlyc3QgbW9k ZSBvbmx5IGZvciBub3cgKi8KLQltb2RlID0gbGlzdF9maXJzdF9lbnRyeSgmY29ubmVjdG9yLT5w cm9iZWRfbW9kZXMsCi0JCQkJc3RydWN0IGRybV9kaXNwbGF5X21vZGUsCi0JCQkJaGVhZCk7Ci0J aWYgKCFtb2RlKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCWNvbm5lY3Rvci0+dGlsZV9ncm91cCA9 IGRybV9tb2RlX2dldF90aWxlX2dyb3VwKAotCQkJCQljb25uZWN0b3ItPmRldiwgdG9wb19pZCk7 Ci0JaWYgKCFjb25uZWN0b3ItPnRpbGVfZ3JvdXApCi0JCWNvbm5lY3Rvci0+dGlsZV9ncm91cCA9 IGRybV9tb2RlX2NyZWF0ZV90aWxlX2dyb3VwKAotCQkJCQljb25uZWN0b3ItPmRldiwgdG9wb19p ZCk7Ci0JaWYgKCFjb25uZWN0b3ItPnRpbGVfZ3JvdXApIHsKLQkJcHJfZXJyKCIlczogZmFpbGVk IHRvIGNyZWF0ZSB0aWxlIGdyb3VwXG4iLCBfX2Z1bmNfXyk7Ci0JCXJldHVybiAtRU5PTUVNOwot CX0KLQotCWNvbm5lY3Rvci0+aGFzX3RpbGUgPSB0cnVlOwotCWNvbm5lY3Rvci0+dGlsZV9pc19z aW5nbGVfbW9uaXRvciA9IHRydWU7Ci0KLQkvKiBtb2RlIGhhcyBiZWVuIGZpeGVkICovCi0JY29u bmVjdG9yLT50aWxlX2hfc2l6ZSA9IG1vZGUtPmhkaXNwbGF5OwotCWNvbm5lY3Rvci0+dGlsZV92 X3NpemUgPSBtb2RlLT52ZGlzcGxheTsKLQotCS8qIE9ubHkgc3VwcG9ydCBsZWZ0LXJpZ2h0IG1v ZGUgKi8KLQljb25uZWN0b3ItPm51bV9oX3RpbGUgPSAyOwotCWNvbm5lY3Rvci0+bnVtX3ZfdGls ZSA9IDE7Ci0KLQljb25uZWN0b3ItPnRpbGVfdl9sb2MgPSAwOwotCWNvbm5lY3Rvci0+dGlsZV9o X2xvYyA9IChpZCA9PSBEU0lfUklHSFQpID8gMSA6IDA7Ci0KLQlyZXR1cm4gMDsKLX0KLQogc3Rh dGljIGludCBkc2lfbWdyX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm5lY3RvcikKIHsKIAlpbnQgaWQgPSBkc2lfbWdyX2Nvbm5lY3Rvcl9nZXRfaWQoY29ubmVj dG9yKTsKQEAgLTM3NywzMSArMzE2LDE1IEBAIHN0YXRpYyBpbnQgZHNpX21ncl9jb25uZWN0b3Jf Z2V0X21vZGVzKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiAJaWYgKCFwYW5lbCkK IAkJcmV0dXJuIDA7CiAKLQkvKiBTaW5jZSB3ZSBoYXZlIDIgY29ubmVjdG9ycywgYnV0IG9ubHkg MSBkcm1fcGFuZWwgaW4gZHVhbCBEU0kgbW9kZSwKLQkgKiBwYW5lbCBzaG91bGQgbm90IGF0dGFj aCB0byBhbnkgY29ubmVjdG9yLgotCSAqIE9ubHkgdGVtcG9yYXJpbHkgYXR0YWNoIHBhbmVsIHRv IHRoZSBjdXJyZW50IGNvbm5lY3RvciBoZXJlLAotCSAqIHRvIGxldCBwYW5lbCBzZXQgbW9kZSB0 byB0aGlzIGNvbm5lY3Rvci4KKwkvKgorCSAqIEluIGR1YWwgRFNJIG1vZGUsIHdlIGhhdmUgb25l IGNvbm5lY3RvciB0aGF0IGNhbiBiZQorCSAqIGF0dGFjaGVkIHRvIHRoZSBkcm1fcGFuZWwuCiAJ ICovCiAJZHJtX3BhbmVsX2F0dGFjaChwYW5lbCwgY29ubmVjdG9yKTsKIAludW0gPSBkcm1fcGFu ZWxfZ2V0X21vZGVzKHBhbmVsKTsKLQlkcm1fcGFuZWxfZGV0YWNoKHBhbmVsKTsKIAlpZiAoIW51 bSkKIAkJcmV0dXJuIDA7CiAKLQlpZiAoSVNfRFVBTF9EU0koKSkgewotCQkvKiByZXBvcnQgaGFs ZiByZXNvbHV0aW9uIHRvIHVzZXIgKi8KLQkJZHNpX2R1YWxfY29ubmVjdG9yX2ZpeF9tb2Rlcyhj b25uZWN0b3IpOwotCQlyZXQgPSBkc2lfZHVhbF9jb25uZWN0b3JfdGlsZV9pbml0KGNvbm5lY3Rv ciwgaWQpOwotCQlpZiAocmV0KQotCQkJcmV0dXJuIHJldDsKLQkJcmV0ID0gZHJtX21vZGVfY29u bmVjdG9yX3NldF90aWxlX3Byb3BlcnR5KGNvbm5lY3Rvcik7Ci0JCWlmIChyZXQpIHsKLQkJCXBy X2VycigiJXM6IHNldCB0aWxlIHByb3BlcnR5IGZhaWxlZCwgJWRcbiIsCi0JCQkJCV9fZnVuY19f LCByZXQpOwotCQkJcmV0dXJuIHJldDsKLQkJfQotCX0KLQogCXJldHVybiBudW07CiB9CiAKQEAg LTQ1NSw4ICszNzgsOCBAQCBzdGF0aWMgdm9pZCBkc2lfbWdyX2JyaWRnZV9wcmVfZW5hYmxlKHN0 cnVjdCBkcm1fYnJpZGdlICpicmlkZ2UpCiAJaWYgKHJldCkKIAkJZ290byBwaHlfZW5fZmFpbDsK IAotCS8qIERvIG5vdGhpbmcgd2l0aCB0aGUgaG9zdCBpZiBpdCBpcyBEU0kgMSBpbiBjYXNlIG9m IGR1YWwgRFNJICovCi0JaWYgKGlzX2R1YWxfZHNpICYmIChEU0lfMSA9PSBpZCkpCisJLyogRG8g bm90aGluZyB3aXRoIHRoZSBob3N0IGlmIGl0IGlzIHNsYXZlLURTSSBpbiBjYXNlIG9mIGR1YWwg RFNJICovCisJaWYgKGlzX2R1YWxfZHNpICYmICFJU19NQVNURVJfRFNJX0xJTksoaWQpKQogCQly ZXR1cm47CiAKIAlyZXQgPSBtc21fZHNpX2hvc3RfcG93ZXJfb24oaG9zdCwgJnBoeV9zaGFyZWRf dGltaW5nc1tpZF0sIGlzX2R1YWxfZHNpKTsKQEAgLTU1NywxMSArNDgwLDExIEBAIHN0YXRpYyB2 b2lkIGRzaV9tZ3JfYnJpZGdlX3Bvc3RfZGlzYWJsZShzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdl KQogCQlyZXR1cm47CiAKIAkvKgotCSAqIERvIG5vdGhpbmcgd2l0aCB0aGUgaG9zdCBpZiBpdCBp cyBEU0kgMSBpbiBjYXNlIG9mIGR1YWwgRFNJLgorCSAqIERvIG5vdGhpbmcgd2l0aCB0aGUgaG9z dCBpZiBpdCBpcyBzbGF2ZS1EU0kgaW4gY2FzZSBvZiBkdWFsIERTSS4KIAkgKiBJdCBpcyBzYWZl IHRvIGNhbGwgZHNpX21ncl9waHlfZGlzYWJsZSgpIGhlcmUgYmVjYXVzZSBhIHNpbmdsZSBQSFkK IAkgKiB3b24ndCBiZSBkaWFibGVkIHVudGlsIGJvdGggUEhZcyByZXF1ZXN0IGRpc2FibGUuCiAJ ICovCi0JaWYgKGlzX2R1YWxfZHNpICYmIChEU0lfMSA9PSBpZCkpCisJaWYgKGlzX2R1YWxfZHNp ICYmICFJU19NQVNURVJfRFNJX0xJTksoaWQpKQogCQlnb3RvIGRpc2FibGVfcGh5OwogCiAJaWYg KHBhbmVsKSB7CkBAIC02MjIsNyArNTQ1LDcgQEAgc3RhdGljIHZvaWQgZHNpX21ncl9icmlkZ2Vf bW9kZV9zZXQoc3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKIAkJCW1vZGUtPnZzeW5jX2VuZCwg bW9kZS0+dnRvdGFsLAogCQkJbW9kZS0+dHlwZSwgbW9kZS0+ZmxhZ3MpOwogCi0JaWYgKGlzX2R1 YWxfZHNpICYmIChEU0lfMSA9PSBpZCkpCisJaWYgKGlzX2R1YWxfZHNpICYmICFJU19NQVNURVJf RFNJX0xJTksoaWQpKQogCQlyZXR1cm47CiAKIAltc21fZHNpX2hvc3Rfc2V0X2Rpc3BsYXlfbW9k ZShob3N0LCBhZGp1c3RlZF9tb2RlKTsKQEAgLTY5MCw2ICs2MTMsMjMgQEAgc3RydWN0IGRybV9j b25uZWN0b3IgKm1zbV9kc2lfbWFuYWdlcl9jb25uZWN0b3JfaW5pdCh1OCBpZCkKIAlyZXR1cm4g Y29ubmVjdG9yOwogfQogCitib29sIG1zbV9kc2lfbWFuYWdlcl92YWxpZGF0ZV9jdXJyZW50X2Nv bmZpZyh1OCBpZCkKK3sKKwlib29sIGlzX2R1YWxfZHNpID0gSVNfRFVBTF9EU0koKTsKKworCS8q CisJICogRm9yIGR1YWwgRFNJLCB3ZSBvbmx5IGhhdmUgb25lIGRybSBwYW5lbC4gRm9yIHRoaXMK KwkgKiB1c2UgY2FzZSwgd2UgcmVnaXN0ZXIgb25seSBvbmUgYnJpZGdlL2Nvbm5lY3Rvci4KKwkg KiBTa2lwIGJyaWRnZS9jb25uZWN0b3IgaW5pdGlhbGlzYXRpb24gaWYgaXQgaXMKKwkgKiBzbGF2 ZS1EU0kgZm9yIGR1YWwgRFNJIGNvbmZpZ3VyYXRpb24uCisJICovCisJaWYgKGlzX2R1YWxfZHNp ICYmICFJU19NQVNURVJfRFNJX0xJTksoaWQpKSB7CisJCURCRygiU2tpcCBicmlkZ2UgcmVnaXN0 cmF0aW9uIGZvciBzbGF2ZSBEU0ktPmlkOiAlZFxuIiwgaWQpOworCQlyZXR1cm4gZmFsc2U7CisJ fQorCXJldHVybiB0cnVlOworfQorCiAvKiBpbml0aWFsaXplIGJyaWRnZSAqLwogc3RydWN0IGRy bV9icmlkZ2UgKm1zbV9kc2lfbWFuYWdlcl9icmlkZ2VfaW5pdCh1OCBpZCkKIHsKLS0gClRoZSBR dWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwgSW5jLiBpcyBhIG1lbWJlciBvZiB0aGUgQ29kZSBB dXJvcmEgRm9ydW0sCmEgTGludXggRm91bmRhdGlvbiBDb2xsYWJvcmF0aXZlIFByb2plY3QKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkZyZWVkcmVubyBt YWlsaW5nIGxpc3QKRnJlZWRyZW5vQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVkcmVubwo=