From mboxrd@z Thu Jan 1 00:00:00 1970 From: matthias.bgg@kernel.org Subject: [v3 02/10] drm/mediatek: Use regmap for register access Date: Fri, 27 Apr 2018 11:23:54 +0200 Message-ID: <7e20139c8dcc9fe80aa9e401c7bd84a3b9464ff2.1524820923.git.mbrugger@suse.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: In-Reply-To: References: 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, davem@davemloft.net, linux-kernel@vger.kernel.org List-Id: linux-mediatek@lists.infradead.org RnJvbTogTWF0dGhpYXMgQnJ1Z2dlciA8bWJydWdnZXJAc3VzZS5jb20+CgpUaGUgbW1zeXMgbWVt b3J5IHNwYWNlIGlzIHNoYXJlZCBiZXR3ZWVuIHRoZSBkcm0gYW5kIHRoZQpjbGsgZHJpdmVyLiBV c2UgcmVnbWFwIHRvIGFjY2VzcyBpdC4KClNpZ25lZC1vZmYtYnk6IE1hdHRoaWFzIEJydWdnZXIg PG1icnVnZ2VyQHN1c2UuY29tPgpSZXZpZXdlZC1ieTogUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBw ZW5ndXRyb25peC5kZT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRj LmMgfCAgNCArKy0tCiBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHAuYyAgfCAz OCArKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9tZWRp YXRlay9tdGtfZHJtX2RkcC5oICB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9t dGtfZHJtX2Rydi5jICB8IDEzICsrKystLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsv bXRrX2RybV9kcnYuaCAgfCAgMiArLQogNSBmaWxlcyBjaGFuZ2VkLCAyNCBpbnNlcnRpb25zKCsp LCAzNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsv bXRrX2RybV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMK aW5kZXggNjU4YjhkZDQ1YjgzLi40YzY1ODczYjQ4NjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0 ZWsvbXRrX2RybV9jcnRjLmMKQEAgLTMzLDcgKzMzLDcgQEAKICAqIEBlbmFibGVkOiByZWNvcmRz IHdoZXRoZXIgY3J0Y19lbmFibGUgc3VjY2VlZGVkCiAgKiBAcGxhbmVzOiBhcnJheSBvZiA0IGRy bV9wbGFuZSBzdHJ1Y3R1cmVzLCBvbmUgZm9yIGVhY2ggb3ZlcmxheSBwbGFuZQogICogQHBlbmRp bmdfcGxhbmVzOiB3aGV0aGVyIGFueSBwbGFuZSBoYXMgcGVuZGluZyBjaGFuZ2VzIHRvIGJlIGFw cGxpZWQKLSAqIEBjb25maWdfcmVnczogbWVtb3J5IG1hcHBlZCBtbXN5cyBjb25maWd1cmF0aW9u IHJlZ2lzdGVyIHNwYWNlCisgKiBAY29uZmlnX3JlZ3M6IHJlZ21hcCBtYXBwZWQgbW1zeXMgY29u ZmlndXJhdGlvbiByZWdpc3RlciBzcGFjZQogICogQG11dGV4OiBoYW5kbGUgdG8gb25lIG9mIHRo ZSB0ZW4gZGlzcF9tdXRleCBzdHJlYW1zCiAgKiBAZGRwX2NvbXBfbnI6IG51bWJlciBvZiBjb21w b25lbnRzIGluIGRkcF9jb21wCiAgKiBAZGRwX2NvbXA6IGFycmF5IG9mIHBvaW50ZXJzIHRoZSBt dGtfZGRwX2NvbXAgc3RydWN0dXJlcyB1c2VkIGJ5IHRoaXMgY3J0YwpAQCAtNDgsNyArNDgsNyBA QCBzdHJ1Y3QgbXRrX2RybV9jcnRjIHsKIAlzdHJ1Y3QgZHJtX3BsYW5lCQlwbGFuZXNbT1ZMX0xB WUVSX05SXTsKIAlib29sCQkJCXBlbmRpbmdfcGxhbmVzOwogCi0Jdm9pZCBfX2lvbWVtCQkJKmNv bmZpZ19yZWdzOworCXN0cnVjdCByZWdtYXAJCQkqY29uZmlnX3JlZ3M7CiAJc3RydWN0IG10a19k aXNwX211dGV4CQkqbXV0ZXg7CiAJdW5zaWduZWQgaW50CQkJZGRwX2NvbXBfbnI7CiAJc3RydWN0 IG10a19kZHBfY29tcAkJKipkZHBfY29tcDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9t ZWRpYXRlay9tdGtfZHJtX2RkcC5jIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1f ZGRwLmMKaW5kZXggODEzMGYzZGFiNjYxLi5iYWZjNWM3N2M0ZmIgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9t ZWRpYXRlay9tdGtfZHJtX2RkcC5jCkBAIC0xODUsNTMgKzE4NSw0NSBAQCBzdGF0aWMgdW5zaWdu ZWQgaW50IG10a19kZHBfc2VsX2luKGVudW0gbXRrX2RkcF9jb21wX2lkIGN1ciwKIAlyZXR1cm4g dmFsdWU7CiB9CiAKLXN0YXRpYyB2b2lkIG10a19kZHBfc291dF9zZWwodm9pZCBfX2lvbWVtICpj b25maWdfcmVncywKK3N0YXRpYyB2b2lkIG10a19kZHBfc291dF9zZWwoc3RydWN0IHJlZ21hcCAq Y29uZmlnX3JlZ3MsCiAJCQkgICAgIGVudW0gbXRrX2RkcF9jb21wX2lkIGN1ciwKIAkJCSAgICAg ZW51bSBtdGtfZGRwX2NvbXBfaWQgbmV4dCkKIHsKIAlpZiAoY3VyID09IEREUF9DT01QT05FTlRf QkxTICYmIG5leHQgPT0gRERQX0NPTVBPTkVOVF9EU0kwKQotCQl3cml0ZWxfcmVsYXhlZChCTFNf VE9fRFNJX1JETUExX1RPX0RQSTEsCi0JCQkgICAgICAgY29uZmlnX3JlZ3MgKyBESVNQX1JFR19D T05GSUdfT1VUX1NFTCk7CisJCXJlZ21hcF93cml0ZShjb25maWdfcmVncywgRElTUF9SRUdfQ09O RklHX09VVF9TRUwsCisJCQkJQkxTX1RPX0RTSV9SRE1BMV9UT19EUEkxKTsKIH0KIAotdm9pZCBt dGtfZGRwX2FkZF9jb21wX3RvX3BhdGgodm9pZCBfX2lvbWVtICpjb25maWdfcmVncywKK3ZvaWQg bXRrX2RkcF9hZGRfY29tcF90b19wYXRoKHN0cnVjdCByZWdtYXAgKmNvbmZpZ19yZWdzLAogCQkJ ICAgICAgZW51bSBtdGtfZGRwX2NvbXBfaWQgY3VyLAogCQkJICAgICAgZW51bSBtdGtfZGRwX2Nv bXBfaWQgbmV4dCkKIHsKLQl1bnNpZ25lZCBpbnQgYWRkciwgdmFsdWUsIHJlZzsKKwl1bnNpZ25l ZCBpbnQgYWRkciwgdmFsdWU7CiAKIAl2YWx1ZSA9IG10a19kZHBfbW91dF9lbihjdXIsIG5leHQs ICZhZGRyKTsKLQlpZiAodmFsdWUpIHsKLQkJcmVnID0gcmVhZGxfcmVsYXhlZChjb25maWdfcmVn cyArIGFkZHIpIHwgdmFsdWU7Ci0JCXdyaXRlbF9yZWxheGVkKHJlZywgY29uZmlnX3JlZ3MgKyBh ZGRyKTsKLQl9CisJaWYgKHZhbHVlKQorCQlyZWdtYXBfdXBkYXRlX2JpdHMoY29uZmlnX3JlZ3Ms IGFkZHIsIHZhbHVlLCB2YWx1ZSk7CiAKIAltdGtfZGRwX3NvdXRfc2VsKGNvbmZpZ19yZWdzLCBj dXIsIG5leHQpOwogCiAJdmFsdWUgPSBtdGtfZGRwX3NlbF9pbihjdXIsIG5leHQsICZhZGRyKTsK LQlpZiAodmFsdWUpIHsKLQkJcmVnID0gcmVhZGxfcmVsYXhlZChjb25maWdfcmVncyArIGFkZHIp IHwgdmFsdWU7Ci0JCXdyaXRlbF9yZWxheGVkKHJlZywgY29uZmlnX3JlZ3MgKyBhZGRyKTsKLQl9 CisJaWYgKHZhbHVlKQorCQlyZWdtYXBfdXBkYXRlX2JpdHMoY29uZmlnX3JlZ3MsIGFkZHIsIHZh bHVlLCB2YWx1ZSk7CiB9CiAKLXZvaWQgbXRrX2RkcF9yZW1vdmVfY29tcF9mcm9tX3BhdGgodm9p ZCBfX2lvbWVtICpjb25maWdfcmVncywKK3ZvaWQgbXRrX2RkcF9yZW1vdmVfY29tcF9mcm9tX3Bh dGgoc3RydWN0IHJlZ21hcCAqY29uZmlnX3JlZ3MsCiAJCQkJICAgZW51bSBtdGtfZGRwX2NvbXBf aWQgY3VyLAogCQkJCSAgIGVudW0gbXRrX2RkcF9jb21wX2lkIG5leHQpCiB7Ci0JdW5zaWduZWQg aW50IGFkZHIsIHZhbHVlLCByZWc7CisJdW5zaWduZWQgaW50IGFkZHIsIHZhbHVlOwogCiAJdmFs dWUgPSBtdGtfZGRwX21vdXRfZW4oY3VyLCBuZXh0LCAmYWRkcik7Ci0JaWYgKHZhbHVlKSB7Ci0J CXJlZyA9IHJlYWRsX3JlbGF4ZWQoY29uZmlnX3JlZ3MgKyBhZGRyKSAmIH52YWx1ZTsKLQkJd3Jp dGVsX3JlbGF4ZWQocmVnLCBjb25maWdfcmVncyArIGFkZHIpOwotCX0KKwlpZiAodmFsdWUpCisJ CXJlZ21hcF91cGRhdGVfYml0cyhjb25maWdfcmVncywgYWRkciwgdmFsdWUsIDApOwogCiAJdmFs dWUgPSBtdGtfZGRwX3NlbF9pbihjdXIsIG5leHQsICZhZGRyKTsKLQlpZiAodmFsdWUpIHsKLQkJ cmVnID0gcmVhZGxfcmVsYXhlZChjb25maWdfcmVncyArIGFkZHIpICYgfnZhbHVlOwotCQl3cml0 ZWxfcmVsYXhlZChyZWcsIGNvbmZpZ19yZWdzICsgYWRkcik7Ci0JfQorCWlmICh2YWx1ZSkKKwkJ cmVnbWFwX3VwZGF0ZV9iaXRzKGNvbmZpZ19yZWdzLCBhZGRyLCB2YWx1ZSwgMCk7CiB9CiAKIHN0 cnVjdCBtdGtfZGlzcF9tdXRleCAqbXRrX2Rpc3BfbXV0ZXhfZ2V0KHN0cnVjdCBkZXZpY2UgKmRl diwgdW5zaWduZWQgaW50IGlkKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVr L210a19kcm1fZGRwLmggYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHAuaApp bmRleCBmOWE3OTkxNjgwNzcuLjMyZTEyZjMzYjc2YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL21lZGlhdGVrL210a19kcm1fZGRwLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVr L210a19kcm1fZGRwLmgKQEAgLTIwLDEwICsyMCwxMCBAQCBzdHJ1Y3QgcmVnbWFwOwogc3RydWN0 IGRldmljZTsKIHN0cnVjdCBtdGtfZGlzcF9tdXRleDsKIAotdm9pZCBtdGtfZGRwX2FkZF9jb21w X3RvX3BhdGgodm9pZCBfX2lvbWVtICpjb25maWdfcmVncywKK3ZvaWQgbXRrX2RkcF9hZGRfY29t cF90b19wYXRoKHN0cnVjdCByZWdtYXAgKmNvbmZpZ19yZWdzLAogCQkJICAgICAgZW51bSBtdGtf ZGRwX2NvbXBfaWQgY3VyLAogCQkJICAgICAgZW51bSBtdGtfZGRwX2NvbXBfaWQgbmV4dCk7Ci12 b2lkIG10a19kZHBfcmVtb3ZlX2NvbXBfZnJvbV9wYXRoKHZvaWQgX19pb21lbSAqY29uZmlnX3Jl Z3MsCit2b2lkIG10a19kZHBfcmVtb3ZlX2NvbXBfZnJvbV9wYXRoKHN0cnVjdCByZWdtYXAgKmNv bmZpZ19yZWdzLAogCQkJCSAgIGVudW0gbXRrX2RkcF9jb21wX2lkIGN1ciwKIAkJCQkgICBlbnVt IG10a19kZHBfY29tcF9pZCBuZXh0KTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19kcm1fZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9k cnYuYwppbmRleCBhMmNhOTBmYzQwM2MuLmE0OGUyOGFkYWQwOSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19kcm1fZHJ2LmMKQEAgLTIxLDYgKzIxLDcgQEAKICNpbmNsdWRlIDxkcm0vZHJt X29mLmg+CiAjaW5jbHVkZSA8bGludXgvY29tcG9uZW50Lmg+CiAjaW5jbHVkZSA8bGludXgvaW9t bXUuaD4KKyNpbmNsdWRlIDxsaW51eC9tZmQvc3lzY29uLmg+CiAjaW5jbHVkZSA8bGludXgvb2Zf YWRkcmVzcy5oPgogI2luY2x1ZGUgPGxpbnV4L29mX3BsYXRmb3JtLmg+CiAjaW5jbHVkZSA8bGlu dXgvcG1fcnVudGltZS5oPgpAQCAtMzg1LDcgKzM4Niw2IEBAIHN0YXRpYyBpbnQgbXRrX2RybV9w cm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQogewogCXN0cnVjdCBkZXZpY2UgKmRl diA9ICZwZGV2LT5kZXY7CiAJc3RydWN0IG10a19kcm1fcHJpdmF0ZSAqcHJpdmF0ZTsKLQlzdHJ1 Y3QgcmVzb3VyY2UgKm1lbTsKIAlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGU7CiAJc3RydWN0IGNv bXBvbmVudF9tYXRjaCAqbWF0Y2ggPSBOVUxMOwogCWludCByZXQ7CkBAIC0zOTksMTQgKzM5OSw5 IEBAIHN0YXRpYyBpbnQgbXRrX2RybV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 KQogCUlOSVRfV09SSygmcHJpdmF0ZS0+Y29tbWl0LndvcmssIG10a19hdG9taWNfd29yayk7CiAJ cHJpdmF0ZS0+ZGF0YSA9IG9mX2RldmljZV9nZXRfbWF0Y2hfZGF0YShkZXYpOwogCi0JbWVtID0g cGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsKLQlwcml2YXRl LT5jb25maWdfcmVncyA9IGRldm1faW9yZW1hcF9yZXNvdXJjZShkZXYsIG1lbSk7Ci0JaWYgKElT X0VSUihwcml2YXRlLT5jb25maWdfcmVncykpIHsKLQkJcmV0ID0gUFRSX0VSUihwcml2YXRlLT5j b25maWdfcmVncyk7Ci0JCWRldl9lcnIoZGV2LCAiRmFpbGVkIHRvIGlvcmVtYXAgbW1zeXMtY29u ZmlnIHJlc291cmNlOiAlZFxuIiwKLQkJCXJldCk7Ci0JCXJldHVybiByZXQ7Ci0JfQorCXByaXZh dGUtPmNvbmZpZ19yZWdzID0gc3lzY29uX25vZGVfdG9fcmVnbWFwKGRldi0+b2Zfbm9kZSk7CisJ aWYgKElTX0VSUihwcml2YXRlLT5jb25maWdfcmVncykpCisJCXJldHVybiBQVFJfRVJSKHByaXZh dGUtPmNvbmZpZ19yZWdzKTsKIAogCS8qIEl0ZXJhdGUgb3ZlciBzaWJsaW5nIERJU1AgZnVuY3Rp b24gYmxvY2tzICovCiAJZm9yX2VhY2hfY2hpbGRfb2Zfbm9kZShkZXYtPm9mX25vZGUtPnBhcmVu dCwgbm9kZSkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1f ZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuaAppbmRleCBjMzM3 OGM0NTJjMGEuLmM2ZmEwYWQ0NThlOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlh dGVrL210a19kcm1fZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1f ZHJ2LmgKQEAgLTQ0LDcgKzQ0LDcgQEAgc3RydWN0IG10a19kcm1fcHJpdmF0ZSB7CiAKIAlzdHJ1 Y3QgZGV2aWNlX25vZGUgKm11dGV4X25vZGU7CiAJc3RydWN0IGRldmljZSAqbXV0ZXhfZGV2Owot CXZvaWQgX19pb21lbSAqY29uZmlnX3JlZ3M7CisJc3RydWN0IHJlZ21hcCAqY29uZmlnX3JlZ3M7 CiAJc3RydWN0IGRldmljZV9ub2RlICpjb21wX25vZGVbRERQX0NPTVBPTkVOVF9JRF9NQVhdOwog CXN0cnVjdCBtdGtfZGRwX2NvbXAgKmRkcF9jb21wW0REUF9DT01QT05FTlRfSURfTUFYXTsKIAlj b25zdCBzdHJ1Y3QgbXRrX21tc3lzX2RyaXZlcl9kYXRhICpkYXRhOwotLSAKMi4xNi4zCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFp bGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK