From mboxrd@z Thu Jan 1 00:00:00 1970 From: matthias.bgg@kernel.org Subject: [resend PATCH v4 1/5] drm/mediatek: Use regmap for register access Date: Wed, 18 Jul 2018 00:03:24 +0200 Message-ID: <20180717220328.792-2-matthias.bgg@kernel.org> References: <20180717220328.792-1-matthias.bgg@kernel.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180717220328.792-1-matthias.bgg@kernel.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: ulrich.hecht+renesas@gmail.com, laurent.pinchart@ideasonboard.com, ck.hu@mediatek.com, p.zabel@pengutronix.de, airlied@linux.ie, robh+dt@kernel.org, mark.rutland@arm.com, mturquette@baylibre.com, sboyd@codeaurora.org, lee.jones@linaro.org Cc: sean.wang@mediatek.com, gregkh@linuxfoundation.org, rdunlap@infradead.org, linux@armlinux.org.uk, dri-devel@lists.freedesktop.org, linux-clk@vger.kernel.org, Matthias Brugger , linux-mediatek@lists.infradead.org, linux-arm-kernel@lists.infradead.org, matthias.bgg@gmail.com, mchehab@kernel.org, pi-cheng.chen@linaro.org, davem@davemloft.net, linux-kernel@vger.kernel.org List-Id: linux-mediatek@lists.infradead.org RnJvbTogTWF0dGhpYXMgQnJ1Z2dlciA8bWJydWdnZXJAc3VzZS5jb20+CgpUaGUgbW1zeXMgbWVt b3J5IHNwYWNlIGlzIHNoYXJlZCBiZXR3ZWVuIHRoZSBkcm0gYW5kIHRoZQpjbGsgZHJpdmVyLiBV c2UgcmVnbWFwIHRvIGFjY2VzcyBpdC4KClNpZ25lZC1vZmYtYnk6IE1hdHRoaWFzIEJydWdnZXIg PG1icnVnZ2VyQHN1c2UuY29tPgpSZXZpZXdlZC1ieTogUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBw ZW5ndXRyb25peC5kZT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRj LmMgfCAgNCArLS0KIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcC5jICB8IDM4 ICsrKysrKysrKystLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtf ZHJtX2RkcC5oICB8ICA0ICstLQogZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2 LmMgIHwgMTMgKysrLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYu aCAgfCAgMiArLQogNSBmaWxlcyBjaGFuZ2VkLCAyNCBpbnNlcnRpb25zKCspLCAzNyBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRj LmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMKaW5kZXggNjU4Yjhk ZDQ1YjgzLi40YzY1ODczYjQ4NjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRl ay9tdGtfZHJtX2NydGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9j cnRjLmMKQEAgLTMzLDcgKzMzLDcgQEAKICAqIEBlbmFibGVkOiByZWNvcmRzIHdoZXRoZXIgY3J0 Y19lbmFibGUgc3VjY2VlZGVkCiAgKiBAcGxhbmVzOiBhcnJheSBvZiA0IGRybV9wbGFuZSBzdHJ1 Y3R1cmVzLCBvbmUgZm9yIGVhY2ggb3ZlcmxheSBwbGFuZQogICogQHBlbmRpbmdfcGxhbmVzOiB3 aGV0aGVyIGFueSBwbGFuZSBoYXMgcGVuZGluZyBjaGFuZ2VzIHRvIGJlIGFwcGxpZWQKLSAqIEBj b25maWdfcmVnczogbWVtb3J5IG1hcHBlZCBtbXN5cyBjb25maWd1cmF0aW9uIHJlZ2lzdGVyIHNw YWNlCisgKiBAY29uZmlnX3JlZ3M6IHJlZ21hcCBtYXBwZWQgbW1zeXMgY29uZmlndXJhdGlvbiBy ZWdpc3RlciBzcGFjZQogICogQG11dGV4OiBoYW5kbGUgdG8gb25lIG9mIHRoZSB0ZW4gZGlzcF9t dXRleCBzdHJlYW1zCiAgKiBAZGRwX2NvbXBfbnI6IG51bWJlciBvZiBjb21wb25lbnRzIGluIGRk cF9jb21wCiAgKiBAZGRwX2NvbXA6IGFycmF5IG9mIHBvaW50ZXJzIHRoZSBtdGtfZGRwX2NvbXAg c3RydWN0dXJlcyB1c2VkIGJ5IHRoaXMgY3J0YwpAQCAtNDgsNyArNDgsNyBAQCBzdHJ1Y3QgbXRr X2RybV9jcnRjIHsKIAlzdHJ1Y3QgZHJtX3BsYW5lCQlwbGFuZXNbT1ZMX0xBWUVSX05SXTsKIAli b29sCQkJCXBlbmRpbmdfcGxhbmVzOwogCi0Jdm9pZCBfX2lvbWVtCQkJKmNvbmZpZ19yZWdzOwor CXN0cnVjdCByZWdtYXAJCQkqY29uZmlnX3JlZ3M7CiAJc3RydWN0IG10a19kaXNwX211dGV4CQkq bXV0ZXg7CiAJdW5zaWduZWQgaW50CQkJZGRwX2NvbXBfbnI7CiAJc3RydWN0IG10a19kZHBfY29t cAkJKipkZHBfY29tcDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtf ZHJtX2RkcC5jIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwLmMKaW5kZXgg ODEzMGYzZGFiNjYxLi5iYWZjNWM3N2M0ZmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9t ZWRpYXRlay9tdGtfZHJtX2RkcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtf ZHJtX2RkcC5jCkBAIC0xODUsNTMgKzE4NSw0NSBAQCBzdGF0aWMgdW5zaWduZWQgaW50IG10a19k ZHBfc2VsX2luKGVudW0gbXRrX2RkcF9jb21wX2lkIGN1ciwKIAlyZXR1cm4gdmFsdWU7CiB9CiAK LXN0YXRpYyB2b2lkIG10a19kZHBfc291dF9zZWwodm9pZCBfX2lvbWVtICpjb25maWdfcmVncywK K3N0YXRpYyB2b2lkIG10a19kZHBfc291dF9zZWwoc3RydWN0IHJlZ21hcCAqY29uZmlnX3JlZ3Ms CiAJCQkgICAgIGVudW0gbXRrX2RkcF9jb21wX2lkIGN1ciwKIAkJCSAgICAgZW51bSBtdGtfZGRw X2NvbXBfaWQgbmV4dCkKIHsKIAlpZiAoY3VyID09IEREUF9DT01QT05FTlRfQkxTICYmIG5leHQg PT0gRERQX0NPTVBPTkVOVF9EU0kwKQotCQl3cml0ZWxfcmVsYXhlZChCTFNfVE9fRFNJX1JETUEx X1RPX0RQSTEsCi0JCQkgICAgICAgY29uZmlnX3JlZ3MgKyBESVNQX1JFR19DT05GSUdfT1VUX1NF TCk7CisJCXJlZ21hcF93cml0ZShjb25maWdfcmVncywgRElTUF9SRUdfQ09ORklHX09VVF9TRUws CisJCQkJQkxTX1RPX0RTSV9SRE1BMV9UT19EUEkxKTsKIH0KIAotdm9pZCBtdGtfZGRwX2FkZF9j b21wX3RvX3BhdGgodm9pZCBfX2lvbWVtICpjb25maWdfcmVncywKK3ZvaWQgbXRrX2RkcF9hZGRf Y29tcF90b19wYXRoKHN0cnVjdCByZWdtYXAgKmNvbmZpZ19yZWdzLAogCQkJICAgICAgZW51bSBt dGtfZGRwX2NvbXBfaWQgY3VyLAogCQkJICAgICAgZW51bSBtdGtfZGRwX2NvbXBfaWQgbmV4dCkK IHsKLQl1bnNpZ25lZCBpbnQgYWRkciwgdmFsdWUsIHJlZzsKKwl1bnNpZ25lZCBpbnQgYWRkciwg dmFsdWU7CiAKIAl2YWx1ZSA9IG10a19kZHBfbW91dF9lbihjdXIsIG5leHQsICZhZGRyKTsKLQlp ZiAodmFsdWUpIHsKLQkJcmVnID0gcmVhZGxfcmVsYXhlZChjb25maWdfcmVncyArIGFkZHIpIHwg dmFsdWU7Ci0JCXdyaXRlbF9yZWxheGVkKHJlZywgY29uZmlnX3JlZ3MgKyBhZGRyKTsKLQl9CisJ aWYgKHZhbHVlKQorCQlyZWdtYXBfdXBkYXRlX2JpdHMoY29uZmlnX3JlZ3MsIGFkZHIsIHZhbHVl LCB2YWx1ZSk7CiAKIAltdGtfZGRwX3NvdXRfc2VsKGNvbmZpZ19yZWdzLCBjdXIsIG5leHQpOwog CiAJdmFsdWUgPSBtdGtfZGRwX3NlbF9pbihjdXIsIG5leHQsICZhZGRyKTsKLQlpZiAodmFsdWUp IHsKLQkJcmVnID0gcmVhZGxfcmVsYXhlZChjb25maWdfcmVncyArIGFkZHIpIHwgdmFsdWU7Ci0J CXdyaXRlbF9yZWxheGVkKHJlZywgY29uZmlnX3JlZ3MgKyBhZGRyKTsKLQl9CisJaWYgKHZhbHVl KQorCQlyZWdtYXBfdXBkYXRlX2JpdHMoY29uZmlnX3JlZ3MsIGFkZHIsIHZhbHVlLCB2YWx1ZSk7 CiB9CiAKLXZvaWQgbXRrX2RkcF9yZW1vdmVfY29tcF9mcm9tX3BhdGgodm9pZCBfX2lvbWVtICpj b25maWdfcmVncywKK3ZvaWQgbXRrX2RkcF9yZW1vdmVfY29tcF9mcm9tX3BhdGgoc3RydWN0IHJl Z21hcCAqY29uZmlnX3JlZ3MsCiAJCQkJICAgZW51bSBtdGtfZGRwX2NvbXBfaWQgY3VyLAogCQkJ CSAgIGVudW0gbXRrX2RkcF9jb21wX2lkIG5leHQpCiB7Ci0JdW5zaWduZWQgaW50IGFkZHIsIHZh bHVlLCByZWc7CisJdW5zaWduZWQgaW50IGFkZHIsIHZhbHVlOwogCiAJdmFsdWUgPSBtdGtfZGRw X21vdXRfZW4oY3VyLCBuZXh0LCAmYWRkcik7Ci0JaWYgKHZhbHVlKSB7Ci0JCXJlZyA9IHJlYWRs X3JlbGF4ZWQoY29uZmlnX3JlZ3MgKyBhZGRyKSAmIH52YWx1ZTsKLQkJd3JpdGVsX3JlbGF4ZWQo cmVnLCBjb25maWdfcmVncyArIGFkZHIpOwotCX0KKwlpZiAodmFsdWUpCisJCXJlZ21hcF91cGRh dGVfYml0cyhjb25maWdfcmVncywgYWRkciwgdmFsdWUsIDApOwogCiAJdmFsdWUgPSBtdGtfZGRw X3NlbF9pbihjdXIsIG5leHQsICZhZGRyKTsKLQlpZiAodmFsdWUpIHsKLQkJcmVnID0gcmVhZGxf cmVsYXhlZChjb25maWdfcmVncyArIGFkZHIpICYgfnZhbHVlOwotCQl3cml0ZWxfcmVsYXhlZChy ZWcsIGNvbmZpZ19yZWdzICsgYWRkcik7Ci0JfQorCWlmICh2YWx1ZSkKKwkJcmVnbWFwX3VwZGF0 ZV9iaXRzKGNvbmZpZ19yZWdzLCBhZGRyLCB2YWx1ZSwgMCk7CiB9CiAKIHN0cnVjdCBtdGtfZGlz cF9tdXRleCAqbXRrX2Rpc3BfbXV0ZXhfZ2V0KHN0cnVjdCBkZXZpY2UgKmRldiwgdW5zaWduZWQg aW50IGlkKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRw LmggYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHAuaAppbmRleCBmOWE3OTkx NjgwNzcuLjMyZTEyZjMzYjc2YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVr L210a19kcm1fZGRwLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRw LmgKQEAgLTIwLDEwICsyMCwxMCBAQCBzdHJ1Y3QgcmVnbWFwOwogc3RydWN0IGRldmljZTsKIHN0 cnVjdCBtdGtfZGlzcF9tdXRleDsKIAotdm9pZCBtdGtfZGRwX2FkZF9jb21wX3RvX3BhdGgodm9p ZCBfX2lvbWVtICpjb25maWdfcmVncywKK3ZvaWQgbXRrX2RkcF9hZGRfY29tcF90b19wYXRoKHN0 cnVjdCByZWdtYXAgKmNvbmZpZ19yZWdzLAogCQkJICAgICAgZW51bSBtdGtfZGRwX2NvbXBfaWQg Y3VyLAogCQkJICAgICAgZW51bSBtdGtfZGRwX2NvbXBfaWQgbmV4dCk7Ci12b2lkIG10a19kZHBf cmVtb3ZlX2NvbXBfZnJvbV9wYXRoKHZvaWQgX19pb21lbSAqY29uZmlnX3JlZ3MsCit2b2lkIG10 a19kZHBfcmVtb3ZlX2NvbXBfZnJvbV9wYXRoKHN0cnVjdCByZWdtYXAgKmNvbmZpZ19yZWdzLAog CQkJCSAgIGVudW0gbXRrX2RkcF9jb21wX2lkIGN1ciwKIAkJCQkgICBlbnVtIG10a19kZHBfY29t cF9pZCBuZXh0KTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19k cm1fZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuYwppbmRleCBi MmFkMTliZDFlMDAuLmRkMjQ5Y2Y1MTIxZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19kcm1fZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19k cm1fZHJ2LmMKQEAgLTIxLDYgKzIxLDcgQEAKICNpbmNsdWRlIDxkcm0vZHJtX29mLmg+CiAjaW5j bHVkZSA8bGludXgvY29tcG9uZW50Lmg+CiAjaW5jbHVkZSA8bGludXgvaW9tbXUuaD4KKyNpbmNs dWRlIDxsaW51eC9tZmQvc3lzY29uLmg+CiAjaW5jbHVkZSA8bGludXgvb2ZfYWRkcmVzcy5oPgog I2luY2x1ZGUgPGxpbnV4L29mX3BsYXRmb3JtLmg+CiAjaW5jbHVkZSA8bGludXgvcG1fcnVudGlt ZS5oPgpAQCAtMzkzLDcgKzM5NCw2IEBAIHN0YXRpYyBpbnQgbXRrX2RybV9wcm9iZShzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpwZGV2KQogewogCXN0cnVjdCBkZXZpY2UgKmRldiA9ICZwZGV2LT5k ZXY7CiAJc3RydWN0IG10a19kcm1fcHJpdmF0ZSAqcHJpdmF0ZTsKLQlzdHJ1Y3QgcmVzb3VyY2Ug Km1lbTsKIAlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGU7CiAJc3RydWN0IGNvbXBvbmVudF9tYXRj aCAqbWF0Y2ggPSBOVUxMOwogCWludCByZXQ7CkBAIC00MDcsMTQgKzQwNyw5IEBAIHN0YXRpYyBp bnQgbXRrX2RybV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogCUlOSVRfV09S SygmcHJpdmF0ZS0+Y29tbWl0LndvcmssIG10a19hdG9taWNfd29yayk7CiAJcHJpdmF0ZS0+ZGF0 YSA9IG9mX2RldmljZV9nZXRfbWF0Y2hfZGF0YShkZXYpOwogCi0JbWVtID0gcGxhdGZvcm1fZ2V0 X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsKLQlwcml2YXRlLT5jb25maWdfcmVn cyA9IGRldm1faW9yZW1hcF9yZXNvdXJjZShkZXYsIG1lbSk7Ci0JaWYgKElTX0VSUihwcml2YXRl LT5jb25maWdfcmVncykpIHsKLQkJcmV0ID0gUFRSX0VSUihwcml2YXRlLT5jb25maWdfcmVncyk7 Ci0JCWRldl9lcnIoZGV2LCAiRmFpbGVkIHRvIGlvcmVtYXAgbW1zeXMtY29uZmlnIHJlc291cmNl OiAlZFxuIiwKLQkJCXJldCk7Ci0JCXJldHVybiByZXQ7Ci0JfQorCXByaXZhdGUtPmNvbmZpZ19y ZWdzID0gc3lzY29uX25vZGVfdG9fcmVnbWFwKGRldi0+b2Zfbm9kZSk7CisJaWYgKElTX0VSUihw cml2YXRlLT5jb25maWdfcmVncykpCisJCXJldHVybiBQVFJfRVJSKHByaXZhdGUtPmNvbmZpZ19y ZWdzKTsKIAogCS8qIEl0ZXJhdGUgb3ZlciBzaWJsaW5nIERJU1AgZnVuY3Rpb24gYmxvY2tzICov CiAJZm9yX2VhY2hfY2hpbGRfb2Zfbm9kZShkZXYtPm9mX25vZGUtPnBhcmVudCwgbm9kZSkgewpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmggYi9kcml2 ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuaAppbmRleCA0ZWRjMDAyMzY4NGMuLjg2 Y2VjMTkxOTNjNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1f ZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmgKQEAgLTQ0 LDcgKzQ0LDcgQEAgc3RydWN0IG10a19kcm1fcHJpdmF0ZSB7CiAKIAlzdHJ1Y3QgZGV2aWNlX25v ZGUgKm11dGV4X25vZGU7CiAJc3RydWN0IGRldmljZSAqbXV0ZXhfZGV2OwotCXZvaWQgX19pb21l bSAqY29uZmlnX3JlZ3M7CisJc3RydWN0IHJlZ21hcCAqY29uZmlnX3JlZ3M7CiAJc3RydWN0IGRl dmljZV9ub2RlICpjb21wX25vZGVbRERQX0NPTVBPTkVOVF9JRF9NQVhdOwogCXN0cnVjdCBtdGtf ZGRwX2NvbXAgKmRkcF9jb21wW0REUF9DT01QT05FTlRfSURfTUFYXTsKIAljb25zdCBzdHJ1Y3Qg bXRrX21tc3lzX2RyaXZlcl9kYXRhICpkYXRhOwotLSAKMi4xNy4xCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRy aS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK