From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH 13/22] drm/i915: CHV: Pipe level Gamma correction Date: Sat, 10 Oct 2015 00:59:03 +0530 Message-ID: <1444418952-5671-14-git-send-email-shashank.sharma@intel.com> References: <1444418952-5671-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: <1444418952-5671-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, robert.bradford@intel.com, jim.bish@intel.com, matthew.d.roper@intel.com, daniel.vetter@intel.com Cc: annie.j.matheson@intel.com, kausalmalladi@gmail.com, jesse.barnes@intel.com List-Id: dri-devel@lists.freedesktop.org Q0hWL0JTVyBwbGF0Zm9ybSBzdXBwb3J0cyB0d28gZGlmZmVyZW50IHBpcGUgbGV2ZWwgZ2FtbWEK Y29ycmVjdGlvbiBtb2Rlcywgd2hpY2ggYXJlOgoxLiBMZWdhY3kgOC1iaXQgbW9kZQoyLiAxMC1i aXQgQ0dNIChDb2xvciBHYW11dCBNYXBwaW5nKSBtb2RlCgpUaGlzIHBhdGNoIGRvZXMgdGhlIGZv bGxvd2luZzoKMS4gQXR0YWNoZXMgR2FtbWEgcHJvcGVydHkgdG8gQ1JUQwozLiBBZGRzIHRoZSBj b3JlIEdhbW1hIGNvcnJlY3Rpb24gZnVuY3Rpb24gZm9yIENIVi9CU1cKNC4gQWRkcyBHYW1tYSBj b3JyZWN0aW9uIG1hY3JvcwoKU2lnbmVkLW9mZi1ieTogU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFu ay5zaGFybWFAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBLYXVzYWwgTWFsbGFkaSA8a2F1c2Fs bWFsbGFkaUBnbWFpbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAg ICAgICAgICAgIHwgIDEyICsrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3JfbWFu YWdlci5jIHwgMTE0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9jb2xvcl9tYW5hZ2VyLmggfCAgMTMgKysrKwogMyBmaWxlcyBjaGFuZ2Vk LCAxMzkgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCmluZGV4IDYwZTZhNzMu Ljg4NWFjOGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaApAQCAtODAzOCw0ICs4MDM4LDE2IEBA IGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMgewogI2RlZmluZSBHRU45X1ZFQk9YX01PQ1NfMAkw eGNiMDAJLyogVmlkZW8gTU9DUyBiYXNlIHJlZ2lzdGVyKi8KICNkZWZpbmUgR0VOOV9CTFRfTU9D U18wCQkweGNjMDAJLyogQmxpdHRlciBNT0NTIGJhc2UgcmVnaXN0ZXIqLwogCisvKiBDb2xvciBN YW5hZ2VtZW50ICovCisjZGVmaW5lIFBJUEVBX0NHTV9DT05UUk9MCQkJKFZMVl9ESVNQTEFZX0JB U0UgKyAweDY3QTAwKQorI2RlZmluZSBQSVBFQl9DR01fQ09OVFJPTAkJCShWTFZfRElTUExBWV9C QVNFICsgMHg2OUEwMCkKKyNkZWZpbmUgUElQRUNfQ0dNX0NPTlRST0wJCQkoVkxWX0RJU1BMQVlf QkFTRSArIDB4NkJBMDApCisjZGVmaW5lIFBJUEVBX0NHTV9HQU1NQQkJCShWTFZfRElTUExBWV9C QVNFICsgMHg2NzAwMCkKKyNkZWZpbmUgUElQRUJfQ0dNX0dBTU1BCQkJKFZMVl9ESVNQTEFZX0JB U0UgKyAweDY5MDAwKQorI2RlZmluZSBQSVBFQ19DR01fR0FNTUEJCQkoVkxWX0RJU1BMQVlfQkFT RSArIDB4NkIwMDApCisjZGVmaW5lIF9QSVBFX0NHTV9DT05UUk9MKHBpcGUpIFwKKwkoX1BJUEUz KHBpcGUsIFBJUEVBX0NHTV9DT05UUk9MLCBQSVBFQl9DR01fQ09OVFJPTCwgUElQRUNfQ0dNX0NP TlRST0wpKQorI2RlZmluZSBfUElQRV9HQU1NQV9CQVNFKHBpcGUpIFwKKwkoX1BJUEUzKHBpcGUs IFBJUEVBX0NHTV9HQU1NQSwgUElQRUJfQ0dNX0dBTU1BLCBQSVBFQ19DR01fR0FNTUEpKQorCiAj ZW5kaWYgLyogX0k5MTVfUkVHX0hfICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9jb2xvcl9tYW5hZ2VyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xv cl9tYW5hZ2VyLmMKaW5kZXggZTQ2Njc0OC4uY2YzODFiOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfY29sb3JfbWFuYWdlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2NvbG9yX21hbmFnZXIuYwpAQCAtMjcsNiArMjcsMTEyIEBACiAKICNpbmNsdWRl ICJpbnRlbF9jb2xvcl9tYW5hZ2VyLmgiCiAKK3N0YXRpYyBpbnQgY2h2X3NldF9nYW1tYShzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmJsb2IsCisJCXN0 cnVjdCBkcm1fY3J0YyAqY3J0YykKK3sKKwlib29sIGZsYWcgPSBmYWxzZTsKKwllbnVtIHBpcGUg cGlwZTsKKwl1MTYgcmVkX2ZyYWN0LCBncmVlbl9mcmFjdCwgYmx1ZV9mcmFjdDsKKwl1MzIgcmVk LCBncmVlbiwgYmx1ZSwgbnVtX3NhbXBsZXM7CisJdTMyIHdvcmQgPSAwOworCXUzMiBjb3VudCA9 IDA7CisJdTMyIGNnbV9nYW1tYV9yZWcgPSAwOworCXUzMiBjZ21fY29udHJvbF9yZWcgPSAwOwor CWludCByZXQgPSAwLCBsZW5ndGg7CisJc3RydWN0IGRybV9yMzJnMzJiMzIgKmNvcnJlY3Rpb25f dmFsdWVzID0gTlVMTDsKKwlzdHJ1Y3QgZHJtX3BhbGV0dGUgKmdhbW1hX2RhdGE7CisJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKworCWlmIChX QVJOX09OKCFibG9iKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlnYW1tYV9kYXRhID0gKHN0cnVj dCBkcm1fcGFsZXR0ZSAqKWJsb2ItPmRhdGE7CisJcGlwZSA9IHRvX2ludGVsX2NydGMoY3J0Yykt PnBpcGU7CisJbnVtX3NhbXBsZXMgPSBnYW1tYV9kYXRhLT5udW1fc2FtcGxlczsKKwlsZW5ndGgg PSBudW1fc2FtcGxlcyAqIHNpemVvZihzdHJ1Y3QgZHJtX3IzMmczMmIzMik7CisKKwlzd2l0Y2gg KG51bV9zYW1wbGVzKSB7CisJY2FzZSBHQU1NQV9ESVNBQkxFX1ZBTFM6CisKKwkJLyogRGlzYWJs ZSBHYW1tYSBmdW5jdGlvbmFsaXR5IG9uIFBpcGUgLSBDR00gQmxvY2sgKi8KKwkJY2dtX2NvbnRy b2xfcmVnID0gSTkxNV9SRUFEKF9QSVBFX0NHTV9DT05UUk9MKHBpcGUpKTsKKwkJY2dtX2NvbnRy b2xfcmVnICY9IH5DR01fR0FNTUFfRU47CisJCUk5MTVfV1JJVEUoX1BJUEVfQ0dNX0NPTlRST0wo cGlwZSksIGNnbV9jb250cm9sX3JlZyk7CisKKwkJRFJNX0RFQlVHX0RSSVZFUigiR2FtbWEgZGlz YWJsZWQgb24gUGlwZSAlY1xuIiwKKwkJcGlwZV9uYW1lKHBpcGUpKTsKKwkJcmV0ID0gMDsKKwkJ YnJlYWs7CisKKwljYXNlIENIVl84QklUX0dBTU1BX01BWF9WQUxTOgorCWNhc2UgQ0hWXzEwQklU X0dBTU1BX01BWF9WQUxTOgorCisJCWNvdW50ID0gMDsKKwkJY2dtX2dhbW1hX3JlZyA9IF9QSVBF X0dBTU1BX0JBU0UocGlwZSk7CisJCWNvcnJlY3Rpb25fdmFsdWVzID0gKHN0cnVjdCBkcm1fcjMy ZzMyYjMyICopJmdhbW1hX2RhdGEtPmx1dDsKKworCQl3aGlsZSAoY291bnQgPCBudW1fc2FtcGxl cykgeworCQkJYmx1ZSA9IGNvcnJlY3Rpb25fdmFsdWVzW2NvdW50XS5iMzI7CisJCQlncmVlbiA9 IGNvcnJlY3Rpb25fdmFsdWVzW2NvdW50XS5nMzI7CisJCQlyZWQgPSBjb3JyZWN0aW9uX3ZhbHVl c1tjb3VudF0ucjMyOworCisJCQlpZiAoYmx1ZSA+IENIVl9NQVhfR0FNTUEpCisJCQkJYmx1ZSA9 IENIVl9NQVhfR0FNTUE7CisKKwkJCWlmIChncmVlbiA+IENIVl9NQVhfR0FNTUEpCisJCQkJZ3Jl ZW4gPSBDSFZfTUFYX0dBTU1BOworCisJCQlpZiAocmVkID4gQ0hWX01BWF9HQU1NQSkKKwkJCQly ZWQgPSBDSFZfTUFYX0dBTU1BOworCisJCQkvKiBnZXQgTVNCIDEwIGJpdHMgZnJvbSBmcmFjdGlv biBwYXJ0ICgxNDoyMykgKi8KKwkJCWJsdWVfZnJhY3QgPSBHRVRfQklUUyhibHVlLCAxNCwgMTAp OworCQkJZ3JlZW5fZnJhY3QgPSBHRVRfQklUUyhncmVlbiwgMTQsIDEwKTsKKwkJCXJlZF9mcmFj dCA9IEdFVF9CSVRTKHJlZCwgMTQsIDEwKTsKKworCQkJLyogR3JlZW4gKDI1OjE2KSBhbmQgQmx1 ZSAoOTowKSB0byBiZSB3cml0dGVuICovCisJCQlTRVRfQklUUyh3b3JkLCBncmVlbl9mcmFjdCwg MTYsIDEwKTsKKwkJCVNFVF9CSVRTKHdvcmQsIGJsdWVfZnJhY3QsIDAsIDEwKTsKKwkJCUk5MTVf V1JJVEUoY2dtX2dhbW1hX3JlZywgd29yZCk7CisJCQljZ21fZ2FtbWFfcmVnICs9IDQ7CisKKwkJ CS8qIFJlZCAoOTowKSB0byBiZSB3cml0dGVuICovCisJCQl3b3JkID0gcmVkX2ZyYWN0OworCQkJ STkxNV9XUklURShjZ21fZ2FtbWFfcmVnLCB3b3JkKTsKKworCQkJY2dtX2dhbW1hX3JlZyArPSA0 OworCQkJY291bnQrKzsKKworCQkJLyoKKwkJCSogT24gQ0hWLCB0aGUgYmVzdCBzdXBwb3J0ZWQg R2FtbWEgY2FwYWJpbGl0eSBpcworCQkJKiBDR00gYmxvY2ssIHRoYXQgdGFrZXMgMjU3IHNhbXBs ZXMuCisJCQkqIElmIHVzZXIgZ2l2ZXMgMjU2IHNhbXBsZXMgKGxlZ2FjeSBtb2RlKSwgdGhlbgor CQkJKiBkdXBsaWNhdGUgdGhlIDI1NnRoIHZhbHVlIHRvIDI1N3RoLgorCQkJKiAiZmxhZyIgaXMg dXNlZCB0byBtYWtlIHN1cmUgaXQgaGFwcGVucyBvbmx5IG9uY2UKKwkJCSovCisJCQlpZiAobnVt X3NhbXBsZXMgPT0gQ0hWXzhCSVRfR0FNTUFfTUFYX1ZBTFMgJiYKKwkJCQljb3VudCA9PSBDSFZf OEJJVF9HQU1NQV9NQVhfVkFMUyAmJiAhZmxhZykgeworCQkJCWNvdW50LS07CisJCQkJZmxhZyA9 IHRydWU7CisJCQl9CisJCX0KKworCQkvKiBFbmFibGUgKENHTSkgR2FtbWEgb24gUGlwZSAqLwor CQlJOTE1X1dSSVRFKF9QSVBFX0NHTV9DT05UUk9MKHBpcGUpLAorCQlJOTE1X1JFQUQoX1BJUEVf Q0dNX0NPTlRST0wocGlwZSkpIHwgQ0dNX0dBTU1BX0VOKTsKKwkJRFJNX0RFQlVHX0RSSVZFUigi Q0dNIEdhbW1hIGVuYWJsZWQgb24gUGlwZSAlY1xuIiwKKwkJcGlwZV9uYW1lKHBpcGUpKTsKKwkJ cmV0ID0gMDsKKwkJYnJlYWs7CisKKwlkZWZhdWx0OgorCQlEUk1fRVJST1IoIkludmFsaWQgbnVt YmVyIG9mIHNhbXBsZXMgZm9yIEdhbW1hIExVVFxuIik7CisJCXJldCA9IC1FSU5WQUw7CisJfQor CisJcmV0dXJuIHJldDsKK30KKwogdm9pZCBpbnRlbF9hdHRhY2hfY29sb3JfcHJvcGVydGllc190 b19jcnRjKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCXN0cnVjdCBkcm1fY3J0YyAqY3J0YykK IHsKQEAgLTYxLDQgKzE2NywxMiBAQCB2b2lkIGludGVsX2F0dGFjaF9jb2xvcl9wcm9wZXJ0aWVz X3RvX2NydGMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQlJTlRFTF9JTkZPKGRldiktPm51 bV9zYW1wbGVzX2JlZm9yZV9jdG0pOwogCQlEUk1fREVCVUdfRFJJVkVSKCJEZWdhbW1hIHF1ZXJ5 IHByb3BlcnR5IGluaXRpYWxpemVkXG4iKTsKIAl9CisKKwkvKiBHYW1tYSBjb3JyZWN0aW9uICov CisJaWYgKGNvbmZpZy0+Y21fcGFsZXR0ZV9hZnRlcl9jdG1fcHJvcGVydHkpIHsKKwkJZHJtX29i amVjdF9hdHRhY2hfcHJvcGVydHkobW9kZV9vYmosCisJCQljb25maWctPmNtX3BhbGV0dGVfYWZ0 ZXJfY3RtX3Byb3BlcnR5LCAwKTsKKwkJRFJNX0RFQlVHX0RSSVZFUigiZ2FtbWEgcHJvcGVydHkg YXR0YWNoZWQgdG8gQ1JUQ1xuIik7CisJfQorCiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9jb2xvcl9tYW5hZ2VyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9jb2xvcl9tYW5hZ2VyLmgKaW5kZXggMTRhMTMwOS4uZGU3MDZkOSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3JfbWFuYWdlci5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIuaApAQCAtNTIsMyArNTIsMTYgQEAKIC8qIENI ViAqLwogI2RlZmluZSBDSFZfMTBCSVRfR0FNTUFfTUFYX1ZBTFMJCTI1NwogI2RlZmluZSBDSFZf REVHQU1NQV9NQVhfVkFMUyAgICAgICAgICAgICAgICAgICA2NQorCisvKiBObyBvZiBjb2VmZiBm b3IgZGlzYWJsaW5nIGdhbW1hIGlzIDAgKi8KKyNkZWZpbmUgR0FNTUFfRElTQUJMRV9WQUxTCQkJ MAorCisvKiBHYW1tYSBvbiBDSFYgKi8KKyNkZWZpbmUgQ0hWXzEwQklUX0dBTU1BX01BWF9WQUxT ICAgICAgICAgICAgICAgMjU3CisjZGVmaW5lIENIVl84QklUX0dBTU1BX01BWF9WQUxTICAgICAg ICAgICAgICAgIDI1NgorI2RlZmluZSBDSFZfMTBCSVRfR0FNTUFfTVNCX1NISUZUICAgICAgICAg ICAgICA2CisjZGVmaW5lIENIVl9HQU1NQV9TSElGVF9HUkVFTiAgICAgICAgICAgICAgICAgIDE2 CisjZGVmaW5lIENIVl9NQVhfR0FNTUEgICAgICAgICAgICAgICAgICAgICAgICAgICgoMSA8PCAy NCkgLSAxKQorCisvKiBDSFYgQ0dNIEJsb2NrICovCisjZGVmaW5lIENHTV9HQU1NQV9FTiAgICAg ICAgICAgICAgICAgICAgICAgICAgICgxIDw8IDIpCi0tIAoxLjkuMQoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK