From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH 14/22] drm/i915: CHV: Pipe level degamma correction Date: Sat, 10 Oct 2015 00:59:04 +0530 Message-ID: <1444418952-5671-15-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 Q0hWL0JTVyBzdXBwb3J0cyBEZWdhbW1hIGNvbG9yIGNvcnJlY3Rpb24sIHdoaWNoIGxpbmVhcml6 ZXMgYWxsCnRoZSBub24tbGluZWFyIGNvbG9yIHZhbHVlcy4gVGhpcyB3aWxsIGJlIGFwcGxpZWQg YmVmb3JlIENvbG9yClRyYW5zZm9ybWF0aW9uLgoKVGhpcyBwYXRjaCBkb2VzIHRoZSBmb2xsb3dp bmc6CjEuIEF0dGFjaCBkZUdhbW1hIHByb3BlcnR5IHRvIENSVEMKMi4gQWRkIHRoZSBjb3JlIGZ1 bmN0aW9uIHRvIHByb2dyYW0gRGVHYW1tYSBjb3JyZWN0aW9uIHZhbHVlcyBmb3IKICAgQ0hWL0JT VyBwbGF0Zm9ybQoyLiBBZGQgRGVHYW1tYSBjb3JyZWN0aW9uIG1hY3Jvcy9kZWZpbmVzCgpTaWdu ZWQtb2ZmLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+ClNp Z25lZC1vZmYtYnk6IEthdXNhbCBNYWxsYWRpIDxrYXVzYWxtYWxsYWRpQGdtYWlsLmNvbT4KLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgICAgICAgICAgfCAgNiArKwogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3JfbWFuYWdlci5jIHwgOTMgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvcl9tYW5h Z2VyLmggfCAgNSArKwogMyBmaWxlcyBjaGFuZ2VkLCAxMDQgaW5zZXJ0aW9ucygrKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3JlZy5oCmluZGV4IDg4NWFjOGEuLmMzMmUzNWQgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9yZWcuaApAQCAtODA1MCw0ICs4MDUwLDEwIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMg ewogI2RlZmluZSBfUElQRV9HQU1NQV9CQVNFKHBpcGUpIFwKIAkoX1BJUEUzKHBpcGUsIFBJUEVB X0NHTV9HQU1NQSwgUElQRUJfQ0dNX0dBTU1BLCBQSVBFQ19DR01fR0FNTUEpKQogCisjZGVmaW5l IFBJUEVBX0NHTV9ERUdBTU1BICAgICAgICAgICAgICAgICAgICAgIChWTFZfRElTUExBWV9CQVNF ICsgMHg2NjAwMCkKKyNkZWZpbmUgUElQRUJfQ0dNX0RFR0FNTUEgICAgICAgICAgICAgICAgICAg ICAgKFZMVl9ESVNQTEFZX0JBU0UgKyAweDY4MDAwKQorI2RlZmluZSBQSVBFQ19DR01fREVHQU1N QSAgICAgICAgICAgICAgICAgICAgICAoVkxWX0RJU1BMQVlfQkFTRSArIDB4NkEwMDApCisjZGVm aW5lIF9QSVBFX0RFR0FNTUFfQkFTRShwaXBlKSBcCisJKF9QSVBFMyhwaXBlLCBQSVBFQV9DR01f REVHQU1NQSwgUElQRUJfQ0dNX0RFR0FNTUEsIFBJUEVDX0NHTV9ERUdBTU1BKSkKKwogI2VuZGlm IC8qIF9JOTE1X1JFR19IXyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfY29sb3JfbWFuYWdlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3JfbWFu YWdlci5jCmluZGV4IGNmMzgxYjguLmJiZmUxODUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9jb2xvcl9tYW5hZ2VyLmMKQEAgLTI3LDYgKzI3LDkzIEBACiAKICNpbmNsdWRlICJpbnRl bF9jb2xvcl9tYW5hZ2VyLmgiCiAKK3N0YXRpYyBpbnQgY2h2X3NldF9kZWdhbW1hKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCisJc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpibG9iLCBzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMpCit7CisJdTE2IHJlZF9mcmFjdCwgZ3JlZW5fZnJhY3QsIGJsdWVfZnJh Y3Q7CisJdTMyIHJlZCwgZ3JlZW4sIGJsdWU7CisJdTMyIG51bV9zYW1wbGVzOworCXUzMiB3b3Jk ID0gMDsKKwl1MzIgY291bnQgPSAwOworCXUzMiBjZ21fY29udHJvbF9yZWcgPSAwOworCXUzMiBj Z21fZGVnYW1tYV9yZWcgPSAwOworCWludCBsZW5ndGg7CisJaW50IHJldCA9IDA7CisJZW51bSBw aXBlIHBpcGU7CisJc3RydWN0IGRybV9wYWxldHRlICpkZWdhbW1hX2RhdGE7CisJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgZHJt X3IzMmczMmIzMiAqY29ycmVjdGlvbl92YWx1ZXMgPSBOVUxMOworCisJaWYgKFdBUk5fT04oIWJs b2IpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWRlZ2FtbWFfZGF0YSA9IChzdHJ1Y3QgZHJtX3Bh bGV0dGUgKilibG9iLT5kYXRhOworCXBpcGUgPSB0b19pbnRlbF9jcnRjKGNydGMpLT5waXBlOwor CW51bV9zYW1wbGVzID0gZGVnYW1tYV9kYXRhLT5udW1fc2FtcGxlczsKKwlsZW5ndGggPSBudW1f c2FtcGxlcyAqIHNpemVvZihzdHJ1Y3QgZHJtX3IzMmczMmIzMik7CisKKwlpZiAobnVtX3NhbXBs ZXMgPT0gR0FNTUFfRElTQUJMRV9WQUxTKSB7CisJCS8qIERpc2FibGUgRGVHYW1tYSBmdW5jdGlv bmFsaXR5IG9uIFBpcGUgLSBDR00gQmxvY2sgKi8KKwkJY2dtX2NvbnRyb2xfcmVnID0gSTkxNV9S RUFEKF9QSVBFX0NHTV9DT05UUk9MKHBpcGUpKTsKKwkJY2dtX2NvbnRyb2xfcmVnICY9IH5DR01f REVHQU1NQV9FTjsKKwkJSTkxNV9XUklURShfUElQRV9DR01fQ09OVFJPTChwaXBlKSwgY2dtX2Nv bnRyb2xfcmVnKTsKKwkJRFJNX0RFQlVHX0RSSVZFUigiRGVHYW1tYSBkaXNhYmxlZCBvbiBQaXBl ICVjXG4iLAorCQkJCXBpcGVfbmFtZShwaXBlKSk7CisJCXJldCA9IDA7CisJfSBlbHNlIGlmIChu dW1fc2FtcGxlcyA9PSBDSFZfREVHQU1NQV9NQVhfVkFMUykgeworCQljZ21fZGVnYW1tYV9yZWcg PSBfUElQRV9ERUdBTU1BX0JBU0UocGlwZSk7CisKKwkJY291bnQgPSAwOworCQljb3JyZWN0aW9u X3ZhbHVlcyA9IChzdHJ1Y3QgZHJtX3IzMmczMmIzMiAqKSZkZWdhbW1hX2RhdGEtPmx1dDsKKwkJ d2hpbGUgKGNvdW50IDwgQ0hWX0RFR0FNTUFfTUFYX1ZBTFMpIHsKKwkJCWJsdWUgPSBjb3JyZWN0 aW9uX3ZhbHVlc1tjb3VudF0uYjMyOworCQkJZ3JlZW4gPSBjb3JyZWN0aW9uX3ZhbHVlc1tjb3Vu dF0uZzMyOworCQkJcmVkID0gY29ycmVjdGlvbl92YWx1ZXNbY291bnRdLnIzMjsKKworCQkJaWYg KGJsdWUgPiBDSFZfTUFYX0dBTU1BKQorCQkJCWJsdWUgPSBDSFZfTUFYX0dBTU1BOworCisJCQlp ZiAoZ3JlZW4gPiBDSFZfTUFYX0dBTU1BKQorCQkJCWdyZWVuID0gQ0hWX01BWF9HQU1NQTsKKwor CQkJaWYgKHJlZCA+IENIVl9NQVhfR0FNTUEpCisJCQkJcmVkID0gQ0hWX01BWF9HQU1NQTsKKwor CQkJYmx1ZV9mcmFjdCA9IEdFVF9CSVRTKGJsdWUsIDgsIDE0KTsKKwkJCWdyZWVuX2ZyYWN0ID0g R0VUX0JJVFMoZ3JlZW4sIDgsIDE0KTsKKwkJCXJlZF9mcmFjdCA9IEdFVF9CSVRTKHJlZCwgOCwg MTQpOworCisJCQkvKiBHcmVlbiAoMjk6MTYpIGFuZCBCbHVlICgxMzowKSBpbiBEV09SRDEgKi8K KwkJCVNFVF9CSVRTKHdvcmQsIGdyZWVuX2ZyYWN0LCAxNiwgMTQpOworCQkJU0VUX0JJVFMod29y ZCwgZ3JlZW5fZnJhY3QsIDAsIDE0KTsKKwkJCUk5MTVfV1JJVEUoY2dtX2RlZ2FtbWFfcmVnLCB3 b3JkKTsKKwkJCWNnbV9kZWdhbW1hX3JlZyArPSA0OworCisJCQkvKiBSZWQgKDEzOjApIHRvIGJl IHdyaXR0ZW4gdG8gRFdPUkQyICovCisJCQl3b3JkID0gcmVkX2ZyYWN0OworCQkJSTkxNV9XUklU RShjZ21fZGVnYW1tYV9yZWcsIHdvcmQpOworCQkJY2dtX2RlZ2FtbWFfcmVnICs9IDQ7CisJCQlj b3VudCsrOworCQl9CisKKwkJRFJNX0RFQlVHX0RSSVZFUigiRGVHYW1tYSBMVVQgbG9hZGVkIGZv ciBQaXBlICVjXG4iLAorCQkJCXBpcGVfbmFtZShwaXBlKSk7CisKKwkJLyogRW5hYmxlIERlR2Ft bWEgb24gUGlwZSAqLworCQlJOTE1X1dSSVRFKF9QSVBFX0NHTV9DT05UUk9MKHBpcGUpLAorCQkJ STkxNV9SRUFEKF9QSVBFX0NHTV9DT05UUk9MKHBpcGUpKSB8IENHTV9ERUdBTU1BX0VOKTsKKwor CQlEUk1fREVCVUdfRFJJVkVSKCJEZUdhbW1hIGNvcnJlY3Rpb24gZW5hYmxlZCBvbiBQaXBlICVj XG4iLAorCQkJCXBpcGVfbmFtZShwaXBlKSk7CisJCXJldCA9IDA7CisJfSBlbHNlIHsKKwkJRFJN X0VSUk9SKCJJbnZhbGlkIG51bWJlciBvZiBzYW1wbGVzIGZvciBEZUdhbW1hIExVVFxuIik7CisJ CXJldHVybiAtRUlOVkFMOworCX0KKworCXJldHVybiByZXQ7Cit9CisKIHN0YXRpYyBpbnQgY2h2 X3NldF9nYW1tYShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Js b2IgKmJsb2IsCiAJCXN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIHsKQEAgLTE3NSw0ICsyNjIsMTAg QEAgdm9pZCBpbnRlbF9hdHRhY2hfY29sb3JfcHJvcGVydGllc190b19jcnRjKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsCiAJCURSTV9ERUJVR19EUklWRVIoImdhbW1hIHByb3BlcnR5IGF0dGFjaGVk IHRvIENSVENcbiIpOwogCX0KIAorCS8qIERlZ2FtbWEgY29ycmVjdGlvbiAqLworCWlmIChjb25m aWctPmNtX3BhbGV0dGVfYmVmb3JlX2N0bV9wcm9wZXJ0eSkgeworCQlkcm1fb2JqZWN0X2F0dGFj aF9wcm9wZXJ0eShtb2RlX29iaiwKKwkJCWNvbmZpZy0+Y21fcGFsZXR0ZV9iZWZvcmVfY3RtX3By b3BlcnR5LCAwKTsKKwkJRFJNX0RFQlVHX0RSSVZFUigiZGVnYW1tYSBwcm9wZXJ0eSBhdHRhY2hl ZCB0byBDUlRDXG4iKTsKKwl9CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9jb2xvcl9tYW5hZ2VyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvcl9t YW5hZ2VyLmgKaW5kZXggZGU3MDZkOS4uNzdhMjExOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfY29sb3JfbWFuYWdlci5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2NvbG9yX21hbmFnZXIuaApAQCAtNjMsNSArNjMsMTAgQEAKICNkZWZpbmUgQ0hWX0dB TU1BX1NISUZUX0dSRUVOICAgICAgICAgICAgICAgICAgMTYKICNkZWZpbmUgQ0hWX01BWF9HQU1N QSAgICAgICAgICAgICAgICAgICAgICAgICAgKCgxIDw8IDI0KSAtIDEpCiAKKy8qIERlZ2FtbWEg b24gQ0hWICovCisjZGVmaW5lIENIVl9ERUdBTU1BX01TQl9TSElGVCAgICAgICAgICAgICAgICAg IDIKKyNkZWZpbmUgQ0hWX0RFR0FNTUFfR1JFRU5fU0hJRlQgICAgICAgICAgICAgICAgMTYKKwog LyogQ0hWIENHTSBCbG9jayAqLwogI2RlZmluZSBDR01fR0FNTUFfRU4gICAgICAgICAgICAgICAg ICAgICAgICAgICAoMSA8PCAyKQorI2RlZmluZSBDR01fREVHQU1NQV9FTiAgICAgICAgICAgICAg ICAgICAgICAgICAoMSA8PCAwKQotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cg==