From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Subject: [PATCH v3 4/7] drm/tinydrm/mipi-dbi: Add poweron-reset functions Date: Wed, 10 Jan 2018 19:59:37 +0100 Message-ID: <20180110185940.53841-5-noralf@tronnes.org> References: <20180110185940.53841-1-noralf@tronnes.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from smtp.domeneshop.no (smtp.domeneshop.no [IPv6:2a01:5b40:0:3005::1]) by gabe.freedesktop.org (Postfix) with ESMTPS id 413BC6E273 for ; Wed, 10 Jan 2018 18:59:51 +0000 (UTC) In-Reply-To: <20180110185940.53841-1-noralf@tronnes.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: david@lechnology.com Cc: dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org U3BsaXQgb3V0IGNvbW1vbiBwb3dlcm9uLXJlc2V0IGZ1bmN0aW9uYWxpdHkuCgpTaWduZWQtb2Zm LWJ5OiBOb3JhbGYgVHLDuG5uZXMgPG5vcmFsZkB0cm9ubmVzLm9yZz4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vdGlueWRybS9taTAyODNxdC5jIHwgMjIgKystLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9k cm0vdGlueWRybS9taXBpLWRiaS5jIHwgNzMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS90aW55ZHJtL3N0NzU4Ni5jICAgfCAgOSArKy0tLQog ZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vc3Q3NzM1ci5jICB8ICA4ICsrLS0tCiBpbmNsdWRlL2Ry bS90aW55ZHJtL21pcGktZGJpLmggICAgIHwgIDIgKysKIDUgZmlsZXMgY2hhbmdlZCwgODMgaW5z ZXJ0aW9ucygrKSwgMzEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3Rpbnlkcm0vbWkwMjgzcXQuYyBiL2RyaXZlcnMvZ3B1L2RybS90aW55ZHJtL21pMDI4M3F0LmMK aW5kZXggYzY5YTRkOTU4ZjI0Li4xNjE3NDA1ZmFlZDQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS90aW55ZHJtL21pMDI4M3F0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vbWkw MjgzcXQuYwpAQCAtNDksMzMgKzQ5LDE3IEBACiAKIHN0YXRpYyBpbnQgbWkwMjgzcXRfaW5pdChz dHJ1Y3QgbWlwaV9kYmkgKm1pcGkpCiB7Ci0Jc3RydWN0IHRpbnlkcm1fZGV2aWNlICp0ZGV2ID0g Jm1pcGktPnRpbnlkcm07Ci0Jc3RydWN0IGRldmljZSAqZGV2ID0gdGRldi0+ZHJtLT5kZXY7CiAJ dTggYWRkcl9tb2RlOwogCWludCByZXQ7CiAKIAlEUk1fREVCVUdfS01TKCJcbiIpOwogCi0JcmV0 ID0gcmVndWxhdG9yX2VuYWJsZShtaXBpLT5yZWd1bGF0b3IpOwotCWlmIChyZXQpIHsKLQkJRFJN X0RFVl9FUlJPUihkZXYsICJGYWlsZWQgdG8gZW5hYmxlIHJlZ3VsYXRvciAlZFxuIiwgcmV0KTsK KwlyZXQgPSBtaXBpX2RiaV9wb3dlcm9uX2NvbmRpdGlvbmFsX3Jlc2V0KG1pcGkpOworCWlmIChy ZXQgPCAwKQogCQlyZXR1cm4gcmV0OwotCX0KLQotCS8qIEF2b2lkIGZsaWNrZXIgYnkgc2tpcHBp bmcgc2V0dXAgaWYgdGhlIGJvb3Rsb2FkZXIgaGFzIGRvbmUgaXQgKi8KLQlpZiAobWlwaV9kYmlf ZGlzcGxheV9pc19vbihtaXBpKSkKKwlpZiAocmV0ID09IDEpCiAJCXJldHVybiAwOwogCi0JbWlw aV9kYmlfaHdfcmVzZXQobWlwaSk7Ci0JcmV0ID0gbWlwaV9kYmlfY29tbWFuZChtaXBpLCBNSVBJ X0RDU19TT0ZUX1JFU0VUKTsKLQlpZiAocmV0KSB7Ci0JCURSTV9ERVZfRVJST1IoZGV2LCAiRXJy b3Igc2VuZGluZyBjb21tYW5kICVkXG4iLCByZXQpOwotCQlyZWd1bGF0b3JfZGlzYWJsZShtaXBp LT5yZWd1bGF0b3IpOwotCQlyZXR1cm4gcmV0OwotCX0KLQotCW1zbGVlcCgyMCk7Ci0KIAltaXBp X2RiaV9jb21tYW5kKG1pcGksIE1JUElfRENTX1NFVF9ESVNQTEFZX09GRik7CiAKIAltaXBpX2Ri aV9jb21tYW5kKG1pcGksIElMSTkzNDFfUFdDVFJMQiwgMHgwMCwgMHg4MywgMHgzMCk7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGlueWRybS9taXBpLWRiaS5jIGIvZHJpdmVycy9ncHUv ZHJtL3Rpbnlkcm0vbWlwaS1kYmkuYwppbmRleCAxYzhlZjBjNGQ2ZDQuLjNlODc5ZDYwNWVkMyAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vbWlwaS1kYmkuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vdGlueWRybS9taXBpLWRiaS5jCkBAIC00NjMsNiArNDYzLDcgQEAgYm9vbCBt aXBpX2RiaV9kaXNwbGF5X2lzX29uKHN0cnVjdCBtaXBpX2RiaSAqbWlwaSkKIAogCXZhbCAmPSB+ RENTX1BPV0VSX01PREVfUkVTRVJWRURfTUFTSzsKIAorCS8qIFRoZSBwb3dlcm9uL3Jlc2V0IHZh bHVlIGlzIDA4aCBEQ1NfUE9XRVJfTU9ERV9ESVNQTEFZX05PUk1BTF9NT0RFICovCiAJaWYgKHZh bCAhPSAoRENTX1BPV0VSX01PREVfRElTUExBWSB8CiAJICAgIERDU19QT1dFUl9NT0RFX0RJU1BM QVlfTk9STUFMX01PREUgfCBEQ1NfUE9XRVJfTU9ERV9TTEVFUF9NT0RFKSkKIAkJcmV0dXJuIGZh bHNlOwpAQCAtNDczLDYgKzQ3NCw3OCBAQCBib29sIG1pcGlfZGJpX2Rpc3BsYXlfaXNfb24oc3Ry dWN0IG1pcGlfZGJpICptaXBpKQogfQogRVhQT1JUX1NZTUJPTChtaXBpX2RiaV9kaXNwbGF5X2lz X29uKTsKIAorc3RhdGljIGludCBtaXBpX2RiaV9wb3dlcm9uX3Jlc2V0X2NvbmRpdGlvbmFsKHN0 cnVjdCBtaXBpX2RiaSAqbWlwaSwgYm9vbCBjb25kKQoreworCXN0cnVjdCBkZXZpY2UgKmRldiA9 IG1pcGktPnRpbnlkcm0uZHJtLT5kZXY7CisJaW50IHJldDsKKworCWlmIChtaXBpLT5yZWd1bGF0 b3IpIHsKKwkJcmV0ID0gcmVndWxhdG9yX2VuYWJsZShtaXBpLT5yZWd1bGF0b3IpOworCQlpZiAo cmV0KSB7CisJCQlEUk1fREVWX0VSUk9SKGRldiwgIkZhaWxlZCB0byBlbmFibGUgcmVndWxhdG9y ICglZClcbiIsIHJldCk7CisJCQlyZXR1cm4gcmV0OworCQl9CisJfQorCisJaWYgKGNvbmQgJiYg bWlwaV9kYmlfZGlzcGxheV9pc19vbihtaXBpKSkKKwkJcmV0dXJuIDE7CisKKwltaXBpX2RiaV9o d19yZXNldChtaXBpKTsKKwlyZXQgPSBtaXBpX2RiaV9jb21tYW5kKG1pcGksIE1JUElfRENTX1NP RlRfUkVTRVQpOworCWlmIChyZXQpIHsKKwkJRFJNX0RFVl9FUlJPUihkZXYsICJGYWlsZWQgdG8g c2VuZCByZXNldCBjb21tYW5kICglZClcbiIsIHJldCk7CisJCWlmIChtaXBpLT5yZWd1bGF0b3Ip CisJCQlyZWd1bGF0b3JfZGlzYWJsZShtaXBpLT5yZWd1bGF0b3IpOworCQlyZXR1cm4gcmV0Owor CX0KKworCS8qCisJICogSWYgd2UgZGlkIGEgaHcgcmVzZXQsIHdlIGtub3cgdGhlIGNvbnRyb2xs ZXIgaXMgaW4gU2xlZXAgbW9kZSBhbmQKKwkgKiBwZXIgTUlQSSBEU0Mgc3BlYyBzaG91bGQgd2Fp dCA1bXMgYWZ0ZXIgc29mdCByZXNldC4gSWYgd2UgZGlkbid0LAorCSAqIHdlIGFzc3VtZSB3b3Jz dCBjYXNlIGFuZCB3YWl0IDEyMG1zLgorCSAqLworCWlmIChtaXBpLT5yZXNldCkKKwkJdXNsZWVw X3JhbmdlKDUwMDAsIDIwMDAwKTsKKwllbHNlCisJCW1zbGVlcCgxMjApOworCisJcmV0dXJuIDA7 Cit9CisKKy8qKgorICogbWlwaV9kYmlfcG93ZXJvbl9yZXNldCAtIE1JUEkgREJJIHBvd2Vyb24g YW5kIHJlc2V0CisgKiBAbWlwaTogTUlQSSBEQkkgc3RydWN0dXJlCisgKgorICogVGhpcyBmdW5j dGlvbiBlbmFibGVzIHRoZSByZWd1bGF0b3IgaWYgdXNlZCBhbmQgZG9lcyBhIGhhcmR3YXJlIGFu ZCBzb2Z0d2FyZQorICogcmVzZXQuCisgKgorICogUmV0dXJuczoKKyAqIFplcm8gb24gc3VjY2Vz cywgb3IgYSBuZWdhdGl2ZSBlcnJvciBjb2RlLgorICovCitpbnQgbWlwaV9kYmlfcG93ZXJvbl9y ZXNldChzdHJ1Y3QgbWlwaV9kYmkgKm1pcGkpCit7CisJcmV0dXJuIG1pcGlfZGJpX3Bvd2Vyb25f cmVzZXRfY29uZGl0aW9uYWwobWlwaSwgZmFsc2UpOworfQorRVhQT1JUX1NZTUJPTChtaXBpX2Ri aV9wb3dlcm9uX3Jlc2V0KTsKKworLyoqCisgKiBtaXBpX2RiaV9wb3dlcm9uX2NvbmRpdGlvbmFs X3Jlc2V0IC0gTUlQSSBEQkkgcG93ZXJvbiBhbmQgY29uZGl0aW9uYWwgcmVzZXQKKyAqIEBtaXBp OiBNSVBJIERCSSBzdHJ1Y3R1cmUKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGVuYWJsZXMgdGhlIHJl Z3VsYXRvciBpZiB1c2VkIGFuZCBpZiB0aGUgZGlzcGxheSBpcyBvZmYsIGl0CisgKiBkb2VzIGEg aGFyZHdhcmUgYW5kIHNvZnR3YXJlIHJlc2V0LiBJZiBtaXBpX2RiaV9kaXNwbGF5X2lzX29uKCkg ZGV0ZXJtaW5lcworICogdGhhdCB0aGUgZGlzcGxheSBpcyBvbiwgbm8gcmVzZXQgaXMgcGVyZm9y bWVkLgorICoKKyAqIFJldHVybnM6CisgKiBaZXJvIGlmIHRoZSBjb250cm9sbGVyIHdhcyByZXNl dCwgMSBpZiB0aGUgZGlzcGxheSB3YXMgYWxyZWFkeSBvbiwgb3IgYQorICogbmVnYXRpdmUgZXJy b3IgY29kZS4KKyAqLworaW50IG1pcGlfZGJpX3Bvd2Vyb25fY29uZGl0aW9uYWxfcmVzZXQoc3Ry dWN0IG1pcGlfZGJpICptaXBpKQoreworCXJldHVybiBtaXBpX2RiaV9wb3dlcm9uX3Jlc2V0X2Nv bmRpdGlvbmFsKG1pcGksIHRydWUpOworfQorRVhQT1JUX1NZTUJPTChtaXBpX2RiaV9wb3dlcm9u X2NvbmRpdGlvbmFsX3Jlc2V0KTsKKwogI2lmIElTX0VOQUJMRUQoQ09ORklHX1NQSSkKIAogLyoq CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdGlueWRybS9zdDc1ODYuYyBiL2RyaXZlcnMv Z3B1L2RybS90aW55ZHJtL3N0NzU4Ni5jCmluZGV4IDlmZDQ0MjNjOGU3MC4uYTYzOTZlZjljYzRh IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdGlueWRybS9zdDc1ODYuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vdGlueWRybS9zdDc1ODYuYwpAQCAtMTc5LDE5ICsxNzksMTYgQEAgc3RhdGlj IHZvaWQgc3Q3NTg2X3BpcGVfZW5hYmxlKHN0cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSAq cGlwZSwKIHsKIAlzdHJ1Y3QgdGlueWRybV9kZXZpY2UgKnRkZXYgPSBwaXBlX3RvX3Rpbnlkcm0o cGlwZSk7CiAJc3RydWN0IG1pcGlfZGJpICptaXBpID0gbWlwaV9kYmlfZnJvbV90aW55ZHJtKHRk ZXYpOwotCXN0cnVjdCBkZXZpY2UgKmRldiA9IHRkZXYtPmRybS0+ZGV2OwogCWludCByZXQ7CiAJ dTggYWRkcl9tb2RlOwogCiAJRFJNX0RFQlVHX0tNUygiXG4iKTsKIAotCW1pcGlfZGJpX2h3X3Jl c2V0KG1pcGkpOwotCXJldCA9IG1pcGlfZGJpX2NvbW1hbmQobWlwaSwgU1Q3NTg2X0FVVE9fUkVB RF9DVFJMLCAweDlmKTsKLQlpZiAocmV0KSB7Ci0JCURSTV9ERVZfRVJST1IoZGV2LCAiRXJyb3Ig c2VuZGluZyBjb21tYW5kICVkXG4iLCByZXQpOworCXJldCA9IG1pcGlfZGJpX3Bvd2Vyb25fcmVz ZXQobWlwaSk7CisJaWYgKHJldCkKIAkJcmV0dXJuOwotCX0KIAorCW1pcGlfZGJpX2NvbW1hbmQo bWlwaSwgU1Q3NTg2X0FVVE9fUkVBRF9DVFJMLCAweDlmKTsKIAltaXBpX2RiaV9jb21tYW5kKG1p cGksIFNUNzU4Nl9PVFBfUldfQ1RSTCwgMHgwMCk7CiAKIAltc2xlZXAoMTApOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL3Rpbnlkcm0vc3Q3NzM1ci5jIGIvZHJpdmVycy9ncHUvZHJtL3Rp bnlkcm0vc3Q3NzM1ci5jCmluZGV4IDFmMzhlMTVkYTY3Ni4uNjUwMjU3YWQwMTkzIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vdGlueWRybS9zdDc3MzVyLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL3Rpbnlkcm0vc3Q3NzM1ci5jCkBAIC00NiwxMyArNDYsOSBAQCBzdGF0aWMgdm9pZCBqZF90 MTgwMDNfdDAxX3BpcGVfZW5hYmxlKHN0cnVjdCBkcm1fc2ltcGxlX2Rpc3BsYXlfcGlwZSAqcGlw ZSwKIAogCURSTV9ERUJVR19LTVMoIlxuIik7CiAKLQltaXBpX2RiaV9od19yZXNldChtaXBpKTsK LQotCXJldCA9IG1pcGlfZGJpX2NvbW1hbmQobWlwaSwgTUlQSV9EQ1NfU09GVF9SRVNFVCk7Ci0J aWYgKHJldCkgewotCQlEUk1fREVWX0VSUk9SKGRldiwgIkVycm9yIHNlbmRpbmcgY29tbWFuZCAl ZFxuIiwgcmV0KTsKKwlyZXQgPSBtaXBpX2RiaV9wb3dlcm9uX3Jlc2V0KG1pcGkpOworCWlmIChy ZXQpCiAJCXJldHVybjsKLQl9CiAKIAltc2xlZXAoMTUwKTsKIApkaWZmIC0tZ2l0IGEvaW5jbHVk ZS9kcm0vdGlueWRybS9taXBpLWRiaS5oIGIvaW5jbHVkZS9kcm0vdGlueWRybS9taXBpLWRiaS5o CmluZGV4IDY0NDFkOWE5MTYxYS4uNzk1YTRhMjIwNWJiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2Ry bS90aW55ZHJtL21pcGktZGJpLmgKKysrIGIvaW5jbHVkZS9kcm0vdGlueWRybS9taXBpLWRiaS5o CkBAIC03Myw2ICs3Myw4IEBAIHZvaWQgbWlwaV9kYmlfcGlwZV9lbmFibGUoc3RydWN0IGRybV9z aW1wbGVfZGlzcGxheV9waXBlICpwaXBlLAogdm9pZCBtaXBpX2RiaV9waXBlX2Rpc2FibGUoc3Ry dWN0IGRybV9zaW1wbGVfZGlzcGxheV9waXBlICpwaXBlKTsKIHZvaWQgbWlwaV9kYmlfaHdfcmVz ZXQoc3RydWN0IG1pcGlfZGJpICptaXBpKTsKIGJvb2wgbWlwaV9kYmlfZGlzcGxheV9pc19vbihz dHJ1Y3QgbWlwaV9kYmkgKm1pcGkpOworaW50IG1pcGlfZGJpX3Bvd2Vyb25fcmVzZXQoc3RydWN0 IG1pcGlfZGJpICptaXBpKTsKK2ludCBtaXBpX2RiaV9wb3dlcm9uX2NvbmRpdGlvbmFsX3Jlc2V0 KHN0cnVjdCBtaXBpX2RiaSAqbWlwaSk7CiB1MzIgbWlwaV9kYmlfc3BpX2NtZF9tYXhfc3BlZWQo c3RydWN0IHNwaV9kZXZpY2UgKnNwaSwgc2l6ZV90IGxlbik7CiAKIGludCBtaXBpX2RiaV9jb21t YW5kX3JlYWQoc3RydWN0IG1pcGlfZGJpICptaXBpLCB1OCBjbWQsIHU4ICp2YWwpOwotLSAKMi4x NS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmkt ZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK