From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Brezillon Subject: [RFC PATCH 3/3] drm/panel: rpi-touchscreen: Implement ->detect() Date: Mon, 30 Apr 2018 16:43:23 +0200 Message-ID: <20180430144323.9233-4-boris.brezillon@bootlin.com> References: <20180430144323.9233-1-boris.brezillon@bootlin.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail.bootlin.com (mail.bootlin.com [62.4.15.54]) by gabe.freedesktop.org (Postfix) with ESMTP id B68106E351 for ; Mon, 30 Apr 2018 14:43:37 +0000 (UTC) In-Reply-To: <20180430144323.9233-1-boris.brezillon@bootlin.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Thierry Reding , dri-devel@lists.freedesktop.org Cc: David Airlie , Boris Brezillon List-Id: dri-devel@lists.freedesktop.org SW1wbGVtZW50IGEgd2F5IHRvIGRldGVybWluZSB3aGVuIHRoZSBwYW5lbCBpcyBjb25uZWN0ZWQu IFRoaXMgaXMgZG9uZQpieSByZWFkaW5nIFJFR19JRCB0aHJvdWdoIEkyQy4gV2UgY29uc2lkZXIg dGhlIHBhbmVsIGFzIGRpc2Nvbm5lY3QKdW50aWwgd2UgcmV0cmlldmUgYSB2YWxpZCBJRC4KClNp Z25lZC1vZmYtYnk6IEJvcmlzIEJyZXppbGxvbiA8Ym9yaXMuYnJlemlsbG9uQGJvb3RsaW4uY29t PgotLS0KIC4uLi9ncHUvZHJtL3BhbmVsL3BhbmVsLXJhc3BiZXJyeXBpLXRvdWNoc2NyZWVuLmMg IHwgNjIgKysrKysrKysrKysrKysrKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDUzIGluc2VydGlv bnMoKyksIDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVs L3BhbmVsLXJhc3BiZXJyeXBpLXRvdWNoc2NyZWVuLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwv cGFuZWwtcmFzcGJlcnJ5cGktdG91Y2hzY3JlZW4uYwppbmRleCBkOTY0ZDQ1NGU0YWUuLmU2NWNh ZWM1OTBkNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJhc3BiZXJy eXBpLXRvdWNoc2NyZWVuLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJhc3Bi ZXJyeXBpLXRvdWNoc2NyZWVuLmMKQEAgLTE5Niw2ICsxOTYsNyBAQCBzdHJ1Y3QgcnBpX3RvdWNo c2NyZWVuIHsKIAlzdHJ1Y3QgZHJtX3BhbmVsIGJhc2U7CiAJc3RydWN0IG1pcGlfZHNpX2Rldmlj ZSAqZHNpOwogCXN0cnVjdCBpMmNfY2xpZW50ICppMmM7CisJYm9vbCBjb25uZWN0ZWQ7CiB9Owog CiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgcnBpX3RvdWNoc2NyZWVuX21v ZGVzW10gPSB7CkBAIC0yNTUsNiArMjU2LDkgQEAgc3RhdGljIGludCBycGlfdG91Y2hzY3JlZW5f d3JpdGUoc3RydWN0IHJwaV90b3VjaHNjcmVlbiAqdHMsIHUxNiByZWcsIHUzMiB2YWwpCiAKIAlt aXBpX2RzaV9kY3Nfd3JpdGVfYnVmZmVyKHRzLT5kc2ksIG1zZywgc2l6ZW9mKG1zZykpOwogI2Vs c2UKKwlpZiAoIXRzLT5jb25uZWN0ZWQpCisJCXJldHVybiAwOworCiAJcnBpX3RvdWNoc2NyZWVu X2kyY193cml0ZSh0cywgUkVHX1dSX0FERFJILCByZWcgPj4gOCk7CiAJcnBpX3RvdWNoc2NyZWVu X2kyY193cml0ZSh0cywgUkVHX1dSX0FERFJMLCByZWcpOwogCXJwaV90b3VjaHNjcmVlbl9pMmNf d3JpdGUodHMsIFJFR19XUklURUgsIHZhbCA+PiA4KTsKQEAgLTI2OCw2ICsyNzIsOSBAQCBzdGF0 aWMgaW50IHJwaV90b3VjaHNjcmVlbl9kaXNhYmxlKHN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQog ewogCXN0cnVjdCBycGlfdG91Y2hzY3JlZW4gKnRzID0gcGFuZWxfdG9fdHMocGFuZWwpOwogCisJ aWYgKCF0cy0+Y29ubmVjdGVkKQorCQlyZXR1cm4gMDsKKwogCXJwaV90b3VjaHNjcmVlbl9pMmNf d3JpdGUodHMsIFJFR19QV00sIDApOwogCiAJcnBpX3RvdWNoc2NyZWVuX2kyY193cml0ZSh0cywg UkVHX1BPV0VST04sIDApOwpAQCAtMjg2LDYgKzI5Myw5IEBAIHN0YXRpYyBpbnQgcnBpX3RvdWNo c2NyZWVuX2VuYWJsZShzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCkKIAlzdHJ1Y3QgcnBpX3RvdWNo c2NyZWVuICp0cyA9IHBhbmVsX3RvX3RzKHBhbmVsKTsKIAlpbnQgaTsKIAorCWlmICghdHMtPmNv bm5lY3RlZCkKKwkJcmV0dXJuIDA7CisKIAlycGlfdG91Y2hzY3JlZW5faTJjX3dyaXRlKHRzLCBS RUdfUE9XRVJPTiwgMSk7CiAJLyogV2FpdCBmb3IgblBXUkRXTiB0byBnbyBsb3cgdG8gaW5kaWNh dGUgcG93ZXJvbiBpcyBkb25lLiAqLwogCWZvciAoaSA9IDA7IGkgPCAxMDA7IGkrKykgewpAQCAt MzMwLDYgKzM0MCwxMCBAQCBzdGF0aWMgaW50IHJwaV90b3VjaHNjcmVlbl9nZXRfbW9kZXMoc3Ry dWN0IGRybV9wYW5lbCAqcGFuZWwpCiAJc3RydWN0IGRybV9kZXZpY2UgKmRybSA9IHBhbmVsLT5k cm07CiAJdW5zaWduZWQgaW50IGksIG51bSA9IDA7CiAJc3RhdGljIGNvbnN0IHUzMiBidXNfZm9y bWF0ID0gTUVESUFfQlVTX0ZNVF9SR0I4ODhfMVgyNDsKKwlzdHJ1Y3QgcnBpX3RvdWNoc2NyZWVu ICp0cyA9IHBhbmVsX3RvX3RzKHBhbmVsKTsKKworCWlmICghdHMtPmNvbm5lY3RlZCkKKwkJcmV0 dXJuIDA7CiAKIAlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShycGlfdG91Y2hzY3JlZW5fbW9k ZXMpOyBpKyspIHsKIAkJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm0gPSAmcnBpX3Rv dWNoc2NyZWVuX21vZGVzW2ldOwpAQCAtMzYyLDcgKzM3NiwzNCBAQCBzdGF0aWMgaW50IHJwaV90 b3VjaHNjcmVlbl9nZXRfbW9kZXMoc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpCiAJcmV0dXJuIG51 bTsKIH0KIAorc3RhdGljIGludCBycGlfdG91Y2hzY3JlZW5fZGV0ZWN0KHN0cnVjdCBkcm1fcGFu ZWwgKnBhbmVsKQoreworCXN0cnVjdCBycGlfdG91Y2hzY3JlZW4gKnRzID0gcGFuZWxfdG9fdHMo cGFuZWwpOworCWludCB2ZXI7CisKKwlpZiAodHMtPmNvbm5lY3RlZCkKKwkJcmV0dXJuIGNvbm5l Y3Rvcl9zdGF0dXNfY29ubmVjdGVkOworCisJdmVyID0gcnBpX3RvdWNoc2NyZWVuX2kyY19yZWFk KHRzLCBSRUdfSUQpOworCXN3aXRjaCAodmVyKSB7CisJY2FzZSAweGRlOiAvKiB2ZXIgMSAqLwor CWNhc2UgMHhjMzogLyogdmVyIDIgKi8KKwkJdHMtPmNvbm5lY3RlZCA9IHRydWU7CisKKwkJLyog VHVybiBvZmYgYXQgYm9vdCwgc28gd2UgY2FuIGNsZWFubHkgc2VxdWVuY2UgcG93ZXJpbmcgb24u ICovCisJCXJwaV90b3VjaHNjcmVlbl9pMmNfd3JpdGUodHMsIFJFR19QT1dFUk9OLCAwKTsKKwor CQlyZXR1cm4gY29ubmVjdG9yX3N0YXR1c19jb25uZWN0ZWQ7CisKKwlkZWZhdWx0OgorCQlicmVh azsKKwl9CisKKwlyZXR1cm4gY29ubmVjdG9yX3N0YXR1c19kaXNjb25uZWN0ZWQ7Cit9CisKIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3BhbmVsX2Z1bmNzIHJwaV90b3VjaHNjcmVlbl9mdW5jcyA9 IHsKKwkuZGV0ZWN0ID0gcnBpX3RvdWNoc2NyZWVuX2RldGVjdCwKIAkuZGlzYWJsZSA9IHJwaV90 b3VjaHNjcmVlbl9kaXNhYmxlLAogCS51bnByZXBhcmUgPSBycGlfdG91Y2hzY3JlZW5fbm9vcCwK IAkucHJlcGFyZSA9IHJwaV90b3VjaHNjcmVlbl9ub29wLApAQCAtMzkzLDIyICs0MzQsMjQgQEAg c3RhdGljIGludCBycGlfdG91Y2hzY3JlZW5fcHJvYmUoc3RydWN0IGkyY19jbGllbnQgKmkyYywK IAl0cy0+aTJjID0gaTJjOwogCiAJdmVyID0gcnBpX3RvdWNoc2NyZWVuX2kyY19yZWFkKHRzLCBS RUdfSUQpOwotCWlmICh2ZXIgPCAwKSB7Ci0JCWRldl9lcnIoZGV2LCAiQXRtZWwgSTJDIHJlYWQg ZmFpbGVkOiAlZFxuIiwgdmVyKTsKLQkJcmV0dXJuIC1FTk9ERVY7Ci0JfQotCiAJc3dpdGNoICh2 ZXIpIHsKIAljYXNlIDB4ZGU6IC8qIHZlciAxICovCiAJY2FzZSAweGMzOiAvKiB2ZXIgMiAqLwor CQl0cy0+Y29ubmVjdGVkID0gdHJ1ZTsKKworCQkvKiBUdXJuIG9mZiBhdCBib290LCBzbyB3ZSBj YW4gY2xlYW5seSBzZXF1ZW5jZSBwb3dlcmluZyBvbi4gKi8KKwkJcnBpX3RvdWNoc2NyZWVuX2ky Y193cml0ZSh0cywgUkVHX1BPV0VST04sIDApOwogCQlicmVhazsKIAlkZWZhdWx0OgotCQlkZXZf ZXJyKGRldiwgIlVua25vd24gQXRtZWwgZmlybXdhcmUgcmV2aXNpb246IDB4JTAyeFxuIiwgdmVy KTsKLQkJcmV0dXJuIC1FTk9ERVY7CisJCWlmICh2ZXIgPCAwKQorCQkJZGV2X2VycihkZXYsICJB dG1lbCBJMkMgcmVhZCBmYWlsZWQ6ICVkXG4iLCB2ZXIpOworCQllbHNlCisJCQlkZXZfZXJyKGRl diwKKwkJCQkiVW5rbm93biBBdG1lbCBmaXJtd2FyZSByZXZpc2lvbjogMHglMDJ4XG4iLAorCQkJ CXZlcik7CisJCWJyZWFrOwogCX0KIAotCS8qIFR1cm4gb2ZmIGF0IGJvb3QsIHNvIHdlIGNhbiBj bGVhbmx5IHNlcXVlbmNlIHBvd2VyaW5nIG9uLiAqLwotCXJwaV90b3VjaHNjcmVlbl9pMmNfd3Jp dGUodHMsIFJFR19QT1dFUk9OLCAwKTsKIAogCS8qIExvb2sgdXAgdGhlIERTSSBob3N0LiAgSXQg bmVlZHMgdG8gcHJvYmUgYmVmb3JlIHdlIGRvLiAqLwogCWVuZHBvaW50ID0gb2ZfZ3JhcGhfZ2V0 X25leHRfZW5kcG9pbnQoZGV2LT5vZl9ub2RlLCBOVUxMKTsKQEAgLTQzMiw2ICs0NzUsNyBAQCBz dGF0aWMgaW50IHJwaV90b3VjaHNjcmVlbl9wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjLAog CiAJdHMtPmJhc2UuZGV2ID0gZGV2OwogCXRzLT5iYXNlLmZ1bmNzID0gJnJwaV90b3VjaHNjcmVl bl9mdW5jczsKKwl0cy0+YmFzZS5wb2xsZWQgPSBEUk1fQ09OTkVDVE9SX1BPTExfQ09OTkVDVDsK IAogCS8qIFRoaXMgYXBwZWFycyBsYXN0LCBhcyBpdCdzIHdoYXQgd2lsbCB1bmJsb2NrIHRoZSBE U0kgaG9zdAogCSAqIGRyaXZlcidzIGNvbXBvbmVudCBiaW5kIGZ1bmN0aW9uLgotLSAKMi4xNC4x CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2 ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK