From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH v5 13/22] drm/i915: CHV: Pipe level Gamma correction Date: Tue, 13 Oct 2015 18:09:48 +0530 Message-ID: <1444739997-24831-14-git-send-email-shashank.sharma@intel.com> References: <1444739997-24831-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: <1444739997-24831-1-git-send-email-shashank.sharma@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" 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, kausalmalladi@gmail.com, daniel.vetter@intel.com, =gary.k.smith@intel.com List-Id: dri-devel@lists.freedesktop.org Q0hWL0JTVyBwbGF0Zm9ybSBzdXBwb3J0cyB0d28gZGlmZmVyZW50IHBpcGUgbGV2ZWwgZ2FtbWEK Y29ycmVjdGlvbiBtb2Rlcywgd2hpY2ggYXJlOgoxLiBMZWdhY3kgOC1iaXQgbW9kZQoyLiAxMC1i aXQgQ0dNIChDb2xvciBHYW11dCBNYXBwaW5nKSBtb2RlCgpUaGlzIHBhdGNoIGRvZXMgdGhlIGZv bGxvd2luZzoKMS4gQXR0YWNoZXMgR2FtbWEgcHJvcGVydHkgdG8gQ1JUQwozLiBBZGRzIHRoZSBj b3JlIEdhbW1hIGNvcnJlY3Rpb24gZnVuY3Rpb24gZm9yIENIVi9CU1cKNC4gQWRkcyBHYW1tYSBj b3JyZWN0aW9uIG1hY3JvcwoKU2lnbmVkLW9mZi1ieTogU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFu ay5zaGFybWFAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBLYXVzYWwgTWFsbGFkaSA8a2F1c2Fs bWFsbGFkaUBnbWFpbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAg ICAgICAgICAgIHwgMTIgKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3JfbWFu YWdlci5jIHwgOTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9jb2xvcl9tYW5hZ2VyLmggfCAxMyArKysrCiAzIGZpbGVzIGNoYW5nZWQs IDEyMSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKaW5kZXggODhiM2RhMi4u OGUwYTFiMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCkBAIC04MTQ4LDQgKzgxNDgsMTYgQEAg ZW51bSBza2xfZGlzcF9wb3dlcl93ZWxscyB7CiAjZGVmaW5lIEdFTjlfVkVCT1hfTU9DU18wCTB4 Y2IwMAkvKiBWaWRlbyBNT0NTIGJhc2UgcmVnaXN0ZXIqLwogI2RlZmluZSBHRU45X0JMVF9NT0NT XzAJCTB4Y2MwMAkvKiBCbGl0dGVyIE1PQ1MgYmFzZSByZWdpc3RlciovCiAKKy8qIENvbG9yIE1h bmFnZW1lbnQgKi8KKyNkZWZpbmUgUElQRUFfQ0dNX0NPTlRST0wJCQkoVkxWX0RJU1BMQVlfQkFT RSArIDB4NjdBMDApCisjZGVmaW5lIFBJUEVCX0NHTV9DT05UUk9MCQkJKFZMVl9ESVNQTEFZX0JB U0UgKyAweDY5QTAwKQorI2RlZmluZSBQSVBFQ19DR01fQ09OVFJPTAkJCShWTFZfRElTUExBWV9C QVNFICsgMHg2QkEwMCkKKyNkZWZpbmUgUElQRUFfQ0dNX0dBTU1BCQkJKFZMVl9ESVNQTEFZX0JB U0UgKyAweDY3MDAwKQorI2RlZmluZSBQSVBFQl9DR01fR0FNTUEJCQkoVkxWX0RJU1BMQVlfQkFT RSArIDB4NjkwMDApCisjZGVmaW5lIFBJUEVDX0NHTV9HQU1NQQkJCShWTFZfRElTUExBWV9CQVNF ICsgMHg2QjAwMCkKKyNkZWZpbmUgX1BJUEVfQ0dNX0NPTlRST0wocGlwZSkgXAorCShfUElQRTMo cGlwZSwgUElQRUFfQ0dNX0NPTlRST0wsIFBJUEVCX0NHTV9DT05UUk9MLCBQSVBFQ19DR01fQ09O VFJPTCkpCisjZGVmaW5lIF9QSVBFX0dBTU1BX0JBU0UocGlwZSkgXAorCShfUElQRTMocGlwZSwg UElQRUFfQ0dNX0dBTU1BLCBQSVBFQl9DR01fR0FNTUEsIFBJUEVDX0NHTV9HQU1NQSkpCisKICNl bmRpZiAvKiBfSTkxNV9SRUdfSF8gKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2NvbG9yX21hbmFnZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9y X21hbmFnZXIuYwppbmRleCBlNDY2NzQ4Li40OThlMDQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9jb2xvcl9tYW5hZ2VyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfY29sb3JfbWFuYWdlci5jCkBAIC0yNyw2ICsyNyw5NCBAQAogCiAjaW5jbHVkZSAi aW50ZWxfY29sb3JfbWFuYWdlci5oIgogCitzdGF0aWMgaW50IGNodl9zZXRfZ2FtbWEoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpibG9iLAorCQlzdHJ1 Y3QgZHJtX2NydGMgKmNydGMpCit7CisJZW51bSBwaXBlIHBpcGU7CisJdTE2IHJlZF9mcmFjdCwg Z3JlZW5fZnJhY3QsIGJsdWVfZnJhY3Q7CisJdTMyIHJlZCwgZ3JlZW4sIGJsdWUsIG51bV9zYW1w bGVzOworCXUzMiB3b3JkID0gMDsKKwl1MzIgY291bnQsIGNnbV9nYW1tYV9yZWcsIGNnbV9jb250 cm9sX3JlZzsKKwl1NjQgbGVuZ3RoOworCXN0cnVjdCBkcm1fcjMyZzMyYjMyICpjb3JyZWN0aW9u X3ZhbHVlczsKKwlzdHJ1Y3QgZHJtX3BhbGV0dGUgKmdhbW1hX2RhdGE7CisJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgZHJtX2Ny dGNfc3RhdGUgKnN0YXRlID0gY3J0Yy0+c3RhdGU7CisKKwlpZiAoV0FSTl9PTighYmxvYikpCisJ CXJldHVybiAtRUlOVkFMOworCisJZ2FtbWFfZGF0YSA9IChzdHJ1Y3QgZHJtX3BhbGV0dGUgKili bG9iLT5kYXRhOworCXBpcGUgPSB0b19pbnRlbF9jcnRjKGNydGMpLT5waXBlOworCW51bV9zYW1w bGVzID0gZ2FtbWFfZGF0YS0+bnVtX3NhbXBsZXM7CisJbGVuZ3RoID0gbnVtX3NhbXBsZXMgKiBz aXplb2Yoc3RydWN0IGRybV9yMzJnMzJiMzIpOworCisJc3dpdGNoIChudW1fc2FtcGxlcykgewor CWNhc2UgR0FNTUFfRElTQUJMRV9WQUxTOgorCisJCS8qIERpc2FibGUgR2FtbWEgZnVuY3Rpb25h bGl0eSBvbiBQaXBlIC0gQ0dNIEJsb2NrICovCisJCWNnbV9jb250cm9sX3JlZyA9IEk5MTVfUkVB RChfUElQRV9DR01fQ09OVFJPTChwaXBlKSk7CisJCWNnbV9jb250cm9sX3JlZyAmPSB+Q0dNX0dB TU1BX0VOOworCQlJOTE1X1dSSVRFKF9QSVBFX0NHTV9DT05UUk9MKHBpcGUpLCBjZ21fY29udHJv bF9yZWcpOworCQlzdGF0ZS0+cGFsZXR0ZV9hZnRlcl9jdG1fYmxvYiA9IE5VTEw7CisJCURSTV9E RUJVR19EUklWRVIoIkdhbW1hIGRpc2FibGVkIG9uIFBpcGUgJWNcbiIsCisJCQlwaXBlX25hbWUo cGlwZSkpOworCQlyZXR1cm4gMDsKKworCWNhc2UgQ0hWXzhCSVRfR0FNTUFfTUFYX1ZBTFM6CisJ Y2FzZSBDSFZfMTBCSVRfR0FNTUFfTUFYX1ZBTFM6CisKKwkJY291bnQgPSAwOworCQljZ21fZ2Ft bWFfcmVnID0gX1BJUEVfR0FNTUFfQkFTRShwaXBlKTsKKwkJY29ycmVjdGlvbl92YWx1ZXMgPSBn YW1tYV9kYXRhLT5sdXQ7CisKKwkJd2hpbGUgKGNvdW50IDwgbnVtX3NhbXBsZXMpIHsKKwkJCWJs dWUgPSBjb3JyZWN0aW9uX3ZhbHVlc1tjb3VudF0uYjMyOworCQkJZ3JlZW4gPSBjb3JyZWN0aW9u X3ZhbHVlc1tjb3VudF0uZzMyOworCQkJcmVkID0gY29ycmVjdGlvbl92YWx1ZXNbY291bnRdLnIz MjsKKworCQkJaWYgKGJsdWUgPiBDSFZfTUFYX0dBTU1BKQorCQkJCWJsdWUgPSBDSFZfTUFYX0dB TU1BOworCisJCQlpZiAoZ3JlZW4gPiBDSFZfTUFYX0dBTU1BKQorCQkJCWdyZWVuID0gQ0hWX01B WF9HQU1NQTsKKworCQkJaWYgKHJlZCA+IENIVl9NQVhfR0FNTUEpCisJCQkJcmVkID0gQ0hWX01B WF9HQU1NQTsKKworCQkJLyogZ2V0IE1TQiAxMCBiaXRzIGZyb20gZnJhY3Rpb24gcGFydCAoMTQ6 MjMpICovCisJCQlibHVlX2ZyYWN0ID0gR0VUX0JJVFMoYmx1ZSwgMTQsIDEwKTsKKwkJCWdyZWVu X2ZyYWN0ID0gR0VUX0JJVFMoZ3JlZW4sIDE0LCAxMCk7CisJCQlyZWRfZnJhY3QgPSBHRVRfQklU UyhyZWQsIDE0LCAxMCk7CisKKwkJCS8qIEdyZWVuICgyNToxNikgYW5kIEJsdWUgKDk6MCkgdG8g YmUgd3JpdHRlbiAqLworCQkJU0VUX0JJVFMod29yZCwgZ3JlZW5fZnJhY3QsIDE2LCAxMCk7CisJ CQlTRVRfQklUUyh3b3JkLCBibHVlX2ZyYWN0LCAwLCAxMCk7CisJCQlJOTE1X1dSSVRFKGNnbV9n YW1tYV9yZWcsIHdvcmQpOworCQkJY2dtX2dhbW1hX3JlZyArPSA0OworCisJCQkvKiBSZWQgKDk6 MCkgdG8gYmUgd3JpdHRlbiAqLworCQkJd29yZCA9IHJlZF9mcmFjdDsKKwkJCUk5MTVfV1JJVEUo Y2dtX2dhbW1hX3JlZywgd29yZCk7CisKKwkJCWNnbV9nYW1tYV9yZWcgKz0gNDsKKwkJCWNvdW50 Kys7CisJCX0KKworCQkvKiBFbmFibGUgKENHTSkgR2FtbWEgb24gUGlwZSAqLworCQlJOTE1X1dS SVRFKF9QSVBFX0NHTV9DT05UUk9MKHBpcGUpLAorCQlJOTE1X1JFQUQoX1BJUEVfQ0dNX0NPTlRS T0wocGlwZSkpIHwgQ0dNX0dBTU1BX0VOKTsKKwkJRFJNX0RFQlVHX0RSSVZFUigiQ0dNIEdhbW1h IGVuYWJsZWQgb24gUGlwZSAlY1xuIiwKKwkJCXBpcGVfbmFtZShwaXBlKSk7CisJCXJldHVybiAw OworCisJZGVmYXVsdDoKKwkJRFJNX0VSUk9SKCJJbnZhbGlkIG51bWJlciBvZiBzYW1wbGVzICgl dSkgZm9yIEdhbW1hIExVVFxuIiwKKwkJCQludW1fc2FtcGxlcyk7CisJCXJldHVybiAtRUlOVkFM OworCX0KK30KKwogdm9pZCBpbnRlbF9hdHRhY2hfY29sb3JfcHJvcGVydGllc190b19jcnRjKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCXN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIHsKQEAgLTYx LDQgKzE0OSwxMiBAQCB2b2lkIGludGVsX2F0dGFjaF9jb2xvcl9wcm9wZXJ0aWVzX3RvX2NydGMo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQlJTlRFTF9JTkZPKGRldiktPm51bV9zYW1wbGVz X2JlZm9yZV9jdG0pOwogCQlEUk1fREVCVUdfRFJJVkVSKCJEZWdhbW1hIHF1ZXJ5IHByb3BlcnR5 IGluaXRpYWxpemVkXG4iKTsKIAl9CisKKwkvKiBHYW1tYSBjb3JyZWN0aW9uICovCisJaWYgKGNv bmZpZy0+Y21fcGFsZXR0ZV9hZnRlcl9jdG1fcHJvcGVydHkpIHsKKwkJZHJtX29iamVjdF9hdHRh Y2hfcHJvcGVydHkobW9kZV9vYmosCisJCQljb25maWctPmNtX3BhbGV0dGVfYWZ0ZXJfY3RtX3By b3BlcnR5LCAwKTsKKwkJRFJNX0RFQlVHX0RSSVZFUigiZ2FtbWEgcHJvcGVydHkgYXR0YWNoZWQg dG8gQ1JUQ1xuIik7CisJfQorCiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9jb2xvcl9tYW5hZ2VyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvcl9t YW5hZ2VyLmgKaW5kZXggMTRhMTMwOS4uZGU3MDZkOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfY29sb3JfbWFuYWdlci5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2NvbG9yX21hbmFnZXIuaApAQCAtNTIsMyArNTIsMTYgQEAKIC8qIENIViAqLwogI2Rl ZmluZSBDSFZfMTBCSVRfR0FNTUFfTUFYX1ZBTFMJCTI1NwogI2RlZmluZSBDSFZfREVHQU1NQV9N QVhfVkFMUyAgICAgICAgICAgICAgICAgICA2NQorCisvKiBObyBvZiBjb2VmZiBmb3IgZGlzYWJs aW5nIGdhbW1hIGlzIDAgKi8KKyNkZWZpbmUgR0FNTUFfRElTQUJMRV9WQUxTCQkJMAorCisvKiBH YW1tYSBvbiBDSFYgKi8KKyNkZWZpbmUgQ0hWXzEwQklUX0dBTU1BX01BWF9WQUxTICAgICAgICAg ICAgICAgMjU3CisjZGVmaW5lIENIVl84QklUX0dBTU1BX01BWF9WQUxTICAgICAgICAgICAgICAg IDI1NgorI2RlZmluZSBDSFZfMTBCSVRfR0FNTUFfTVNCX1NISUZUICAgICAgICAgICAgICA2Cisj ZGVmaW5lIENIVl9HQU1NQV9TSElGVF9HUkVFTiAgICAgICAgICAgICAgICAgIDE2CisjZGVmaW5l IENIVl9NQVhfR0FNTUEgICAgICAgICAgICAgICAgICAgICAgICAgICgoMSA8PCAyNCkgLSAxKQor CisvKiBDSFYgQ0dNIEJsb2NrICovCisjZGVmaW5lIENHTV9HQU1NQV9FTiAgICAgICAgICAgICAg ICAgICAgICAgICAgICgxIDw8IDIpCi0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK