From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915: Clean up HDMI deep color handling a bit Date: Wed, 28 Aug 2019 20:38:44 +0300 Message-ID: <20190828173844.GJ7482@intel.com> References: <20190822180500.26608-1-ville.syrjala@linux.intel.com> <87woez7y5v.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 27D6589E03 for ; Wed, 28 Aug 2019 17:38:48 +0000 (UTC) Content-Disposition: inline In-Reply-To: <87woez7y5v.fsf@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBBdWcgMjcsIDIwMTkgYXQgMTI6MzA6NTJQTSArMDMwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gT24gVGh1LCAyMiBBdWcgMjAxOSwgVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20+IHdyb3RlOgo+ID4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5z eXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+Cj4gPiBSZW9ncmFuaXplIHRoZSBIRE1JIGRlZXAg Y29sb3Igc3RhdGUgY29tcHV0YXRpb24gdG8ganVzdAo+ID4gbG9vcCBvdmVyIHBvc3NpYmxlIGJw YyB2YWx1ZXMuIEF2b2lkcyBoYXZpbmcgdG8gbWFpbnRhaW4KPiA+IHNvIG1hbnkgdmFyaWFudHMg b2YgdGhlIGNsb2NrIGV0Yy4KPiA+Cj4gPiBUaGUgY3VycmVudCBjb2RlIGFsc28gbG9va3MgY29u ZnVzZWQgdy5yLnQuIHBvcnRfY2xvY2sgdnMuCj4gPiBid19jb25zdHJhaW5lZC4gSXQgd291bGQg aGFwcGlseSB1cGRhdGUgcG9ydF9jbG9jayBmb3IKPiA+IGRlZXAgY29sb3IgYnV0IHRoZW4gbm90 IGFjdHVhbGx5IGVuYWJsZSBkZWVwIGNvbG9yIGR1ZSB0bwo+ID4gYndfY29uc3RyYWluZWQgYmVp bmcgc2V0LiBUaGUgbmV3IGxvZ2ljIGhhbmRsZXMgdGhhdCBjYXNlCj4gPiBjb3JyZWN0bHkuCj4g Cj4gQ2FyZSB0byBlbGFib3JhdGUgb24gdGhhdCBwbGVhc2U/CgpBY3R1YWxseSBJIGd1ZXNzIGl0 IGNhbid0IGhhcHBlbiBiZWNhdXNlOgotIGJ3X2NvbnN0cmFpbmVkIGlzIGZvciBmZGkgb25seSBh dG0gYW5kIG5vIDEwYnBjIGhkbWkgb24gdGhvc2UKLSB3ZSBjYW4gbmV2ZXIgY29tZSBoZXJlIHdp dGggcGlwZV9icHA9PTEyICsgYndfY29uc3RyYWluZWQ9PXRydWUgYW55d2F5CgpCdXQgbG9va3Mg bGlrZSBiZWZvcmUgY29tbWl0IDNmYWQxMGRiYjY4OCAoImRybS9pOTE1L2ljbDogRml4IHNldHRp bmcKMTAgYml0IGRlZXAgY29sb3IgbW9kZSIpIHRoaXMgY291bGQgaGF2ZSBiZWVuIGEgcHJvYmxl bSBiZWNhdXNlIHdlIGNvdWxkCmhhdmUgbGVnaXRpbWF0ZWx5IGNvbWUgaGVyZSB3aXRoOgoKcGlw ZV9icHA9MTAqMwpid19jb25zdHJhaW5lZD10cnVlCmRlZXBfY29sb3JfcG9zc2libGUoMTIpIC0+ IHRydWUKIC0+IHBvcnRfY2xvY2sgPSBjbG9jayAqIDEyIC8gODsKaWYgKCFid19jb25zdGFpbmVk KQoJcGlwZV9icHAgPSAxMiozOwoKSWUuIHdlJ2QgaGF2ZSBjb21lIG91dCB3aXRoIHdpdGggcGlw ZV9icHA9MTAqMyArCnBvcnRfY2xvY2sgc2V0IHVwIGZvciAxMiBicGMuCgo+IAo+IFNvbWUgbml0 cGlja2luZyBiZWxvdy4KPiAKPiA+Cj4gPiBTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6Qg PHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+ID4gLS0tCj4gPiAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmMgfCA4MiArKysrKysrKysrLS0tLS0tLS0tLS0t LQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCAzNyBpbnNlcnRpb25zKCspLCA0NSBkZWxldGlvbnMoLSkK PiA+Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9o ZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2hkbWkuYwo+ID4gaW5k ZXggZTAyZjBmYWVjZjAyLi5lZDFhN2FmYzFmZmQgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2hkbWkuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmMKPiA+IEBAIC0yMjYyLDggKzIyNjIsNyBAQCBzdGF0 aWMgYm9vbCBoZG1pX2RlZXBfY29sb3JfcG9zc2libGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUsCj4gPiAgc3RhdGljIGJvb2wKPiA+ICBpbnRlbF9oZG1pX3ljYmNy NDIwX2NvbmZpZyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+ID4gIAkJCSAgIHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjb25maWcsCj4gPiAtCQkJICAgaW50ICpjbG9ja18xMmJw YywgaW50ICpjbG9ja18xMGJwYywKPiA+IC0JCQkgICBpbnQgKmNsb2NrXzhicGMpCj4gPiArCQkJ ICAgaW50ICpjbG9jaykKPiA+ICB7Cj4gPiAgCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRj ID0gdG9faW50ZWxfY3J0Yyhjb25maWctPmJhc2UuY3J0Yyk7Cj4gPiAgCj4gPiBAQCAtMjI3Mywx MCArMjI3Miw3IEBAIGludGVsX2hkbWlfeWNiY3I0MjBfY29uZmlnKHN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IsCj4gPiAgCX0KPiA+ICAKPiA+ICAJLyogWUNCQ1I0MjAgVE1EUyByYXRl IHJlcXVpcmVtZW50IGlzIGhhbGYgdGhlIHBpeGVsIGNsb2NrICovCj4gPiAtCWNvbmZpZy0+cG9y dF9jbG9jayAvPSAyOwo+ID4gLQkqY2xvY2tfMTJicGMgLz0gMjsKPiA+IC0JKmNsb2NrXzEwYnBj IC89IDI7Cj4gPiAtCSpjbG9ja184YnBjIC89IDI7Cj4gPiArCSpjbG9jayAvPSAyOwo+ID4gIAlj b25maWctPm91dHB1dF9mb3JtYXQgPSBJTlRFTF9PVVRQVVRfRk9STUFUX1lDQkNSNDIwOwo+ID4g IAo+ID4gIAkvKiBZQ0JDUiA0MjAgb3V0cHV0IGNvbnZlcnNpb24gbmVlZHMgYSBzY2FsZXIgKi8K PiA+IEBAIC0yMzAyLDEwICsyMjk4LDcgQEAgaW50IGludGVsX2hkbWlfY29tcHV0ZV9jb25maWco c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiAgCXN0cnVjdCBkcm1fc2NkYyAqc2Nk YyA9ICZjb25uZWN0b3ItPmRpc3BsYXlfaW5mby5oZG1pLnNjZGM7Cj4gPiAgCXN0cnVjdCBpbnRl bF9kaWdpdGFsX2Nvbm5lY3Rvcl9zdGF0ZSAqaW50ZWxfY29ubl9zdGF0ZSA9Cj4gPiAgCQl0b19p bnRlbF9kaWdpdGFsX2Nvbm5lY3Rvcl9zdGF0ZShjb25uX3N0YXRlKTsKPiA+IC0JaW50IGNsb2Nr XzhicGMgPSBwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlLmNydGNfY2xvY2s7Cj4gPiAt CWludCBjbG9ja18xMGJwYyA9IGNsb2NrXzhicGMgKiA1IC8gNDsKPiA+IC0JaW50IGNsb2NrXzEy YnBjID0gY2xvY2tfOGJwYyAqIDMgLyAyOwo+ID4gLQlpbnQgZGVzaXJlZF9icHA7Cj4gPiArCWlu dCBicGMsIGNsb2NrID0gcGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRjX2Nsb2Nr Owo+ID4gIAlib29sIGZvcmNlX2R2aSA9IGludGVsX2Nvbm5fc3RhdGUtPmZvcmNlX2F1ZGlvID09 IEhETUlfQVVESU9fT0ZGX0RWSTsKPiA+ICAKPiA+ICAJaWYgKGFkanVzdGVkX21vZGUtPmZsYWdz ICYgRFJNX01PREVfRkxBR19EQkxTQ0FOKQo+ID4gQEAgLTIzMzAsMTUgKzIzMjMsMTEgQEAgaW50 IGludGVsX2hkbWlfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIs Cj4gPiAgCj4gPiAgCWlmIChhZGp1c3RlZF9tb2RlLT5mbGFncyAmIERSTV9NT0RFX0ZMQUdfREJM Q0xLKSB7Cj4gPiAgCQlwaXBlX2NvbmZpZy0+cGl4ZWxfbXVsdGlwbGllciA9IDI7Cj4gPiAtCQlj bG9ja184YnBjICo9IDI7Cj4gPiAtCQljbG9ja18xMGJwYyAqPSAyOwo+ID4gLQkJY2xvY2tfMTJi cGMgKj0gMjsKPiA+ICsJCWNsb2NrICo9IDI7Cj4gPiAgCX0KPiA+ICAKPiA+ICAJaWYgKGRybV9t b2RlX2lzXzQyMF9vbmx5KCZjb25uZWN0b3ItPmRpc3BsYXlfaW5mbywgYWRqdXN0ZWRfbW9kZSkp IHsKPiA+IC0JCWlmICghaW50ZWxfaGRtaV95Y2JjcjQyMF9jb25maWcoY29ubmVjdG9yLCBwaXBl X2NvbmZpZywKPiA+IC0JCQkJCQkmY2xvY2tfMTJicGMsICZjbG9ja18xMGJwYywKPiA+IC0JCQkJ CQkmY2xvY2tfOGJwYykpIHsKPiA+ICsJCWlmICghaW50ZWxfaGRtaV95Y2JjcjQyMF9jb25maWco Y29ubmVjdG9yLCBwaXBlX2NvbmZpZywgJmNsb2NrKSkgewo+ID4gIAkJCURSTV9FUlJPUigiQ2Fu J3Qgc3VwcG9ydCBZQ0JDUjQyMCBvdXRwdXRcbiIpOwo+ID4gIAkJCXJldHVybiAtRUlOVkFMOwo+ ID4gIAkJfQo+ID4gQEAgLTIzNTUsNDEgKzIzNDQsNDQgQEAgaW50IGludGVsX2hkbWlfY29tcHV0 ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gPiAgCQkJCWludGVsX2Nv bm5fc3RhdGUtPmZvcmNlX2F1ZGlvID09IEhETUlfQVVESU9fT047Cj4gPiAgCX0KPiA+ICAKPiA+ IC0JLyoKPiA+IC0JICogTm90ZSB0aGF0IGc0eC92bHYgZG9uJ3Qgc3VwcG9ydCAxMmJwYyBoZG1p IG91dHB1dHMuIFdlIGFsc28gbmVlZAo+ID4gLQkgKiB0byBjaGVjayB0aGF0IHRoZSBoaWdoZXIg Y2xvY2sgc3RpbGwgZml0cyB3aXRoaW4gbGltaXRzLgo+ID4gLQkgKi8KPiA+IC0JaWYgKGhkbWlf ZGVlcF9jb2xvcl9wb3NzaWJsZShwaXBlX2NvbmZpZywgMTIpICYmCj4gPiAtCSAgICBoZG1pX3Bv cnRfY2xvY2tfdmFsaWQoaW50ZWxfaGRtaSwgY2xvY2tfMTJicGMsCj4gPiAtCQkJCSAgdHJ1ZSwg Zm9yY2VfZHZpKSA9PSBNT0RFX09LKSB7Cj4gPiAtCQlEUk1fREVCVUdfS01TKCJwaWNraW5nIGJw YyB0byAxMiBmb3IgSERNSSBvdXRwdXRcbiIpOwo+ID4gLQkJZGVzaXJlZF9icHAgPSAxMiozOwo+ ID4gLQo+ID4gLQkJLyogTmVlZCB0byBhZGp1c3QgdGhlIHBvcnQgbGluayBieSAxLjV4IGZvciAx MmJwYy4gKi8KPiA+IC0JCXBpcGVfY29uZmlnLT5wb3J0X2Nsb2NrID0gY2xvY2tfMTJicGM7Cj4g PiAtCX0gZWxzZSBpZiAoaGRtaV9kZWVwX2NvbG9yX3Bvc3NpYmxlKHBpcGVfY29uZmlnLCAxMCkg JiYKPiA+IC0JCSAgIGhkbWlfcG9ydF9jbG9ja192YWxpZChpbnRlbF9oZG1pLCBjbG9ja18xMGJw YywKPiA+IC0JCQkJCSB0cnVlLCBmb3JjZV9kdmkpID09IE1PREVfT0spIHsKPiA+IC0JCURSTV9E RUJVR19LTVMoInBpY2tpbmcgYnBjIHRvIDEwIGZvciBIRE1JIG91dHB1dFxuIik7Cj4gPiAtCQlk ZXNpcmVkX2JwcCA9IDEwICogMzsKPiA+IC0KPiA+IC0JCS8qIE5lZWQgdG8gYWRqdXN0IHRoZSBw b3J0IGxpbmsgYnkgMS4yNXggZm9yIDEwYnBjLiAqLwo+ID4gLQkJcGlwZV9jb25maWctPnBvcnRf Y2xvY2sgPSBjbG9ja18xMGJwYzsKPiA+IC0JfSBlbHNlIHsKPiA+IC0JCURSTV9ERUJVR19LTVMo InBpY2tpbmcgYnBjIHRvIDggZm9yIEhETUkgb3V0cHV0XG4iKTsKPiA+IC0JCWRlc2lyZWRfYnBw ID0gOCozOwo+ID4gKwkvKiBmb3IgOGJwYyAqLwo+ID4gKwlwaXBlX2NvbmZpZy0+cG9ydF9jbG9j ayA9IGNsb2NrOwo+ID4gIAo+ID4gLQkJcGlwZV9jb25maWctPnBvcnRfY2xvY2sgPSBjbG9ja184 YnBjOwo+ID4gLQl9Cj4gPiArCWZvciAoYnBjID0gMTI7IGJwYyA+IDg7IGJwYyAtPSAyKSB7Cj4g Cj4gU28gSSBnZW5lcmFsbHkgZG9uJ3QgbGlrZSBsb29wcyBsaWtlIHRoaXMuIFlvdSBlbnRlciB0 aGUgbG9vcCB3aXRoIDEyCj4gYW5kIDEwLCBkb24ndCBlbnRlciB3aXRoIDggYnV0IGFzc3VtZSBp biBsYXRlciBjb2RlIHRoYXQncyB3aGF0IHlvdSBnb3QKPiBpZiBub3QgMTIgb3IgMTAuIEFuZCwg b2YgY291cnNlLCB5b3UgbmVlZCB0byBpbml0aWFsaXplCj4gcGlwZV9jb25maWctPnBvcnRfY2xv Y2sgYmVmb3JlaGFuZCBmb3IgdGhhdCBjYXNlIHRvby4KPiAKPiBQZXJoYXBzIGFic3RyYWN0aW5n IHRoZSBsb29wIHRvIGEgZnVuY3Rpb24gd291bGQgaGVscC4KCkhtbS4gSSBndWVzcy4gVGhvdWdo IG1heWJlIEkgc2hvdWxkIHNwbGl0IGV2ZW4gbW9yZSBqdW5rIGludG8gYSBmZXcKbmV3IGZ1bmN0 aW9ucy4uLgoKPiAKPiBOb3csIEkgdGhpbmsgdGhpcyBpcyBzdGlsbCBhbiBpbXByb3ZlbWVudCBv biB0aGUgc3RhdHVzIHF1bywgc28gdXAgdG8KPiB5b3Ugd2hldGhlciB0byBkbyB0aGF0IG5vdyBv ciBsYXRlci4KPiAKPiA+ICsJCWludCBwb3J0X2Nsb2NrOwo+ID4gKwo+ID4gKwkJaWYgKCFoZG1p X2RlZXBfY29sb3JfcG9zc2libGUocGlwZV9jb25maWcsIGJwYykpCj4gPiArCQkJY29udGludWU7 Cj4gPiArCj4gPiArCQkvKgo+ID4gKwkJICogTmVlZCB0byBhZGp1c3QgdGhlIHBvcnQgbGluayBi eToKPiA+ICsJCSAqICAxLjV4IGZvciAxMmJwYwo+ID4gKwkJICogIDEuMjV4IGZvciAxMGJwYwo+ ID4gKwkJICovCj4gPiArCQlwb3J0X2Nsb2NrID0gY2xvY2sgKiBicGMgLyA4Owo+ID4gKwo+ID4g KwkJaWYgKGhkbWlfcG9ydF9jbG9ja192YWxpZChpbnRlbF9oZG1pLCBwb3J0X2Nsb2NrLAo+ID4g KwkJCQkJICB0cnVlLCBmb3JjZV9kdmkpICE9IE1PREVfT0spCj4gPiArCQkJY29udGludWU7Cj4g PiAgCj4gPiAtCWlmICghcGlwZV9jb25maWctPmJ3X2NvbnN0cmFpbmVkKSB7Cj4gPiAtCQlEUk1f REVCVUdfS01TKCJmb3JjaW5nIHBpcGUgYnBwIHRvICVpIGZvciBIRE1JXG4iLCBkZXNpcmVkX2Jw cCk7Cj4gPiAtCQlwaXBlX2NvbmZpZy0+cGlwZV9icHAgPSBkZXNpcmVkX2JwcDsKPiA+ICsJCXBp cGVfY29uZmlnLT5wb3J0X2Nsb2NrID0gcG9ydF9jbG9jazsKPiA+ICsJCWJyZWFrOwo+ID4gIAl9 Cj4gPiAgCj4gPiArCS8qCj4gPiArCSAqIHBpcGVfYnBwIGNvdWxkIGFscmVhZHkgYmUgYmVsb3cg OGJwYyBkdWUgdG8KPiA+ICsJICogRkRJIGJhbmR3aWR0aCBjb25zdHJhaW50cy4gV2Ugc2hvdWxk bid0IGJ1bXAgaXQKPiA+ICsJICogYmFjayB1cCB0byA4YnBjIGluIHRoYXQgY2FzZS4KPiA+ICsJ ICovCj4gPiArCWlmIChwaXBlX2NvbmZpZy0+cGlwZV9icHAgPiBicGMgKiAzKQo+ID4gKwkJcGlw ZV9jb25maWctPnBpcGVfYnBwID0gYnBjICogMzsKPiA+ICsJRFJNX0RFQlVHX0tNUygicGlja2lu ZyAlZGJwYyBmb3IgSERNSSBvdXRwdXQgKHBpcGUgYnBwOiAlZClcbiIsCj4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgXgo+IAo+IFB1dCBhIHNwYWNlIHRoZXJlPwoKTWF5YmUuIFRo ZSBjb21tZW50cyBpbiB0aGUgY29kZSBhcmUgdy9vIHRoZSBzcGFjZSwgYnV0IEkgZ3Vlc3Mgd2Ug Y291bGQKc3RpY2sgaXQgaW4gdGhlcmUgYW55d2F5LgoKPiAKPiBSZWdhcmRsZXNzIG9mIHRoZSBu aXRwaWNrcywKPiAKPiBSZXZpZXdlZC1ieTogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGludGVs LmNvbT4KPiAKPiAKPiAKPiA+ICsJCSAgICAgIGJwYywgcGlwZV9jb25maWctPnBpcGVfYnBwKTsK PiA+ICsKPiA+ICAJaWYgKGhkbWlfcG9ydF9jbG9ja192YWxpZChpbnRlbF9oZG1pLCBwaXBlX2Nv bmZpZy0+cG9ydF9jbG9jaywKPiA+ICAJCQkJICBmYWxzZSwgZm9yY2VfZHZpKSAhPSBNT0RFX09L KSB7Cj4gPiAtCQlEUk1fREVCVUdfS01TKCJ1bnN1cHBvcnRlZCBIRE1JIGNsb2NrLCByZWplY3Rp bmcgbW9kZVxuIik7Cj4gPiArCQlEUk1fREVCVUdfS01TKCJ1bnN1cHBvcnRlZCBIRE1JIGNsb2Nr ICglZCBrSHopLCByZWplY3RpbmcgbW9kZVxuIiwKPiA+ICsJCQkgICAgICBwaXBlX2NvbmZpZy0+ cG9ydF9jbG9jayk7Cj4gPiAgCQlyZXR1cm4gLUVJTlZBTDsKPiA+ICAJfQo+IAo+IC0tIAo+IEph bmkgTmlrdWxhLCBJbnRlbCBPcGVuIFNvdXJjZSBHcmFwaGljcyBDZW50ZXIKCi0tIApWaWxsZSBT eXJqw6Rsw6QKSW50ZWwKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4