From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH v6 13/23] drm/i915: CHV: Pipe level Gamma correction Date: Fri, 16 Oct 2015 19:59:01 +0530 Message-ID: <1445005751-14918-14-git-send-email-shashank.sharma@intel.com> References: <1445005751-14918-1-git-send-email-shashank.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1445005751-14918-1-git-send-email-shashank.sharma@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, emil.l.velikov@gmail.com, matthew.d.roper@intel.com, robert.bradford@intel.com, jim.bish@intel.com Cc: annie.j.matheson@intel.com, avinash.reddy.palleti@intel.com, indranil.mukherjee@intel.com, kausalmalladi@gmail.com, gary.k.smith@intel.com, daniel.vetter@intel.com, kiran.s.kumar@intel.com List-Id: dri-devel@lists.freedesktop.org Q0hWL0JTVyBwbGF0Zm9ybSBzdXBwb3J0cyB0d28gZGlmZmVyZW50IHBpcGUgbGV2ZWwgZ2FtbWEK Y29ycmVjdGlvbiBtb2Rlcywgd2hpY2ggYXJlOgoxLiBMZWdhY3kgOC1iaXQgbW9kZQoyLiAxMC1i aXQgQ0dNIChDb2xvciBHYW11dCBNYXBwaW5nKSBtb2RlCgpUaGlzIHBhdGNoIGRvZXMgdGhlIGZv bGxvd2luZzoKMS4gQXR0YWNoZXMgR2FtbWEgcHJvcGVydHkgdG8gQ1JUQwozLiBBZGRzIHRoZSBj b3JlIEdhbW1hIGNvcnJlY3Rpb24gZnVuY3Rpb24gZm9yIENIVi9CU1cKNC4gQWRkcyBHYW1tYSBj b3JyZWN0aW9uIG1hY3JvcwoKU2lnbmVkLW9mZi1ieTogU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFu ay5zaGFybWFAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBLYXVzYWwgTWFsbGFkaSA8a2F1c2Fs bWFsbGFkaUBnbWFpbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAg ICAgICAgICAgIHwgMTIgKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3JfbWFu YWdlci5jIHwgOTQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9jb2xvcl9tYW5hZ2VyLmggfCAxMyArKysrKwogMyBmaWxlcyBjaGFuZ2Vk LCAxMTkgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCmluZGV4IDllYmYwMzIu LjQ1ZGRkODQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaApAQCAtODE0OCw0ICs4MTQ4LDE2IEBA IGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewogI2RlZmluZSBHRU45X1ZFQk9YX01PQ1NfMAkw eGNiMDAJLyogVmlkZW8gTU9DUyBiYXNlIHJlZ2lzdGVyKi8KICNkZWZpbmUgR0VOOV9CTFRfTU9D U18wCQkweGNjMDAJLyogQmxpdHRlciBNT0NTIGJhc2UgcmVnaXN0ZXIqLwogCisvKiBDb2xvciBN YW5hZ2VtZW50ICovCisjZGVmaW5lIFBJUEVBX0NHTV9DT05UUk9MCQkJKFZMVl9ESVNQTEFZX0JB U0UgKyAweDY3QTAwKQorI2RlZmluZSBQSVBFQl9DR01fQ09OVFJPTAkJCShWTFZfRElTUExBWV9C QVNFICsgMHg2OUEwMCkKKyNkZWZpbmUgUElQRUNfQ0dNX0NPTlRST0wJCQkoVkxWX0RJU1BMQVlf QkFTRSArIDB4NkJBMDApCisjZGVmaW5lIFBJUEVBX0NHTV9HQU1NQQkJCShWTFZfRElTUExBWV9C QVNFICsgMHg2NzAwMCkKKyNkZWZpbmUgUElQRUJfQ0dNX0dBTU1BCQkJKFZMVl9ESVNQTEFZX0JB U0UgKyAweDY5MDAwKQorI2RlZmluZSBQSVBFQ19DR01fR0FNTUEJCQkoVkxWX0RJU1BMQVlfQkFT RSArIDB4NkIwMDApCisjZGVmaW5lIF9QSVBFX0NHTV9DT05UUk9MKHBpcGUpIFwKKwkoX1BJUEUz KHBpcGUsIFBJUEVBX0NHTV9DT05UUk9MLCBQSVBFQl9DR01fQ09OVFJPTCwgUElQRUNfQ0dNX0NP TlRST0wpKQorI2RlZmluZSBfUElQRV9HQU1NQV9CQVNFKHBpcGUpIFwKKwkoX1BJUEUzKHBpcGUs IFBJUEVBX0NHTV9HQU1NQSwgUElQRUJfQ0dNX0dBTU1BLCBQSVBFQ19DR01fR0FNTUEpKQorCiAj ZW5kaWYgLyogX0k5MTVfUkVHX0hfICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9jb2xvcl9tYW5hZ2VyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xv cl9tYW5hZ2VyLmMKaW5kZXggMzM0YmZmZi4uYWNiOTY0NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfY29sb3JfbWFuYWdlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2NvbG9yX21hbmFnZXIuYwpAQCAtMjcsNiArMjcsOTIgQEAKIAogI2luY2x1ZGUg ImludGVsX2NvbG9yX21hbmFnZXIuaCIKIAorc3RhdGljIGludCBjaHZfc2V0X2dhbW1hKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqYmxvYiwKKwkJc3Ry dWN0IGRybV9jcnRjICpjcnRjKQoreworCWVudW0gcGlwZSBwaXBlOworCXUxNiByZWRfZnJhY3Qs IGdyZWVuX2ZyYWN0LCBibHVlX2ZyYWN0OworCXUzMiByZWQsIGdyZWVuLCBibHVlLCBudW1fc2Ft cGxlczsKKwl1MzIgd29yZCA9IDA7CisJdTMyIGNvdW50LCBjZ21fZ2FtbWFfcmVnLCBjZ21fY29u dHJvbF9yZWc7CisJc3RydWN0IGRybV9yMzJnMzJiMzIgKmNvcnJlY3Rpb25fdmFsdWVzOworCXN0 cnVjdCBkcm1fcGFsZXR0ZSAqZ2FtbWFfZGF0YTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3Rh dGUgPSBjcnRjLT5zdGF0ZTsKKworCWlmIChXQVJOX09OKCFibG9iKSkKKwkJcmV0dXJuIC1FSU5W QUw7CisKKwlnYW1tYV9kYXRhID0gKHN0cnVjdCBkcm1fcGFsZXR0ZSAqKWJsb2ItPmRhdGE7CisJ cGlwZSA9IHRvX2ludGVsX2NydGMoY3J0YyktPnBpcGU7CisJbnVtX3NhbXBsZXMgPSBibG9iLT5s ZW5ndGggLyBzaXplb2Yoc3RydWN0IGRybV9yMzJnMzJiMzIpOworCisJc3dpdGNoIChudW1fc2Ft cGxlcykgeworCWNhc2UgR0FNTUFfRElTQUJMRV9WQUxTOgorCisJCS8qIERpc2FibGUgR2FtbWEg ZnVuY3Rpb25hbGl0eSBvbiBQaXBlIC0gQ0dNIEJsb2NrICovCisJCWNnbV9jb250cm9sX3JlZyA9 IEk5MTVfUkVBRChfUElQRV9DR01fQ09OVFJPTChwaXBlKSk7CisJCWNnbV9jb250cm9sX3JlZyAm PSB+Q0dNX0dBTU1BX0VOOworCQlJOTE1X1dSSVRFKF9QSVBFX0NHTV9DT05UUk9MKHBpcGUpLCBj Z21fY29udHJvbF9yZWcpOworCQlzdGF0ZS0+cGFsZXR0ZV9hZnRlcl9jdG1fYmxvYiA9IE5VTEw7 CisJCURSTV9ERUJVR19EUklWRVIoIkdhbW1hIGRpc2FibGVkIG9uIFBpcGUgJWNcbiIsCisJCQlw aXBlX25hbWUocGlwZSkpOworCQlyZXR1cm4gMDsKKworCWNhc2UgQ0hWXzhCSVRfR0FNTUFfTUFY X1ZBTFM6CisJY2FzZSBDSFZfMTBCSVRfR0FNTUFfTUFYX1ZBTFM6CisKKwkJY291bnQgPSAwOwor CQljZ21fZ2FtbWFfcmVnID0gX1BJUEVfR0FNTUFfQkFTRShwaXBlKTsKKwkJY29ycmVjdGlvbl92 YWx1ZXMgPSBnYW1tYV9kYXRhLT5sdXQ7CisKKwkJd2hpbGUgKGNvdW50IDwgbnVtX3NhbXBsZXMp IHsKKwkJCWJsdWUgPSBjb3JyZWN0aW9uX3ZhbHVlc1tjb3VudF0uYjMyOworCQkJZ3JlZW4gPSBj b3JyZWN0aW9uX3ZhbHVlc1tjb3VudF0uZzMyOworCQkJcmVkID0gY29ycmVjdGlvbl92YWx1ZXNb Y291bnRdLnIzMjsKKworCQkJaWYgKGJsdWUgPiBDSFZfTUFYX0dBTU1BKQorCQkJCWJsdWUgPSBD SFZfTUFYX0dBTU1BOworCisJCQlpZiAoZ3JlZW4gPiBDSFZfTUFYX0dBTU1BKQorCQkJCWdyZWVu ID0gQ0hWX01BWF9HQU1NQTsKKworCQkJaWYgKHJlZCA+IENIVl9NQVhfR0FNTUEpCisJCQkJcmVk ID0gQ0hWX01BWF9HQU1NQTsKKworCQkJLyogZ2V0IE1TQiAxMCBiaXRzIGZyb20gZnJhY3Rpb24g cGFydCAoMTQ6MjMpICovCisJCQlibHVlX2ZyYWN0ID0gR0VUX0JJVFMoYmx1ZSwgMTQsIDEwKTsK KwkJCWdyZWVuX2ZyYWN0ID0gR0VUX0JJVFMoZ3JlZW4sIDE0LCAxMCk7CisJCQlyZWRfZnJhY3Qg PSBHRVRfQklUUyhyZWQsIDE0LCAxMCk7CisKKwkJCS8qIEdyZWVuICgyNToxNikgYW5kIEJsdWUg KDk6MCkgdG8gYmUgd3JpdHRlbiAqLworCQkJU0VUX0JJVFMod29yZCwgZ3JlZW5fZnJhY3QsIDE2 LCAxMCk7CisJCQlTRVRfQklUUyh3b3JkLCBibHVlX2ZyYWN0LCAwLCAxMCk7CisJCQlJOTE1X1dS SVRFKGNnbV9nYW1tYV9yZWcsIHdvcmQpOworCQkJY2dtX2dhbW1hX3JlZyArPSA0OworCisJCQkv KiBSZWQgKDk6MCkgdG8gYmUgd3JpdHRlbiAqLworCQkJd29yZCA9IHJlZF9mcmFjdDsKKwkJCUk5 MTVfV1JJVEUoY2dtX2dhbW1hX3JlZywgd29yZCk7CisKKwkJCWNnbV9nYW1tYV9yZWcgKz0gNDsK KwkJCWNvdW50Kys7CisJCX0KKworCQkvKiBFbmFibGUgKENHTSkgR2FtbWEgb24gUGlwZSAqLwor CQlJOTE1X1dSSVRFKF9QSVBFX0NHTV9DT05UUk9MKHBpcGUpLAorCQlJOTE1X1JFQUQoX1BJUEVf Q0dNX0NPTlRST0wocGlwZSkpIHwgQ0dNX0dBTU1BX0VOKTsKKwkJRFJNX0RFQlVHX0RSSVZFUigi Q0dNIEdhbW1hIGVuYWJsZWQgb24gUGlwZSAlY1xuIiwKKwkJCXBpcGVfbmFtZShwaXBlKSk7CisJ CXJldHVybiAwOworCisJZGVmYXVsdDoKKwkJRFJNX0VSUk9SKCJJbnZhbGlkIG51bWJlciBvZiBz YW1wbGVzICgldSkgZm9yIEdhbW1hIExVVFxuIiwKKwkJCQludW1fc2FtcGxlcyk7CisJCXJldHVy biAtRUlOVkFMOworCX0KK30KKwogdm9pZCBpbnRlbF9hdHRhY2hfY29sb3JfcHJvcGVydGllc190 b19jcnRjKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCXN0cnVjdCBkcm1fY3J0YyAqY3J0YykK IHsKQEAgLTYxLDQgKzE0NywxMiBAQCB2b2lkIGludGVsX2F0dGFjaF9jb2xvcl9wcm9wZXJ0aWVz X3RvX2NydGMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJSU5URUxfSU5GTyhkZXYpLT5udW1f c2FtcGxlc19iZWZvcmVfY3RtKTsKIAkJRFJNX0RFQlVHX0RSSVZFUigiRGVnYW1tYSBxdWVyeSBw cm9wZXJ0eSBpbml0aWFsaXplZFxuIik7CiAJfQorCisJLyogR2FtbWEgY29ycmVjdGlvbiAqLwor CWlmIChjb25maWctPmNtX3BhbGV0dGVfYWZ0ZXJfY3RtX3Byb3BlcnR5KSB7CisJCWRybV9vYmpl Y3RfYXR0YWNoX3Byb3BlcnR5KG1vZGVfb2JqLAorCQkJY29uZmlnLT5jbV9wYWxldHRlX2FmdGVy X2N0bV9wcm9wZXJ0eSwgMCk7CisJCURSTV9ERUJVR19EUklWRVIoImdhbW1hIHByb3BlcnR5IGF0 dGFjaGVkIHRvIENSVENcbiIpOworCX0KKwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfY29sb3JfbWFuYWdlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf Y29sb3JfbWFuYWdlci5oCmluZGV4IDE0YTEzMDkuLmRlNzA2ZDkgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9jb2xvcl9tYW5hZ2VyLmgKQEAgLTUyLDMgKzUyLDE2IEBACiAvKiBDSFYg Ki8KICNkZWZpbmUgQ0hWXzEwQklUX0dBTU1BX01BWF9WQUxTCQkyNTcKICNkZWZpbmUgQ0hWX0RF R0FNTUFfTUFYX1ZBTFMgICAgICAgICAgICAgICAgICAgNjUKKworLyogTm8gb2YgY29lZmYgZm9y IGRpc2FibGluZyBnYW1tYSBpcyAwICovCisjZGVmaW5lIEdBTU1BX0RJU0FCTEVfVkFMUwkJCTAK KworLyogR2FtbWEgb24gQ0hWICovCisjZGVmaW5lIENIVl8xMEJJVF9HQU1NQV9NQVhfVkFMUyAg ICAgICAgICAgICAgIDI1NworI2RlZmluZSBDSFZfOEJJVF9HQU1NQV9NQVhfVkFMUyAgICAgICAg ICAgICAgICAyNTYKKyNkZWZpbmUgQ0hWXzEwQklUX0dBTU1BX01TQl9TSElGVCAgICAgICAgICAg ICAgNgorI2RlZmluZSBDSFZfR0FNTUFfU0hJRlRfR1JFRU4gICAgICAgICAgICAgICAgICAxNgor I2RlZmluZSBDSFZfTUFYX0dBTU1BICAgICAgICAgICAgICAgICAgICAgICAgICAoKDEgPDwgMjQp IC0gMSkKKworLyogQ0hWIENHTSBCbG9jayAqLworI2RlZmluZSBDR01fR0FNTUFfRU4gICAgICAg ICAgICAgICAgICAgICAgICAgICAoMSA8PCAyKQotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJp LWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==