From mboxrd@z Thu Jan 1 00:00:00 1970
From: Philipp Zabel
Subject: Re: [PATCH v4 3/8] drm/mediatek: add shadow register support
Date: Mon, 18 Jul 2016 10:36:32 +0200
Message-ID: <1468830992.2994.6.camel@pengutronix.de>
References: <1468577274-6178-1-git-send-email-yt.shen@mediatek.com>
<1468577274-6178-4-git-send-email-yt.shen@mediatek.com>
<1468823575.30644.33.camel@mtksdaap41>
Mime-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Return-path:
In-Reply-To: <1468823575.30644.33.camel@mtksdaap41>
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: dri-devel-bounces@lists.freedesktop.org
Sender: "dri-devel"
To: CK Hu
Cc: Mark Rutland , devicetree@vger.kernel.org, Russell King , srv_heupstream@mediatek.com, Pawel Moll , Ian Campbell , emil.l.velikov@gmail.com, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Mao Huang , Matthias Brugger , Rob Herring , linux-mediatek@lists.infradead.org, Kumar Gala , yingjoe.chen@mediatek.com, Sascha Hauer , linux-arm-kernel@lists.infradead.org
List-Id: devicetree@vger.kernel.org
SGkgQ0ssIFlULAoKQW0gTW9udGFnLCBkZW4gMTguMDcuMjAxNiwgMTQ6MzIgKzA4MDAgc2Nocmll
YiBDSyBIdToKPiBIaSwgWVQ6Cj4gCj4gT25lIGNvbW1lbnQgaW5saW5lLgo+IAo+IAo+IE9uIEZy
aSwgMjAxNi0wNy0xNSBhdCAxODowNyArMDgwMCwgWVQgU2hlbiB3cm90ZToKPiA+IFdlIG5lZWQg
dG8gYWNxdWlyZSBtdXRleCBiZWZvcmUgdXNpbmcgdGhlIHJlc291cmNlcywKPiA+IGFuZCBuZWVk
IHRvIHJlbGVhc2UgaXQgYWZ0ZXIgZmluaXNoZWQuCj4gPiBTbyB3ZSBkb24ndCBuZWVkIHRvIHdy
aXRlIHJlZ2lzdGVycyBpbiB0aGUgYmxhbmtpbmcgcGVyaW9kLgo+ID4gCj4gPiBTaWduZWQtb2Zm
LWJ5OiBZVCBTaGVuIDx5dC5zaGVuQG1lZGlhdGVrLmNvbT4KPiA+IC0tLQo+ID4gIGRyaXZlcnMv
Z3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuYyB8ICAgNzUgKysrKysrKysrKysrKysrKysr
Ky0tLS0tLS0tLS0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcC5j
ICB8ICAgMjIgKysrKysrKysrCj4gPiAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1f
ZGRwLmggIHwgICAgMiArCj4gPiAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2
LmggIHwgICAgMSArCj4gPiAgNCBmaWxlcyBjaGFuZ2VkLCA3MSBpbnNlcnRpb25zKCspLCAyOSBk
ZWxldGlvbnMoLSkKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRl
ay9tdGtfZHJtX2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMu
Ywo+ID4gaW5kZXggMjRhYTNiYS4uODBkOTY0MSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1
L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21l
ZGlhdGVrL210a19kcm1fY3J0Yy5jCj4gPiBAQCAtMzE1LDYgKzMxNSw0MiBAQCBzdGF0aWMgdm9p
ZCBtdGtfY3J0Y19kZHBfaHdfZmluaShzdHJ1Y3QgbXRrX2RybV9jcnRjICptdGtfY3J0YykKPiA+
ICAJcG1fcnVudGltZV9wdXQoZHJtLT5kZXYpOwo+ID4gIH0KPiA+ICAKPiA+ICtzdGF0aWMgdm9p
ZCBtdGtfY3J0Y19kZHBfY29uZmlnKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiA+ICt7Cj4gPiAr
CXN0cnVjdCBtdGtfZHJtX2NydGMgKm10a19jcnRjID0gdG9fbXRrX2NydGMoY3J0Yyk7Cj4gPiAr
CXN0cnVjdCBtdGtfY3J0Y19zdGF0ZSAqc3RhdGUgPSB0b19tdGtfY3J0Y19zdGF0ZShtdGtfY3J0
Yy0+YmFzZS5zdGF0ZSk7Cj4gPiArCXN0cnVjdCBtdGtfZGRwX2NvbXAgKm92bCA9IG10a19jcnRj
LT5kZHBfY29tcFswXTsKPiA+ICsJdW5zaWduZWQgaW50IGk7Cj4gPiArCj4gPiArCS8qCj4gPiAr
CSAqIFRPRE86IGluc3RlYWQgb2YgdXBkYXRpbmcgdGhlIHJlZ2lzdGVycyBoZXJlLCB3ZSBzaG91
bGQgcHJlcGFyZQo+ID4gKwkgKiB3b3JraW5nIHJlZ2lzdGVycyBpbiBhdG9taWNfY29tbWl0IGFu
ZCBsZXQgdGhlIGhhcmR3YXJlIGNvbW1hbmQKPiA+ICsJICogcXVldWUgdXBkYXRlIG1vZHVsZSBy
ZWdpc3RlcnMgb24gdmJsYW5rLgo+ID4gKwkgKi8KPiA+ICsJaWYgKHN0YXRlLT5wZW5kaW5nX2Nv
bmZpZykgewo+ID4gKwkJbXRrX2RkcF9jb21wX2NvbmZpZyhvdmwsIHN0YXRlLT5wZW5kaW5nX3dp
ZHRoLAo+ID4gKwkJCQkgICAgc3RhdGUtPnBlbmRpbmdfaGVpZ2h0LAo+ID4gKwkJCQkgICAgc3Rh
dGUtPnBlbmRpbmdfdnJlZnJlc2gpOwo+ID4gKwo+ID4gKwkJc3RhdGUtPnBlbmRpbmdfY29uZmln
ID0gZmFsc2U7Cj4gPiArCX0KPiA+ICsKPiA+ICsJaWYgKG10a19jcnRjLT5wZW5kaW5nX3BsYW5l
cykgewo+ID4gKwkJZm9yIChpID0gMDsgaSA8IE9WTF9MQVlFUl9OUjsgaSsrKSB7Cj4gPiArCQkJ
c3RydWN0IGRybV9wbGFuZSAqcGxhbmUgPSAmbXRrX2NydGMtPnBsYW5lc1tpXS5iYXNlOwo+ID4g
KwkJCXN0cnVjdCBtdGtfcGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlOwo+ID4gKwo+ID4gKwkJCXBs
YW5lX3N0YXRlID0gdG9fbXRrX3BsYW5lX3N0YXRlKHBsYW5lLT5zdGF0ZSk7Cj4gPiArCj4gPiAr
CQkJaWYgKHBsYW5lX3N0YXRlLT5wZW5kaW5nLmNvbmZpZykgewo+ID4gKwkJCQltdGtfZGRwX2Nv
bXBfbGF5ZXJfY29uZmlnKG92bCwgaSwgcGxhbmVfc3RhdGUpOwo+ID4gKwkJCQlwbGFuZV9zdGF0
ZS0+cGVuZGluZy5jb25maWcgPSBmYWxzZTsKPiA+ICsJCQl9Cj4gPiArCQl9Cj4gPiArCQltdGtf
Y3J0Yy0+cGVuZGluZ19wbGFuZXMgPSBmYWxzZTsKPiA+ICsJfQo+ID4gK30KPiA+ICsKPiA+ICBz
dGF0aWMgdm9pZCBtdGtfZHJtX2NydGNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiA+
ICB7Cj4gPiAgCXN0cnVjdCBtdGtfZHJtX2NydGMgKm10a19jcnRjID0gdG9fbXRrX2NydGMoY3J0
Yyk7Cj4gPiBAQCAtMzkxLDYgKzQyNyw3IEBAIHN0YXRpYyB2b2lkIG10a19kcm1fY3J0Y19hdG9t
aWNfZmx1c2goc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4gIAkJCQkgICAgICBzdHJ1Y3QgZHJt
X2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlKQo+ID4gIHsKPiA+ICAJc3RydWN0IG10a19kcm1f
Y3J0YyAqbXRrX2NydGMgPSB0b19tdGtfY3J0YyhjcnRjKTsKPiA+ICsJc3RydWN0IG10a19kcm1f
cHJpdmF0ZSAqcHJpdiA9IGNydGMtPmRldi0+ZGV2X3ByaXZhdGU7Cj4gPiAgCXVuc2lnbmVkIGlu
dCBwZW5kaW5nX3BsYW5lcyA9IDA7Cj4gPiAgCWludCBpOwo+ID4gIAo+ID4gQEAgLTQwOSw2ICs0
NDYsMTIgQEAgc3RhdGljIHZvaWQgbXRrX2RybV9jcnRjX2F0b21pY19mbHVzaChzdHJ1Y3QgZHJt
X2NydGMgKmNydGMsCj4gPiAgCX0KPiA+ICAJaWYgKHBlbmRpbmdfcGxhbmVzKQo+ID4gIAkJbXRr
X2NydGMtPnBlbmRpbmdfcGxhbmVzID0gdHJ1ZTsKPiA+ICsKPiA+ICsJaWYgKHByaXYtPmRhdGEt
PnNoYWRvd19yZWdpc3Rlcikgewo+ID4gKwkJbXRrX2Rpc3BfbXV0ZXhfYWNxdWlyZShtdGtfY3J0
Yy0+bXV0ZXgpOwo+ID4gKwkJbXRrX2NydGNfZGRwX2NvbmZpZyhjcnRjKTsKPiA+ICsJCW10a19k
aXNwX211dGV4X3JlbGVhc2UobXRrX2NydGMtPm11dGV4KTsKPiA+ICsJfQo+ID4gIH0KPiA+ICAK
PiA+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jcnRjX2Z1bmNzIG10a19jcnRjX2Z1bmNzID0g
ewo+ID4gQEAgLTQ1MywzNiArNDk2LDEwIEBAIGVycl9jbGVhbnVwX2NydGM6Cj4gPiAgdm9pZCBt
dGtfY3J0Y19kZHBfaXJxKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yywgc3RydWN0IG10a19kZHBfY29t
cCAqb3ZsKQo+ID4gIHsKPiA+ICAJc3RydWN0IG10a19kcm1fY3J0YyAqbXRrX2NydGMgPSB0b19t
dGtfY3J0YyhjcnRjKTsKPiA+IC0Jc3RydWN0IG10a19jcnRjX3N0YXRlICpzdGF0ZSA9IHRvX210
a19jcnRjX3N0YXRlKG10a19jcnRjLT5iYXNlLnN0YXRlKTsKPiA+IC0JdW5zaWduZWQgaW50IGk7
Cj4gPiArCXN0cnVjdCBtdGtfZHJtX3ByaXZhdGUgKnByaXYgPSBjcnRjLT5kZXYtPmRldl9wcml2
YXRlOwo+ID4gIAo+ID4gLQkvKgo+ID4gLQkgKiBUT0RPOiBpbnN0ZWFkIG9mIHVwZGF0aW5nIHRo
ZSByZWdpc3RlcnMgaGVyZSwgd2Ugc2hvdWxkIHByZXBhcmUKPiA+IC0JICogd29ya2luZyByZWdp
c3RlcnMgaW4gYXRvbWljX2NvbW1pdCBhbmQgbGV0IHRoZSBoYXJkd2FyZSBjb21tYW5kCj4gPiAt
CSAqIHF1ZXVlIHVwZGF0ZSBtb2R1bGUgcmVnaXN0ZXJzIG9uIHZibGFuay4KPiA+IC0JICovCj4g
PiAtCWlmIChzdGF0ZS0+cGVuZGluZ19jb25maWcpIHsKPiA+IC0JCW10a19kZHBfY29tcF9jb25m
aWcob3ZsLCBzdGF0ZS0+cGVuZGluZ193aWR0aCwKPiA+IC0JCQkJICAgIHN0YXRlLT5wZW5kaW5n
X2hlaWdodCwKPiA+IC0JCQkJICAgIHN0YXRlLT5wZW5kaW5nX3ZyZWZyZXNoKTsKPiA+IC0KPiA+
IC0JCXN0YXRlLT5wZW5kaW5nX2NvbmZpZyA9IGZhbHNlOwo+ID4gLQl9Cj4gPiAtCj4gPiAtCWlm
IChtdGtfY3J0Yy0+cGVuZGluZ19wbGFuZXMpIHsKPiA+IC0JCWZvciAoaSA9IDA7IGkgPCBPVkxf
TEFZRVJfTlI7IGkrKykgewo+ID4gLQkJCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lID0gJm10a19j
cnRjLT5wbGFuZXNbaV0uYmFzZTsKPiA+IC0JCQlzdHJ1Y3QgbXRrX3BsYW5lX3N0YXRlICpwbGFu
ZV9zdGF0ZTsKPiA+IC0KPiA+IC0JCQlwbGFuZV9zdGF0ZSA9IHRvX210a19wbGFuZV9zdGF0ZShw
bGFuZS0+c3RhdGUpOwo+ID4gLQo+ID4gLQkJCWlmIChwbGFuZV9zdGF0ZS0+cGVuZGluZy5jb25m
aWcpIHsKPiA+IC0JCQkJbXRrX2RkcF9jb21wX2xheWVyX2NvbmZpZyhvdmwsIGksIHBsYW5lX3N0
YXRlKTsKPiA+IC0JCQkJcGxhbmVfc3RhdGUtPnBlbmRpbmcuY29uZmlnID0gZmFsc2U7Cj4gPiAt
CQkJfQo+ID4gLQkJfQo+ID4gLQkJbXRrX2NydGMtPnBlbmRpbmdfcGxhbmVzID0gZmFsc2U7Cj4g
PiAtCX0KPiA+ICsJaWYgKCFwcml2LT5kYXRhLT5zaGFkb3dfcmVnaXN0ZXIpCj4gPiArCQltdGtf
Y3J0Y19kZHBfY29uZmlnKGNydGMpOwo+ID4gIAo+ID4gIAltdGtfZHJtX2ZpbmlzaF9wYWdlX2Zs
aXAobXRrX2NydGMpOwo+ID4gIH0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVk
aWF0ZWsvbXRrX2RybV9kZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rk
cC5jCj4gPiBpbmRleCA4MDMwNzY5Li5mYTUzODA2IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9n
cHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9t
ZWRpYXRlay9tdGtfZHJtX2RkcC5jCj4gPiBAQCAtMTIsNiArMTIsNyBAQAo+ID4gICAqLwo+ID4g
IAo+ID4gICNpbmNsdWRlIDxsaW51eC9jbGsuaD4KPiA+ICsjaW5jbHVkZSA8bGludXgvaW9wb2xs
Lmg+Cj4gPiAgI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgo+ID4gICNpbmNsdWRlIDxsaW51eC9v
Zl9kZXZpY2UuaD4KPiA+ICAjaW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+Cj4gPiBA
QCAtMzIsNiArMzMsNyBAQAo+ID4gICNkZWZpbmUgRElTUF9SRUdfQ09ORklHX01NU1lTX0NHX0NP
TjAJCTB4MTAwCj4gPiAgCj4gPiAgI2RlZmluZSBESVNQX1JFR19NVVRFWF9FTihuKQkoMHgyMCAr
IDB4MjAgKiAobikpCj4gPiArI2RlZmluZSBESVNQX1JFR19NVVRFWChuKQkoMHgyNCArIDB4MjAg
KiAobikpCj4gPiAgI2RlZmluZSBESVNQX1JFR19NVVRFWF9SU1QobikJKDB4MjggKyAweDIwICog
KG4pKQo+ID4gICNkZWZpbmUgRElTUF9SRUdfTVVURVhfTU9EKG4pCSgweDJjICsgMHgyMCAqIChu
KSkKPiA+ICAjZGVmaW5lIERJU1BfUkVHX01VVEVYX1NPRihuKQkoMHgzMCArIDB4MjAgKiAobikp
Cj4gPiBAQCAtMzAwLDYgKzMwMiwyNiBAQCB2b2lkIG10a19kaXNwX211dGV4X2Rpc2FibGUoc3Ry
dWN0IG10a19kaXNwX211dGV4ICptdXRleCkKPiA+ICAJd3JpdGVsKDAsIGRkcC0+cmVncyArIERJ
U1BfUkVHX01VVEVYX0VOKG11dGV4LT5pZCkpOwo+ID4gIH0KPiA+ICAKPiA+ICt2b2lkIG10a19k
aXNwX211dGV4X2FjcXVpcmUoc3RydWN0IG10a19kaXNwX211dGV4ICptdXRleCkKPiA+ICt7Cj4g
PiArCXN0cnVjdCBtdGtfZGRwICpkZHAgPSBjb250YWluZXJfb2YobXV0ZXgsIHN0cnVjdCBtdGtf
ZGRwLAo+ID4gKwkJCQkJICAgbXV0ZXhbbXV0ZXgtPmlkXSk7Cj4gPiArCXUzMiB0bXA7Cj4gPiAr
Cj4gPiArCXdyaXRlbCgxLCBkZHAtPnJlZ3MgKyBESVNQX1JFR19NVVRFWF9FTihtdXRleC0+aWQp
KTsKPiA+ICsJd3JpdGVsKDEsIGRkcC0+cmVncyArIERJU1BfUkVHX01VVEVYKG11dGV4LT5pZCkp
Owo+ID4gKwlyZWFkbF9wb2xsX3RpbWVvdXRfYXRvbWljKGRkcC0+cmVncyArIERJU1BfUkVHX01V
VEVYKG11dGV4LT5pZCksIHRtcCwKPiA+ICsJCQkJICB0bXAgJiAweDIsIDEsIDEwMDAwKTsKClBs
ZWFzZSBhZGQgYSBkZXNjcmlwdGl2ZSAjZGVmaW5lIGZvciB0aGUgMHgyIGJpdCBvZiB0aGUgRElT
UF9SRUdfTVVURVgKcmVnaXN0ZXJzLgoKPiBOb3RoaW5nIHRvIGRvIHdpdGggdGltZW91dD8gSSB0
aGluayBpdCBzaG91bGQgcHJpbnQgZXJyb3IgbWVzc2FnZSBoZXJlCj4gb3IgcmVzZXQgSFcgdG8g
cmVjb3ZlciBpdC4KCkkgYXNzdW1lIHRoYXQgaWYgbXRrX2Rpc3BfbXV0ZXhfYWNxdWlyZSBpcyBj
YWxsZWQgd2hpbGUgdGhlIGhhcmR3YXJlIGhhcwp0aGUgbXV0ZXggKGR1cmluZyB0aGUgc2hhZG93
IHJlZ2lzdGVyIHVwZGF0ZSksIHRoaXMgc2hvdWxkIHdhaXQgdW50aWwKdGhlIHVwZGF0ZSBpcyBj
b21wbGV0ZSwgc2luY2UgaXQgY2FuJ3QgYmFjayBvdXQgZnJvbSB0cnlpbmcgdG8gYWNxdWlyZQp0
aGUgbG9jay4gSXMgdGhhdCB0aGUgY2FzZT8KCnJlZ2FyZHMKUGhpbGlwcAoKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz
dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0
b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==