From mboxrd@z Thu Jan 1 00:00:00 1970 From: Neil Armstrong Subject: [RFC/RFT PATCH 1/4] drm/bridge: dw-hdmi: Switch to regmap for register access Date: Tue, 17 Jan 2017 13:31:31 +0100 Message-ID: <1484656294-6140-2-git-send-email-narmstrong@baylibre.com> References: <1484656294-6140-1-git-send-email-narmstrong@baylibre.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x22b.google.com (mail-wm0-x22b.google.com [IPv6:2a00:1450:400c:c09::22b]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2F20C6E671 for ; Tue, 17 Jan 2017 12:31:48 +0000 (UTC) Received: by mail-wm0-x22b.google.com with SMTP id r126so198666879wmr.0 for ; Tue, 17 Jan 2017 04:31:48 -0800 (PST) In-Reply-To: <1484656294-6140-1-git-send-email-narmstrong@baylibre.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, laurent.pinchart+renesas@ideasonboard.com Cc: Jose.Abreu@synopsys.com, linux-amlogic@lists.infradead.org, kieran.bingham@ideasonboard.com, linux-kernel@vger.kernel.org, Neil Armstrong List-Id: dri-devel@lists.freedesktop.org VGhlIFN5bm9wc3lzIERlc2lnbndhcmUgSERNSSBUWCBDb250cm9sbGVyIGRvZXMgbm90IGVuZm9y Y2UgcmVnaXN0ZXIgYWNjZXNzCm9uIHBsYXRmb3JtcyBpbnN0YW5jaWF0aW5nIGl0LgpUaGUgY3Vy cmVudCBkcml2ZXIgc3VwcG9ydHMgdHdvIGRpZmZlcmVudCB0eXBlcyBvZiBtZW1vcnktbWFwcGVk IGZsYXQKcmVnaXN0ZXIgYWNjZXNzLCBidXQgaW4gb3JkZXIgdG8gc3VwcG9ydCB0aGUgQW1sb2dp YyBNZXNvbiBTb0NzIGludGVncmF0aW9uLAphbmQgcHJvdmlkZSBhIG1vcmUgZ2VuZXJpYyB3YXkg dG8gaGFuZGxlIGFsbCBzb3J0cyBvZiByZWdpc3RlciBtYXBwaW5nLApzd2l0Y2ggdGhlIHJlZ2lz dGVyIGFjY2VzcyB0byB1c2UgdGhlIHJlZ21hcCBpbmZyYXN0cnVjdHVyZS4KCkluIHRoZSBjYXNl IG9mIHRoZSByZWdpc3RlcnMgYXJlIG5vdCBmbGF0IG1lbW9yeS1tYXBwZWQgb3IgZG9lcyBub3Qg Y29uZm9ybQphdCB0aGUgYWN0dWFsIGRyaXZlciBpbXBsZW1lbnRhdGlvbiwgYSByZWdtYXAgc3Ry dWN0IGNhbiBiZSBnaXZlbiBpbiB0aGUKcGxhdF9kYXRhIGFuZCBiZSB1c2VkIGF0IHByb2JlIG9y IGJpbmQuCgpTaW5jZSB0aGUgQUhCIGF1ZGlvIGRyaXZlciBvbmx5IHVzZXMgZGlyZWN0IG1lbW9y eSBhY2Nlc3MsIHVzaW5nIHJlZ21hcCBvbmx5CmFsbG93cyB0aGUgSTJTIGF1ZGlvIGRyaXZlciB0 byBiZSByZWdpc3RlcmVkLgoKU2lnbmVkLW9mZi1ieTogTmVpbCBBcm1zdHJvbmcgPG5hcm1zdHJv bmdAYmF5bGlicmUuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvZHctaGRtaS5jIHwg MTA1ICsrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQogaW5jbHVkZS9kcm0v YnJpZGdlL2R3X2hkbWkuaCAgICAgfCAgIDEgKwogMiBmaWxlcyBjaGFuZ2VkLCA1NyBpbnNlcnRp b25zKCspLCA0OSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYnJp ZGdlL2R3LWhkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvZHctaGRtaS5jCmluZGV4IGNh OWQwY2UuLjEzNzQ3ZmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvZHctaGRt aS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvZHctaGRtaS5jCkBAIC0yMCw2ICsyMCw3 IEBACiAjaW5jbHVkZSA8bGludXgvbXV0ZXguaD4KICNpbmNsdWRlIDxsaW51eC9vZl9kZXZpY2Uu aD4KICNpbmNsdWRlIDxsaW51eC9zcGlubG9jay5oPgorI2luY2x1ZGUgPGxpbnV4L3JlZ21hcC5o PgogCiAjaW5jbHVkZSA8ZHJtL2RybV9vZi5oPgogI2luY2x1ZGUgPGRybS9kcm1QLmg+CkBAIC0x NjcsOCArMTY4LDcgQEAgc3RydWN0IGR3X2hkbWkgewogCXVuc2lnbmVkIGludCBhdWRpb19uOwog CWJvb2wgYXVkaW9fZW5hYmxlOwogCi0Jdm9pZCAoKndyaXRlKShzdHJ1Y3QgZHdfaGRtaSAqaGRt aSwgdTggdmFsLCBpbnQgb2Zmc2V0KTsKLQl1OCAoKnJlYWQpKHN0cnVjdCBkd19oZG1pICpoZG1p LCBpbnQgb2Zmc2V0KTsKKwlzdHJ1Y3QgcmVnbWFwICpyZWdtOwogfTsKIAogI2RlZmluZSBIRE1J X0lIX1BIWV9TVEFUMF9SWF9TRU5TRSBcCkBAIC0xNzksNDIgKzE3OSwyMyBAQCBzdHJ1Y3QgZHdf aGRtaSB7CiAJKEhETUlfUEhZX1JYX1NFTlNFMCB8IEhETUlfUEhZX1JYX1NFTlNFMSB8IFwKIAkg SERNSV9QSFlfUlhfU0VOU0UyIHwgSERNSV9QSFlfUlhfU0VOU0UzKQogCi1zdGF0aWMgdm9pZCBk d19oZG1pX3dyaXRlbChzdHJ1Y3QgZHdfaGRtaSAqaGRtaSwgdTggdmFsLCBpbnQgb2Zmc2V0KQot ewotCXdyaXRlbCh2YWwsIGhkbWktPnJlZ3MgKyAob2Zmc2V0IDw8IDIpKTsKLX0KLQotc3RhdGlj IHU4IGR3X2hkbWlfcmVhZGwoc3RydWN0IGR3X2hkbWkgKmhkbWksIGludCBvZmZzZXQpCi17Ci0J cmV0dXJuIHJlYWRsKGhkbWktPnJlZ3MgKyAob2Zmc2V0IDw8IDIpKTsKLX0KLQotc3RhdGljIHZv aWQgZHdfaGRtaV93cml0ZWIoc3RydWN0IGR3X2hkbWkgKmhkbWksIHU4IHZhbCwgaW50IG9mZnNl dCkKLXsKLQl3cml0ZWIodmFsLCBoZG1pLT5yZWdzICsgb2Zmc2V0KTsKLX0KLQotc3RhdGljIHU4 IGR3X2hkbWlfcmVhZGIoc3RydWN0IGR3X2hkbWkgKmhkbWksIGludCBvZmZzZXQpCi17Ci0JcmV0 dXJuIHJlYWRiKGhkbWktPnJlZ3MgKyBvZmZzZXQpOwotfQotCiBzdGF0aWMgaW5saW5lIHZvaWQg aGRtaV93cml0ZWIoc3RydWN0IGR3X2hkbWkgKmhkbWksIHU4IHZhbCwgaW50IG9mZnNldCkKIHsK LQloZG1pLT53cml0ZShoZG1pLCB2YWwsIG9mZnNldCk7CisJcmVnbWFwX3dyaXRlKGhkbWktPnJl Z20sIG9mZnNldCwgdmFsKTsKIH0KIAogc3RhdGljIGlubGluZSB1OCBoZG1pX3JlYWRiKHN0cnVj dCBkd19oZG1pICpoZG1pLCBpbnQgb2Zmc2V0KQogewotCXJldHVybiBoZG1pLT5yZWFkKGhkbWks IG9mZnNldCk7CisJdW5zaWduZWQgaW50IHZhbCA9IDA7CisKKwlyZWdtYXBfcmVhZChoZG1pLT5y ZWdtLCBvZmZzZXQsICZ2YWwpOworCisJcmV0dXJuIHZhbDsKIH0KIAogc3RhdGljIHZvaWQgaGRt aV9tb2RiKHN0cnVjdCBkd19oZG1pICpoZG1pLCB1OCBkYXRhLCB1OCBtYXNrLCB1bnNpZ25lZCBy ZWcpCiB7Ci0JdTggdmFsID0gaGRtaV9yZWFkYihoZG1pLCByZWcpICYgfm1hc2s7Ci0KLQl2YWwg fD0gZGF0YSAmIG1hc2s7Ci0JaGRtaV93cml0ZWIoaGRtaSwgdmFsLCByZWcpOworCXJlZ21hcF91 cGRhdGVfYml0cyhoZG1pLT5yZWdtLCByZWcsIG1hc2ssIGRhdGEpOwogfQogCiBzdGF0aWMgdm9p ZCBoZG1pX21hc2tfd3JpdGViKHN0cnVjdCBkd19oZG1pICpoZG1pLCB1OCBkYXRhLCB1bnNpZ25l ZCBpbnQgcmVnLApAQCAtMTk0OSw2ICsxOTMwLDIxIEBAIHN0YXRpYyBpbnQgZHdfaGRtaV9kZXRl Y3RfcGh5KHN0cnVjdCBkd19oZG1pICpoZG1pKQogCXJldHVybiAwOwogfQogCitzdGF0aWMgc3Ry dWN0IHJlZ21hcF9jb25maWcgaGRtaV9yZWdtYXBfOGJpdF9jb25maWcgPSB7CisJLnJlZ19iaXRz CT0gMzIsCisJLnZhbF9iaXRzCT0gOCwKKwkucmVnX3N0cmlkZQk9IDEsCisJLm1heF9yZWdpc3Rl cgk9IEhETUlfSTJDTV9GU19TQ0xfTENOVF8wX0FERFIsCit9OworCitzdGF0aWMgc3RydWN0IHJl Z21hcF9jb25maWcgaGRtaV9yZWdtYXBfMzJiaXRfY29uZmlnID0geworCS5yZWdfYml0cwk9IDgs CisJLnBhZF9iaXRzCT0gMjQsCisJLnZhbF9iaXRzCT0gMzIsCisJLnJlZ19zdHJpZGUJPSA0LAor CS5tYXhfcmVnaXN0ZXIJPSBIRE1JX0kyQ01fRlNfU0NMX0xDTlRfMF9BRERSLAorfTsKKwogc3Rh dGljIHN0cnVjdCBkd19oZG1pICoKIF9fZHdfaGRtaV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2 aWNlICpwZGV2LAogCQljb25zdCBzdHJ1Y3QgZHdfaGRtaV9wbGF0X2RhdGEgKnBsYXRfZGF0YSkK QEAgLTE5NTgsNyArMTk1NCw4IEBAIHN0YXRpYyBpbnQgZHdfaGRtaV9kZXRlY3RfcGh5KHN0cnVj dCBkd19oZG1pICpoZG1pKQogCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2VfaW5mbyBwZGV2aW5mbzsK IAlzdHJ1Y3QgZGV2aWNlX25vZGUgKmRkY19ub2RlOwogCXN0cnVjdCBkd19oZG1pICpoZG1pOwot CXN0cnVjdCByZXNvdXJjZSAqaW9yZXM7CisJc3RydWN0IHJlZ21hcF9jb25maWcgKnJlZ19jb25m aWcgPSAmaGRtaV9yZWdtYXBfOGJpdF9jb25maWc7CisJc3RydWN0IHJlc291cmNlICppb3JlcyA9 IE5VTEw7CiAJaW50IGlycTsKIAlpbnQgcmV0OwogCXUzMiB2YWwgPSAxOwpAQCAtMTk4MiwyMCAr MTk3OSwyMSBAQCBzdGF0aWMgaW50IGR3X2hkbWlfZGV0ZWN0X3BoeShzdHJ1Y3QgZHdfaGRtaSAq aGRtaSkKIAltdXRleF9pbml0KCZoZG1pLT5hdWRpb19tdXRleCk7CiAJc3Bpbl9sb2NrX2luaXQo JmhkbWktPmF1ZGlvX2xvY2spOwogCi0Jb2ZfcHJvcGVydHlfcmVhZF91MzIobnAsICJyZWctaW8t d2lkdGgiLCAmdmFsKTsKLQotCXN3aXRjaCAodmFsKSB7Ci0JY2FzZSA0OgotCQloZG1pLT53cml0 ZSA9IGR3X2hkbWlfd3JpdGVsOwotCQloZG1pLT5yZWFkID0gZHdfaGRtaV9yZWFkbDsKLQkJYnJl YWs7Ci0JY2FzZSAxOgotCQloZG1pLT53cml0ZSA9IGR3X2hkbWlfd3JpdGViOwotCQloZG1pLT5y ZWFkID0gZHdfaGRtaV9yZWFkYjsKLQkJYnJlYWs7Ci0JZGVmYXVsdDoKLQkJZGV2X2VycihkZXYs ICJyZWctaW8td2lkdGggbXVzdCBiZSAxIG9yIDRcbiIpOwotCQlyZXR1cm4gRVJSX1BUUigtRUlO VkFMKTsKKwlpZiAocGxhdF9kYXRhLT5yZWdtKQorCQloZG1pLT5yZWdtID0gcGxhdF9kYXRhLT5y ZWdtOworCWVsc2UgeworCQlvZl9wcm9wZXJ0eV9yZWFkX3UzMihucCwgInJlZy1pby13aWR0aCIs ICZ2YWwpOworCQlzd2l0Y2ggKHZhbCkgeworCQljYXNlIDQ6CisJCQlyZWdfY29uZmlnID0gJmhk bWlfcmVnbWFwXzMyYml0X2NvbmZpZzsKKwkJCWJyZWFrOworCQljYXNlIDE6CisJCQlyZWdfY29u ZmlnID0gJmhkbWlfcmVnbWFwXzhiaXRfY29uZmlnOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJ CQlkZXZfZXJyKGRldiwgInJlZy1pby13aWR0aCBtdXN0IGJlIDEgb3IgNFxuIik7CisJCQlyZXR1 cm4gRVJSX1BUUigtRUlOVkFMKTsKKwkJfQogCX0KIAogCWRkY19ub2RlID0gb2ZfcGFyc2VfcGhh bmRsZShucCwgImRkYy1pMmMtYnVzIiwgMCk7CkBAIC0yMDExLDExICsyMDA5LDIwIEBAIHN0YXRp YyBpbnQgZHdfaGRtaV9kZXRlY3RfcGh5KHN0cnVjdCBkd19oZG1pICpoZG1pKQogCQlkZXZfZGJn KGhkbWktPmRldiwgIm5vIGRkYyBwcm9wZXJ0eSBmb3VuZFxuIik7CiAJfQogCi0JaW9yZXMgPSBw bGF0Zm9ybV9nZXRfcmVzb3VyY2UocGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOwotCWhkbWktPnJl Z3MgPSBkZXZtX2lvcmVtYXBfcmVzb3VyY2UoZGV2LCBpb3Jlcyk7Ci0JaWYgKElTX0VSUihoZG1p LT5yZWdzKSkgewotCQlyZXQgPSBQVFJfRVJSKGhkbWktPnJlZ3MpOwotCQlnb3RvIGVycl9yZXM7 CisJaWYgKCFwbGF0X2RhdGEtPnJlZ20pIHsKKwkJaW9yZXMgPSBwbGF0Zm9ybV9nZXRfcmVzb3Vy Y2UocGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOworCQloZG1pLT5yZWdzID0gZGV2bV9pb3JlbWFw X3Jlc291cmNlKGRldiwgaW9yZXMpOworCQlpZiAoSVNfRVJSKGhkbWktPnJlZ3MpKSB7CisJCQly ZXQgPSBQVFJfRVJSKGhkbWktPnJlZ3MpOworCQkJZ290byBlcnJfcmVzOworCQl9CisKKwkJaGRt aS0+cmVnbSA9IGRldm1fcmVnbWFwX2luaXRfbW1pbyhkZXYsIGhkbWktPnJlZ3MsIHJlZ19jb25m aWcpOworCQlpZiAoSVNfRVJSKGhkbWktPnJlZ20pKSB7CisJCQlkZXZfZXJyKGRldiwgIkZhaWxl ZCB0byBjb25maWd1cmUgcmVnbWFwXG4iKTsKKwkJCXJldCA9IFBUUl9FUlIoaGRtaS0+cmVnbSk7 CisJCQlnb3RvIGVycl9yZXM7CisJCX0KIAl9CiAKIAloZG1pLT5pc2ZyX2NsayA9IGRldm1fY2xr X2dldChoZG1pLT5kZXYsICJpc2ZyIik7CkBAIC0yMTIzLDcgKzIxMzAsNyBAQCBzdGF0aWMgaW50 IGR3X2hkbWlfZGV0ZWN0X3BoeShzdHJ1Y3QgZHdfaGRtaSAqaGRtaSkKIAljb25maWcwID0gaGRt aV9yZWFkYihoZG1pLCBIRE1JX0NPTkZJRzBfSUQpOwogCWNvbmZpZzMgPSBoZG1pX3JlYWRiKGhk bWksIEhETUlfQ09ORklHM19JRCk7CiAKLQlpZiAoY29uZmlnMyAmIEhETUlfQ09ORklHM19BSEJB VURETUEpIHsKKwlpZiAoaW9yZXMgJiYgY29uZmlnMyAmIEhETUlfQ09ORklHM19BSEJBVURETUEp IHsKIAkJc3RydWN0IGR3X2hkbWlfYXVkaW9fZGF0YSBhdWRpbzsKIAogCQlhdWRpby5waHlzID0g aW9yZXMtPnN0YXJ0OwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vYnJpZGdlL2R3X2hkbWkuaCBi L2luY2x1ZGUvZHJtL2JyaWRnZS9kd19oZG1pLmgKaW5kZXggNzM1YThhYi4uMTYzODQyZCAxMDA2 NDQKLS0tIGEvaW5jbHVkZS9kcm0vYnJpZGdlL2R3X2hkbWkuaAorKysgYi9pbmNsdWRlL2RybS9i cmlkZ2UvZHdfaGRtaS5oCkBAIC02MCw2ICs2MCw3IEBAIHN0cnVjdCBkd19oZG1pX3BsYXRfZGF0 YSB7CiAJCQkgICAgIHVuc2lnbmVkIGxvbmcgbXBpeGVsY2xvY2spOwogCWVudW0gZHJtX21vZGVf c3RhdHVzICgqbW9kZV92YWxpZCkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJ CQkJICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpOworCXN0cnVjdCByZWdtYXAgKnJl Z207CiB9OwogCiBpbnQgZHdfaGRtaV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 LAotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZl bAo=