From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: [PATCH 2/3] drm/msm: dsi host: Use device graph parsing to parse connected panel Date: Mon, 22 Jun 2015 20:24:20 +0530 Message-ID: <1434984861-22948-3-git-send-email-architt@codeaurora.org> References: <1434984861-22948-1-git-send-email-architt@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1434984861-22948-1-git-send-email-architt@codeaurora.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, linux-arm-msm@vger.kernel.org Cc: linux-kernel@vger.kernel.org List-Id: linux-arm-msm@vger.kernel.org VGhlIGRzaSBob3N0IGxvb2tzIGZvciB0aGUgY29ubmVjdGVkIHBhbmVsIG5vZGUgYnkgcGFyc2lu ZyBmb3IgYSBjaGlsZApuYW1lZCAncGFuZWwnLiBUaGlzIGhpZXJhcmNoeSBpc24ndCB2ZXJ5IGZs ZXhpYmxlLiBUaGUgY29ubmVjdGVkCnBhbmVsIGlzIGZvcmNlZCB0byBiZSBhIGNoaWxkIHRvIHRo ZSBkc2kgaG9zdCwgYW5kIGhlbmNlLCBhIG1pcGkgZHNpCmRldmljZS4gVGhpcyBpc24ndCBzdWl0 YWJsZSBmb3IgZHNpIGRldmljZXMgdGhhdCBkb24ndCB1c2UgbWlwaSBkc2kKYXMgdGhlaXIgY29u dHJvbCBidXMuCgpGb2xsb3cgdGhlIG9mX2dyYXBoIGFwcHJvYWNoIG9mIGNyZWF0aW5nIHBvcnRz IGFuZCBlbmRwb2ludHMgdG8KcmVwcmVzZW50IHRoZSBjb25uZWN0aW9ucyBiZXR3ZWVuIHRoZSBk c2kgaG9zdCBhbmQgdGhlIHBhbmVsIGNvbm5lY3RlZAp0byBpdC4gSW4gb3VyIGNhc2UsIHRoZSBk c2kgaG9zdCB3aWxsIG9ubHkgaGF2ZSBvbmUgb3V0cHV0IHBvcnQsIGxpbmtlZAp0byB0aGUgcGFu ZWwncyBpbnB1dCBwb3J0LgoKVXBkYXRlIERUIGJpbmRpbmcgZG9jdW1lbnRhdGlvbiB3aXRoIGRl dmljZSBncmFwaCB1c2FnZSBpbmZvLgoKU2lnbmVkLW9mZi1ieTogQXJjaGl0IFRhbmVqYSA8YXJj aGl0dEBjb2RlYXVyb3JhLm9yZz4KLS0tCiBEb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmluZGlu Z3MvZHJtL21zbS9kc2kudHh0IHwgMTUgKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9k c2lfaG9zdC5jICAgICAgICAgICAgICAgIHwgNjQgKysrKysrKysrKysrKysrKystLS0tLS0KIDIg ZmlsZXMgY2hhbmdlZCwgNjMgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2JpbmRpbmdzL2RybS9tc20vZHNpLnR4dCBi L0RvY3VtZW50YXRpb24vZGV2aWNldHJlZS9iaW5kaW5ncy9kcm0vbXNtL2RzaS50eHQKaW5kZXgg NmNjZDg2MC4uYzg4ZWMzYyAxMDA2NDQKLS0tIGEvRG9jdW1lbnRhdGlvbi9kZXZpY2V0cmVlL2Jp bmRpbmdzL2RybS9tc20vZHNpLnR4dAorKysgYi9Eb2N1bWVudGF0aW9uL2RldmljZXRyZWUvYmlu ZGluZ3MvZHJtL21zbS9kc2kudHh0CkBAIC0yNSw2ICsyNSw5IEBAIFJlcXVpcmVkIHByb3BlcnRp ZXM6CiAtIHZkZGlvLXN1cHBseTogcGhhbmRsZSB0byB2ZGQtaW8gcmVndWxhdG9yIGRldmljZSBu b2RlCiAtIHZkZGEtc3VwcGx5OiBwaGFuZGxlIHRvIHZkZGEgcmVndWxhdG9yIGRldmljZSBub2Rl CiAtIHFjb20sZHNpLXBoeTogcGhhbmRsZSB0byBEU0kgUEhZIGRldmljZSBub2RlCistIHBvcnQ6 IERTSSBjb250cm9sbGVyIG91dHB1dCBwb3J0LiBUaGlzIGNvbnRhaW5zIG9uZSBlbmRwb2ludCBz dWJub2RlLCB3aXRoIGl0cworICByZW1vdGUtZW5kcG9pbnQgc2V0IHRvIHRoZSBwaGFuZGxlIG9m IHRoZSBjb25uZWN0ZWQgcGFuZWwncyBlbmRwb2ludC4KKyAgU2VlIERvY3VtZW50YXRpb24vZGV2 aWNldHJlZS9iaW5kaW5ncy9ncmFwaC50eHQgZm9yIGRldmljZSBncmFwaCBpbmZvLgogCiBPcHRp b25hbCBwcm9wZXJ0aWVzOgogLSBwYW5lbEAwOiBOb2RlIG9mIHBhbmVsIGNvbm5lY3RlZCB0byB0 aGlzIERTSSBjb250cm9sbGVyLgpAQCAtMTAxLDYgKzEwNCwxOCBAQCBFeGFtcGxlOgogCiAJCQlw b3dlci1zdXBwbHkgPSA8Li4uPjsKIAkJCWJhY2tsaWdodCA9IDwuLi4+OworCisJCQlwb3J0IHsK KwkJCQlwYW5lbF9pbjogZW5kcG9pbnQgeworCQkJCQlyZW1vdGUtZW5kcG9pbnQgPSA8JmRzaTBf b3V0PjsKKwkJCQl9OworCQkJfTsKKwkJfTsKKworCQlwb3J0IHsKKwkJCWRzaTBfb3V0OiBlbmRw b2ludCB7CisJCQkJcmVtb3RlLWVuZHBvaW50ID0gPCZwYW5lbF9pbj47CisJCQl9OwogCQl9Owog CX07CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaV9ob3N0LmMgYi9k cml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lfaG9zdC5jCmluZGV4IDE3NTE2NTkuLmFiMGIyM2Ig MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaV9ob3N0LmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL21zbS9kc2kvZHNpX2hvc3QuYwpAQCAtMjAsNiArMjAsNyBAQAogI2luY2x1 ZGUgPGxpbnV4L29mX2RldmljZS5oPgogI2luY2x1ZGUgPGxpbnV4L29mX2dwaW8uaD4KICNpbmNs dWRlIDxsaW51eC9vZl9pcnEuaD4KKyNpbmNsdWRlIDxsaW51eC9vZl9ncmFwaC5oPgogI2luY2x1 ZGUgPGxpbnV4L3JlZ3VsYXRvci9jb25zdW1lci5oPgogI2luY2x1ZGUgPGxpbnV4L3NwaW5sb2Nr Lmg+CiAjaW5jbHVkZSA8dmlkZW8vbWlwaV9kaXNwbGF5Lmg+CkBAIC0xMzc5LDcgKzEzODAsNyBA QCBzdGF0aWMgaW50IGRzaV9ob3N0X2F0dGFjaChzdHJ1Y3QgbWlwaV9kc2lfaG9zdCAqaG9zdCwK IAltc21faG9zdC0+Zm9ybWF0ID0gZHNpLT5mb3JtYXQ7CiAJbXNtX2hvc3QtPm1vZGVfZmxhZ3Mg PSBkc2ktPm1vZGVfZmxhZ3M7CiAKLQltc21faG9zdC0+cGFuZWxfbm9kZSA9IGRzaS0+ZGV2Lm9m X25vZGU7CisJV0FSTl9PTihkc2ktPmRldi5vZl9ub2RlICE9IG1zbV9ob3N0LT5wYW5lbF9ub2Rl KTsKIAogCS8qIFNvbWUgZ3Bpb3MgZGVmaW5lZCBpbiBwYW5lbCBEVCBuZWVkIHRvIGJlIGNvbnRy b2xsZWQgYnkgaG9zdCAqLwogCXJldCA9IGRzaV9ob3N0X2luaXRfcGFuZWxfZ3Bpb3MobXNtX2hv c3QsICZkc2ktPmRldik7CkBAIC0xNDI5LDYgKzE0MzAsNDYgQEAgc3RhdGljIHN0cnVjdCBtaXBp X2RzaV9ob3N0X29wcyBkc2lfaG9zdF9vcHMgPSB7CiAJLnRyYW5zZmVyID0gZHNpX2hvc3RfdHJh bnNmZXIsCiB9OwogCitzdGF0aWMgaW50IG1zbV9kc2lfaG9zdF9wYXJzZV9kdChzdHJ1Y3QgbXNt X2RzaV9ob3N0ICptc21faG9zdCkKK3sKKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmbXNtX2hvc3Qt PnBkZXYtPmRldjsKKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wID0gZGV2LT5vZl9ub2RlOworCXN0 cnVjdCBkZXZpY2Vfbm9kZSAqZW5kcG9pbnQsICpwYW5lbF9ub2RlOworCWludCByZXQ7CisKKwly ZXQgPSBvZl9wcm9wZXJ0eV9yZWFkX3UzMihucCwgInFjb20sZHNpLWhvc3QtaW5kZXgiLCAmbXNt X2hvc3QtPmlkKTsKKwlpZiAocmV0KSB7CisJCWRldl9lcnIoZGV2LCAiJXM6IGhvc3QgaW5kZXgg bm90IHNwZWNpZmllZCwgcmV0PSVkXG4iLAorCQkJX19mdW5jX18sIHJldCk7CisJCXJldHVybiBy ZXQ7CisJfQorCisJLyoKKwkgKiBnZXQgdGhlIGZpcnN0IGVuZHBvaW50IG5vZGUuIGluIG91ciBj YXNlLCBkc2kgaGFzIG9uZSBvdXRwdXQgcG9ydAorCSAqIHRvIHdoaWNoIHRoZSBwYW5lbCBpcyBj b25uZWN0ZWQuCisJICovCisJZW5kcG9pbnQgPSBvZl9ncmFwaF9nZXRfbmV4dF9lbmRwb2ludChu cCwgTlVMTCk7CisJaWYgKElTX0VSUihlbmRwb2ludCkpIHsKKwkJZGV2X2VycihkZXYsICIlczog bm8gdmFsaWQgZW5kcG9pbnRcbiIsIF9fZnVuY19fKTsKKwkJcmV0dXJuIFBUUl9FUlIoZW5kcG9p bnQpOworCX0KKworCW9mX25vZGVfcHV0KGVuZHBvaW50KTsKKworCS8qIGdldCBwYW5lbCBub2Rl IGZyb20gdGhlIG91dHB1dCBwb3J0J3MgZW5kcG9pbnQgZGF0YSAqLworCXBhbmVsX25vZGUgPSBv Zl9ncmFwaF9nZXRfcmVtb3RlX3BvcnRfcGFyZW50KGVuZHBvaW50KTsKKwlpZiAoSVNfRVJSKHBh bmVsX25vZGUpKSB7CisJCWRldl9lcnIoZGV2LCAiJXM6IG5vIHZhbGlkIGRldmljZVxuIiwgX19m dW5jX18pOworCQlyZXR1cm4gUFRSX0VSUihwYW5lbF9ub2RlKTsKKwl9CisKKwlvZl9ub2RlX3B1 dChwYW5lbF9ub2RlKTsKKworCW1zbV9ob3N0LT5wYW5lbF9ub2RlID0gcGFuZWxfbm9kZTsKKwor CXJldHVybiAwOworfQorCiBpbnQgbXNtX2RzaV9ob3N0X2luaXQoc3RydWN0IG1zbV9kc2kgKm1z bV9kc2kpCiB7CiAJc3RydWN0IG1zbV9kc2lfaG9zdCAqbXNtX2hvc3QgPSBOVUxMOwpAQCAtMTQ0 MywxNSArMTQ4NCwxMyBAQCBpbnQgbXNtX2RzaV9ob3N0X2luaXQoc3RydWN0IG1zbV9kc2kgKm1z bV9kc2kpCiAJCWdvdG8gZmFpbDsKIAl9CiAKLQlyZXQgPSBvZl9wcm9wZXJ0eV9yZWFkX3UzMihw ZGV2LT5kZXYub2Zfbm9kZSwKLQkJCQkicWNvbSxkc2ktaG9zdC1pbmRleCIsICZtc21faG9zdC0+ aWQpOworCW1zbV9ob3N0LT5wZGV2ID0gcGRldjsKKworCXJldCA9IG1zbV9kc2lfaG9zdF9wYXJz ZV9kdChtc21faG9zdCk7CiAJaWYgKHJldCkgewotCQlkZXZfZXJyKCZwZGV2LT5kZXYsCi0JCQki JXM6IGhvc3QgaW5kZXggbm90IHNwZWNpZmllZCwgcmV0PSVkXG4iLAotCQkJX19mdW5jX18sIHJl dCk7CisJCXByX2VycigiJXM6IGZhaWxlZCB0byBwYXJzZSBkdFxuIiwgX19mdW5jX18pOwogCQln b3RvIGZhaWw7CiAJfQotCW1zbV9ob3N0LT5wZGV2ID0gcGRldjsKIAogCXJldCA9IGRzaV9jbGtf aW5pdChtc21faG9zdCk7CiAJaWYgKHJldCkgewpAQCAtMTU1OSw3ICsxNTk4LDYgQEAgaW50IG1z bV9kc2lfaG9zdF9tb2Rlc2V0X2luaXQoc3RydWN0IG1pcGlfZHNpX2hvc3QgKmhvc3QsCiBpbnQg bXNtX2RzaV9ob3N0X3JlZ2lzdGVyKHN0cnVjdCBtaXBpX2RzaV9ob3N0ICpob3N0LCBib29sIGNo ZWNrX2RlZmVyKQogewogCXN0cnVjdCBtc21fZHNpX2hvc3QgKm1zbV9ob3N0ID0gdG9fbXNtX2Rz aV9ob3N0KGhvc3QpOwotCXN0cnVjdCBkZXZpY2Vfbm9kZSAqbm9kZTsKIAlpbnQgcmV0OwogCiAJ LyogUmVnaXN0ZXIgbWlwaSBkc2kgaG9zdCAqLwpAQCAtMTU3OSwxNCArMTYxNyw4IEBAIGludCBt c21fZHNpX2hvc3RfcmVnaXN0ZXIoc3RydWN0IG1pcGlfZHNpX2hvc3QgKmhvc3QsIGJvb2wgY2hl Y2tfZGVmZXIpCiAJCSAqIGNyZWF0ZSBmcmFtZWJ1ZmZlci4KIAkJICovCiAJCWlmIChjaGVja19k ZWZlcikgewotCQkJbm9kZSA9IG9mX2dldF9jaGlsZF9ieV9uYW1lKG1zbV9ob3N0LT5wZGV2LT5k ZXYub2Zfbm9kZSwKLQkJCQkJCQkicGFuZWwiKTsKLQkJCWlmIChub2RlKSB7Ci0JCQkJb2Zfbm9k ZV9wdXQobm9kZSk7Ci0KLQkJCQlpZiAoIW9mX2RybV9maW5kX3BhbmVsKG5vZGUpKQotCQkJCQly ZXR1cm4gLUVQUk9CRV9ERUZFUjsKLQkJCX0KKwkJCWlmICghb2ZfZHJtX2ZpbmRfcGFuZWwobXNt X2hvc3QtPnBhbmVsX25vZGUpKQorCQkJCXJldHVybiAtRVBST0JFX0RFRkVSOwogCQl9CiAJfQog Ci0tIApUaGUgUXVhbGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4gaXMgYSBtZW1iZXIgb2Yg dGhlIENvZGUgQXVyb3JhIEZvcnVtLApob3N0ZWQgYnkgVGhlIExpbnV4IEZvdW5kYXRpb24KCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBt YWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==