From mboxrd@z Thu Jan 1 00:00:00 1970 From: YT Shen Subject: [PATCH v6 06/10] drm/mediatek: add dsi interrupt control Date: Thu, 4 Aug 2016 19:07:20 +0800 Message-ID: <1470308844-20895-7-git-send-email-yt.shen@mediatek.com> References: <1470308844-20895-1-git-send-email-yt.shen@mediatek.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1470308844-20895-1-git-send-email-yt.shen@mediatek.com> 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, Philipp Zabel Cc: Mark Rutland , Russell King , Mao Huang , yingjoe.chen@mediatek.com, devicetree@vger.kernel.org, Pawel Moll , Ian Campbell , Rob Herring , linux-mediatek@lists.infradead.org, Matthias Brugger , shaoming chen , linux-arm-kernel@lists.infradead.org, srv_heupstream@mediatek.com, emil.l.velikov@gmail.com, linux-kernel@vger.kernel.org, Sascha Hauer , Kumar Gala List-Id: devicetree@vger.kernel.org RnJvbTogc2hhb21pbmcgY2hlbiA8c2hhb21pbmcuY2hlbkBtZWRpYXRlay5jb20+CgphZGQgZHNp IGludGVycnVwdCBjb250cm9sCgpTaWduZWQtb2ZmLWJ5OiBzaGFvbWluZyBjaGVuIDxzaGFvbWlu Zy5jaGVuQG1lZGlhdGVrLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rz aS5jIHwgICA3NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBj aGFuZ2VkLCA3NiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHNpLmMKaW5k ZXggYTljZjVhMS4uZWVhNjE5MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVr L210a19kc2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RzaS5jCkBAIC0x OCw2ICsxOCw3IEBACiAjaW5jbHVkZSA8ZHJtL2RybV9wYW5lbC5oPgogI2luY2x1ZGUgPGxpbnV4 L2Nsay5oPgogI2luY2x1ZGUgPGxpbnV4L2NvbXBvbmVudC5oPgorI2luY2x1ZGUgPGxpbnV4L2ly cS5oPgogI2luY2x1ZGUgPGxpbnV4L29mLmg+CiAjaW5jbHVkZSA8bGludXgvb2ZfcGxhdGZvcm0u aD4KICNpbmNsdWRlIDxsaW51eC9vZl9ncmFwaC5oPgpAQCAtMjksNiArMzAsMTcgQEAKIAogI2Rl ZmluZSBEU0lfU1RBUlQJCTB4MDAKIAorI2RlZmluZSBEU0lfSU5URU4JCTB4MDgKKworI2RlZmlu ZSBEU0lfSU5UU1RBCQkweDBjCisjZGVmaW5lIExQUlhfUkRfUkRZX0lOVF9GTEFHCQlCSVQoMCkK KyNkZWZpbmUgQ01EX0RPTkVfSU5UX0ZMQUcJCUJJVCgxKQorI2RlZmluZSBURV9SRFlfSU5UX0ZM QUcJCQlCSVQoMikKKyNkZWZpbmUgVk1fRE9ORV9JTlRfRkxBRwkJQklUKDMpCisjZGVmaW5lIEVY VF9URV9SRFlfSU5UX0ZMQUcJCUJJVCg0KQorI2RlZmluZSBEU0lfSU5UX0FMTF9CSVRTCQkweDFm CisjZGVmaW5lIERTSV9CVVNZCQkJQklUKDMxKQorCiAjZGVmaW5lIERTSV9DT05fQ1RSTAkJMHgx MAogI2RlZmluZSBEU0lfUkVTRVQJCQlCSVQoMCkKICNkZWZpbmUgRFNJX0VOCQkJCUJJVCgxKQpA QCAtNzEsNiArODMsOSBAQAogCiAjZGVmaW5lIERTSV9IU1RYX0NLTF9XQwkJMHg2NAogCisjZGVm aW5lIERTSV9SQUNLCQkweDg0CisjZGVmaW5lIFJBQ0sJCQkJQklUKDApCisKICNkZWZpbmUgRFNJ X1BIWV9MQ0NPTgkJMHgxMDQKICNkZWZpbmUgTENfSFNfVFhfRU4JCQlCSVQoMCkKICNkZWZpbmUg TENfVUxQTV9FTgkJCUJJVCgxKQpAQCAtMTMxLDggKzE0NiwxMSBAQCBzdHJ1Y3QgbXRrX2RzaSB7 CiAJc3RydWN0IHZpZGVvbW9kZSB2bTsKIAlpbnQgcmVmY291bnQ7CiAJYm9vbCBlbmFibGVkOwor CWludCBpcnFfZGF0YTsKIH07CiAKK3N0YXRpYyB3YWl0X3F1ZXVlX2hlYWRfdCBfZHNpX2lycV93 YWl0X3F1ZXVlOworCiBzdGF0aWMgaW5saW5lIHN0cnVjdCBtdGtfZHNpICplbmNvZGVyX3RvX2Rz aShzdHJ1Y3QgZHJtX2VuY29kZXIgKmUpCiB7CiAJcmV0dXJuIGNvbnRhaW5lcl9vZihlLCBzdHJ1 Y3QgbXRrX2RzaSwgZW5jb2Rlcik7CkBAIC00MzcsNiArNDU1LDQzIEBAIHN0YXRpYyB2b2lkIG10 a19kc2lfc3RhcnQoc3RydWN0IG10a19kc2kgKmRzaSkKIAl3cml0ZWwoMSwgZHNpLT5yZWdzICsg RFNJX1NUQVJUKTsKIH0KIAorc3RhdGljIHZvaWQgbXRrX2RzaV9zZXRfaW50ZXJydXB0X2VuYWJs ZShzdHJ1Y3QgbXRrX2RzaSAqZHNpKQoreworCXUzMiBpbnRlbiA9IERTSV9JTlRfQUxMX0JJVFM7 CisKKwlpZiAoZHNpLT5tb2RlX2ZsYWdzICYgTUlQSV9EU0lfTU9ERV9WSURFTykKKwkJaW50ZW4g Jj0gfihURV9SRFlfSU5UX0ZMQUcgfCBFWFRfVEVfUkRZX0lOVF9GTEFHKTsKKworCXdyaXRlbChp bnRlbiwgZHNpLT5yZWdzICsgRFNJX0lOVEVOKTsKK30KKworc3RhdGljIHZvaWQgbXRrX2RzaV9p cnFfd2FrZXVwKHN0cnVjdCBtdGtfZHNpICpkc2ksIHUzMiBpcnFfYml0KQoreworCWRzaS0+aXJx X2RhdGEgfD0gaXJxX2JpdDsKK30KKworc3RhdGljIGlycXJldHVybl90IG10a19kc2lfaXJxKGlu dCBpcnEsIHZvaWQgKmRldl9pZCkKK3sKKwlzdHJ1Y3QgbXRrX2RzaSAqZHNpID0gZGV2X2lkOwor CXUzMiBzdGF0dXMsIHRtcDsKKwl1MzIgZmxhZyA9IExQUlhfUkRfUkRZX0lOVF9GTEFHIHwgQ01E X0RPTkVfSU5UX0ZMQUcgfCBWTV9ET05FX0lOVF9GTEFHOworCisJc3RhdHVzID0gcmVhZGwoZHNp LT5yZWdzICsgRFNJX0lOVFNUQSk7CisKKwlpZiAoc3RhdHVzICYgZmxhZykgeworCQlkbyB7CisJ CQltdGtfZHNpX21hc2soZHNpLCBEU0lfUkFDSywgUkFDSywgUkFDSyk7CisJCQl0bXAgPSByZWFk bChkc2ktPnJlZ3MgKyBEU0lfSU5UU1RBKTsKKwkJfSB3aGlsZSAodG1wICYgRFNJX0JVU1kpOwor CisJCW10a19kc2lfbWFzayhkc2ksIERTSV9JTlRTVEEsIHN0YXR1cyAmIGZsYWcsIDApOworCQlt dGtfZHNpX2lycV93YWtldXAoZHNpLCBzdGF0dXMgJiBmbGFnKTsKKwkJd2FrZV91cF9pbnRlcnJ1 cHRpYmxlKCZfZHNpX2lycV93YWl0X3F1ZXVlKTsKKwl9CisKKwlyZXR1cm4gSVJRX0hBTkRMRUQ7 Cit9CisKIHN0YXRpYyB2b2lkIG10a19kc2lfcG93ZXJvZmYoc3RydWN0IG10a19kc2kgKmRzaSkK IHsKIAlpZiAoV0FSTl9PTihkc2ktPnJlZmNvdW50ID09IDApKQpAQCAtNDg1LDYgKzU0MCw3IEBA IHN0YXRpYyB2b2lkIG10a19vdXRwdXRfZHNpX2VuYWJsZShzdHJ1Y3QgbXRrX2RzaSAqZHNpKQog CiAJbXRrX2RzaV9wc19jb250cm9sX3ZhY3QoZHNpKTsKIAltdGtfZHNpX2NvbmZpZ192ZG9fdGlt aW5nKGRzaSk7CisJbXRrX2RzaV9zZXRfaW50ZXJydXB0X2VuYWJsZShkc2kpOwogCiAJbXRrX2Rz aV9zZXRfbW9kZShkc2kpOwogCW10a19kc2lfY2xrX2hzX21vZGUoZHNpLCAxKTsKQEAgLTgwNCw2 ICs4NjAsNyBAQCBzdGF0aWMgaW50IG10a19kc2lfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rldmlj ZSAqcGRldikKIAlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmcGRldi0+ZGV2OwogCXN0cnVjdCBkZXZp Y2Vfbm9kZSAqcmVtb3RlX25vZGUsICplbmRwb2ludDsKIAlzdHJ1Y3QgcmVzb3VyY2UgKnJlZ3M7 CisJaW50IGlycV9udW07CiAJaW50IGNvbXBfaWQ7CiAJaW50IHJldDsKIApAQCAtODgwLDggKzkz NywyNyBAQCBzdGF0aWMgaW50IG10a19kc2lfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAq cGRldikKIAkJcmV0dXJuIHJldDsKIAl9CiAKKwlpcnFfbnVtID0gcGxhdGZvcm1fZ2V0X2lycShw ZGV2LCAwKTsKKwlpZiAoaXJxX251bSA8IDApIHsKKwkJZGV2X2VycigmcGRldi0+ZGV2LCAiZmFp bGVkIHRvIHJlcXVlc3QgZHNpIGlycSByZXNvdXJjZVxuIik7CisJCXJldHVybiAtRVBST0JFX0RF RkVSOworCX0KKworCWlycV9zZXRfc3RhdHVzX2ZsYWdzKGlycV9udW0sIElSUV9UWVBFX0xFVkVM X0xPVyk7CisJcmV0ID0gZGV2bV9yZXF1ZXN0X2lycSgmcGRldi0+ZGV2LCBpcnFfbnVtLCBtdGtf ZHNpX2lycSwKKwkJCSAgICAgICBJUlFGX1RSSUdHRVJfTE9XLCBkZXZfbmFtZSgmcGRldi0+ZGV2 KSwgZHNpKTsKKwlpZiAocmV0KSB7CisJCWRldl9lcnIoJnBkZXYtPmRldiwgImZhaWxlZCB0byBy ZXF1ZXN0IG1lZGlhdGVrIGRzaSBpcnFcbiIpOworCQlyZXR1cm4gLUVQUk9CRV9ERUZFUjsKKwl9 CisKKwlkc2ktPmlycV9kYXRhID0gMDsKKwlkZXZfaW5mbyhkZXYsICJkc2kgaXJxIG51bSBpcyAw eCV4XG4iLCBpcnFfbnVtKTsKKwogCXBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIGRzaSk7CiAK Kwlpbml0X3dhaXRxdWV1ZV9oZWFkKCZfZHNpX2lycV93YWl0X3F1ZXVlKTsKKwogCXJldHVybiBj b21wb25lbnRfYWRkKCZwZGV2LT5kZXYsICZtdGtfZHNpX2NvbXBvbmVudF9vcHMpOwogfQogCi0t IAoxLjcuOS41CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK