From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: [PATCH v3 4/7] drm/i2c: adv7511: Create a MIPI DSI device Date: Wed, 9 Mar 2016 16:27:15 +0530 Message-ID: <1457521038-5906-5-git-send-email-architt@codeaurora.org> References: <1441625800-1858-1-git-send-email-architt@codeaurora.org> <1457521038-5906-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: <1457521038-5906-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 Cc: andy.green@linaro.org, linux-arm-msm@vger.kernel.org, amit.kucheria@linaro.org, srinivas.kandagatla@linaro.org, laurent.pinchart@ideasonboard.com, treding@nvidia.com List-Id: linux-arm-msm@vger.kernel.org SW4gb3JkZXIgdG8gcGFzcyBEU0kgc3BlY2lmaWMgcGFyYW1ldGVycyB0byB0aGUgRFNJIGhvc3Qs IHdlIG5lZWQgdGhlCmRyaXZlciB0byBjcmVhdGUgYSBtaXBpX2RzaV9kZXZpY2UgRFNJIGRldmlj ZSB0aGF0IGF0dGFjaGVzIHRvIHRoZQpob3N0LgoKVXNlIG9mX2dyYXBoIGhlbHBlcnMgdG8gZ2V0 IHRoZSBEU0kgaG9zdCBEVCBub2RlLiBDcmVhdGUgYSBNSVBJIERTSQpkZXZpY2UgdXNpbmcgdGhp cyBob3N0LiBGaW5hbGx5LCBhdHRhY2ggdGhpcyBkZXZpY2UgdG8gdGhlIERTSSBob3N0LgoKUG9w dWxhdGUgRFQgcGFyYW1ldGVycyAobnVtYmVyIG9mIGRhdGEgbGFuZXMgZm9yIG5vdykgdGhhdCBh cmUgcmVxdWlyZWQKZm9yIERTSSBSWCB0byB3b3JrIGNvcnJlY3RseS4gSGFyZGNvZGUgZmV3IG90 aGVyIHBhcmFtZXRlcnMgKHJnYiwKZW1iZWRkZWRfc3luYykgZm9yIG5vdy4KClNpZ25lZC1vZmYt Ynk6IEFyY2hpdCBUYW5lamEgPGFyY2hpdHRAY29kZWF1cm9yYS5vcmc+Ci0tLQogZHJpdmVycy9n cHUvZHJtL2kyYy9hZHY3NTExLmMgfCAxMzAgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTIzIGluc2VydGlvbnMoKyksIDcgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2kyYy9hZHY3NTExLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTJjL2Fkdjc1MTEuYwppbmRleCA3NWJlMTdjLi42YzJhODlhIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTJjL2Fkdjc1MTEuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTJjL2Fkdjc1MTEuYwpAQCAtMTEsNiArMTEsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2kyYy5oPgog I2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgogI2luY2x1ZGUgPGxpbnV4L29mX2RldmljZS5oPgor I2luY2x1ZGUgPGxpbnV4L29mX2dyYXBoLmg+CiAjaW5jbHVkZSA8bGludXgvcmVnbWFwLmg+CiAj aW5jbHVkZSA8bGludXgvc2xhYi5oPgogCkBAIC0xOSw2ICsyMCw3IEBACiAjaW5jbHVkZSA8ZHJt L2RybV9hdG9taWNfaGVscGVyLmg+CiAjaW5jbHVkZSA8ZHJtL2RybV9jcnRjX2hlbHBlci5oPgog I2luY2x1ZGUgPGRybS9kcm1fZWRpZC5oPgorI2luY2x1ZGUgPGRybS9kcm1fbWlwaV9kc2kuaD4K IAogI2luY2x1ZGUgImFkdjc1MTEuaCIKIApAQCAtNTYsNiArNTgsMTEgQEAgc3RydWN0IGFkdjc1 MTEgewogCiAJc3RydWN0IGdwaW9fZGVzYyAqZ3Bpb19wZDsKIAorCS8qIEFEVjc1MzMgRFNJIFJY IHJlbGF0ZWQgcGFyYW1zICovCisJc3RydWN0IGRldmljZV9ub2RlICpob3N0X25vZGU7CisJc3Ry dWN0IG1pcGlfZHNpX2RldmljZSAqZHNpOworCXU4IG51bV9kc2lfbGFuZXM7CisKIAllbnVtIGFk djc1MTFfdHlwZSB0eXBlOwogfTsKIApAQCAtMzkyLDggKzM5OSwxMCBAQCBzdGF0aWMgdm9pZCBh ZHY3NTExX3NldF9saW5rX2NvbmZpZyhzdHJ1Y3QgYWR2NzUxMSAqYWR2NzUxMSwKIAogc3RhdGlj IHZvaWQgYWR2NzUzM19kc2lfcG93ZXJfb24oc3RydWN0IGFkdjc1MTEgKmFkdikKIHsKLQkvKiBz ZXQgbnVtYmVyIG9mIGRzaSBsYW5lcyAoaGFyZGNvZGVkIHRvIDQgZm9yIG5vdykgKi8KLQlyZWdt YXBfd3JpdGUoYWR2LT5yZWdtYXBfY2VjLCAweDFjLCAweDQgPDwgNCk7CisJc3RydWN0IG1pcGlf ZHNpX2RldmljZSAqZHNpID0gYWR2LT5kc2k7CisKKwkvKiBzZXQgbnVtYmVyIG9mIGRzaSBsYW5l cyAqLworCXJlZ21hcF93cml0ZShhZHYtPnJlZ21hcF9jZWMsIDB4MWMsIGRzaS0+bGFuZXMgPDwg NCk7CiAJLyogZGlzYWJsZSBpbnRlcm5hbCB0aW1pbmcgZ2VuZXJhdG9yICovCiAJcmVnbWFwX3dy aXRlKGFkdi0+cmVnbWFwX2NlYywgMHgyNywgMHgwYik7CiAJLyogZW5hYmxlIGhkbWkgKi8KQEAg LTg4OSw2ICs4OTgsNTEgQEAgc3RhdGljIHZvaWQgYWR2NzUxMV9icmlkZ2VfbW9kZV9zZXQoc3Ry dWN0IGRybV9icmlkZ2UgKmJyaWRnZSwKIAlhZHY3NTExX21vZGVfc2V0KGFkdiwgbW9kZSwgYWRq X21vZGUpOwogfQogCitzdGF0aWMgaW50IGFkdjc1MzNfYXR0YWNoX2RzaShzdHJ1Y3QgYWR2NzUx MSAqYWR2KQoreworCXN0cnVjdCBkZXZpY2UgKmRldiA9ICZhZHYtPmkyY19tYWluLT5kZXY7CisJ c3RydWN0IG1pcGlfZHNpX2hvc3QgKmhvc3Q7CisJc3RydWN0IG1pcGlfZHNpX2RldmljZSAqZHNp OworCWludCByZXQgPSAwOworCWNvbnN0IHN0cnVjdCBtaXBpX2RzaV9kZXZpY2VfaW5mbyBpbmZv ID0geyAudHlwZSA9ICJhZHY3NTMzIiwKKwkJCQkJCSAgIC5jaGFubmVsID0gMCwKKwkJCQkJCSAg IC5ub2RlID0gTlVMTCwKKwkJCQkJCSB9OworCisJaG9zdCA9IG9mX2ZpbmRfbWlwaV9kc2lfaG9z dF9ieV9ub2RlKGFkdi0+aG9zdF9ub2RlKTsKKwlpZiAoIWhvc3QpIHsKKwkJZGV2X2VycihkZXYs ICJmYWlsZWQgdG8gZmluZCBkc2kgaG9zdFxuIik7CisJCXJldHVybiAtRVBST0JFX0RFRkVSOwor CX0KKworCWRzaSA9IG1pcGlfZHNpX2RldmljZV9yZWdpc3Rlcl9mdWxsKGhvc3QsICZpbmZvKTsK KwlpZiAoSVNfRVJSKGRzaSkpIHsKKwkJZGV2X2VycihkZXYsICJmYWlsZWQgdG8gY3JlYXRlIGRz aSBkZXZpY2VcbiIpOworCQlyZXQgPSBQVFJfRVJSKGRzaSk7CisJCWdvdG8gZXJyX2RzaV9kZXZp Y2U7CisJfQorCisJYWR2LT5kc2kgPSBkc2k7CisKKwlkc2ktPmxhbmVzID0gYWR2LT5udW1fZHNp X2xhbmVzOworCWRzaS0+Zm9ybWF0ID0gTUlQSV9EU0lfRk1UX1JHQjg4ODsKKwlkc2ktPm1vZGVf ZmxhZ3MgPSBNSVBJX0RTSV9NT0RFX1ZJREVPIHwgTUlQSV9EU0lfTU9ERV9WSURFT19TWU5DX1BV TFNFIHwKKwkJCSAgTUlQSV9EU0lfTU9ERV9FT1RfUEFDS0VUIHwgTUlQSV9EU0lfTU9ERV9WSURF T19IU0U7CisKKwlyZXQgPSBtaXBpX2RzaV9hdHRhY2goZHNpKTsKKwlpZiAocmV0IDwgMCkgewor CQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byBhdHRhY2ggZHNpIHRvIGhvc3RcbiIpOworCQlnb3Rv IGVycl9kc2lfYXR0YWNoOworCX0KKworCXJldHVybiAwOworCitlcnJfZHNpX2F0dGFjaDoKKwlt aXBpX2RzaV9kZXZpY2VfdW5yZWdpc3Rlcihkc2kpOworZXJyX2RzaV9kZXZpY2U6CisJcmV0dXJu IHJldDsKK30KKwogc3RhdGljIGludCBhZHY3NTExX2JyaWRnZV9hdHRhY2goc3RydWN0IGRybV9i cmlkZ2UgKmJyaWRnZSkKIHsKIAlzdHJ1Y3QgYWR2NzUxMSAqYWR2ID0gYnJpZGdlX3RvX2Fkdjc1 MTEoYnJpZGdlKTsKQEAgLTkxMiw2ICs5NjYsOSBAQCBzdGF0aWMgaW50IGFkdjc1MTFfYnJpZGdl X2F0dGFjaChzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlKQogCQkJCSAmYWR2NzUxMV9jb25uZWN0 b3JfaGVscGVyX2Z1bmNzKTsKIAlkcm1fbW9kZV9jb25uZWN0b3JfYXR0YWNoX2VuY29kZXIoJmFk di0+Y29ubmVjdG9yLCBicmlkZ2UtPmVuY29kZXIpOwogCisJaWYgKGFkdi0+dHlwZSA9PSBBRFY3 NTMzKQorCQlyZXQgPSBhZHY3NTMzX2F0dGFjaF9kc2koYWR2KTsKKwogCXJldHVybiByZXQ7CiB9 CiAKQEAgLTEwMDksNiArMTA2Niw0MSBAQCBzdGF0aWMgaW50IGFkdjc1MTFfcGFyc2VfZHQoc3Ry dWN0IGRldmljZV9ub2RlICpucCwKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGludCBhZHY3NTMz X3BhcnNlX2R0KHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAsIHN0cnVjdCBhZHY3NTExICphZHYpCit7 CisJdTMyIG51bV9sYW5lczsKKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKmVuZHBvaW50OworCisJb2Zf cHJvcGVydHlfcmVhZF91MzIobnAsICJhZGksZHNpLWxhbmVzIiwgJm51bV9sYW5lcyk7CisKKwlp ZiAobnVtX2xhbmVzIDwgMSB8fCBudW1fbGFuZXMgPiA0KQorCQlyZXR1cm4gLUVJTlZBTDsKKwor CWFkdi0+bnVtX2RzaV9sYW5lcyA9IG51bV9sYW5lczsKKworCWVuZHBvaW50ID0gb2ZfZ3JhcGhf Z2V0X25leHRfZW5kcG9pbnQobnAsIE5VTEwpOworCWlmICghZW5kcG9pbnQpIHsKKwkJRFJNX0VS Uk9SKCJBRFY3NTMzIERTSSBpbnB1dCBlbmRwb2ludCBub3QgZm91bmRcbiIpOworCQlyZXR1cm4g LUVOT0RFVjsKKwl9CisKKwlhZHYtPmhvc3Rfbm9kZSA9IG9mX2dyYXBoX2dldF9yZW1vdGVfcG9y dF9wYXJlbnQoZW5kcG9pbnQpOworCWlmICghYWR2LT5ob3N0X25vZGUpIHsKKwkJRFJNX0VSUk9S KCJEU0kgaG9zdCBub2RlIG5vdCBmb3VuZFxuIik7CisJCW9mX25vZGVfcHV0KGVuZHBvaW50KTsK KwkJcmV0dXJuIC1FTk9ERVY7CisJfQorCisJb2Zfbm9kZV9wdXQoZW5kcG9pbnQpOworCW9mX25v ZGVfcHV0KGFkdi0+aG9zdF9ub2RlKTsKKworCS8qIFRPRE86IENoZWNrIGlmIHRoZXNlIG5lZWQg dG8gYmUgcGFyc2VkIGJ5IERUIG9yIG5vdCAqLworCWFkdi0+cmdiID0gdHJ1ZTsKKwlhZHYtPmVt YmVkZGVkX3N5bmMgPSBmYWxzZTsKKworCXJldHVybiAwOworfQorCiBzdGF0aWMgY29uc3QgaW50 IGVkaWRfaTJjX2FkZHIgPSAweDdlOwogc3RhdGljIGNvbnN0IGludCBwYWNrZXRfaTJjX2FkZHIg PSAweDcwOwogc3RhdGljIGNvbnN0IGludCBjZWNfaTJjX2FkZHIgPSAweDc4OwpAQCAtMTAzOCwx MSArMTEzMCwxMiBAQCBzdGF0aWMgaW50IGFkdjc1MTFfcHJvYmUoc3RydWN0IGkyY19jbGllbnQg KmkyYywgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgKmlkKQogCiAJbWVtc2V0KCZsaW5rX2Nv bmZpZywgMCwgc2l6ZW9mKGxpbmtfY29uZmlnKSk7CiAKLQlpZiAoYWR2NzUxMS0+dHlwZSA9PSBB RFY3NTExKSB7CisJaWYgKGFkdjc1MTEtPnR5cGUgPT0gQURWNzUxMSkKIAkJcmV0ID0gYWR2NzUx MV9wYXJzZV9kdChkZXYtPm9mX25vZGUsICZsaW5rX2NvbmZpZyk7Ci0JCWlmIChyZXQpCi0JCQly ZXR1cm4gcmV0OwotCX0KKwllbHNlCisJCXJldCA9IGFkdjc1MzNfcGFyc2VfZHQoZGV2LT5vZl9u b2RlLCBhZHY3NTExKTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OwogCiAJLyoKIAkgKiBUaGUg cG93ZXIgZG93biBHUElPIGlzIG9wdGlvbmFsLiBJZiBwcmVzZW50LCB0b2dnbGUgaXQgZnJvbSBh Y3RpdmUgdG8KQEAgLTExNTUsNiArMTI0OCwxMSBAQCBzdGF0aWMgaW50IGFkdjc1MTFfcmVtb3Zl KHN0cnVjdCBpMmNfY2xpZW50ICppMmMpCiB7CiAJc3RydWN0IGFkdjc1MTEgKmFkdjc1MTEgPSBp MmNfZ2V0X2NsaWVudGRhdGEoaTJjKTsKIAorCWlmIChhZHY3NTExLT50eXBlID09IEFEVjc1MzMp IHsKKwkJbWlwaV9kc2lfZGV0YWNoKGFkdjc1MTEtPmRzaSk7CisJCW1pcGlfZHNpX2RldmljZV91 bnJlZ2lzdGVyKGFkdjc1MTEtPmRzaSk7CisJfQorCiAJZHJtX2JyaWRnZV9yZW1vdmUoJmFkdjc1 MTEtPmJyaWRnZSk7CiAKIAlpMmNfdW5yZWdpc3Rlcl9kZXZpY2UoYWR2NzUxMS0+aTJjX2NlYyk7 CkBAIC0xMTgzLDYgKzEyODEsMTAgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQg YWR2NzUxMV9vZl9pZHNbXSA9IHsKIH07CiBNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBhZHY3NTEx X29mX2lkcyk7CiAKK3N0YXRpYyBzdHJ1Y3QgbWlwaV9kc2lfZHJpdmVyIGFkdjc1MzNfZHNpX2Ry aXZlciA9IHsKKwkuZHJpdmVyLm5hbWUgPSAiYWR2NzUzMyIsCit9OworCiBzdGF0aWMgc3RydWN0 IGkyY19kcml2ZXIgYWR2NzUxMV9kcml2ZXIgPSB7CiAJLmRyaXZlciA9IHsKIAkJLm5hbWUgPSAi YWR2NzUxMSIsCkBAIC0xMTkzLDcgKzEyOTUsMjEgQEAgc3RhdGljIHN0cnVjdCBpMmNfZHJpdmVy IGFkdjc1MTFfZHJpdmVyID0gewogCS5yZW1vdmUgPSBhZHY3NTExX3JlbW92ZSwKIH07CiAKLW1v ZHVsZV9pMmNfZHJpdmVyKGFkdjc1MTFfZHJpdmVyKTsKK3N0YXRpYyBpbnQgX19pbml0IGFkdjc1 MTFfaW5pdCh2b2lkKQoreworCW1pcGlfZHNpX2RyaXZlcl9yZWdpc3RlcigmYWR2NzUzM19kc2lf ZHJpdmVyKTsKKworCXJldHVybiBpMmNfYWRkX2RyaXZlcigmYWR2NzUxMV9kcml2ZXIpOworfQor bW9kdWxlX2luaXQoYWR2NzUxMV9pbml0KTsKKworc3RhdGljIHZvaWQgX19leGl0IGFkdjc1MTFf ZXhpdCh2b2lkKQoreworCWkyY19kZWxfZHJpdmVyKCZhZHY3NTExX2RyaXZlcik7CisKKwltaXBp X2RzaV9kcml2ZXJfdW5yZWdpc3RlcigmYWR2NzUzM19kc2lfZHJpdmVyKTsKK30KK21vZHVsZV9l eGl0KGFkdjc1MTFfZXhpdCk7CiAKIE1PRFVMRV9BVVRIT1IoIkxhcnMtUGV0ZXIgQ2xhdXNlbiA8 bGFyc0BtZXRhZm9vLmRlPiIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJBRFY3NTExIEhETUkgdHJh bnNtaXR0ZXIgZHJpdmVyIik7Ci0tIApUaGUgUXVhbGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIElu Yy4gaXMgYSBtZW1iZXIgb2YgdGhlIENvZGUgQXVyb3JhIEZvcnVtLApob3N0ZWQgYnkgVGhlIExp bnV4IEZvdW5kYXRpb24KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1k ZXZlbAo=