From mboxrd@z Thu Jan 1 00:00:00 1970
From: Philipp Zabel
Subject: [PATCH v4.5 3/4] drm/mediatek: Add gamma correction.
Date: Thu, 11 Aug 2016 11:11:25 +0200
Message-ID: <1470906685.2493.34.camel@pengutronix.de>
References: <1469672575-5847-1-git-send-email-bibby.hsieh@mediatek.com>
<1469672575-5847-4-git-send-email-bibby.hsieh@mediatek.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Return-path:
In-Reply-To: <1469672575-5847-4-git-send-email-bibby.hsieh@mediatek.com>
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: dri-devel-bounces@lists.freedesktop.org
Sender: "dri-devel"
To: Bibby Hsieh
Cc: linux-kernel@vger.kernel.org, Daniel Vetter , Cawa Cheng , dri-devel@lists.freedesktop.org, Mao Huang , linux-mediatek@lists.infradead.org, Sascha Hauer , Matthias Brugger , Yingjoe Chen , linux-arm-kernel@lists.infradead.org
List-Id: linux-mediatek@lists.infradead.org
RnJvbSAyZjNmNGRkYTc0N2MwNjE5NTk0ZDEzOTk2ZTY1NTk4YWI2NzVjNjBjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBCaWJieSBIc2llaCA8YmliYnkuaHNpZWhAbWVkaWF0ZWsuY29t
PgpEYXRlOiBUaHUsIDI4IEp1bCAyMDE2IDEwOjIyOjU0ICswODAwClN1YmplY3Q6IFtQQVRDSF0g
ZHJtL21lZGlhdGVrOiBBZGQgZ2FtbWEgY29ycmVjdGlvbi4KCkFkZCBnYW1tYSBzZXQgZnVuY3Rp
b24gdG8gY29ycmVjdCBicmlnaHRuZXNzIHZhbHVlcy4KSXQgYXBwbGllcyBhcmJpdHJhcnkgbWFw
cGluZyBjdXJ2ZSB0byBjb21wZW5zYXRlIHRoZQppbmNvcnJlY3QgdHJhbnNmZXIgZnVuY3Rpb24g
b2YgdGhlIHBhbmVsLgoKU2lnbmVkLW9mZi1ieTogQmliYnkgSHNpZWggPGJpYmJ5LmhzaWVoQG1l
ZGlhdGVrLmNvbT4KU2lnbmVkLW9mZi1ieTogUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRy
b25peC5kZT4KLS0tCkkgaGF2ZSBhcHBsaWVkIHRoaXMgcGF0Y2ggd2l0aCBvbmUgY2hhbmdlIGZy
b20gdjQ6CiAtIFVzZSBkcm1fY3J0Y19lbmFibGVfY29sb3JfbWdtdCBpbnN0ZWFkIG9mIGRybV9j
cnRjX2hlbHBlcl9lbmFibGVfY29sb3JfbWdtdAotLS0KIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRl
ay9tdGtfZHJtX2NydGMuYyAgICAgfCAgNyArKysrKystCiBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0
ZWsvbXRrX2RybV9jcnRjLmggICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210
a19kcm1fZGRwX2NvbXAuYyB8IDMxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2
ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5oIHwgMTAgKysrKysrKysrKwog
NCBmaWxlcyBjaGFuZ2VkLCA0OCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0t
Z2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5jIGIvZHJpdmVycy9n
cHUvZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5jCmluZGV4IDI0YWEzYmEuLmUzYWMyODAgMTAw
NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuYworKysgYi9k
cml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMKQEAgLTQwOSw2ICs0MDksOSBA
QCBzdGF0aWMgdm9pZCBtdGtfZHJtX2NydGNfYXRvbWljX2ZsdXNoKHN0cnVjdCBkcm1fY3J0YyAq
Y3J0YywKIAl9CiAJaWYgKHBlbmRpbmdfcGxhbmVzKQogCQltdGtfY3J0Yy0+cGVuZGluZ19wbGFu
ZXMgPSB0cnVlOworCWlmIChjcnRjLT5zdGF0ZS0+Y29sb3JfbWdtdF9jaGFuZ2VkKQorCQlmb3Ig
KGkgPSAwOyBpIDwgbXRrX2NydGMtPmRkcF9jb21wX25yOyBpKyspCisJCQltdGtfZGRwX2dhbW1h
X3NldChtdGtfY3J0Yy0+ZGRwX2NvbXBbaV0sIGNydGMtPnN0YXRlKTsKIH0KIAogc3RhdGljIGNv
bnN0IHN0cnVjdCBkcm1fY3J0Y19mdW5jcyBtdGtfY3J0Y19mdW5jcyA9IHsKQEAgLTQxOCw2ICs0
MjEsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jcnRjX2Z1bmNzIG10a19jcnRjX2Z1bmNz
ID0gewogCS5yZXNldAkJCT0gbXRrX2RybV9jcnRjX3Jlc2V0LAogCS5hdG9taWNfZHVwbGljYXRl
X3N0YXRlCT0gbXRrX2RybV9jcnRjX2R1cGxpY2F0ZV9zdGF0ZSwKIAkuYXRvbWljX2Rlc3Ryb3lf
c3RhdGUJPSBtdGtfZHJtX2NydGNfZGVzdHJveV9zdGF0ZSwKKwkuZ2FtbWFfc2V0CQk9IGRybV9h
dG9taWNfaGVscGVyX2xlZ2FjeV9nYW1tYV9zZXQsCiB9OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0
IGRybV9jcnRjX2hlbHBlcl9mdW5jcyBtdGtfY3J0Y19oZWxwZXJfZnVuY3MgPSB7CkBAIC01Njgs
NyArNTcyLDggQEAgaW50IG10a19kcm1fY3J0Y19jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRy
bV9kZXYsCiAJCQkJJm10a19jcnRjLT5wbGFuZXNbMV0uYmFzZSwgcGlwZSk7CiAJaWYgKHJldCA8
IDApCiAJCWdvdG8gdW5wcmVwYXJlOwotCisJZHJtX21vZGVfY3J0Y19zZXRfZ2FtbWFfc2l6ZSgm
bXRrX2NydGMtPmJhc2UsIE1US19MVVRfU0laRSk7CisJZHJtX2NydGNfZW5hYmxlX2NvbG9yX21n
bXQoJm10a19jcnRjLT5iYXNlLCAwLCBmYWxzZSwgTVRLX0xVVF9TSVpFKTsKIAlwcml2LT5jcnRj
W3BpcGVdID0gJm10a19jcnRjLT5iYXNlOwogCXByaXYtPm51bV9waXBlcysrOwogCmRpZmYgLS1n
aXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmggYi9kcml2ZXJzL2dw
dS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmgKaW5kZXggODFlNTU2Ni4uZDMzMjU2NCAxMDA2
NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5oCisrKyBiL2Ry
aXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuaApAQCAtMTksNiArMTksNyBAQAog
I2luY2x1ZGUgIm10a19kcm1fcGxhbmUuaCIKIAogI2RlZmluZSBPVkxfTEFZRVJfTlIJNAorI2Rl
ZmluZSBNVEtfTFVUX1NJWkUJNTEyCiAKIGludCBtdGtfZHJtX2NydGNfZW5hYmxlX3ZibGFuayhz
dHJ1Y3QgZHJtX2RldmljZSAqZHJtLCB1bnNpZ25lZCBpbnQgcGlwZSk7CiB2b2lkIG10a19kcm1f
Y3J0Y19kaXNhYmxlX3ZibGFuayhzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLCB1bnNpZ25lZCBpbnQg
cGlwZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBf
Y29tcC5jIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwX2NvbXAuYwppbmRl
eCBiYTg5NWM4Li40MmNkNTg3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsv
bXRrX2RybV9kZHBfY29tcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJt
X2RkcF9jb21wLmMKQEAgLTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlICJtdGtfZHJtX2Rydi5oIgog
I2luY2x1ZGUgIm10a19kcm1fcGxhbmUuaCIKICNpbmNsdWRlICJtdGtfZHJtX2RkcF9jb21wLmgi
CisjaW5jbHVkZSAibXRrX2RybV9jcnRjLmgiCiAKICNkZWZpbmUgRElTUF9PRF9FTgkJCQkweDAw
MDAKICNkZWZpbmUgRElTUF9PRF9JTlRFTgkJCQkweDAwMDgKQEAgLTQyLDcgKzQzLDExIEBACiAj
ZGVmaW5lIERJU1BfQUFMX1NJWkUJCQkJMHgwMDMwCiAKICNkZWZpbmUgRElTUF9HQU1NQV9FTgkJ
CQkweDAwMDAKKyNkZWZpbmUgRElTUF9HQU1NQV9DRkcJCQkJMHgwMDIwCiAjZGVmaW5lIERJU1Bf
R0FNTUFfU0laRQkJCQkweDAwMzAKKyNkZWZpbmUgRElTUF9HQU1NQV9MVVQJCQkJMHgwNzAwCisK
KyNkZWZpbmUgTFVUXzEwQklUX01BU0sJCQkJMHgwM2ZmCiAKICNkZWZpbmUJT0RfUkVMQVlfTU9E
RQkJQklUKDApCiAKQEAgLTU0LDYgKzU5LDcgQEAKICNkZWZpbmUgQUFMX0VOCQkJQklUKDApCiAK
ICNkZWZpbmUgR0FNTUFfRU4JCUJJVCgwKQorI2RlZmluZSBHQU1NQV9MVVRfRU4JCUJJVCgxKQog
CiBzdGF0aWMgdm9pZCBtdGtfY29sb3JfY29uZmlnKHN0cnVjdCBtdGtfZGRwX2NvbXAgKmNvbXAs
IHVuc2lnbmVkIGludCB3LAogCQkJICAgICB1bnNpZ25lZCBpbnQgaCwgdW5zaWduZWQgaW50IHZy
ZWZyZXNoKQpAQCAtMTE4LDEzICsxMjQsMzggQEAgc3RhdGljIHZvaWQgbXRrX2dhbW1hX3N0b3Ao
c3RydWN0IG10a19kZHBfY29tcCAqY29tcCkKIAl3cml0ZWxfcmVsYXhlZCgweDAsIGNvbXAtPnJl
Z3MgICsgRElTUF9HQU1NQV9FTik7CiB9CiAKK3N0YXRpYyB2b2lkIG10a19nYW1tYV9zZXQoc3Ry
dWN0IG10a19kZHBfY29tcCAqY29tcCwKKwkJCSAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0
ZSkKK3sKKwl1bnNpZ25lZCBpbnQgaSwgcmVnOworCXN0cnVjdCBkcm1fY29sb3JfbHV0ICpsdXQ7
CisJdm9pZCBfX2lvbWVtICpsdXRfYmFzZTsKKwl1MzIgd29yZDsKKworCWlmIChzdGF0ZS0+Z2Ft
bWFfbHV0KSB7CisJCXJlZyA9IHJlYWRsKGNvbXAtPnJlZ3MgKyBESVNQX0dBTU1BX0NGRyk7CisJ
CXJlZyA9IHJlZyB8IEdBTU1BX0xVVF9FTjsKKwkJd3JpdGVsKHJlZywgY29tcC0+cmVncyArIERJ
U1BfR0FNTUFfQ0ZHKTsKKwkJbHV0X2Jhc2UgPSBjb21wLT5yZWdzICsgRElTUF9HQU1NQV9MVVQ7
CisJCWx1dCA9IChzdHJ1Y3QgZHJtX2NvbG9yX2x1dCAqKXN0YXRlLT5nYW1tYV9sdXQtPmRhdGE7
CisJCWZvciAoaSA9IDA7IGkgPCBNVEtfTFVUX1NJWkU7IGkrKykgeworCQkJd29yZCA9ICgoKGx1
dFtpXS5yZWQgPj4gNikgJiBMVVRfMTBCSVRfTUFTSykgPDwgMjApICsKKwkJCQkoKChsdXRbaV0u
Z3JlZW4gPj4gNikgJiBMVVRfMTBCSVRfTUFTSykgPDwgMTApICsKKwkJCQkoKGx1dFtpXS5ibHVl
ID4+IDYpICYgTFVUXzEwQklUX01BU0spOworCQkJd3JpdGVsKHdvcmQsIChsdXRfYmFzZSArIGkg
KiA0KSk7CisJCX0KKwl9Cit9CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2RkcF9jb21wX2Z1
bmNzIGRkcF9hYWwgPSB7CisJLmdhbW1hX3NldCA9IG10a19nYW1tYV9zZXQsCiAJLmNvbmZpZyA9
IG10a19hYWxfY29uZmlnLAogCS5zdGFydCA9IG10a19hYWxfc3RhcnQsCiAJLnN0b3AgPSBtdGtf
YWFsX3N0b3AsCiB9OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IG10a19kZHBfY29tcF9mdW5jcyBk
ZHBfZ2FtbWEgPSB7CisJLmdhbW1hX3NldCA9IG10a19nYW1tYV9zZXQsCiAJLmNvbmZpZyA9IG10
a19nYW1tYV9jb25maWcsCiAJLnN0YXJ0ID0gbXRrX2dhbW1hX3N0YXJ0LAogCS5zdG9wID0gbXRr
X2dhbW1hX3N0b3AsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Ry
bV9kZHBfY29tcC5oIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwX2NvbXAu
aAppbmRleCA2YjEzYmE5Li5mNGI3ZTBhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVk
aWF0ZWsvbXRrX2RybV9kZHBfY29tcC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9t
dGtfZHJtX2RkcF9jb21wLmgKQEAgLTIxLDYgKzIxLDcgQEAgc3RydWN0IGRldmljZV9ub2RlOwog
c3RydWN0IGRybV9jcnRjOwogc3RydWN0IGRybV9kZXZpY2U7CiBzdHJ1Y3QgbXRrX3BsYW5lX3N0
YXRlOworc3RydWN0IGRybV9jcnRjX3N0YXRlOwogCiBlbnVtIG10a19kZHBfY29tcF90eXBlIHsK
IAlNVEtfRElTUF9PVkwsCkBAIC03Myw2ICs3NCw4IEBAIHN0cnVjdCBtdGtfZGRwX2NvbXBfZnVu
Y3MgewogCXZvaWQgKCpsYXllcl9vZmYpKHN0cnVjdCBtdGtfZGRwX2NvbXAgKmNvbXAsIHVuc2ln
bmVkIGludCBpZHgpOwogCXZvaWQgKCpsYXllcl9jb25maWcpKHN0cnVjdCBtdGtfZGRwX2NvbXAg
KmNvbXAsIHVuc2lnbmVkIGludCBpZHgsCiAJCQkgICAgIHN0cnVjdCBtdGtfcGxhbmVfc3RhdGUg
KnN0YXRlKTsKKwl2b2lkICgqZ2FtbWFfc2V0KShzdHJ1Y3QgbXRrX2RkcF9jb21wICpjb21wLAor
CQkJICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlKTsKIH07CiAKIHN0cnVjdCBtdGtfZGRw
X2NvbXAgewpAQCAtMTM5LDYgKzE0MiwxMyBAQCBzdGF0aWMgaW5saW5lIHZvaWQgbXRrX2RkcF9j
b21wX2xheWVyX2NvbmZpZyhzdHJ1Y3QgbXRrX2RkcF9jb21wICpjb21wLAogCQljb21wLT5mdW5j
cy0+bGF5ZXJfY29uZmlnKGNvbXAsIGlkeCwgc3RhdGUpOwogfQogCitzdGF0aWMgaW5saW5lIHZv
aWQgbXRrX2RkcF9nYW1tYV9zZXQoc3RydWN0IG10a19kZHBfY29tcCAqY29tcCwKKwkJCQkgICAg
IHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUpCit7CisJaWYgKGNvbXAtPmZ1bmNzICYmIGNv
bXAtPmZ1bmNzLT5nYW1tYV9zZXQpCisJCWNvbXAtPmZ1bmNzLT5nYW1tYV9zZXQoY29tcCwgc3Rh
dGUpOworfQorCiBpbnQgbXRrX2RkcF9jb21wX2dldF9pZChzdHJ1Y3QgZGV2aWNlX25vZGUgKm5v
ZGUsCiAJCQllbnVtIG10a19kZHBfY29tcF90eXBlIGNvbXBfdHlwZSk7CiBpbnQgbXRrX2RkcF9j
b21wX2luaXQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX25vZGUgKmNvbXBfbm9k
ZSwKLS0gCjIuOC4xCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au
b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRl
dmVsCg==