From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bibby Hsieh Subject: Re: [PATCH 1/2] drm/mediatek: Add gamma correction Date: Thu, 16 Jun 2016 11:04:33 +0800 Message-ID: <1466046273.9460.1.camel@mtksdaap41> References: <1465872953-47706-1-git-send-email-bibby.hsieh@mediatek.com> <20160614054322.GL1338@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20160614054322.GL1338@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter Cc: linux-kernel@vger.kernel.org, Sascha Hauer , Daniel Vetter , Cawa Cheng , Mao Huang , Matthias Brugger , linux-mediatek@lists.infradead.org, dri-devel@lists.freedesktop.org, Yingjoe Chen , linux-arm-kernel@lists.infradead.org List-Id: linux-mediatek@lists.infradead.org SGksIERhbmllbCwgCgpUaGFuayB5b3UgZm9yIHlvdXIgc3VnZ2VzdGlvbiwgSSB3aWxsIG1vZGlm eSB0aGF0IHRvIHVzZSB0aGUgYXRvbWljCmNvbG9yIG1hbmFnZW1lbnQuCgpCaWJieQoKT24gVHVl LCAyMDE2LTA2LTE0IGF0IDA3OjQzICswMjAwLCBEYW5pZWwgVmV0dGVyIHdyb3RlOgo+IE9uIFR1 ZSwgSnVuIDE0LCAyMDE2IGF0IDEwOjU1OjUyQU0gKzA4MDAsIEJpYmJ5IEhzaWVoIHdyb3RlOgo+ ID4gQXBwbHkgZ2FtbWEgZnVuY3Rpb24gdG8gY29ycmVjdCBicmlnaHRuZXNzIHZhbHVlcy4KPiA+ IEl0IGFwcGxpZXMgYXJiaXRyYXJ5IG1hcHBpbmcgY3VydmUgdG8gY29tcGVuc2F0ZSB0aGUKPiA+ IGluY29ycmVjdCB0cmFuc2ZlciBmdW5jdGlvbiBvZiB0aGUgcGFuZWwuCj4gPiAKPiA+IFNpZ25l ZC1vZmYtYnk6IEJpYmJ5IEhzaWVoIDxiaWJieS5oc2llaEBtZWRpYXRlay5jb20+Cj4gCj4gSSB0 aGluayBpdCB3b3VsZCBiZSBtdWNoIGJldHRlciB0byB1c2UgdGhlIG5ldyBhdG9taWMgY29sb3Ig bWFuYWdlbWVudAo+IHN1cHBvcnQsIHdoaWNoIGluY2x1ZGVzIGdhbW1hLiBTZWUgZHJtX2NydGNf ZW5hYmxlX2NvbG9yX21nbXQuCj4gLURhbmllbAo+IAo+ID4gLS0tCj4gPiAgZHJpdmVycy9ncHUv ZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5jICAgICB8ICAgMTIgKysrKysrCj4gPiAgZHJpdmVy cy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5oICAgICB8ICAgIDEgKwo+ID4gIGRyaXZl cnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcF9jb21wLmMgfCAgIDU2ICsrKysrKysrKysr KysrKysrKysrKysrKysrLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rk cF9jb21wLmggfCAgICA5ICsrKysrCj4gPiAgNCBmaWxlcyBjaGFuZ2VkLCA3NyBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9uKC0pCj4gPiAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v bWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Ry bV9jcnRjLmMKPiA+IGluZGV4IDI0YWEzYmEuLjFiMzg0MDYgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuYwo+ID4gQEAgLTEyNyw2ICsxMjcsMTYgQEAgc3Rh dGljIHZvaWQgbXRrX2RybV9jcnRjX3Jlc2V0KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiA+ICAJ c3RhdGUtPmJhc2UuY3J0YyA9IGNydGM7Cj4gPiAgfQo+ID4gIAo+ID4gK3N0YXRpYyB2b2lkIG10 a19jcnRjX2dhbW1hX3NldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIHUxNiAqciwKPiA+ICsJCQkg ICAgICAgdTE2ICpnLCB1MTYgKmIsIHVpbnQzMl90IHN0YXJ0LCB1aW50MzJfdCBzaXplKQo+ID4g K3sKPiA+ICsJc3RydWN0IG10a19kcm1fY3J0YyAqbXRrX2NydGMgPSB0b19tdGtfY3J0YyhjcnRj KTsKPiA+ICsJdW5zaWduZWQgaW50IGk7Cj4gPiArCj4gPiArCWZvciAoaSA9IDA7IGkgPCBtdGtf Y3J0Yy0+ZGRwX2NvbXBfbnI7IGkrKykKPiA+ICsJCW10a19kZHBfZ2FtbWFfc2V0KG10a19jcnRj LT5kZHBfY29tcFtpXSwgciwgZywgYiwgc3RhcnQsIHNpemUpOwo+ID4gK30KPiA+ICsKPiA+ICBz dGF0aWMgc3RydWN0IGRybV9jcnRjX3N0YXRlICptdGtfZHJtX2NydGNfZHVwbGljYXRlX3N0YXRl KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiA+ICB7Cj4gPiAgCXN0cnVjdCBtdGtfY3J0Y19zdGF0 ZSAqc3RhdGU7Cj4gPiBAQCAtNDE4LDYgKzQyOCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJt X2NydGNfZnVuY3MgbXRrX2NydGNfZnVuY3MgPSB7Cj4gPiAgCS5yZXNldAkJCT0gbXRrX2RybV9j cnRjX3Jlc2V0LAo+ID4gIAkuYXRvbWljX2R1cGxpY2F0ZV9zdGF0ZQk9IG10a19kcm1fY3J0Y19k dXBsaWNhdGVfc3RhdGUsCj4gPiAgCS5hdG9taWNfZGVzdHJveV9zdGF0ZQk9IG10a19kcm1fY3J0 Y19kZXN0cm95X3N0YXRlLAo+ID4gKwkuZ2FtbWFfc2V0CQk9IG10a19jcnRjX2dhbW1hX3NldCwK PiA+ICB9Owo+ID4gIAo+ID4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1 bmNzIG10a19jcnRjX2hlbHBlcl9mdW5jcyA9IHsKPiA+IEBAIC01NjksNiArNTgwLDcgQEAgaW50 IG10a19kcm1fY3J0Y19jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRybV9kZXYsCj4gPiAgCWlm IChyZXQgPCAwKQo+ID4gIAkJZ290byB1bnByZXBhcmU7Cj4gPiAgCj4gPiArCWRybV9tb2RlX2Ny dGNfc2V0X2dhbW1hX3NpemUoJm10a19jcnRjLT5iYXNlLCBNVEtfTFVUX1NJWkUpOwo+ID4gIAlw cml2LT5jcnRjW3BpcGVdID0gJm10a19jcnRjLT5iYXNlOwo+ID4gIAlwcml2LT5udW1fcGlwZXMr KzsKPiA+ICAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Ry bV9jcnRjLmggYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmgKPiA+IGlu ZGV4IDgxZTU1NjYuLmQzMzI1NjQgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVk aWF0ZWsvbXRrX2RybV9jcnRjLmgKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9t dGtfZHJtX2NydGMuaAo+ID4gQEAgLTE5LDYgKzE5LDcgQEAKPiA+ICAjaW5jbHVkZSAibXRrX2Ry bV9wbGFuZS5oIgo+ID4gIAo+ID4gICNkZWZpbmUgT1ZMX0xBWUVSX05SCTQKPiA+ICsjZGVmaW5l IE1US19MVVRfU0laRQk1MTIKPiA+ICAKPiA+ICBpbnQgbXRrX2RybV9jcnRjX2VuYWJsZV92Ymxh bmsoc3RydWN0IGRybV9kZXZpY2UgKmRybSwgdW5zaWduZWQgaW50IHBpcGUpOwo+ID4gIHZvaWQg bXRrX2RybV9jcnRjX2Rpc2FibGVfdmJsYW5rKHN0cnVjdCBkcm1fZGV2aWNlICpkcm0sIHVuc2ln bmVkIGludCBwaXBlKTsKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsv bXRrX2RybV9kZHBfY29tcC5jIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRw X2NvbXAuYwo+ID4gaW5kZXggMzk3MGZjZi4uM2ZkNTE0MSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcF9jb21wLmMKPiA+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcF9jb21wLmMKPiA+IEBAIC0yNCw2ICsyNCw3IEBA Cj4gPiAgI2luY2x1ZGUgIm10a19kcm1fZHJ2LmgiCj4gPiAgI2luY2x1ZGUgIm10a19kcm1fcGxh bmUuaCIKPiA+ICAjaW5jbHVkZSAibXRrX2RybV9kZHBfY29tcC5oIgo+ID4gKyNpbmNsdWRlICJt dGtfZHJtX2NydGMuaCIKPiA+ICAKPiA+ICAjZGVmaW5lIERJU1BfT0RfRU4JCQkJMHgwMDAwCj4g PiAgI2RlZmluZSBESVNQX09EX0lOVEVOCQkJCTB4MDAwOAo+ID4gQEAgLTM4LDYgKzM5LDE4IEBA Cj4gPiAgI2RlZmluZSBESVNQX0NPTE9SX1dJRFRICQkJMHgwYzUwCj4gPiAgI2RlZmluZSBESVNQ X0NPTE9SX0hFSUdIVAkJCTB4MGM1NAo+ID4gIAo+ID4gKyNkZWZpbmUgRElTUF9BQUxfRU4JCQkJ MHgwMDAKPiA+ICsjZGVmaW5lIERJU1BfQUFMX1NJWkUJCQkJMHgwMzAKPiA+ICsKPiA+ICsjZGVm aW5lIERJU1BfR0FNTUFfQ0ZHCQkJCTB4MDIwCj4gPiArI2RlZmluZSBESVNQX0dBTU1BX0xVVAkJ CQkweDcwMAo+ID4gKwo+ID4gKyNkZWZpbmUgTFVUXzEwQklUX01BU0sJCQkJMHgzZmYKPiA+ICsK PiA+ICsjZGVmaW5lIEFBTF9FTgkJCUJJVCgwKQo+ID4gKwo+ID4gKyNkZWZpbmUgR0FNTUFfTFVU X0VOCQlCSVQoMSkKPiA+ICsKPiA+ICAjZGVmaW5lCU9EX1JFTEFZX01PREUJCUJJVCgwKQo+ID4g IAo+ID4gICNkZWZpbmUJVUZPX0JZUEFTUwkJQklUKDIpCj4gPiBAQCAtNzYsNiArODksNDAgQEAg c3RhdGljIHZvaWQgbXRrX3Vmb2Vfc3RhcnQoc3RydWN0IG10a19kZHBfY29tcCAqY29tcCkKPiA+ ICAJd3JpdGVsKFVGT19CWVBBU1MsIGNvbXAtPnJlZ3MgKyBESVNQX1JFR19VRk9fU1RBUlQpOwo+ ID4gIH0KPiA+ICAKPiA+ICtzdGF0aWMgdm9pZCBtdGtfYWFsX2NvbmZpZyhzdHJ1Y3QgbXRrX2Rk cF9jb21wICpjb21wLCB1bnNpZ25lZCBpbnQgdywKPiA+ICsJCQkgICB1bnNpZ25lZCBpbnQgaCwg dW5zaWduZWQgaW50IHZyZWZyZXNoKQo+ID4gK3sKPiA+ICsJd3JpdGVsKGggPDwgMTYgfCB3LCBj b21wLT5yZWdzICsgRElTUF9BQUxfU0laRSk7Cj4gPiArfQo+ID4gKwo+ID4gK3N0YXRpYyB2b2lk IG10a19hYWxfc3RhcnQoc3RydWN0IG10a19kZHBfY29tcCAqY29tcCkKPiA+ICt7Cj4gPiArCXdy aXRlbChBQUxfRU4sIGNvbXAtPnJlZ3MgICsgRElTUF9BQUxfRU4pOwo+ID4gK30KPiA+ICsKPiA+ ICtzdGF0aWMgdm9pZCBtdGtfYWFsX3N0b3Aoc3RydWN0IG10a19kZHBfY29tcCAqY29tcCkKPiA+ ICt7Cj4gPiArCXdyaXRlbF9yZWxheGVkKDB4MCwgY29tcC0+cmVncyAgKyBESVNQX0FBTF9FTik7 Cj4gPiArfQo+ID4gKwo+ID4gK3N0YXRpYyB2b2lkIG10a19nYW1tYV9zZXQoc3RydWN0IG10a19k ZHBfY29tcCAqY29tcCwgdTE2ICpyLCB1MTYgKmcsCj4gPiArCQkJICB1MTYgKmIsIHVpbnQzMl90 IHN0YXJ0LCB1aW50MzJfdCBzaXplKQo+ID4gK3sKPiA+ICsJaW50IGk7Cj4gPiArCXVuc2lnbmVk IGludCBsdXQ7Cj4gPiArCWludCBlbmQgPSAoc3RhcnQgKyBzaXplID4gTVRLX0xVVF9TSVpFKSA/ IE1US19MVVRfU0laRSA6IHN0YXJ0ICsgc2l6ZTsKPiA+ICsJdm9pZCBfX2lvbWVtICpsdXRfYmFz ZTsKPiA+ICsKPiA+ICsJd3JpdGVsKEdBTU1BX0xVVF9FTiwgY29tcC0+cmVncyArIERJU1BfR0FN TUFfQ0ZHKTsKPiA+ICsJbHV0X2Jhc2UgPSBjb21wLT5yZWdzICsgRElTUF9HQU1NQV9MVVQ7Cj4g PiArCWZvciAoaSA9IHN0YXJ0OyBpIDwgZW5kOyBpKyspIHsKPiA+ICsJCWx1dCA9ICgoKHJbaV0g Pj4gNikgJiBMVVRfMTBCSVRfTUFTSykgPDwgMjApICsKPiA+ICsJCQkoKChnW2ldID4+IDYpICYg TFVUXzEwQklUX01BU0spIDw8IDEwKSArCj4gPiArCQkJKChiW2ldID4+IDYpICYgTFVUXzEwQklU X01BU0spOwo+ID4gKwkJd3JpdGVsKGx1dCwgKGx1dF9iYXNlICsgaSAqIDQpKTsKPiA+ICsJfQo+ ID4gK30KPiA+ICsKPiA+ICBzdGF0aWMgY29uc3Qgc3RydWN0IG10a19kZHBfY29tcF9mdW5jcyBk ZHBfY29sb3IgPSB7Cj4gPiAgCS5jb25maWcgPSBtdGtfY29sb3JfY29uZmlnLAo+ID4gIAkuc3Rh cnQgPSBtdGtfY29sb3Jfc3RhcnQsCj4gPiBAQCAtOTAsNiArMTM3LDEzIEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3QgbXRrX2RkcF9jb21wX2Z1bmNzIGRkcF91Zm9lID0gewo+ID4gIAkuc3RhcnQgPSBt dGtfdWZvZV9zdGFydCwKPiA+ICB9Owo+ID4gIAo+ID4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRr X2RkcF9jb21wX2Z1bmNzIGRkcF9hYWwgPSB7Cj4gPiArCS5nYW1tYV9zZXQgPSBtdGtfZ2FtbWFf c2V0LAo+ID4gKwkuY29uZmlnID0gbXRrX2FhbF9jb25maWcsCj4gPiArCS5zdGFydCA9IG10a19h YWxfc3RhcnQsCj4gPiArCS5zdG9wID0gbXRrX2FhbF9zdG9wLAo+ID4gK307Cj4gPiArCj4gPiAg c3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBtdGtfZGRwX2NvbXBfc3RlbVtNVEtfRERQX0NPTVBf VFlQRV9NQVhdID0gewo+ID4gIAlbTVRLX0RJU1BfT1ZMXSA9ICJvdmwiLAo+ID4gIAlbTVRLX0RJ U1BfUkRNQV0gPSAicmRtYSIsCj4gPiBAQCAtMTEyLDcgKzE2Niw3IEBAIHN0cnVjdCBtdGtfZGRw X2NvbXBfbWF0Y2ggewo+ID4gIH07Cj4gPiAgCj4gPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtf ZGRwX2NvbXBfbWF0Y2ggbXRrX2RkcF9tYXRjaGVzW0REUF9DT01QT05FTlRfSURfTUFYXSA9IHsK PiA+IC0JW0REUF9DT01QT05FTlRfQUFMXQk9IHsgTVRLX0RJU1BfQUFMLAkwLCBOVUxMIH0sCj4g PiArCVtERFBfQ09NUE9ORU5UX0FBTF0JPSB7IE1US19ESVNQX0FBTCwJMCwgJmRkcF9hYWwgfSwK PiA+ICAJW0REUF9DT01QT05FTlRfQ09MT1IwXQk9IHsgTVRLX0RJU1BfQ09MT1IsCTAsICZkZHBf Y29sb3IgfSwKPiA+ICAJW0REUF9DT01QT05FTlRfQ09MT1IxXQk9IHsgTVRLX0RJU1BfQ09MT1Is CTEsICZkZHBfY29sb3IgfSwKPiA+ICAJW0REUF9DT01QT05FTlRfRFBJMF0JPSB7IE1US19EUEks CQkwLCBOVUxMIH0sCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210 a19kcm1fZGRwX2NvbXAuaCBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcF9j b21wLmgKPiA+IGluZGV4IDZiMTNiYTkuLjA4MzIxNzkgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5oCj4gPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5oCj4gPiBAQCAtNzMsNiArNzMsOCBAQCBz dHJ1Y3QgbXRrX2RkcF9jb21wX2Z1bmNzIHsKPiA+ICAJdm9pZCAoKmxheWVyX29mZikoc3RydWN0 IG10a19kZHBfY29tcCAqY29tcCwgdW5zaWduZWQgaW50IGlkeCk7Cj4gPiAgCXZvaWQgKCpsYXll cl9jb25maWcpKHN0cnVjdCBtdGtfZGRwX2NvbXAgKmNvbXAsIHVuc2lnbmVkIGludCBpZHgsCj4g PiAgCQkJICAgICBzdHJ1Y3QgbXRrX3BsYW5lX3N0YXRlICpzdGF0ZSk7Cj4gPiArCXZvaWQgKCpn YW1tYV9zZXQpKHN0cnVjdCBtdGtfZGRwX2NvbXAgKmNvbXAsIHUxNiAqciwgdTE2ICpnLCB1MTYg KmIsCj4gPiArCQkJICB1MzIgc3RhcnQsIHUzMiBzaXplKTsKPiA+ICB9Owo+ID4gIAo+ID4gIHN0 cnVjdCBtdGtfZGRwX2NvbXAgewo+ID4gQEAgLTEzOSw2ICsxNDEsMTMgQEAgc3RhdGljIGlubGlu ZSB2b2lkIG10a19kZHBfY29tcF9sYXllcl9jb25maWcoc3RydWN0IG10a19kZHBfY29tcCAqY29t cCwKPiA+ICAJCWNvbXAtPmZ1bmNzLT5sYXllcl9jb25maWcoY29tcCwgaWR4LCBzdGF0ZSk7Cj4g PiAgfQo+ID4gIAo+ID4gK3N0YXRpYyBpbmxpbmUgdm9pZCBtdGtfZGRwX2dhbW1hX3NldChzdHJ1 Y3QgbXRrX2RkcF9jb21wICpjb21wLCB1MTYgKnIsIHUxNiAqZywKPiA+ICsJCQkJICAgICB1MTYg KmIsIHVpbnQzMl90IHN0YXJ0LCB1aW50MzJfdCBzaXplKQo+ID4gK3sKPiA+ICsJaWYgKGNvbXAt PmZ1bmNzICYmIGNvbXAtPmZ1bmNzLT5nYW1tYV9zZXQpCj4gPiArCQljb21wLT5mdW5jcy0+Z2Ft bWFfc2V0KGNvbXAsIHIsIGcsIGIsIHN0YXJ0LCBzaXplKTsKPiA+ICt9Cj4gPiArCj4gPiAgaW50 IG10a19kZHBfY29tcF9nZXRfaWQoc3RydWN0IGRldmljZV9ub2RlICpub2RlLAo+ID4gIAkJCWVu dW0gbXRrX2RkcF9jb21wX3R5cGUgY29tcF90eXBlKTsKPiA+ICBpbnQgbXRrX2RkcF9jb21wX2lu aXQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlX25vZGUgKmNvbXBfbm9kZSwKPiA+ IC0tIAo+ID4gMS43LjkuNQo+ID4gCj4gCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vZHJpLWRldmVsCg==