From mboxrd@z Thu Jan 1 00:00:00 1970 From: Kausal Malladi Subject: [PATCH 13/16] drm/i915: Add DeGamma correction for CHV/BSW Date: Wed, 15 Jul 2015 18:39:37 +0530 Message-ID: <1436965780-6061-14-git-send-email-Kausal.Malladi@intel.com> References: <1436965780-6061-1-git-send-email-Kausal.Malladi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1436965780-6061-1-git-send-email-Kausal.Malladi@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: matthew.d.roper@intel.com, jesse.barnes@intel.com, damien.lespiau@intel.com, sonika.jindal@intel.com, durgadoss.r@intel.com, vijay.a.purushothaman@intel.com, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, hverkuil@xs4all.nl, daniel@fooishbar.org Cc: annie.j.matheson@intel.com, dhanya.p.r@intel.com, daniel.vetter@intel.com, susanta.bhattacharjee@intel.com List-Id: dri-devel@lists.freedesktop.org Q0hWL0JTVyBzdXBwb3J0cyBEZUdhbW1hIGNvbG9yIGNvcnJlY3Rpb24gZmVhdHVyZSwgd2hpY2gg bGluZWFyaXplcyBhbGwKdGhlIG5vbi1saW5lYXIgY29sb3IgdmFsdWVzLiBUaGlzIHdpbGwgYmUg YXBwbGllZCBiZWZvcmUgQ29sb3IKVHJhbnNmb3JtYXRpb24uCgpUaGlzIHBhdGNoIGRvZXMgdGhl IGZvbGxvd2luZzoKMS4gQWRkcyB0aGUgY29yZSBmdW5jdGlvbiB0byBwcm9ncmFtIERlR2FtbWEg Y29ycmVjdGlvbiB2YWx1ZXMgZm9yCiAgIENIVi9CU1cgcGxhdGZvcm0KMi4gQWRkcyBEZUdhbW1h IGNvcnJlY3Rpb24gbWFjcm9zL2RlZmluZXMKClNpZ25lZC1vZmYtYnk6IFNoYXNoYW5rIFNoYXJt YSA8c2hhc2hhbmsuc2hhcm1hQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogS2F1c2FsIE1hbGxh ZGkgPEthdXNhbC5NYWxsYWRpQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3JlZy5oICAgICAgICAgICAgfCAgIDUgKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2NvbG9yX21hbmFnZXIuYyB8IDEyMiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3JfbWFuYWdlci5oIHwgICA2ICsrCiAzIGZpbGVz IGNoYW5nZWQsIDEzMyBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKaW5kZXgg NGVjMmU0Zi4uYjk1ODYyZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCkBAIC03OTEzLDkgKzc5 MTMsMTQgQEAgZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7CiAjZGVmaW5lIFBJUEVBX0NHTV9H QU1NQQkJCQkoVkxWX0RJU1BMQVlfQkFTRSArIDB4NjcwMDApCiAjZGVmaW5lIFBJUEVCX0NHTV9H QU1NQQkJCQkoVkxWX0RJU1BMQVlfQkFTRSArIDB4NjkwMDApCiAjZGVmaW5lIFBJUEVDX0NHTV9H QU1NQQkJCQkoVkxWX0RJU1BMQVlfQkFTRSArIDB4NkIwMDApCisjZGVmaW5lIFBJUEVBX0NHTV9E RUdBTU1BCQkJKFZMVl9ESVNQTEFZX0JBU0UgKyAweDY2MDAwKQorI2RlZmluZSBQSVBFQl9DR01f REVHQU1NQQkJCShWTFZfRElTUExBWV9CQVNFICsgMHg2ODAwMCkKKyNkZWZpbmUgUElQRUNfQ0dN X0RFR0FNTUEJCQkoVkxWX0RJU1BMQVlfQkFTRSArIDB4NkEwMDApCiAjZGVmaW5lIF9QSVBFX0NH TV9DT05UUk9MKHBpcGUpIFwKIAkoX1BJUEUzKHBpcGUsIFBJUEVBX0NHTV9DT05UUk9MLCBQSVBF Ql9DR01fQ09OVFJPTCwgUElQRUNfQ0dNX0NPTlRST0wpKQogI2RlZmluZSBfUElQRV9HQU1NQV9C QVNFKHBpcGUpIFwKIAkoX1BJUEUzKHBpcGUsIFBJUEVBX0NHTV9HQU1NQSwgUElQRUJfQ0dNX0dB TU1BLCBQSVBFQ19DR01fR0FNTUEpKQorI2RlZmluZSBfUElQRV9ERUdBTU1BX0JBU0UocGlwZSkg XAorCShfUElQRTMocGlwZSwgUElQRUFfQ0dNX0RFR0FNTUEsIFBJUEVCX0NHTV9ERUdBTU1BLCBQ SVBFQ19DR01fREVHQU1NQSkpCiAKICNlbmRpZiAvKiBfSTkxNV9SRUdfSF8gKi8KZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIuYwppbmRleCA5MDhiN2VkLi4xMjFlYzQz IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvcl9tYW5hZ2VyLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3JfbWFuYWdlci5jCkBAIC0yNyw2 ICsyNywxMjEgQEAKIAogI2luY2x1ZGUgImludGVsX2NvbG9yX21hbmFnZXIuaCIKIAoraW50IGNo dl9zZXRfZGVnYW1tYShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX3Byb3BlcnR5 X2Jsb2IgKmJsb2IsCisJCXN0cnVjdCBkcm1fY3J0YyAqY3J0YykKK3sKKwlzdHJ1Y3QgZHJtX3Bh bGV0dGUgKmRlZ2FtbWFfZGF0YTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSBkZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCBkcm1fbW9kZV9jb25maWcgKmNvbmZpZyA9ICZk ZXYtPm1vZGVfY29uZmlnOworCXUzMiBjZ21fY29udHJvbF9yZWcgPSAwOworCXUzMiBjZ21fZGVn YW1tYV9yZWcgPSAwOworCWVudW0gcGlwZSBwaXBlOworCXUzMiByZWQsIGdyZWVuLCBibHVlOwor CXU4IHJlZF9pbnQsIGdyZWVuX2ludCwgYmx1ZV9pbnQ7CisJdTE2IHJlZF9mcmFjdCwgZ3JlZW5f ZnJhY3QsIGJsdWVfZnJhY3Q7CisJdTMyIGNvdW50ID0gMDsKKwlzdHJ1Y3QgZHJtX3IzMmczMmIz MiAqY29ycmVjdGlvbl92YWx1ZXMgPSBOVUxMOworCXUzMiBudW1fc2FtcGxlczsKKwl1MzIgd29y ZDsKKwlpbnQgcmV0ID0gMCwgbGVuZ3RoOworCisJaWYgKCFibG9iKSB7CisJCURSTV9FUlJPUigi TlVMTCBCbG9iXG4iKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJZGVnYW1tYV9kYXRhID0g KHN0cnVjdCBkcm1fcGFsZXR0ZSAqKWJsb2ItPmRhdGE7CisKKwlpZiAoZGVnYW1tYV9kYXRhLT52 ZXJzaW9uICE9IENIVl9ERUdBTU1BX0RBVEFfU1RSVUNUX1ZFUlNJT04pIHsKKwkJRFJNX0VSUk9S KCJJbnZhbGlkIERlR2FtbWEgRGF0YSBzdHJ1Y3QgdmVyc2lvblxuIik7CisJCXJldHVybiAtRUlO VkFMOworCX0KKworCXBpcGUgPSB0b19pbnRlbF9jcnRjKGNydGMpLT5waXBlOworCW51bV9zYW1w bGVzID0gZGVnYW1tYV9kYXRhLT5udW1fc2FtcGxlczsKKwlsZW5ndGggPSBudW1fc2FtcGxlcyAq IHNpemVvZihzdHJ1Y3QgZHJtX3IzMmczMmIzMik7CisKKwlpZiAobnVtX3NhbXBsZXMgPT0gMCkg eworCisJCS8qIERpc2FibGUgRGVHYW1tYSBmdW5jdGlvbmFsaXR5IG9uIFBpcGUgLSBDR00gQmxv Y2sgKi8KKwkJY2dtX2NvbnRyb2xfcmVnID0gSTkxNV9SRUFEKF9QSVBFX0NHTV9DT05UUk9MKHBp cGUpKTsKKwkJY2dtX2NvbnRyb2xfcmVnICY9IH5DR01fREVHQU1NQV9FTjsKKwkJSTkxNV9XUklU RShfUElQRV9DR01fQ09OVFJPTChwaXBlKSwgY2dtX2NvbnRyb2xfcmVnKTsKKworCQlEUk1fREVC VUdfRFJJVkVSKCJEZUdhbW1hIGRpc2FibGVkIG9uIFBpcGUgJWNcbiIsCisJCQkJcGlwZV9uYW1l KHBpcGUpKTsKKwkJcmV0ID0gMDsKKwl9IGVsc2UgaWYgKG51bV9zYW1wbGVzID09IENIVl9ERUdB TU1BX01BWF9WQUxTKSB7CisJCWNnbV9kZWdhbW1hX3JlZyA9IF9QSVBFX0RFR0FNTUFfQkFTRShw aXBlKTsKKworCQljb3VudCA9IDA7CisJCWNvcnJlY3Rpb25fdmFsdWVzID0gKHN0cnVjdCBkcm1f cjMyZzMyYjMyICopJmRlZ2FtbWFfZGF0YS0+bHV0OworCQl3aGlsZSAoY291bnQgPCBDSFZfREVH QU1NQV9NQVhfVkFMUykgeworCQkJYmx1ZSA9IGNvcnJlY3Rpb25fdmFsdWVzW2NvdW50XS5iMzI7 CisJCQlncmVlbiA9IGNvcnJlY3Rpb25fdmFsdWVzW2NvdW50XS5nMzI7CisJCQlyZWQgPSBjb3Jy ZWN0aW9uX3ZhbHVlc1tjb3VudF0ucjMyOworCisJCQlibHVlX2ludCA9IF9HQU1NQV9JTlRfUEFS VChibHVlKTsKKwkJCWlmIChibHVlX2ludCA+IEdBTU1BX0lOVF9NQVgpCisJCQkJYmx1ZSA9IENI Vl9NQVhfR0FNTUE7CisJCQlncmVlbl9pbnQgPSBfR0FNTUFfSU5UX1BBUlQoZ3JlZW4pOworCQkJ aWYgKGdyZWVuX2ludCA+IEdBTU1BX0lOVF9NQVgpCisJCQkJZ3JlZW4gPSBDSFZfTUFYX0dBTU1B OworCQkJcmVkX2ludCA9IF9HQU1NQV9JTlRfUEFSVChyZWQpOworCQkJaWYgKHJlZF9pbnQgPiBH QU1NQV9JTlRfTUFYKQorCQkJCXJlZCA9IENIVl9NQVhfR0FNTUE7CisKKwkJCWJsdWVfZnJhY3Qg PSBfR0FNTUFfRlJBQ1RfUEFSVChibHVlKTsKKwkJCWdyZWVuX2ZyYWN0ID0gX0dBTU1BX0ZSQUNU X1BBUlQoZ3JlZW4pOworCQkJcmVkX2ZyYWN0ID0gX0dBTU1BX0ZSQUNUX1BBUlQocmVkKTsKKwor CQkJYmx1ZV9mcmFjdCA+Pj0gQ0hWX0RFR0FNTUFfTVNCX1NISUZUOworCQkJZ3JlZW5fZnJhY3Qg Pj49IENIVl9ERUdBTU1BX01TQl9TSElGVDsKKwkJCXJlZF9mcmFjdCA+Pj0gQ0hWX0RFR0FNTUFf TVNCX1NISUZUOworCisJCQkvKiBHcmVlbiAoMjk6MTYpIGFuZCBCbHVlICgxMzowKSBpbiBEV09S RDEgKi8KKwkJCXdvcmQgPSBncmVlbl9mcmFjdDsKKwkJCXdvcmQgPDw9IENIVl9ERUdBTU1BX0dS RUVOX1NISUZUOworCQkJd29yZCA9IHdvcmQgfCBibHVlOworCQkJSTkxNV9XUklURShjZ21fZGVn YW1tYV9yZWcsIHdvcmQpOworCisJCQljZ21fZGVnYW1tYV9yZWcgKz0gNDsKKworCQkJLyogUmVk ICgxMzowKSB0byBiZSB3cml0dGVuIHRvIERXT1JEMiAqLworCQkJd29yZCA9IHJlZF9mcmFjdDsK KwkJCUk5MTVfV1JJVEUoY2dtX2RlZ2FtbWFfcmVnLCB3b3JkKTsKKworCQkJY2dtX2RlZ2FtbWFf cmVnICs9IDQ7CisJCQljb3VudCsrOworCQl9CisKKwkJRFJNX0RFQlVHX0RSSVZFUigiRGVHYW1t YSBMVVQgbG9hZGVkIGZvciBQaXBlICVjXG4iLAorCQkJCXBpcGVfbmFtZShwaXBlKSk7CisKKwkJ LyogRW5hYmxlIERlR2FtbWEgb24gUGlwZSAqLworCQlJOTE1X1dSSVRFKF9QSVBFX0NHTV9DT05U Uk9MKHBpcGUpLAorCQkJSTkxNV9SRUFEKF9QSVBFX0NHTV9DT05UUk9MKHBpcGUpKSB8IENHTV9E RUdBTU1BX0VOKTsKKworCQlEUk1fREVCVUdfRFJJVkVSKCJEZUdhbW1hIGNvcnJlY3Rpb24gZW5h YmxlZCBvbiBQaXBlICVjXG4iLAorCQkJCXBpcGVfbmFtZShwaXBlKSk7CisJCXJldCA9IDA7CisJ fSBlbHNlIHsKKwkJRFJNX0VSUk9SKCJJbnZhbGlkIG51bWJlciBvZiBzYW1wbGVzIGZvciBEZUdh bW1hIExVVFxuIik7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCXJldCA9IGRybV9wcm9wZXJ0 eV9yZXBsYWNlX2dsb2JhbF9ibG9iKGRldiwgJmJsb2IsIGxlbmd0aCwKKwkJCSh2b2lkICopIGRl Z2FtbWFfZGF0YSwgJmNydGMtPmJhc2UsCisJCQljb25maWctPnByb3BfcGFsZXR0ZV9iZWZvcmVf Y3RtKTsKKworCWlmIChyZXQpIHsKKwkJRFJNX0VSUk9SKCJFcnJvciB1cGRhdGluZyBEZUdhbW1h IGJsb2JcbiIpOworCQlyZXR1cm4gLUVGQVVMVDsKKwl9CisKKwlyZXR1cm4gcmV0OworfQorCiBp bnQgY2h2X3NldF9nYW1tYShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX3Byb3Bl cnR5X2Jsb2IgKmJsb2IsCiAJCSAgc3RydWN0IGRybV9jcnRjICpjcnRjKQogewpAQCAtMTczLDYg KzI4OCwxMyBAQCB2b2lkIGludGVsX2NvbG9yX21hbmFnZXJfY3J0Y19jb21taXQoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwKIAkJCQkJIkdhbW1hIHJlZ2lzdGVycyBDb21taXQgc3VjY2VzcyFcbiIp OwogCQl9CiAKKwkJYmxvYiA9IGNydGNfc3RhdGUtPnBhbGV0dGVfYmVmb3JlX2N0bV9ibG9iOwor CQlpZiAoYmxvYikgeworCQkJcmV0ID0gY2h2X3NldF9kZWdhbW1hKGRldiwgYmxvYiwgY3J0Yyk7 CisJCQlpZiAoIXJldCkKKwkJCQlEUk1fREVCVUdfRFJJVkVSKAorCQkJCQkiRGVHYW1tYSByZWdp c3RlcnMgQ29tbWl0IHN1Y2Nlc3MhXG4iKTsKKwkJfQogCX0KIH0KIApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3JfbWFuYWdlci5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfY29sb3JfbWFuYWdlci5oCmluZGV4IDhiYmFjMjAuLjZhNGZmZjIgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIuaAorKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvcl9tYW5hZ2VyLmgKQEAgLTQ5LDUgKzQ5LDEx IEBACiAvKiBNYXggdmFsdWUgZm9yIEdhbW1hIG9uIENIViAqLwogI2RlZmluZSBDSFZfTUFYX0dB TU1BCQkJCTB4MTAwMDAKIAorLyogRGVHYW1tYSBjb3JyZWN0aW9uICovCisjZGVmaW5lIENIVl9E RUdBTU1BX0RBVEFfU1RSVUNUX1ZFUlNJT04JCTEKKyNkZWZpbmUgQ0hWX0RFR0FNTUFfTVNCX1NI SUZUCQkJMgorI2RlZmluZSBDSFZfREVHQU1NQV9HUkVFTl9TSElGVAkJCTE2CisKIC8qIENIViBD R00gQmxvY2sgKi8KICNkZWZpbmUgQ0dNX0dBTU1BX0VOCQkJCSgxIDw8IDIpCisjZGVmaW5lIENH TV9ERUdBTU1BX0VOCQkJCSgxIDw8IDApCi0tIAoyLjQuNQoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZngK