From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH] drm/i915: Clean up HDMI deep color handling a bit Date: Tue, 27 Aug 2019 12:30:52 +0300 Message-ID: <87woez7y5v.fsf@intel.com> References: <20190822180500.26608-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 147B8899B7 for ; Tue, 27 Aug 2019 09:30:57 +0000 (UTC) In-Reply-To: <20190822180500.26608-1-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville Syrjala , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAyMiBBdWcgMjAxOSwgVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBsaW51eC5p bnRlbC5jb20+IHdyb3RlOgo+IEZyb206IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20+Cj4KPiBSZW9ncmFuaXplIHRoZSBIRE1JIGRlZXAgY29sb3Igc3RhdGUg Y29tcHV0YXRpb24gdG8ganVzdAo+IGxvb3Agb3ZlciBwb3NzaWJsZSBicGMgdmFsdWVzLiBBdm9p ZHMgaGF2aW5nIHRvIG1haW50YWluCj4gc28gbWFueSB2YXJpYW50cyBvZiB0aGUgY2xvY2sgZXRj Lgo+Cj4gVGhlIGN1cnJlbnQgY29kZSBhbHNvIGxvb2tzIGNvbmZ1c2VkIHcuci50LiBwb3J0X2Ns b2NrIHZzLgo+IGJ3X2NvbnN0cmFpbmVkLiBJdCB3b3VsZCBoYXBwaWx5IHVwZGF0ZSBwb3J0X2Ns b2NrIGZvcgo+IGRlZXAgY29sb3IgYnV0IHRoZW4gbm90IGFjdHVhbGx5IGVuYWJsZSBkZWVwIGNv bG9yIGR1ZSB0bwo+IGJ3X2NvbnN0cmFpbmVkIGJlaW5nIHNldC4gVGhlIG5ldyBsb2dpYyBoYW5k bGVzIHRoYXQgY2FzZQo+IGNvcnJlY3RseS4KCkNhcmUgdG8gZWxhYm9yYXRlIG9uIHRoYXQgcGxl YXNlPwoKU29tZSBuaXRwaWNraW5nIGJlbG93LgoKPgo+IFNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5 cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfaGRtaS5jIHwgODIgKysrKysrKysrKy0tLS0tLS0t LS0tLS0KPiAgMSBmaWxlIGNoYW5nZWQsIDM3IGluc2VydGlvbnMoKyksIDQ1IGRlbGV0aW9ucygt KQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfaGRt aS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmMKPiBpbmRleCBl MDJmMGZhZWNmMDIuLmVkMWE3YWZjMWZmZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2hkbWkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfaGRtaS5jCj4gQEAgLTIyNjIsOCArMjI2Miw3IEBAIHN0YXRpYyBib29sIGhk bWlfZGVlcF9jb2xvcl9wb3NzaWJsZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSwKPiAgc3RhdGljIGJvb2wKPiAgaW50ZWxfaGRtaV95Y2JjcjQyMF9jb25maWcoc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKPiAgCQkJICAgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNvbmZpZywKPiAtCQkJICAgaW50ICpjbG9ja18xMmJwYywgaW50ICpjbG9ja18xMGJw YywKPiAtCQkJICAgaW50ICpjbG9ja184YnBjKQo+ICsJCQkgICBpbnQgKmNsb2NrKQo+ICB7Cj4g IAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY29uZmlnLT5i YXNlLmNydGMpOwo+ICAKPiBAQCAtMjI3MywxMCArMjI3Miw3IEBAIGludGVsX2hkbWlfeWNiY3I0 MjBfY29uZmlnKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gIAl9Cj4gIAo+ICAJ LyogWUNCQ1I0MjAgVE1EUyByYXRlIHJlcXVpcmVtZW50IGlzIGhhbGYgdGhlIHBpeGVsIGNsb2Nr ICovCj4gLQljb25maWctPnBvcnRfY2xvY2sgLz0gMjsKPiAtCSpjbG9ja18xMmJwYyAvPSAyOwo+ IC0JKmNsb2NrXzEwYnBjIC89IDI7Cj4gLQkqY2xvY2tfOGJwYyAvPSAyOwo+ICsJKmNsb2NrIC89 IDI7Cj4gIAljb25maWctPm91dHB1dF9mb3JtYXQgPSBJTlRFTF9PVVRQVVRfRk9STUFUX1lDQkNS NDIwOwo+ICAKPiAgCS8qIFlDQkNSIDQyMCBvdXRwdXQgY29udmVyc2lvbiBuZWVkcyBhIHNjYWxl ciAqLwo+IEBAIC0yMzAyLDEwICsyMjk4LDcgQEAgaW50IGludGVsX2hkbWlfY29tcHV0ZV9jb25m aWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAlzdHJ1Y3QgZHJtX3NjZGMgKnNj ZGMgPSAmY29ubmVjdG9yLT5kaXNwbGF5X2luZm8uaGRtaS5zY2RjOwo+ICAJc3RydWN0IGludGVs X2RpZ2l0YWxfY29ubmVjdG9yX3N0YXRlICppbnRlbF9jb25uX3N0YXRlID0KPiAgCQl0b19pbnRl bF9kaWdpdGFsX2Nvbm5lY3Rvcl9zdGF0ZShjb25uX3N0YXRlKTsKPiAtCWludCBjbG9ja184YnBj ID0gcGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZS5jcnRjX2Nsb2NrOwo+IC0JaW50IGNs b2NrXzEwYnBjID0gY2xvY2tfOGJwYyAqIDUgLyA0Owo+IC0JaW50IGNsb2NrXzEyYnBjID0gY2xv Y2tfOGJwYyAqIDMgLyAyOwo+IC0JaW50IGRlc2lyZWRfYnBwOwo+ICsJaW50IGJwYywgY2xvY2sg PSBwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlLmNydGNfY2xvY2s7Cj4gIAlib29sIGZv cmNlX2R2aSA9IGludGVsX2Nvbm5fc3RhdGUtPmZvcmNlX2F1ZGlvID09IEhETUlfQVVESU9fT0ZG X0RWSTsKPiAgCj4gIAlpZiAoYWRqdXN0ZWRfbW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX0RC TFNDQU4pCj4gQEAgLTIzMzAsMTUgKzIzMjMsMTEgQEAgaW50IGludGVsX2hkbWlfY29tcHV0ZV9j b25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAo+ICAJaWYgKGFkanVzdGVk X21vZGUtPmZsYWdzICYgRFJNX01PREVfRkxBR19EQkxDTEspIHsKPiAgCQlwaXBlX2NvbmZpZy0+ cGl4ZWxfbXVsdGlwbGllciA9IDI7Cj4gLQkJY2xvY2tfOGJwYyAqPSAyOwo+IC0JCWNsb2NrXzEw YnBjICo9IDI7Cj4gLQkJY2xvY2tfMTJicGMgKj0gMjsKPiArCQljbG9jayAqPSAyOwo+ICAJfQo+ ICAKPiAgCWlmIChkcm1fbW9kZV9pc180MjBfb25seSgmY29ubmVjdG9yLT5kaXNwbGF5X2luZm8s IGFkanVzdGVkX21vZGUpKSB7Cj4gLQkJaWYgKCFpbnRlbF9oZG1pX3ljYmNyNDIwX2NvbmZpZyhj b25uZWN0b3IsIHBpcGVfY29uZmlnLAo+IC0JCQkJCQkmY2xvY2tfMTJicGMsICZjbG9ja18xMGJw YywKPiAtCQkJCQkJJmNsb2NrXzhicGMpKSB7Cj4gKwkJaWYgKCFpbnRlbF9oZG1pX3ljYmNyNDIw X2NvbmZpZyhjb25uZWN0b3IsIHBpcGVfY29uZmlnLCAmY2xvY2spKSB7Cj4gIAkJCURSTV9FUlJP UigiQ2FuJ3Qgc3VwcG9ydCBZQ0JDUjQyMCBvdXRwdXRcbiIpOwo+ICAJCQlyZXR1cm4gLUVJTlZB TDsKPiAgCQl9Cj4gQEAgLTIzNTUsNDEgKzIzNDQsNDQgQEAgaW50IGludGVsX2hkbWlfY29tcHV0 ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCj4gIAkJCQlpbnRlbF9jb25u X3N0YXRlLT5mb3JjZV9hdWRpbyA9PSBIRE1JX0FVRElPX09OOwo+ICAJfQo+ICAKPiAtCS8qCj4g LQkgKiBOb3RlIHRoYXQgZzR4L3ZsdiBkb24ndCBzdXBwb3J0IDEyYnBjIGhkbWkgb3V0cHV0cy4g V2UgYWxzbyBuZWVkCj4gLQkgKiB0byBjaGVjayB0aGF0IHRoZSBoaWdoZXIgY2xvY2sgc3RpbGwg Zml0cyB3aXRoaW4gbGltaXRzLgo+IC0JICovCj4gLQlpZiAoaGRtaV9kZWVwX2NvbG9yX3Bvc3Np YmxlKHBpcGVfY29uZmlnLCAxMikgJiYKPiAtCSAgICBoZG1pX3BvcnRfY2xvY2tfdmFsaWQoaW50 ZWxfaGRtaSwgY2xvY2tfMTJicGMsCj4gLQkJCQkgIHRydWUsIGZvcmNlX2R2aSkgPT0gTU9ERV9P Sykgewo+IC0JCURSTV9ERUJVR19LTVMoInBpY2tpbmcgYnBjIHRvIDEyIGZvciBIRE1JIG91dHB1 dFxuIik7Cj4gLQkJZGVzaXJlZF9icHAgPSAxMiozOwo+IC0KPiAtCQkvKiBOZWVkIHRvIGFkanVz dCB0aGUgcG9ydCBsaW5rIGJ5IDEuNXggZm9yIDEyYnBjLiAqLwo+IC0JCXBpcGVfY29uZmlnLT5w b3J0X2Nsb2NrID0gY2xvY2tfMTJicGM7Cj4gLQl9IGVsc2UgaWYgKGhkbWlfZGVlcF9jb2xvcl9w b3NzaWJsZShwaXBlX2NvbmZpZywgMTApICYmCj4gLQkJICAgaGRtaV9wb3J0X2Nsb2NrX3ZhbGlk KGludGVsX2hkbWksIGNsb2NrXzEwYnBjLAo+IC0JCQkJCSB0cnVlLCBmb3JjZV9kdmkpID09IE1P REVfT0spIHsKPiAtCQlEUk1fREVCVUdfS01TKCJwaWNraW5nIGJwYyB0byAxMCBmb3IgSERNSSBv dXRwdXRcbiIpOwo+IC0JCWRlc2lyZWRfYnBwID0gMTAgKiAzOwo+IC0KPiAtCQkvKiBOZWVkIHRv IGFkanVzdCB0aGUgcG9ydCBsaW5rIGJ5IDEuMjV4IGZvciAxMGJwYy4gKi8KPiAtCQlwaXBlX2Nv bmZpZy0+cG9ydF9jbG9jayA9IGNsb2NrXzEwYnBjOwo+IC0JfSBlbHNlIHsKPiAtCQlEUk1fREVC VUdfS01TKCJwaWNraW5nIGJwYyB0byA4IGZvciBIRE1JIG91dHB1dFxuIik7Cj4gLQkJZGVzaXJl ZF9icHAgPSA4KjM7Cj4gKwkvKiBmb3IgOGJwYyAqLwo+ICsJcGlwZV9jb25maWctPnBvcnRfY2xv Y2sgPSBjbG9jazsKPiAgCj4gLQkJcGlwZV9jb25maWctPnBvcnRfY2xvY2sgPSBjbG9ja184YnBj Owo+IC0JfQo+ICsJZm9yIChicGMgPSAxMjsgYnBjID4gODsgYnBjIC09IDIpIHsKClNvIEkgZ2Vu ZXJhbGx5IGRvbid0IGxpa2UgbG9vcHMgbGlrZSB0aGlzLiBZb3UgZW50ZXIgdGhlIGxvb3Agd2l0 aCAxMgphbmQgMTAsIGRvbid0IGVudGVyIHdpdGggOCBidXQgYXNzdW1lIGluIGxhdGVyIGNvZGUg dGhhdCdzIHdoYXQgeW91IGdvdAppZiBub3QgMTIgb3IgMTAuIEFuZCwgb2YgY291cnNlLCB5b3Ug bmVlZCB0byBpbml0aWFsaXplCnBpcGVfY29uZmlnLT5wb3J0X2Nsb2NrIGJlZm9yZWhhbmQgZm9y IHRoYXQgY2FzZSB0b28uCgpQZXJoYXBzIGFic3RyYWN0aW5nIHRoZSBsb29wIHRvIGEgZnVuY3Rp b24gd291bGQgaGVscC4KCk5vdywgSSB0aGluayB0aGlzIGlzIHN0aWxsIGFuIGltcHJvdmVtZW50 IG9uIHRoZSBzdGF0dXMgcXVvLCBzbyB1cCB0bwp5b3Ugd2hldGhlciB0byBkbyB0aGF0IG5vdyBv ciBsYXRlci4KCj4gKwkJaW50IHBvcnRfY2xvY2s7Cj4gKwo+ICsJCWlmICghaGRtaV9kZWVwX2Nv bG9yX3Bvc3NpYmxlKHBpcGVfY29uZmlnLCBicGMpKQo+ICsJCQljb250aW51ZTsKPiArCj4gKwkJ LyoKPiArCQkgKiBOZWVkIHRvIGFkanVzdCB0aGUgcG9ydCBsaW5rIGJ5Ogo+ICsJCSAqICAxLjV4 IGZvciAxMmJwYwo+ICsJCSAqICAxLjI1eCBmb3IgMTBicGMKPiArCQkgKi8KPiArCQlwb3J0X2Ns b2NrID0gY2xvY2sgKiBicGMgLyA4Owo+ICsKPiArCQlpZiAoaGRtaV9wb3J0X2Nsb2NrX3ZhbGlk KGludGVsX2hkbWksIHBvcnRfY2xvY2ssCj4gKwkJCQkJICB0cnVlLCBmb3JjZV9kdmkpICE9IE1P REVfT0spCj4gKwkJCWNvbnRpbnVlOwo+ICAKPiAtCWlmICghcGlwZV9jb25maWctPmJ3X2NvbnN0 cmFpbmVkKSB7Cj4gLQkJRFJNX0RFQlVHX0tNUygiZm9yY2luZyBwaXBlIGJwcCB0byAlaSBmb3Ig SERNSVxuIiwgZGVzaXJlZF9icHApOwo+IC0JCXBpcGVfY29uZmlnLT5waXBlX2JwcCA9IGRlc2ly ZWRfYnBwOwo+ICsJCXBpcGVfY29uZmlnLT5wb3J0X2Nsb2NrID0gcG9ydF9jbG9jazsKPiArCQli cmVhazsKPiAgCX0KPiAgCj4gKwkvKgo+ICsJICogcGlwZV9icHAgY291bGQgYWxyZWFkeSBiZSBi ZWxvdyA4YnBjIGR1ZSB0bwo+ICsJICogRkRJIGJhbmR3aWR0aCBjb25zdHJhaW50cy4gV2Ugc2hv dWxkbid0IGJ1bXAgaXQKPiArCSAqIGJhY2sgdXAgdG8gOGJwYyBpbiB0aGF0IGNhc2UuCj4gKwkg Ki8KPiArCWlmIChwaXBlX2NvbmZpZy0+cGlwZV9icHAgPiBicGMgKiAzKQo+ICsJCXBpcGVfY29u ZmlnLT5waXBlX2JwcCA9IGJwYyAqIDM7Cj4gKwlEUk1fREVCVUdfS01TKCJwaWNraW5nICVkYnBj IGZvciBIRE1JIG91dHB1dCAocGlwZSBicHA6ICVkKVxuIiwKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgoKUHV0IGEgc3BhY2UgdGhlcmU/CgpSZWdhcmRsZXNzIG9mIHRoZSBuaXRw aWNrcywKClJldmlld2VkLWJ5OiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgoK Cgo+ICsJCSAgICAgIGJwYywgcGlwZV9jb25maWctPnBpcGVfYnBwKTsKPiArCj4gIAlpZiAoaGRt aV9wb3J0X2Nsb2NrX3ZhbGlkKGludGVsX2hkbWksIHBpcGVfY29uZmlnLT5wb3J0X2Nsb2NrLAo+ ICAJCQkJICBmYWxzZSwgZm9yY2VfZHZpKSAhPSBNT0RFX09LKSB7Cj4gLQkJRFJNX0RFQlVHX0tN UygidW5zdXBwb3J0ZWQgSERNSSBjbG9jaywgcmVqZWN0aW5nIG1vZGVcbiIpOwo+ICsJCURSTV9E RUJVR19LTVMoInVuc3VwcG9ydGVkIEhETUkgY2xvY2sgKCVkIGtIeiksIHJlamVjdGluZyBtb2Rl XG4iLAo+ICsJCQkgICAgICBwaXBlX2NvbmZpZy0+cG9ydF9jbG9jayk7Cj4gIAkJcmV0dXJuIC1F SU5WQUw7Cj4gIAl9CgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIEdyYXBoaWNz IENlbnRlcgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=