From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ezequiel Garcia Subject: Re: [PATCH 2/3] drm/rockchip: Add optional support for CRTC gamma LUT Date: Fri, 21 Jun 2019 12:59:02 -0300 Message-ID: <436fb5679ee8e1356a81d4224befa318778e71ac.camel@collabora.com> References: <20190618213406.7667-1-ezequiel@collabora.com> <20190618213406.7667-3-ezequiel@collabora.com> <20190621082222.4j3oghm7oevgt32n@uno.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190621082222.4j3oghm7oevgt32n@uno.localdomain> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Jacopo Mondi Cc: Mark Rutland , devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Douglas Anderson , linux-rockchip@lists.infradead.org, Boris Brezillon , Sean Paul , Rob Herring , kernel@collabora.com List-Id: linux-rockchip.vger.kernel.org SGkgSmFjb3BvLAoKVGhhbmtzIGZvciB0aGUgcmV2aWV3LgoKT24gRnJpLCAyMDE5LTA2LTIxIGF0 IDEwOjIyICswMjAwLCBKYWNvcG8gTW9uZGkgd3JvdGU6Cj4gSGkgRXplcXVpZWwsCj4gICAganVz dCBhIGZldyBtaW5vciBjb21tZW50cy4gVGhhbmtzIGZvciB0aGlzIG5ldyBpdGVyYXRpb24uCj4g Cj4gT24gVHVlLCBKdW4gMTgsIDIwMTkgYXQgMDY6MzQ6MDVQTSAtMDMwMCwgRXplcXVpZWwgR2Fy Y2lhIHdyb3RlOgo+ID4gQWRkIGFuIG9wdGlvbmFsIENSVEMgZ2FtbWEgTFVUIHN1cHBvcnQsIGFu ZCBlbmFibGUgaXQgb24gUkszMjg4Lgo+ID4gVGhpcyBpcyBjdXJyZW50bHkgZW5hYmxlZCB2aWEg YSBzZXBhcmF0ZSBhZGRyZXNzIHJlc291cmNlLAo+ID4gd2hpY2ggbmVlZHMgdG8gYmUgc3BlY2lm aWVkIGluIHRoZSBkZXZpY2V0cmVlLgo+ID4gCj4gPiBUaGUgYWRkcmVzcyByZXNvdXJjZSBpcyBy ZXF1aXJlZCBiZWNhdXNlIG9uIHNvbWUgU29Dcywgc3VjaCBhcwo+ID4gUkszMjg4LCB0aGUgTFVU IGFkZHJlc3MgaXMgYWZ0ZXIgdGhlIE1NVSBhZGRyZXNzLCBhbmQgdGhlIGxhdHRlcgo+ID4gaXMg c3VwcG9ydGVkIGJ5IGEgZGlmZmVyZW50IGRyaXZlci4gVGhpcyBwcmV2ZW50cyB0aGUgRFJNIGRy aXZlcgo+ID4gZnJvbSByZXF1ZXN0aW5nIGFuIGVudGlyZSByZWdpc3RlciBzcGFjZS4KPiA+IAo+ ID4gVGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gd29ya3MgZm9yIFJHQiAxMC1iaXQgdGFibGVz LCBhcyB0aGF0Cj4gPiBpcyB3aGF0IHNlZW1zIHRvIHdvcmsgb24gUkszMjg4Lgo+ID4gCj4gPiBT aWduZWQtb2ZmLWJ5OiBFemVxdWllbCBHYXJjaWEgPGV6ZXF1aWVsQGNvbGxhYm9yYS5jb20+Cj4g PiAtLS0KPiA+IENoYW5nZXMgZnJvbSBSRkM6Cj4gPiAqIFJlcXVlc3QgKGFuIG9wdGlvbmFsKSBh ZGRyZXNzIHJlc291cmNlIGZvciB0aGUgTFVULgo+ID4gKiBEcm9wIHN1cHBvcnQgZm9yIFJLMzM5 OSwgd2hpY2ggZG9lc24ndCBzZWVtIHRvIHdvcmsKPiA+ICAgb3V0IG9mIHRoZSBib3ggYW5kIG5l ZWRzIG1vcmUgcmVzZWFyY2guCj4gPiAqIFN1cHBvcnQgcGFzcy10aHJ1IHNldHRpbmcgd2hlbiBH QU1NQV9MVVQgaXMgTlVMTC4KPiA+ICogQWRkIGEgY2hlY2sgZm9yIHRoZSBnYW1tYSBzaXplLCBh cyBzdWdnZXN0ZWQgYnkgSWxpYS4KPiA+ICogTW92ZSBnYW1tYSBzZXR0aW5nIHRvIGF0b21pY19j b21taXRfdGFpbCwgYXMgcG9pbnRlZAo+ID4gICBvdXQgYnkgSmFjb3BvL0xhdXJlbnQsIGlzIHRo ZSBjb3JyZWN0IHdheS4KPiA+IC0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2Nr Y2hpcF9kcm1fZmIuYyAgfCAgIDMgKwo+ID4gIGRyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2Nr Y2hpcF9kcm1fdm9wLmMgfCAxMDYgKysrKysrKysrKysrKysrKysrKysKPiA+ICBkcml2ZXJzL2dw dS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5oIHwgICA3ICsrCj4gPiAgZHJpdmVycy9n cHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX3ZvcF9yZWcuYyB8ICAgMiArCj4gPiAgNCBmaWxlcyBj aGFuZ2VkLCAxMTggaW5zZXJ0aW9ucygrKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV9mYi5jIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tj aGlwL3JvY2tjaGlwX2RybV9mYi5jCj4gPiBpbmRleCAxYzY5MDY2YjY4OTQuLmJmOWFkNjI0MDk3 MSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1f ZmIuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV9mYi5j Cj4gPiBAQCAtMTYsNiArMTYsNyBAQAo+ID4gICNpbmNsdWRlICJyb2NrY2hpcF9kcm1fZmIuaCIK PiA+ICAjaW5jbHVkZSAicm9ja2NoaXBfZHJtX2dlbS5oIgo+ID4gICNpbmNsdWRlICJyb2NrY2hp cF9kcm1fcHNyLmgiCj4gPiArI2luY2x1ZGUgInJvY2tjaGlwX2RybV92b3AuaCIKPiA+IAo+ID4g IHN0YXRpYyBpbnQgcm9ja2NoaXBfZHJtX2ZiX2RpcnR5KHN0cnVjdCBkcm1fZnJhbWVidWZmZXIg KmZiLAo+ID4gIAkJCQkgc3RydWN0IGRybV9maWxlICpmaWxlLAo+ID4gQEAgLTEyOCw2ICsxMjks OCBAQCByb2NrY2hpcF9hdG9taWNfaGVscGVyX2NvbW1pdF90YWlsX3JwbShzdHJ1Y3QgZHJtX2F0 b21pY19zdGF0ZSAqb2xkX3N0YXRlKQo+ID4gCj4gPiAgCWRybV9hdG9taWNfaGVscGVyX2NvbW1p dF9tb2Rlc2V0X2Rpc2FibGVzKGRldiwgb2xkX3N0YXRlKTsKPiA+IAo+ID4gKwlyb2NrY2hpcF9k cm1fdm9wX2dhbW1hX3NldChvbGRfc3RhdGUpOwo+ID4gKwo+ID4gIAlkcm1fYXRvbWljX2hlbHBl cl9jb21taXRfbW9kZXNldF9lbmFibGVzKGRldiwgb2xkX3N0YXRlKTsKPiA+IAo+ID4gIAlkcm1f YXRvbWljX2hlbHBlcl9jb21taXRfcGxhbmVzKGRldiwgb2xkX3N0YXRlLAo+ID4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmMgYi9kcml2ZXJz L2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5jCj4gPiBpbmRleCAxMmVkNTI2NWE5 MGIuLjViNmVkYmUyNjczZiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hp cC9yb2NrY2hpcF9kcm1fdm9wLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9y b2NrY2hpcF9kcm1fdm9wLmMKPiA+IEBAIC0xMzcsNiArMTM3LDcgQEAgc3RydWN0IHZvcCB7Cj4g PiAKPiA+ICAJdWludDMyX3QgKnJlZ3NiYWs7Cj4gPiAgCXZvaWQgX19pb21lbSAqcmVnczsKPiA+ ICsJdm9pZCBfX2lvbWVtICpsdXRfcmVnczsKPiA+IAo+ID4gIAkvKiBwaHlzaWNhbCBtYXAgbGVu Z3RoIG9mIHZvcCByZWdpc3RlciAqLwo+ID4gIAl1aW50MzJfdCBsZW47Cj4gPiBAQCAtMTE1Myw2 ICsxMTU0LDk0IEBAIHN0YXRpYyB2b2lkIHZvcF93YWl0X2Zvcl9pcnFfaGFuZGxlcihzdHJ1Y3Qg dm9wICp2b3ApCj4gPiAgCXN5bmNocm9uaXplX2lycSh2b3AtPmlycSk7Cj4gPiAgfQo+ID4gCj4g PiArc3RhdGljIGJvb2wgdm9wX2RzcF9sdXRfaXNfZW5hYmxlKHN0cnVjdCB2b3AgKnZvcCkKPiA+ ICt7Cj4gPiArCXJldHVybiB2b3BfcmVhZF9yZWcodm9wLCAwLCAmdm9wLT5kYXRhLT5jb21tb24t PmRzcF9sdXRfZW4pOwo+ID4gK30KPiA+ICsKPiA+ICtzdGF0aWMgdm9pZCB2b3BfY3J0Y193cml0 ZV9nYW1tYV9sdXQoc3RydWN0IHZvcCAqdm9wLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gPiAr ewo+ID4gKwlzdHJ1Y3QgZHJtX2NvbG9yX2x1dCAqbHV0ID0gY3J0Yy0+c3RhdGUtPmdhbW1hX2x1 dC0+ZGF0YTsKPiA+ICsJaW50IGk7Cj4gCj4gdW5zaWduZWQgaQo+IAoKU3VyZSwgbXkgYmFkLgoK PiA+ICsKPiA+ICsJZm9yIChpID0gMDsgaSA8IGNydGMtPmdhbW1hX3NpemU7IGkrKykgewo+ID4g KwkJdTMyIHdvcmQ7Cj4gCj4gaGVyZSBhbmQgYmVsb3cgeW91IGNvdWxkIGRlY2xhcmUgYW5kIGlu aXRpYWxpemUgaW4gb25lIGxpbmUuIE1hdHRlciBvZgo+IHRhc3RlcywgdXAgdG8geW91Lgo+IAo+ ID4gKwo+ID4gKwkJd29yZCA9IChkcm1fY29sb3JfbHV0X2V4dHJhY3QobHV0W2ldLnJlZCwgMTAp IDw8IDIwKSB8Cj4gPiArCQkgICAgICAgKGRybV9jb2xvcl9sdXRfZXh0cmFjdChsdXRbaV0uZ3Jl ZW4sIDEwKSA8PCAxMCkgfAo+ID4gKwkJCWRybV9jb2xvcl9sdXRfZXh0cmFjdChsdXRbaV0uYmx1 ZSwgMTApOwo+ID4gKwkJd3JpdGVsKHdvcmQsIHZvcC0+bHV0X3JlZ3MgKyBpICogNCk7Cj4gPiAr CX0KPiA+ICt9Cj4gPiArCj4gPiArc3RhdGljIHZvaWQgdm9wX2NydGNfZ2FtbWFfc2V0KHN0cnVj dCB2b3AgKnZvcCwgc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4gKwkJCSAgICAgICBzdHJ1Y3Qg ZHJtX2NydGNfc3RhdGUgKm9sZF9zdGF0ZSkKPiA+ICt7Cj4gPiArCWludCBpZGxlLCByZXQsIGk7 Cj4gCj4gaWRsZSBhbmQgaSBjb3VsZCBiZSB1bnNpZ25lZAo+IAoKRGl0dG8uCgo+ID4gKwo+ID4g KwlzcGluX2xvY2soJnZvcC0+cmVnX2xvY2spOwo+ID4gKwlWT1BfUkVHX1NFVCh2b3AsIGNvbW1v biwgZHNwX2x1dF9lbiwgMCk7Cj4gPiArCXZvcF9jZmdfZG9uZSh2b3ApOwo+ID4gKwlzcGluX3Vu bG9jaygmdm9wLT5yZWdfbG9jayk7Cj4gPiArCj4gPiArCXJldCA9IHJlYWR4X3BvbGxfdGltZW91 dCh2b3BfZHNwX2x1dF9pc19lbmFibGUsIHZvcCwKPiA+ICsJCQkgICBpZGxlLCAhaWRsZSwgNSwg MzAgKiAxMDAwKTsKPiA+ICsJaWYgKHJldCkKPiA+ICsJCXJldHVybjsKPiA+ICsKPiA+ICsJc3Bp bl9sb2NrKCZ2b3AtPnJlZ19sb2NrKTsKPiA+ICsKPiA+ICsJaWYgKGNydGMtPnN0YXRlLT5nYW1t YV9sdXQpIHsKPiA+ICsJCWlmICghb2xkX3N0YXRlLT5nYW1tYV9sdXQgfHwgKGNydGMtPnN0YXRl LT5nYW1tYV9sdXQtPmJhc2UuaWQgIT0KPiA+ICsJCQkJCSAgICAgIG9sZF9zdGF0ZS0+Z2FtbWFf bHV0LT5iYXNlLmlkKSkKPiA+ICsJCQl2b3BfY3J0Y193cml0ZV9nYW1tYV9sdXQodm9wLCBjcnRj KTsKPiA+ICsJfSBlbHNlIHsKPiAKPiBpIGNvdWxkIGFsc28gYmUgZGVjbGFyZWQgaGVyZS4uLgo+ IAo+ID4gKwkJZm9yIChpID0gMDsgaSA8IGNydGMtPmdhbW1hX3NpemU7IGkrKykgewo+ID4gKwkJ CXUzMiB3b3JkOwo+ID4gKwo+ID4gKwkJCXdvcmQgPSAoaSA8PCAyMCkgfCAoaSA8PCAxMCkgfCBp Owo+ID4gKwkJCXdyaXRlbCh3b3JkLCB2b3AtPmx1dF9yZWdzICsgaSAqIDQpOwo+ID4gKwkJfQo+ IAo+IEkgbWlnaHQgYmUgY29uZnVzZWQsIGJ1dCBhcmUgeW91IGhlcmUgY29uZmlndXJpbmcgYSBs aW5lYXIgTFVUIHRhYmxlPwo+IElzbid0IHRoaXMgZXF1aXZhbGVudCB0byBoYXZlIGl0IGRpc2Fi bGVkPwo+IAoKTGlrZSBJIHJlcGxpZWQgSWxpYSwgSSBjb3VsZG4ndCBmaW5kIGEgd2F5IHRvIGRp c2FibGUgZ2FtbWEgY29ycmVjdGlvbi4KCkhvd2V2ZXIsIGFmdGVyIHNvbWUgbW9yZSBleHBlcmlt ZW50cywgc2VlbXMgSSBjb3VsZCBhbmQgc28gd2UgY2FuCmRyb3AgdGhpcyBsaW5lYXIgdGFibGUu Cgo+ID4gKwl9Cj4gPiArCj4gPiArCVZPUF9SRUdfU0VUKHZvcCwgY29tbW9uLCBkc3BfbHV0X2Vu LCAxKTsKPiA+ICsJdm9wX2NmZ19kb25lKHZvcCk7Cj4gPiArCXNwaW5fdW5sb2NrKCZ2b3AtPnJl Z19sb2NrKTsKPiA+ICt9Cj4gPiArCj4gPiArc3RhdGljIGludCB2b3BfY3J0Y19hdG9taWNfY2hl Y2soc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4gKwkJCQkgICBzdHJ1Y3QgZHJtX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUpCj4gPiArewo+ID4gKwlzdHJ1Y3Qgdm9wICp2b3AgPSB0b192b3AoY3J0 Yyk7Cj4gPiArCj4gPiArCWlmICh2b3AtPmx1dF9yZWdzICYmIGNydGNfc3RhdGUtPmNvbG9yX21n bXRfY2hhbmdlZCAmJgo+ID4gKwkgICAgY3J0Y19zdGF0ZS0+Z2FtbWFfbHV0KSB7Cj4gPiArCQlp bnQgbGVuOwo+ID4gKwo+ID4gKwkJbGVuID0gZHJtX2NvbG9yX2x1dF9zaXplKGNydGNfc3RhdGUt PmdhbW1hX2x1dCk7Cj4gPiArCQlpZiAobGVuICE9IGNydGMtPmdhbW1hX3NpemUpIHsKPiAKPiBE b24ndCB5b3UgYWNjZXB0IExVVCB0YWJsZXMgd2hvc2Ugc2l6ZSBpcyA8IHRoYXQgdGhlIG1heGlt dW0KPiBjcnRjLT5nYW1tYV9zaXplID8KPiAKCldlbGwsIHRoZSBoYXJkd2FyZSBleHBlY3RzIGEg MTAyNCBMVVQgKGJlY2F1c2UgdGhlIGZvcm1hdCBpcyBSR0IgMTAtYml0KS4KCklmIHdlIGFjY2Vw dCBzbWFsbGVyIHRhYmxlcywgdGhlIGtlcm5lbCB3b3VsZCBoYXZlIHRvIGludGVycG9sYXRlLAp3 aGljaCBJIHRoaW5rIGl0J3MgbmFzdHkgYW5kIG5vdCB0b28gdXNlZnVsLgoKTGV0J3MgbGVhdmUg dGhpcyB0byB1c2Vyc3BhY2UuCgo+ID4gKwkJCURSTV9ERUJVR19LTVMoIkludmFsaWQgTFVUIHNp emU7IGdvdCAlZCwgZXhwZWN0ZWQgJWRcbiIsCj4gPiArCQkJCSAgICAgIGxlbiwgY3J0Yy0+Z2Ft bWFfc2l6ZSk7Cj4gPiArCQkJcmV0dXJuIC1FSU5WQUw7Cj4gPiArCQl9Cj4gPiArCX0KPiAKPiBN b3N0IChidXQgbm90IGFsbCkgZnVuY3Rpb25zIGluIHRoaXMgZmlsZSBoYXZlIGFuIGVtcHR5IGxp bmUgYmVmb3JlIHRoZQo+IHJldHVybiBjbG9zaW5nIHRoZSBmdW5jdGlvbi4KPiAKCkRpdHRvLgoK PiA+ICsJcmV0dXJuIDA7Cj4gPiArfQo+ID4gKwo+ID4gK3ZvaWQgcm9ja2NoaXBfZHJtX3ZvcF9n YW1tYV9zZXQoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQo+ID4gK3sKPiA+ICsJc3Ry dWN0IGRybV9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZTsKPiA+ICsJc3RydWN0IGRybV9jcnRj ICpjcnRjOwo+ID4gKwlpbnQgaTsKPiAKPiB1bnNpZ25lZCBpID8KPiAKCkRpdHRvLgoKPiBJJ20g Z2xhZCB5b3UndmUgYmVlbiBhYmxlIHRvIHZlcmlmeSBhdG9taWNfZmx1c2ggd2FzIG5vdCB0aGUg cmlnaHQKPiBwbGFjZSB3aGVyZSB0byB1cGRhdGUgdGhlIExVVCB0YWJsZXMsIGFzIG15IHRlc3Rp bmcgaXMgbGltaXRlZCB0bwo+IHJ1biBrbXMrKyB0ZXN0cyBhbmQgSSBkaWRuJ3Qgbm90aWNlIGFu eSBwYXJ0aWN1bGFyIGFydGlmYWN0LiBUaGFua3MKPiBmb3IgY2hlY2tpbmchCj4gCgpXZWxsLCBJ IGp1c3QgYWRkZWQgYSBtZGVsYXkgaW4gdGhlIGdhbW1hX3NldCBmdW5jdGlvbiB0byBzaW11bGF0 ZQphbiBhcnRpZmFjdC4gV2l0aCB0aGlzIGltcGxlbWVudGF0aW9uLCBhbmQgdXNpbmcgdGhlIGF0 b21pYyBBUEksCmV2ZW4gd2l0aCB0aGUgZGVsYXksIHRoZSByZXN1bHQgcmVuZGVyZWQgaXMgYXRv bWljIDotKQoKVGhhbmtzIGFnYWluLApFemVxdWllbAoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVs