From mboxrd@z Thu Jan 1 00:00:00 1970 From: YT Shen Subject: [PATCH v11 08/12] drm/mediatek: add dsi interrupt control Date: Wed, 11 Jan 2017 14:51:09 +0800 Message-ID: <1484117473-46644-9-git-send-email-yt.shen@mediatek.com> References: <1484117473-46644-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: <1484117473-46644-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 , CK Hu Cc: Mark Rutland , devicetree@vger.kernel.org, srv_heupstream@mediatek.com, emil.l.velikov@gmail.com, linux-kernel@vger.kernel.org, Rob Herring , linux-mediatek@lists.infradead.org, Matthias Brugger , yingjoe.chen@mediatek.com, shaoming chen , linux-arm-kernel@lists.infradead.org List-Id: devicetree@vger.kernel.org RnJvbTogc2hhb21pbmcgY2hlbiA8c2hhb21pbmcuY2hlbkBtZWRpYXRlay5jb20+CgphZGQgZHNp IGludGVycnVwdCBjb250cm9sCgpTaWduZWQtb2ZmLWJ5OiBzaGFvbWluZyBjaGVuIDxzaGFvbWlu Zy5jaGVuQG1lZGlhdGVrLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rz aS5jIHwgOTIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBj aGFuZ2VkLCA5MiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19kc2kuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHNpLmMKaW5k ZXggNmY0YjNiYi4uNDc0ODYxYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVr L210a19kc2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RzaS5jCkBAIC0x OCw2ICsxOCw3IEBACiAjaW5jbHVkZSA8ZHJtL2RybV9wYW5lbC5oPgogI2luY2x1ZGUgPGxpbnV4 L2Nsay5oPgogI2luY2x1ZGUgPGxpbnV4L2NvbXBvbmVudC5oPgorI2luY2x1ZGUgPGxpbnV4L2ly cS5oPgogI2luY2x1ZGUgPGxpbnV4L29mLmg+CiAjaW5jbHVkZSA8bGludXgvb2ZfcGxhdGZvcm0u aD4KICNpbmNsdWRlIDxsaW51eC9vZl9ncmFwaC5oPgpAQCAtMjksNiArMzAsMTYgQEAKIAogI2Rl ZmluZSBEU0lfU1RBUlQJCTB4MDAKIAorI2RlZmluZSBEU0lfSU5URU4JCTB4MDgKKworI2RlZmlu ZSBEU0lfSU5UU1RBCQkweDBjCisjZGVmaW5lIExQUlhfUkRfUkRZX0lOVF9GTEFHCQlCSVQoMCkK KyNkZWZpbmUgQ01EX0RPTkVfSU5UX0ZMQUcJCUJJVCgxKQorI2RlZmluZSBURV9SRFlfSU5UX0ZM QUcJCQlCSVQoMikKKyNkZWZpbmUgVk1fRE9ORV9JTlRfRkxBRwkJQklUKDMpCisjZGVmaW5lIEVY VF9URV9SRFlfSU5UX0ZMQUcJCUJJVCg0KQorI2RlZmluZSBEU0lfQlVTWQkJCUJJVCgzMSkKKwog I2RlZmluZSBEU0lfQ09OX0NUUkwJCTB4MTAKICNkZWZpbmUgRFNJX1JFU0VUCQkJQklUKDApCiAj ZGVmaW5lIERTSV9FTgkJCQlCSVQoMSkKQEAgLTcxLDYgKzgyLDkgQEAKIAogI2RlZmluZSBEU0lf SFNUWF9DS0xfV0MJCTB4NjQKIAorI2RlZmluZSBEU0lfUkFDSwkJMHg4NAorI2RlZmluZSBSQUNL CQkJCUJJVCgwKQorCiAjZGVmaW5lIERTSV9QSFlfTENDT04JCTB4MTA0CiAjZGVmaW5lIExDX0hT X1RYX0VOCQkJQklUKDApCiAjZGVmaW5lIExDX1VMUE1fRU4JCQlCSVQoMSkKQEAgLTEzNyw2ICsx NTEsOCBAQCBzdHJ1Y3QgbXRrX2RzaSB7CiAJc3RydWN0IHZpZGVvbW9kZSB2bTsKIAlpbnQgcmVm Y291bnQ7CiAJYm9vbCBlbmFibGVkOworCXUzMiBpcnFfZGF0YTsKKwl3YWl0X3F1ZXVlX2hlYWRf dCBpcnFfd2FpdF9xdWV1ZTsKIH07CiAKIHN0YXRpYyBpbmxpbmUgc3RydWN0IG10a19kc2kgKmVu Y29kZXJfdG9fZHNpKHN0cnVjdCBkcm1fZW5jb2RlciAqZSkKQEAgLTQ2OSw2ICs0ODUsNjQgQEAg c3RhdGljIHZvaWQgbXRrX2RzaV9zdGFydChzdHJ1Y3QgbXRrX2RzaSAqZHNpKQogCXdyaXRlbCgx LCBkc2ktPnJlZ3MgKyBEU0lfU1RBUlQpOwogfQogCitzdGF0aWMgdm9pZCBtdGtfZHNpX3NldF9p bnRlcnJ1cHRfZW5hYmxlKHN0cnVjdCBtdGtfZHNpICpkc2kpCit7CisJdTMyIGludGVuID0gTFBS WF9SRF9SRFlfSU5UX0ZMQUcgfCBDTURfRE9ORV9JTlRfRkxBRyB8IFZNX0RPTkVfSU5UX0ZMQUc7 CisKKwl3cml0ZWwoaW50ZW4sIGRzaS0+cmVncyArIERTSV9JTlRFTik7Cit9CisKK3N0YXRpYyB2 b2lkIG10a19kc2lfaXJxX2RhdGFfc2V0KHN0cnVjdCBtdGtfZHNpICpkc2ksIHUzMiBpcnFfYml0 KQoreworCWRzaS0+aXJxX2RhdGEgfD0gaXJxX2JpdDsKK30KKworc3RhdGljIF9fbWF5YmVfdW51 c2VkIHZvaWQgbXRrX2RzaV9pcnFfZGF0YV9jbGVhcihzdHJ1Y3QgbXRrX2RzaSAqZHNpLCB1MzIg aXJxX2JpdCkKK3sKKwlkc2ktPmlycV9kYXRhICY9IH5pcnFfYml0OworfQorCitzdGF0aWMgX19t YXliZV91bnVzZWQgczMyIG10a19kc2lfd2FpdF9mb3JfaXJxX2RvbmUoc3RydWN0IG10a19kc2kg KmRzaSwgdTMyIGlycV9mbGFnLAorCQkJCSAgICAgdW5zaWduZWQgaW50IHRpbWVvdXQpCit7CisJ czMyIHJldCA9IDA7CisJdW5zaWduZWQgbG9uZyBqaWZmaWVzID0gbXNlY3NfdG9famlmZmllcyh0 aW1lb3V0KTsKKworCXJldCA9IHdhaXRfZXZlbnRfaW50ZXJydXB0aWJsZV90aW1lb3V0KGRzaS0+ aXJxX3dhaXRfcXVldWUsCisJCQkJCSAgICAgICBkc2ktPmlycV9kYXRhICYgaXJxX2ZsYWcsCisJ CQkJCSAgICAgICBqaWZmaWVzKTsKKwlpZiAocmV0ID09IDApIHsKKwkJRFJNX1dBUk4oIldhaXQg RFNJIElSUSgweCUwOHgpIFRpbWVvdXRcbiIsIGlycV9mbGFnKTsKKworCQltdGtfZHNpX2VuYWJs ZShkc2kpOworCQltdGtfZHNpX3Jlc2V0X2VuZ2luZShkc2kpOworCX0KKworCXJldHVybiByZXQ7 Cit9CisKK3N0YXRpYyBpcnFyZXR1cm5fdCBtdGtfZHNpX2lycShpbnQgaXJxLCB2b2lkICpkZXZf aWQpCit7CisJc3RydWN0IG10a19kc2kgKmRzaSA9IGRldl9pZDsKKwl1MzIgc3RhdHVzLCB0bXA7 CisJdTMyIGZsYWcgPSBMUFJYX1JEX1JEWV9JTlRfRkxBRyB8IENNRF9ET05FX0lOVF9GTEFHIHwg Vk1fRE9ORV9JTlRfRkxBRzsKKworCXN0YXR1cyA9IHJlYWRsKGRzaS0+cmVncyArIERTSV9JTlRT VEEpICYgZmxhZzsKKworCWlmIChzdGF0dXMpIHsKKwkJZG8geworCQkJbXRrX2RzaV9tYXNrKGRz aSwgRFNJX1JBQ0ssIFJBQ0ssIFJBQ0spOworCQkJdG1wID0gcmVhZGwoZHNpLT5yZWdzICsgRFNJ X0lOVFNUQSk7CisJCX0gd2hpbGUgKHRtcCAmIERTSV9CVVNZKTsKKworCQltdGtfZHNpX21hc2so ZHNpLCBEU0lfSU5UU1RBLCBzdGF0dXMsIDApOworCQltdGtfZHNpX2lycV9kYXRhX3NldChkc2ks IHN0YXR1cyk7CisJCXdha2VfdXBfaW50ZXJydXB0aWJsZSgmZHNpLT5pcnFfd2FpdF9xdWV1ZSk7 CisJfQorCisJcmV0dXJuIElSUV9IQU5ETEVEOworfQorCiBzdGF0aWMgdm9pZCBtdGtfZHNpX3Bv d2Vyb2ZmKHN0cnVjdCBtdGtfZHNpICpkc2kpCiB7CiAJaWYgKFdBUk5fT04oZHNpLT5yZWZjb3Vu dCA9PSAwKSkKQEAgLTUxNyw2ICs1OTEsNyBAQCBzdGF0aWMgdm9pZCBtdGtfb3V0cHV0X2RzaV9l bmFibGUoc3RydWN0IG10a19kc2kgKmRzaSkKIAogCW10a19kc2lfcHNfY29udHJvbF92YWN0KGRz aSk7CiAJbXRrX2RzaV9jb25maWdfdmRvX3RpbWluZyhkc2kpOworCW10a19kc2lfc2V0X2ludGVy cnVwdF9lbmFibGUoZHNpKTsKIAogCW10a19kc2lfc2V0X21vZGUoZHNpKTsKIAltdGtfZHNpX2Ns a19oc19tb2RlKGRzaSwgMSk7CkBAIC04MTgsNiArODkzLDcgQEAgc3RhdGljIGludCBtdGtfZHNp X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJc3RydWN0IGRldmljZSAqZGV2 ID0gJnBkZXYtPmRldjsKIAlzdHJ1Y3QgZGV2aWNlX25vZGUgKnJlbW90ZV9ub2RlLCAqZW5kcG9p bnQ7CiAJc3RydWN0IHJlc291cmNlICpyZWdzOworCWludCBpcnFfbnVtOwogCWludCBjb21wX2lk OwogCWludCByZXQ7CiAKQEAgLTg5NCw2ICs5NzAsMjIgQEAgc3RhdGljIGludCBtdGtfZHNpX3By b2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJCXJldHVybiByZXQ7CiAJfQogCisJ aXJxX251bSA9IHBsYXRmb3JtX2dldF9pcnEocGRldiwgMCk7CisJaWYgKGlycV9udW0gPCAwKSB7 CisJCWRldl9lcnIoJnBkZXYtPmRldiwgImZhaWxlZCB0byByZXF1ZXN0IGRzaSBpcnEgcmVzb3Vy Y2VcbiIpOworCQlyZXR1cm4gLUVQUk9CRV9ERUZFUjsKKwl9CisKKwlpcnFfc2V0X3N0YXR1c19m bGFncyhpcnFfbnVtLCBJUlFfVFlQRV9MRVZFTF9MT1cpOworCXJldCA9IGRldm1fcmVxdWVzdF9p cnEoJnBkZXYtPmRldiwgaXJxX251bSwgbXRrX2RzaV9pcnEsCisJCQkgICAgICAgSVJRRl9UUklH R0VSX0xPVywgZGV2X25hbWUoJnBkZXYtPmRldiksIGRzaSk7CisJaWYgKHJldCkgeworCQlkZXZf ZXJyKCZwZGV2LT5kZXYsICJmYWlsZWQgdG8gcmVxdWVzdCBtZWRpYXRlayBkc2kgaXJxXG4iKTsK KwkJcmV0dXJuIC1FUFJPQkVfREVGRVI7CisJfQorCisJaW5pdF93YWl0cXVldWVfaGVhZCgmZHNp LT5pcnFfd2FpdF9xdWV1ZSk7CisKIAlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBkc2kpOwog CiAJcmV0dXJuIGNvbXBvbmVudF9hZGQoJnBkZXYtPmRldiwgJm10a19kc2lfY29tcG9uZW50X29w cyk7Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRl dmVsCg==