From mboxrd@z Thu Jan 1 00:00:00 1970 From: YT Shen Subject: [PATCH v8 6/9] drm/mediatek: add dsi interrupt control Date: Mon, 12 Sep 2016 20:01:09 +0800 Message-ID: <1473681672-47144-7-git-send-email-yt.shen@mediatek.com> References: <1473681672-47144-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: <1473681672-47144-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: Daniel Vetter , Jie Qiu , Mao Huang , yingjoe.chen@mediatek.com, Dan Carpenter , Jitao Shi , 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 , Maxime Ripard List-Id: linux-mediatek@lists.infradead.org RnJvbTogc2hhb21pbmcgY2hlbiA8c2hhb21pbmcuY2hlbkBtZWRpYXRlay5jb20+CgphZGQgZHNp IGludGVycnVwdCBjb250cm9sCgpTaWduZWQtb2ZmLWJ5OiBzaGFvbWluZyBjaGVuIDxzaGFvbWlu Zy5jaGVuQG1lZGlhdGVrLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rz aS5jIHwgNzggKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBj aGFuZ2VkLCA3OCBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHNpLmMKaW5k ZXggNGVmZWIzOC4uMDE5ZTUyNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVr L210a19kc2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RzaS5jCkBAIC0x OCw2ICsxOCw3IEBACiAjaW5jbHVkZSA8ZHJtL2RybV9wYW5lbC5oPgogI2luY2x1ZGUgPGxpbnV4 L2Nsay5oPgogI2luY2x1ZGUgPGxpbnV4L2NvbXBvbmVudC5oPgorI2luY2x1ZGUgPGxpbnV4L2ly cS5oPgogI2luY2x1ZGUgPGxpbnV4L29mLmg+CiAjaW5jbHVkZSA8bGludXgvb2ZfcGxhdGZvcm0u aD4KICNpbmNsdWRlIDxsaW51eC9vZl9ncmFwaC5oPgpAQCAtMjksNiArMzAsMTcgQEAKIAogI2Rl ZmluZSBEU0lfU1RBUlQJCTB4MDAKIAorI2RlZmluZSBEU0lfSU5URU4JCTB4MDgKKworI2RlZmlu ZSBEU0lfSU5UU1RBCQkweDBjCisjZGVmaW5lIExQUlhfUkRfUkRZX0lOVF9GTEFHCQlCSVQoMCkK KyNkZWZpbmUgQ01EX0RPTkVfSU5UX0ZMQUcJCUJJVCgxKQorI2RlZmluZSBURV9SRFlfSU5UX0ZM QUcJCQlCSVQoMikKKyNkZWZpbmUgVk1fRE9ORV9JTlRfRkxBRwkJQklUKDMpCisjZGVmaW5lIEVY VF9URV9SRFlfSU5UX0ZMQUcJCUJJVCg0KQorI2RlZmluZSBEU0lfSU5UX0FMTF9CSVRTCQkweDFm CisjZGVmaW5lIERTSV9CVVNZCQkJQklUKDMxKQorCiAjZGVmaW5lIERTSV9DT05fQ1RSTAkJMHgx MAogI2RlZmluZSBEU0lfUkVTRVQJCQlCSVQoMCkKICNkZWZpbmUgRFNJX0VOCQkJCUJJVCgxKQpA QCAtNzEsNiArODMsOSBAQAogCiAjZGVmaW5lIERTSV9IU1RYX0NLTF9XQwkJMHg2NAogCisjZGVm aW5lIERTSV9SQUNLCQkweDg0CisjZGVmaW5lIFJBQ0sJCQkJQklUKDApCisKICNkZWZpbmUgRFNJ X1BIWV9MQ0NPTgkJMHgxMDQKICNkZWZpbmUgTENfSFNfVFhfRU4JCQlCSVQoMCkKICNkZWZpbmUg TENfVUxQTV9FTgkJCUJJVCgxKQpAQCAtMTMxLDYgKzE0Niw4IEBAIHN0cnVjdCBtdGtfZHNpIHsK IAlzdHJ1Y3QgdmlkZW9tb2RlIHZtOwogCWludCByZWZjb3VudDsKIAlib29sIGVuYWJsZWQ7CisJ dTMyIGlycV9kYXRhOworCXdhaXRfcXVldWVfaGVhZF90IGlycV93YWl0X3F1ZXVlOwogfTsKIAog c3RhdGljIGlubGluZSBzdHJ1Y3QgbXRrX2RzaSAqZW5jb2Rlcl90b19kc2koc3RydWN0IGRybV9l bmNvZGVyICplKQpAQCAtNDM3LDYgKzQ1NCw0OCBAQCBzdGF0aWMgdm9pZCBtdGtfZHNpX3N0YXJ0 KHN0cnVjdCBtdGtfZHNpICpkc2kpCiAJd3JpdGVsKDEsIGRzaS0+cmVncyArIERTSV9TVEFSVCk7 CiB9CiAKK3N0YXRpYyB2b2lkIG10a19kc2lfc2V0X2ludGVycnVwdF9lbmFibGUoc3RydWN0IG10 a19kc2kgKmRzaSkKK3sKKwl1MzIgaW50ZW4gPSBEU0lfSU5UX0FMTF9CSVRTOworCisJaWYgKGRz aS0+bW9kZV9mbGFncyAmIE1JUElfRFNJX01PREVfVklERU8pCisJCWludGVuICY9IH4oVEVfUkRZ X0lOVF9GTEFHIHwgRVhUX1RFX1JEWV9JTlRfRkxBRyk7CisKKwl3cml0ZWwoaW50ZW4sIGRzaS0+ cmVncyArIERTSV9JTlRFTik7Cit9CisKK3N0YXRpYyB2b2lkIG10a19kc2lfaXJxX2RhdGFfc2V0 KHN0cnVjdCBtdGtfZHNpICpkc2ksIHUzMiBpcnFfYml0KQoreworCWRzaS0+aXJxX2RhdGEgfD0g aXJxX2JpdDsKK30KKworc3RhdGljIHZvaWQgbXRrX2RzaV9pcnFfZGF0YV9jbGVhcihzdHJ1Y3Qg bXRrX2RzaSAqZHNpLCB1MzIgaXJxX2JpdCkKK3sKKwlkc2ktPmlycV9kYXRhICY9IH5pcnFfYml0 OworfQorCitzdGF0aWMgaXJxcmV0dXJuX3QgbXRrX2RzaV9pcnEoaW50IGlycSwgdm9pZCAqZGV2 X2lkKQoreworCXN0cnVjdCBtdGtfZHNpICpkc2kgPSBkZXZfaWQ7CisJdTMyIHN0YXR1cywgdG1w OworCXUzMiBmbGFnID0gTFBSWF9SRF9SRFlfSU5UX0ZMQUcgfCBDTURfRE9ORV9JTlRfRkxBRyB8 IFZNX0RPTkVfSU5UX0ZMQUc7CisKKwlzdGF0dXMgPSByZWFkbChkc2ktPnJlZ3MgKyBEU0lfSU5U U1RBKSAmIGZsYWc7CisKKwlpZiAoc3RhdHVzKSB7CisJCWRvIHsKKwkJCW10a19kc2lfbWFzayhk c2ksIERTSV9SQUNLLCBSQUNLLCBSQUNLKTsKKwkJCXRtcCA9IHJlYWRsKGRzaS0+cmVncyArIERT SV9JTlRTVEEpOworCQl9IHdoaWxlICh0bXAgJiBEU0lfQlVTWSk7CisKKwkJbXRrX2RzaV9tYXNr KGRzaSwgRFNJX0lOVFNUQSwgc3RhdHVzLCAwKTsKKwkJbXRrX2RzaV9pcnFfZGF0YV9zZXQoZHNp LCBzdGF0dXMpOworCQl3YWtlX3VwX2ludGVycnVwdGlibGUoJmRzaS0+aXJxX3dhaXRfcXVldWUp OworCX0KKworCXJldHVybiBJUlFfSEFORExFRDsKK30KKwogc3RhdGljIHZvaWQgbXRrX2RzaV9w b3dlcm9mZihzdHJ1Y3QgbXRrX2RzaSAqZHNpKQogewogCWlmIChXQVJOX09OKGRzaS0+cmVmY291 bnQgPT0gMCkpCkBAIC00ODUsNiArNTQ0LDcgQEAgc3RhdGljIHZvaWQgbXRrX291dHB1dF9kc2lf ZW5hYmxlKHN0cnVjdCBtdGtfZHNpICpkc2kpCiAKIAltdGtfZHNpX3BzX2NvbnRyb2xfdmFjdChk c2kpOwogCW10a19kc2lfY29uZmlnX3Zkb190aW1pbmcoZHNpKTsKKwltdGtfZHNpX3NldF9pbnRl cnJ1cHRfZW5hYmxlKGRzaSk7CiAKIAltdGtfZHNpX3NldF9tb2RlKGRzaSk7CiAJbXRrX2RzaV9j bGtfaHNfbW9kZShkc2ksIDEpOwpAQCAtNzkzLDYgKzg1Myw3IEBAIHN0YXRpYyBpbnQgbXRrX2Rz aV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCXN0cnVjdCBkZXZpY2UgKmRl diA9ICZwZGV2LT5kZXY7CiAJc3RydWN0IGRldmljZV9ub2RlICpyZW1vdGVfbm9kZSwgKmVuZHBv aW50OwogCXN0cnVjdCByZXNvdXJjZSAqcmVnczsKKwlpbnQgaXJxX251bTsKIAlpbnQgY29tcF9p ZDsKIAlpbnQgcmV0OwogCkBAIC04NjksNiArOTMwLDIzIEBAIHN0YXRpYyBpbnQgbXRrX2RzaV9w cm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCQlyZXR1cm4gcmV0OwogCX0KIAor CWlycV9udW0gPSBwbGF0Zm9ybV9nZXRfaXJxKHBkZXYsIDApOworCWlmIChpcnFfbnVtIDwgMCkg eworCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJmYWlsZWQgdG8gcmVxdWVzdCBkc2kgaXJxIHJlc291 cmNlXG4iKTsKKwkJcmV0dXJuIC1FUFJPQkVfREVGRVI7CisJfQorCisJaXJxX3NldF9zdGF0dXNf ZmxhZ3MoaXJxX251bSwgSVJRX1RZUEVfTEVWRUxfTE9XKTsKKwlyZXQgPSBkZXZtX3JlcXVlc3Rf aXJxKCZwZGV2LT5kZXYsIGlycV9udW0sIG10a19kc2lfaXJxLAorCQkJICAgICAgIElSUUZfVFJJ R0dFUl9MT1csIGRldl9uYW1lKCZwZGV2LT5kZXYpLCBkc2kpOworCWlmIChyZXQpIHsKKwkJZGV2 X2VycigmcGRldi0+ZGV2LCAiZmFpbGVkIHRvIHJlcXVlc3QgbWVkaWF0ZWsgZHNpIGlycVxuIik7 CisJCXJldHVybiAtRVBST0JFX0RFRkVSOworCX0KKwlkZXZfaW5mbyhkZXYsICJkc2kgaXJxIG51 bSBpcyAweCV4XG4iLCBpcnFfbnVtKTsKKworCWluaXRfd2FpdHF1ZXVlX2hlYWQoJmRzaS0+aXJx X3dhaXRfcXVldWUpOworCiAJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgZHNpKTsKIAogCXJl dHVybiBjb21wb25lbnRfYWRkKCZwZGV2LT5kZXYsICZtdGtfZHNpX2NvbXBvbmVudF9vcHMpOwot LSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=