From mboxrd@z Thu Jan 1 00:00:00 1970 From: YT Shen Subject: [PATCH v4 5/8] drm/mediatek: add dsi interrupt control Date: Fri, 15 Jul 2016 18:07:51 +0800 Message-ID: <1468577274-6178-6-git-send-email-yt.shen@mediatek.com> References: <1468577274-6178-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: <1468577274-6178-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 aS5jIHwgIDEzMCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBj aGFuZ2VkLCAxMzAgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9t ZWRpYXRlay9tdGtfZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RzaS5jCmlu ZGV4IDJkODA4ZTUuLmRlNWFkN2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRl ay9tdGtfZHNpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kc2kuYwpAQCAt MTgsNiArMTgsNyBAQAogI2luY2x1ZGUgPGRybS9kcm1fcGFuZWwuaD4KICNpbmNsdWRlIDxsaW51 eC9jbGsuaD4KICNpbmNsdWRlIDxsaW51eC9jb21wb25lbnQuaD4KKyNpbmNsdWRlIDxsaW51eC9p cnEuaD4KICNpbmNsdWRlIDxsaW51eC9vZi5oPgogI2luY2x1ZGUgPGxpbnV4L29mX3BsYXRmb3Jt Lmg+CiAjaW5jbHVkZSA8bGludXgvb2ZfZ3JhcGguaD4KQEAgLTMyLDYgKzMzLDEzIEBACiAKICNk ZWZpbmUgRFNJX1NUQVJUCQkweDAwCiAKKyNkZWZpbmUgRFNJX0lOVEVOCQkweDA4CisKKyNkZWZp bmUgRFNJX0lOVFNUQQkJMHgwYworI2RlZmluZSBMUFJYX1JEX1JEWV9JTlRfRkxBRwlCSVQoMCkK KyNkZWZpbmUgQ01EX0RPTkVfSU5UX0ZMQUcJQklUKDEpCisjZGVmaW5lIERTSV9CVVNZCQlCSVQo MzEpCisKICNkZWZpbmUgRFNJX0NPTl9DVFJMCQkweDEwCiAjZGVmaW5lIERTSV9SRVNFVAkJCUJJ VCgwKQogI2RlZmluZSBEU0lfRU4JCQkJQklUKDEpCkBAIC03NCw2ICs4Miw5IEBACiAKICNkZWZp bmUgRFNJX0hTVFhfQ0tMX1dDCQkweDY0CiAKKyNkZWZpbmUgRFNJX1JBQ0sJCTB4ODQKKyNkZWZp bmUgUkFDSwkJCUJJVCgwKQorCiAjZGVmaW5lIERTSV9QSFlfTENDT04JCTB4MTA0CiAjZGVmaW5l IExDX0hTX1RYX0VOCQkJQklUKDApCiAjZGVmaW5lIExDX1VMUE1fRU4JCQlCSVQoMSkKQEAgLTEz NCw2ICsxNDUsMTggQEAgc3RydWN0IG10a19kc2kgewogCXN0cnVjdCB2aWRlb21vZGUgdm07CiAJ aW50IHJlZmNvdW50OwogCWJvb2wgZW5hYmxlZDsKKwlpbnQgaXJxX251bSwgaXJxX2RhdGE7Cit9 OworCitlbnVtIHsKKwlEU0lfSU5UX1NMRUVQT1VUX0RPTkVfRkxBRwk9IEJJVCg2KSwKKwlEU0lf SU5UX1ZNX0NNRF9ET05FX0ZMQUcJPSBCSVQoNSksCisJRFNJX0lOVF9FWFRfVEVfUkRZX0ZMQUcJ CT0gQklUKDQpLAorCURTSV9JTlRfVk1fRE9ORV9GTEFHCQk9IEJJVCgzKSwKKwlEU0lfSU5UX1RF X1JEWV9GTEFHCQk9IEJJVCgyKSwKKwlEU0lfSU5UX0NNRF9ET05FX0ZMQUcJCT0gQklUKDEpLAor CURTSV9JTlRfTFBSWF9SRF9SRFlfRkxBRwk9IEJJVCgwKSwKKwlEU0lfSU5UX0FMTF9CSVRTCQk9 ICgweDdmKQogfTsKIAogc3RhdGljIGlubGluZSBzdHJ1Y3QgbXRrX2RzaSAqZW5jb2Rlcl90b19k c2koc3RydWN0IGRybV9lbmNvZGVyICplKQpAQCAtNDQwLDYgKzQ2Myw5NCBAQCBzdGF0aWMgdm9p ZCBtdGtfZHNpX3N0YXJ0KHN0cnVjdCBtdGtfZHNpICpkc2kpCiAJd3JpdGVsKDEsIGRzaS0+cmVn cyArIERTSV9TVEFSVCk7CiB9CiAKK3N0YXRpYyB2b2lkIG10a19kc2lfc2V0X2ludGVycnVwdF9l bmFibGUoc3RydWN0IG10a19kc2kgKmRzaSkKK3sKKwl1MzIgaW50ZW4gPSBEU0lfSU5UX0FMTF9C SVRTOworCisJaWYgKGRzaS0+bW9kZV9mbGFncyAmIE1JUElfRFNJX01PREVfVklERU8pCisJCWlu dGVuICY9IH4oRFNJX0lOVF9URV9SRFlfRkxBRyB8IERTSV9JTlRfRVhUX1RFX1JEWV9GTEFHKTsK KworCXdyaXRlbChpbnRlbiwgZHNpLT5yZWdzICsgRFNJX0lOVEVOKTsKK30KKworc3RhdGljIHZv aWQgbXRrX2RzaV9pcnFfd2FrZXVwKHN0cnVjdCBtdGtfZHNpICpkc2ksIHUzMiBpcnFfYml0KQor eworCWRzaS0+aXJxX2RhdGEgfD0gaXJxX2JpdDsKK30KKworc3RhdGljIGlycXJldHVybl90IG10 a19kc2lfaXJxKGludCBpcnEsIHZvaWQgKmRldl9pZCkKK3sKKwlzdHJ1Y3QgbXRrX2RzaSAqZHNp ID0gZGV2X2lkOworCisJdTMyIHN0YXR1cywgdG1wOworCisJc3RhdHVzID0gcmVhZGwoZHNpLT5y ZWdzICsgRFNJX0lOVFNUQSk7CisKKwlpZiAoc3RhdHVzICYgRFNJX0lOVF9MUFJYX1JEX1JEWV9G TEFHKSB7CisJCS8qIHdyaXRlIGNsZWFyIFJEX1JEWSBpbnRlcnJ1cHQgKi8KKwkJLyogd3JpdGUg Y2xlYXIgUkRfUkRZIGludGVycnVwdCBtdXN0IGJlIGJlZm9yZSBEU0lfUkFDSyAqLworCQkvKiBi ZWNhdXNlIENNRF9ET05FIHdpbGwgcmFpc2UgYWZ0ZXIgRFNJX1JBQ0ssICovCisJCS8qIHNvIHdy aXRlIGNsZWFyIFJEX1JEWSBhZnRlciB0aGF0IHdpbGwgY2xlYXIgQ01EX0RPTkUgdG9vICovCisJ CWRvIHsKKwkJCS8qIHNlbmQgcmVhZCBBQ0sgKi8KKwkJCW10a19kc2lfbWFzayhkc2ksIERTSV9S QUNLLCBSQUNLLCBSQUNLKTsKKwkJCXRtcCA9IHJlYWRsKGRzaS0+cmVncyArIERTSV9JTlRTVEEp OworCQl9IHdoaWxlICh0bXAgJiBEU0lfQlVTWSk7CisKKwkJbXRrX2RzaV9tYXNrKGRzaSwgRFNJ X0lOVFNUQSwgRFNJX0lOVF9MUFJYX1JEX1JEWV9GTEFHLCAwKTsKKwkJbXRrX2RzaV9pcnFfd2Fr ZXVwKGRzaSwgRFNJX0lOVF9MUFJYX1JEX1JEWV9GTEFHKTsKKwl9CisKKwlpZiAoc3RhdHVzICYg RFNJX0lOVF9DTURfRE9ORV9GTEFHKSB7CisJCW10a19kc2lfbWFzayhkc2ksIERTSV9JTlRTVEEs IERTSV9JTlRfQ01EX0RPTkVfRkxBRywgMCk7CisJCW10a19kc2lfaXJxX3dha2V1cChkc2ksIERT SV9JTlRfQ01EX0RPTkVfRkxBRyk7CisJfQorCisJaWYgKHN0YXR1cyAmIERTSV9JTlRfVEVfUkRZ X0ZMQUcpIHsKKwkJbXRrX2RzaV9tYXNrKGRzaSwgRFNJX0lOVFNUQSwgRFNJX0lOVF9URV9SRFlf RkxBRywgMCk7CisJCW10a19kc2lfaXJxX3dha2V1cChkc2ksIERTSV9JTlRfVEVfUkRZX0ZMQUcp OworCX0KKworCWlmIChzdGF0dXMgJiBEU0lfSU5UX1ZNX0RPTkVfRkxBRykgeworCQltdGtfZHNp X21hc2soZHNpLCBEU0lfSU5UU1RBLCBEU0lfSU5UX1ZNX0RPTkVfRkxBRywgMCk7CisJCW10a19k c2lfaXJxX3dha2V1cChkc2ksIERTSV9JTlRfVk1fRE9ORV9GTEFHKTsKKwl9CisKKwlpZiAoc3Rh dHVzICYgRFNJX0lOVF9FWFRfVEVfUkRZX0ZMQUcpIHsKKwkJbXRrX2RzaV9tYXNrKGRzaSwgRFNJ X0lOVFNUQSwgRFNJX0lOVF9FWFRfVEVfUkRZX0ZMQUcsIDApOworCQltdGtfZHNpX2lycV93YWtl dXAoZHNpLCBEU0lfSU5UX0VYVF9URV9SRFlfRkxBRyk7CisJfQorCisJaWYgKHN0YXR1cyAmIERT SV9JTlRfVk1fQ01EX0RPTkVfRkxBRykgeworCQltdGtfZHNpX21hc2soZHNpLCBEU0lfSU5UU1RB LCBEU0lfSU5UX1ZNX0NNRF9ET05FX0ZMQUcsIDApOworCQltdGtfZHNpX2lycV93YWtldXAoZHNp LCBEU0lfSU5UX1ZNX0NNRF9ET05FX0ZMQUcpOworCX0KKworCWlmIChzdGF0dXMgJiBEU0lfSU5U X1NMRUVQT1VUX0RPTkVfRkxBRykgeworCQltdGtfZHNpX21hc2soZHNpLCBEU0lfSU5UU1RBLCBE U0lfSU5UX1NMRUVQT1VUX0RPTkVfRkxBRywgMCk7CisJCW10a19kc2lfaXJxX3dha2V1cChkc2ks IERTSV9JTlRfU0xFRVBPVVRfRE9ORV9GTEFHKTsKKwl9CisKKwlyZXR1cm4gSVJRX0hBTkRMRUQ7 Cit9CisKK3N0YXRpYyBzMzIgbXRrX2RzaV93YWl0X2Zvcl9pcnFfdGltZW91dChzdHJ1Y3QgbXRr X2RzaSAqZHNpLCB1MzIgaXJxX2JpdCwKKwkJCQkJdTMyIHRpbWVvdXRfbXMpCit7CisJd2hpbGUg KHRpbWVvdXRfbXMtLSkgeworCQlpZiAoZHNpLT5pcnFfZGF0YSAmIGlycV9iaXQpIHsKKwkJCWRz aS0+aXJxX2RhdGEgJj0gfmlycV9iaXQ7CisJCQlyZXR1cm4gMDsKKwkJfQorCisJCXVzbGVlcF9y YW5nZSgxMDAwLCAxMTAwKTsKKwl9CisKKwlkc2ktPmlycV9kYXRhID0gMDsKKworCXJldHVybiAt MTsKK30KKwogc3RhdGljIHZvaWQgbXRrX2RzaV9wb3dlcm9mZihzdHJ1Y3QgbXRrX2RzaSAqZHNp KQogewogCWlmIChXQVJOX09OKGRzaS0+cmVmY291bnQgPT0gMCkpCkBAIC00ODgsNiArNTk5LDcg QEAgc3RhdGljIHZvaWQgbXRrX291dHB1dF9kc2lfZW5hYmxlKHN0cnVjdCBtdGtfZHNpICpkc2kp CiAKIAlkc2lfcHNfY29udHJvbF92YWN0KGRzaSk7CiAJZHNpX2NvbmZpZ192ZG9fdGltaW5nKGRz aSk7CisJbXRrX2RzaV9zZXRfaW50ZXJydXB0X2VuYWJsZShkc2kpOwogCiAJZHNpX3NldF9tb2Rl KGRzaSk7CiAJZHNpX2Nsa19oc19tb2RlKGRzaSwgMSk7CkBAIC04ODMsNiArOTk1LDI0IEBAIHN0 YXRpYyBpbnQgbXRrX2RzaV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCQly ZXR1cm4gcmV0OwogCX0KIAorCWRzaS0+aXJxX251bSA9IHBsYXRmb3JtX2dldF9pcnEocGRldiwg MCk7CisJaWYgKGRzaS0+aXJxX251bSA8IDApIHsKKwkJZGV2X2VycigmcGRldi0+ZGV2LCAiZmFp bGVkIHRvIHJlcXVlc3QgZHNpIGlycSByZXNvdXJjZVxuIik7CisJCXJldCA9IGRzaS0+aXJxX251 bTsKKwkJcmV0dXJuIC1FUFJPQkVfREVGRVI7CisJfQorCisJaXJxX3NldF9zdGF0dXNfZmxhZ3Mo ZHNpLT5pcnFfbnVtLCBJUlFfVFlQRV9MRVZFTF9MT1cpOworCXJldCA9IGRldm1fcmVxdWVzdF9p cnEoJnBkZXYtPmRldiwgZHNpLT5pcnFfbnVtLCBtdGtfZHNpX2lycSwKKwkJCSAgICAgICBJUlFG X1RSSUdHRVJfTE9XLCBkZXZfbmFtZSgmcGRldi0+ZGV2KSwgZHNpKTsKKwlpZiAocmV0KSB7CisJ CWRldl9lcnIoJnBkZXYtPmRldiwgImZhaWxlZCB0byByZXF1ZXN0IG1lZGlhdGVrIGRzaSBpcnFc biIpOworCQlyZXR1cm4gLUVQUk9CRV9ERUZFUjsKKwl9CisKKwlkc2ktPmlycV9kYXRhID0gMDsK KwlkZXZfaW5mbyhkZXYsICJkc2kgaXJxIG51bSBpcyAweCV4XG4iLCBkc2ktPmlycV9udW0pOwor CiAJcGxhdGZvcm1fc2V0X2RydmRhdGEocGRldiwgZHNpKTsKIAogCXJldHVybiBjb21wb25lbnRf YWRkKCZwZGV2LT5kZXYsICZtdGtfZHNpX2NvbXBvbmVudF9vcHMpOwotLSAKMS43LjkuNQoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1h aWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==