From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH v5 14/22] drm/i915: CHV: Pipe level degamma correction Date: Tue, 13 Oct 2015 18:09:49 +0530 Message-ID: <1444739997-24831-15-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: 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, kiran.s.kumar@intel.com, daniel.vetter@intel.com, =gary.k.smith@intel.com List-Id: dri-devel@lists.freedesktop.org Q0hWL0JTVyBzdXBwb3J0cyBEZWdhbW1hIGNvbG9yIGNvcnJlY3Rpb24sIHdoaWNoIGxpbmVhcml6 ZXMgYWxsCnRoZSBub24tbGluZWFyIGNvbG9yIHZhbHVlcy4gVGhpcyB3aWxsIGJlIGFwcGxpZWQg YmVmb3JlIENvbG9yClRyYW5zZm9ybWF0aW9uLgoKVGhpcyBwYXRjaCBkb2VzIHRoZSBmb2xsb3dp bmc6CjEuIEF0dGFjaCBkZUdhbW1hIHByb3BlcnR5IHRvIENSVEMKMi4gQWRkIHRoZSBjb3JlIGZ1 bmN0aW9uIHRvIHByb2dyYW0gRGVHYW1tYSBjb3JyZWN0aW9uIHZhbHVlcyBmb3IKICAgQ0hWL0JT VyBwbGF0Zm9ybQoyLiBBZGQgRGVHYW1tYSBjb3JyZWN0aW9uIG1hY3Jvcy9kZWZpbmVzCgpTaWdu ZWQtb2ZmLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+ClNp Z25lZC1vZmYtYnk6IEthdXNhbCBNYWxsYWRpIDxrYXVzYWxtYWxsYWRpQGdtYWlsLmNvbT4KLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgICAgICAgICAgfCAgNiArKwogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3JfbWFuYWdlci5jIHwgOTEgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvcl9tYW5h Z2VyLmggfCAgNSArKwogMyBmaWxlcyBjaGFuZ2VkLCAxMDIgaW5zZXJ0aW9ucygrKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3JlZy5oCmluZGV4IDhlMGExYjEuLmNiYjVmYzkgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9yZWcuaApAQCAtODE2MCw0ICs4MTYwLDEwIEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMg ewogI2RlZmluZSBfUElQRV9HQU1NQV9CQVNFKHBpcGUpIFwKIAkoX1BJUEUzKHBpcGUsIFBJUEVB X0NHTV9HQU1NQSwgUElQRUJfQ0dNX0dBTU1BLCBQSVBFQ19DR01fR0FNTUEpKQogCisjZGVmaW5l IFBJUEVBX0NHTV9ERUdBTU1BICAgICAgICAgICAgICAgICAgICAgIChWTFZfRElTUExBWV9CQVNF ICsgMHg2NjAwMCkKKyNkZWZpbmUgUElQRUJfQ0dNX0RFR0FNTUEgICAgICAgICAgICAgICAgICAg ICAgKFZMVl9ESVNQTEFZX0JBU0UgKyAweDY4MDAwKQorI2RlZmluZSBQSVBFQ19DR01fREVHQU1N QSAgICAgICAgICAgICAgICAgICAgICAoVkxWX0RJU1BMQVlfQkFTRSArIDB4NkEwMDApCisjZGVm aW5lIF9QSVBFX0RFR0FNTUFfQkFTRShwaXBlKSBcCisJKF9QSVBFMyhwaXBlLCBQSVBFQV9DR01f REVHQU1NQSwgUElQRUJfQ0dNX0RFR0FNTUEsIFBJUEVDX0NHTV9ERUdBTU1BKSkKKwogI2VuZGlm IC8qIF9JOTE1X1JFR19IXyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfY29sb3JfbWFuYWdlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3JfbWFu YWdlci5jCmluZGV4IDQ5OGUwNDguLjczYzA3NjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2NvbG9yX21hbmFnZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9jb2xvcl9tYW5hZ2VyLmMKQEAgLTI3LDYgKzI3LDkxIEBACiAKICNpbmNsdWRlICJpbnRl bF9jb2xvcl9tYW5hZ2VyLmgiCiAKK3N0YXRpYyBpbnQgY2h2X3NldF9kZWdhbW1hKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCisJc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpibG9iLCBzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMpCit7CisJdTE2IHJlZF9mcmFjdCwgZ3JlZW5fZnJhY3QsIGJsdWVfZnJh Y3Q7CisJdTMyIHJlZCwgZ3JlZW4sIGJsdWU7CisJdTMyIG51bV9zYW1wbGVzOworCXUzMiB3b3Jk ID0gMDsKKwl1MzIgY291bnQsIGNnbV9jb250cm9sX3JlZywgY2dtX2RlZ2FtbWFfcmVnOworCXU2 NCBsZW5ndGg7CisJZW51bSBwaXBlIHBpcGU7CisJc3RydWN0IGRybV9wYWxldHRlICpkZWdhbW1h X2RhdGE7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJp dmF0ZTsKKwlzdHJ1Y3QgZHJtX3IzMmczMmIzMiAqY29ycmVjdGlvbl92YWx1ZXMgPSBOVUxMOwor CXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUgPSBjcnRjLT5zdGF0ZTsKKworCWlmIChXQVJO X09OKCFibG9iKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlkZWdhbW1hX2RhdGEgPSAoc3RydWN0 IGRybV9wYWxldHRlICopYmxvYi0+ZGF0YTsKKwlwaXBlID0gdG9faW50ZWxfY3J0YyhjcnRjKS0+ cGlwZTsKKwludW1fc2FtcGxlcyA9IGRlZ2FtbWFfZGF0YS0+bnVtX3NhbXBsZXM7CisJbGVuZ3Ro ID0gbnVtX3NhbXBsZXMgKiBzaXplb2Yoc3RydWN0IGRybV9yMzJnMzJiMzIpOworCisJaWYgKG51 bV9zYW1wbGVzID09IEdBTU1BX0RJU0FCTEVfVkFMUykgeworCQkvKiBEaXNhYmxlIERlR2FtbWEg ZnVuY3Rpb25hbGl0eSBvbiBQaXBlIC0gQ0dNIEJsb2NrICovCisJCWNnbV9jb250cm9sX3JlZyA9 IEk5MTVfUkVBRChfUElQRV9DR01fQ09OVFJPTChwaXBlKSk7CisJCWNnbV9jb250cm9sX3JlZyAm PSB+Q0dNX0RFR0FNTUFfRU47CisJCXN0YXRlLT5wYWxldHRlX2JlZm9yZV9jdG1fYmxvYiA9IE5V TEw7CisKKwkJSTkxNV9XUklURShfUElQRV9DR01fQ09OVFJPTChwaXBlKSwgY2dtX2NvbnRyb2xf cmVnKTsKKwkJRFJNX0RFQlVHX0RSSVZFUigiRGVHYW1tYSBkaXNhYmxlZCBvbiBQaXBlICVjXG4i LAorCQkJCXBpcGVfbmFtZShwaXBlKSk7CisJCXJldHVybiAwOworCX0gZWxzZSBpZiAobnVtX3Nh bXBsZXMgPT0gQ0hWX0RFR0FNTUFfTUFYX1ZBTFMpIHsKKwkJY2dtX2RlZ2FtbWFfcmVnID0gX1BJ UEVfREVHQU1NQV9CQVNFKHBpcGUpOworCisJCWNvdW50ID0gMDsKKwkJY29ycmVjdGlvbl92YWx1 ZXMgPSAoc3RydWN0IGRybV9yMzJnMzJiMzIgKikmZGVnYW1tYV9kYXRhLT5sdXQ7CisJCXdoaWxl IChjb3VudCA8IENIVl9ERUdBTU1BX01BWF9WQUxTKSB7CisJCQlibHVlID0gY29ycmVjdGlvbl92 YWx1ZXNbY291bnRdLmIzMjsKKwkJCWdyZWVuID0gY29ycmVjdGlvbl92YWx1ZXNbY291bnRdLmcz MjsKKwkJCXJlZCA9IGNvcnJlY3Rpb25fdmFsdWVzW2NvdW50XS5yMzI7CisKKwkJCWlmIChibHVl ID4gQ0hWX01BWF9HQU1NQSkKKwkJCQlibHVlID0gQ0hWX01BWF9HQU1NQTsKKworCQkJaWYgKGdy ZWVuID4gQ0hWX01BWF9HQU1NQSkKKwkJCQlncmVlbiA9IENIVl9NQVhfR0FNTUE7CisKKwkJCWlm IChyZWQgPiBDSFZfTUFYX0dBTU1BKQorCQkJCXJlZCA9IENIVl9NQVhfR0FNTUE7CisKKwkJCWJs dWVfZnJhY3QgPSBHRVRfQklUUyhibHVlLCA4LCAxNCk7CisJCQlncmVlbl9mcmFjdCA9IEdFVF9C SVRTKGdyZWVuLCA4LCAxNCk7CisJCQlyZWRfZnJhY3QgPSBHRVRfQklUUyhyZWQsIDgsIDE0KTsK KworCQkJLyogR3JlZW4gKDI5OjE2KSBhbmQgQmx1ZSAoMTM6MCkgaW4gRFdPUkQxICovCisJCQlT RVRfQklUUyh3b3JkLCBncmVlbl9mcmFjdCwgMTYsIDE0KTsKKwkJCVNFVF9CSVRTKHdvcmQsIGdy ZWVuX2ZyYWN0LCAwLCAxNCk7CisJCQlJOTE1X1dSSVRFKGNnbV9kZWdhbW1hX3JlZywgd29yZCk7 CisJCQljZ21fZGVnYW1tYV9yZWcgKz0gNDsKKworCQkJLyogUmVkICgxMzowKSB0byBiZSB3cml0 dGVuIHRvIERXT1JEMiAqLworCQkJd29yZCA9IHJlZF9mcmFjdDsKKwkJCUk5MTVfV1JJVEUoY2dt X2RlZ2FtbWFfcmVnLCB3b3JkKTsKKwkJCWNnbV9kZWdhbW1hX3JlZyArPSA0OworCQkJY291bnQr KzsKKwkJfQorCisJCURSTV9ERUJVR19EUklWRVIoIkRlR2FtbWEgTFVUIGxvYWRlZCBmb3IgUGlw ZSAlY1xuIiwKKwkJCQlwaXBlX25hbWUocGlwZSkpOworCisJCS8qIEVuYWJsZSBEZUdhbW1hIG9u IFBpcGUgKi8KKwkJSTkxNV9XUklURShfUElQRV9DR01fQ09OVFJPTChwaXBlKSwKKwkJCUk5MTVf UkVBRChfUElQRV9DR01fQ09OVFJPTChwaXBlKSkgfCBDR01fREVHQU1NQV9FTik7CisKKwkJRFJN X0RFQlVHX0RSSVZFUigiRGVHYW1tYSBjb3JyZWN0aW9uIGVuYWJsZWQgb24gUGlwZSAlY1xuIiwK KwkJCQlwaXBlX25hbWUocGlwZSkpOworCQlyZXR1cm4gMDsKKwl9IGVsc2UgeworCQlEUk1fRVJS T1IoIkludmFsaWQgbnVtYmVyIG9mIHNhbXBsZXMgZm9yIERlR2FtbWEgTFVUXG4iKTsKKwkJcmV0 dXJuIC1FSU5WQUw7CisJfQorfQorCiBzdGF0aWMgaW50IGNodl9zZXRfZ2FtbWEoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpibG9iLAogCQlzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMpCiB7CkBAIC0xNTcsNCArMjQyLDEwIEBAIHZvaWQgaW50ZWxfYXR0YWNo X2NvbG9yX3Byb3BlcnRpZXNfdG9fY3J0YyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQlEUk1f REVCVUdfRFJJVkVSKCJnYW1tYSBwcm9wZXJ0eSBhdHRhY2hlZCB0byBDUlRDXG4iKTsKIAl9CiAK KwkvKiBEZWdhbW1hIGNvcnJlY3Rpb24gKi8KKwlpZiAoY29uZmlnLT5jbV9wYWxldHRlX2JlZm9y ZV9jdG1fcHJvcGVydHkpIHsKKwkJZHJtX29iamVjdF9hdHRhY2hfcHJvcGVydHkobW9kZV9vYmos CisJCQljb25maWctPmNtX3BhbGV0dGVfYmVmb3JlX2N0bV9wcm9wZXJ0eSwgMCk7CisJCURSTV9E RUJVR19EUklWRVIoImRlZ2FtbWEgcHJvcGVydHkgYXR0YWNoZWQgdG8gQ1JUQ1xuIik7CisJfQog fQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3JfbWFuYWdlci5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3JfbWFuYWdlci5oCmluZGV4IGRlNzA2 ZDkuLjc3YTIxMTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9y X21hbmFnZXIuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvcl9tYW5hZ2Vy LmgKQEAgLTYzLDUgKzYzLDEwIEBACiAjZGVmaW5lIENIVl9HQU1NQV9TSElGVF9HUkVFTiAgICAg ICAgICAgICAgICAgIDE2CiAjZGVmaW5lIENIVl9NQVhfR0FNTUEgICAgICAgICAgICAgICAgICAg ICAgICAgICgoMSA8PCAyNCkgLSAxKQogCisvKiBEZWdhbW1hIG9uIENIViAqLworI2RlZmluZSBD SFZfREVHQU1NQV9NU0JfU0hJRlQgICAgICAgICAgICAgICAgICAyCisjZGVmaW5lIENIVl9ERUdB TU1BX0dSRUVOX1NISUZUICAgICAgICAgICAgICAgIDE2CisKIC8qIENIViBDR00gQmxvY2sgKi8K ICNkZWZpbmUgQ0dNX0dBTU1BX0VOICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMikK KyNkZWZpbmUgQ0dNX0RFR0FNTUFfRU4gICAgICAgICAgICAgICAgICAgICAgICAgKDEgPDwgMCkK LS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=