From mboxrd@z Thu Jan 1 00:00:00 1970 From: Uma Shankar Subject: [v3 1/3] drm/i915/icl: Add icl pipe degamma and gamma support Date: Thu, 29 Nov 2018 20:21:41 +0530 Message-ID: <1543503103-882-2-git-send-email-uma.shankar@intel.com> References: <1543503103-882-1-git-send-email-uma.shankar@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id ADB566E525 for ; Thu, 29 Nov 2018 14:30:24 +0000 (UTC) In-Reply-To: <1543503103-882-1-git-send-email-uma.shankar@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: ville.syrjala@intel.com, maarten.lankhorst@intel.com List-Id: intel-gfx@lists.freedesktop.org QWRkIHN1cHBvcnQgZm9yIGljbCBwaXBlIGRlZ2FtbWEgYW5kIGdhbW1hLgoKdjI6IFJlbW92ZWQg YSBQT1NUSU5HX1JFQUQgYW5kIGNvcnJlY3RlZCB0aGUgQml0CkRlZmluaXRpb24gYXMgcGVyIE1h YXJ0ZW4ncyBjb21tZW50cy4KCnYzOiBBZGRyZXNzZWQgTWF0dCdzIHJldmlldyBjb21tZW50cy4g UmVtb3ZlZCBybXcgcGF0dGVybnMKYXMgc3VnZ2VzdGVkIGJ5IE1hdHQuCgpTaWduZWQtb2ZmLWJ5 OiBVbWEgU2hhbmthciA8dW1hLnNoYW5rYXJAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcmVnLmggICAgfCAgMyArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf Y29sb3IuYyB8IDczICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZp bGVzIGNoYW5nZWQsIDc2IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAppbmRl eCA0N2JhZjJmZS4uYjAxNDdiZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9yZWcuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCkBAIC03MDU4LDYg KzcwNTgsOSBAQCBlbnVtIHsKICNkZWZpbmUgR0FNTUFfTU9ERV9NT0RFXzEyQklUCSgyIDw8IDAp CiAjZGVmaW5lIEdBTU1BX01PREVfTU9ERV9TUExJVAkoMyA8PCAwKQogCisjZGVmaW5lIFBSRV9D U0NfR0FNTUFfRU5BQkxFCSgxIDw8IDMxKQorI2RlZmluZSBQT1NUX0NTQ19HQU1NQV9FTkFCTEUJ KDEgPDwgMzApCisKIC8qIERNQy9DU1IgKi8KICNkZWZpbmUgQ1NSX1BST0dSQU0oaSkJCV9NTUlP KDB4ODAwMDAgKyAoaSkgKiA0KQogI2RlZmluZSBDU1JfU1NQX0JBU0VfQUREUl9HRU45CTB4MDAw MDJGQzAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jCmluZGV4IDUxMjdkYTIuLjdjOGM5OTYg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYwpAQCAtNDIyLDYgKzQyMiw3IEBAIHN0YXRp YyB2b2lkIGJkd19sb2FkX2RlZ2FtbWFfbHV0KHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUp CiBzdGF0aWMgdm9pZCBiZHdfbG9hZF9nYW1tYV9sdXQoc3RydWN0IGRybV9jcnRjX3N0YXRlICpz dGF0ZSwgdTMyIG9mZnNldCkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSB0b19pOTE1KHN0YXRlLT5jcnRjLT5kZXYpOworCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpp bnRlbF9zdGF0ZSA9IHRvX2ludGVsX2NydGNfc3RhdGUoc3RhdGUpOwogCWVudW0gcGlwZSBwaXBl ID0gdG9faW50ZWxfY3J0YyhzdGF0ZS0+Y3J0YyktPnBpcGU7CiAJdWludDMyX3QgaSwgbHV0X3Np emUgPSBJTlRFTF9JTkZPKGRldl9wcml2KS0+Y29sb3IuZ2FtbWFfbHV0X3NpemU7CiAKQEAgLTQ2 NCw2ICs0NjUsOSBAQCBzdGF0aWMgdm9pZCBiZHdfbG9hZF9nYW1tYV9sdXQoc3RydWN0IGRybV9j cnRjX3N0YXRlICpzdGF0ZSwgdTMyIG9mZnNldCkKIAkJSTkxNV9XUklURShQUkVDX1BBTF9HQ19N QVgocGlwZSwgMSksICgxIDw8IDE2KSAtIDEpOwogCQlJOTE1X1dSSVRFKFBSRUNfUEFMX0dDX01B WChwaXBlLCAyKSwgKDEgPDwgMTYpIC0gMSk7CiAJfQorCisJaWYgKElOVEVMX0dFTihkZXZfcHJp dikgPj0gMTEpCisJCWludGVsX3N0YXRlLT5nYW1tYV9tb2RlIHw9IFBPU1RfQ1NDX0dBTU1BX0VO QUJMRTsKIH0KIAogLyogTG9hZHMgdGhlIHBhbGV0dGUvZ2FtbWEgdW5pdCBmb3IgdGhlIENSVEMg b24gQnJvYWR3ZWxsKy4gKi8KQEAgLTUyMyw2ICs1MjcsNTMgQEAgc3RhdGljIHZvaWQgZ2xrX2xv YWRfZGVnYW1tYV9sdXQoc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSkKIAkJSTkxNV9XUklU RShQUkVfQ1NDX0dBTUNfREFUQShwaXBlKSwgKDEgPDwgMTYpKTsKIH0KIAorc3RhdGljIHZvaWQg aWNsX2xvYWRfZGVnYW1tYV9sdXQoc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSkKK3sKKwlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KHN0YXRlLT5jcnRjLT5k ZXYpOworCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICppbnRlbF9zdGF0ZSA9IHRvX2ludGVsX2Ny dGNfc3RhdGUoc3RhdGUpOworCWVudW0gcGlwZSBwaXBlID0gdG9faW50ZWxfY3J0YyhzdGF0ZS0+ Y3J0YyktPnBpcGU7CisJY29uc3QgdWludDMyX3QgbHV0X3NpemUgPSBJTlRFTF9JTkZPKGRldl9w cml2KS0+Y29sb3IuZGVnYW1tYV9sdXRfc2l6ZTsKKwl1aW50MzJfdCBpOworCisJLyoKKwkgKiBX aGVuIHNldHRpbmcgdGhlIGF1dG8taW5jcmVtZW50IGJpdCwgdGhlIGhhcmR3YXJlIHNlZW1zIHRv CisJICogaWdub3JlIHRoZSBpbmRleCBiaXRzLCBzbyB3ZSBuZWVkIHRvIHJlc2V0IGl0IHRvIGlu ZGV4IDAKKwkgKiBzZXBhcmF0ZWx5LgorCSAqLworCUk5MTVfV1JJVEUoUFJFX0NTQ19HQU1DX0lO REVYKHBpcGUpLCAwKTsKKwlJOTE1X1dSSVRFKFBSRV9DU0NfR0FNQ19JTkRFWChwaXBlKSwgUFJF X0NTQ19HQU1DX0FVVE9fSU5DUkVNRU5UKTsKKworCWlmIChzdGF0ZS0+ZGVnYW1tYV9sdXQpIHsK KwkJc3RydWN0IGRybV9jb2xvcl9sdXQgKmx1dCA9CisJCQkoc3RydWN0IGRybV9jb2xvcl9sdXQg Kikgc3RhdGUtPmRlZ2FtbWFfbHV0LT5kYXRhOworCQlmb3IgKGkgPSAwOyBpIDwgbHV0X3NpemU7 IGkrKykgeworCQkJLyoKKwkJCSAqIEZpcnN0IDMzIGVudHJpZXMgcmVwcmVzZW50IHJhbmdlIGZy b20gMCB0byAxLjAKKwkJCSAqIDM0dGggYW5kIDM1dGggZW50cnkgd2lsbCByZXByZXNlbnQgZXh0 ZW5kZWQgcmFuZ2UKKwkJCSAqIGlucHV0cyAzLjAgYW5kIDcuMCByZXNwZWN0aXZlbHksIGN1cnJl bnRseSBjbGFtcGVkCisJCQkgKiBhdCAxLjAuCisJCQkgKiBUb0RvOiBFeHRlbmQgdG8gbWF4IDcu MC4KKwkJCSAqLworCQkJdWludDMyX3Qgd29yZCA9CisJCQkJZHJtX2NvbG9yX2x1dF9leHRyYWN0 KGx1dFtpXS5yZWQsIDE2KTsKKwkJCUk5MTVfV1JJVEUoUFJFX0NTQ19HQU1DX0RBVEEocGlwZSks IHdvcmQpOworCQl9CisJfSBlbHNlIHsKKwkJLyogbG9hZCBhIGxpbmVhciB0YWJsZS4gKi8KKwkJ Zm9yIChpID0gMDsgaSA8IGx1dF9zaXplOyBpKyspIHsKKwkJCXVpbnQzMl90IHYgPSAoaSAqICgx IDw8IDE2KSkgLyAobHV0X3NpemUgLSAxKTsKKworCQkJSTkxNV9XUklURShQUkVfQ1NDX0dBTUNf REFUQShwaXBlKSwgdik7CisJCX0KKwl9CisKKwlpbnRlbF9zdGF0ZS0+Z2FtbWFfbW9kZSB8PSBQ UkVfQ1NDX0dBTU1BX0VOQUJMRTsKKworCS8qIENsYW1wIHZhbHVlcyA+IDEuMC4gKi8KKwl3aGls ZSAoaSsrIDwgMzUpCisJCUk5MTVfV1JJVEUoUFJFX0NTQ19HQU1DX0RBVEEocGlwZSksICgxIDw8 IDE2KSk7Cit9CisKIHN0YXRpYyB2b2lkIGdsa19sb2FkX2x1dHMoc3RydWN0IGRybV9jcnRjX3N0 YXRlICpzdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBzdGF0ZS0+Y3J0YzsKQEAg LTYwNiw2ICs2NTcsMjYgQEAgc3RhdGljIHZvaWQgY2hlcnJ5dmlld19sb2FkX2x1dHMoc3RydWN0 IGRybV9jcnRjX3N0YXRlICpzdGF0ZSkKIAlpOXh4X2xvYWRfbHV0c19pbnRlcm5hbChjcnRjLCBO VUxMLCB0b19pbnRlbF9jcnRjX3N0YXRlKHN0YXRlKSk7CiB9CiAKK3N0YXRpYyB2b2lkIGljbF9s b2FkX2x1dHMoc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSkKK3sKKwlzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMgPSBzdGF0ZS0+Y3J0YzsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ ZGV2OworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsK KwlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqaW50ZWxfc3RhdGUgPSB0b19pbnRlbF9jcnRjX3N0 YXRlKHN0YXRlKTsKKwllbnVtIHBpcGUgcGlwZSA9IHRvX2ludGVsX2NydGMoY3J0YyktPnBpcGU7 CisKKwlpZiAoY3J0Y19zdGF0ZV9pc19sZWdhY3lfZ2FtbWEoc3RhdGUpKSB7CisJCWhhc3dlbGxf bG9hZF9sdXRzKHN0YXRlKTsKKwkJcmV0dXJuOworCX0KKworCWljbF9sb2FkX2RlZ2FtbWFfbHV0 KHN0YXRlKTsKKwliZHdfbG9hZF9nYW1tYV9sdXQoc3RhdGUsIDApOworCisJaW50ZWxfc3RhdGUt PmdhbW1hX21vZGUgfD0gR0FNTUFfTU9ERV9NT0RFXzEwQklUOworCUk5MTVfV1JJVEUoR0FNTUFf TU9ERShwaXBlKSwgaW50ZWxfc3RhdGUtPmdhbW1hX21vZGUpOworfQorCiB2b2lkIGludGVsX2Nv bG9yX2xvYWRfbHV0cyhzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7CiAJc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGNfc3RhdGUtPmNydGMtPmRldjsKQEAgLTY2Miw2ICs3 MzMsOCBAQCB2b2lkIGludGVsX2NvbG9yX2luaXQoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCX0g ZWxzZSBpZiAoSVNfR0VNSU5JTEFLRShkZXZfcHJpdikgfHwgSVNfQ0FOTk9OTEFLRShkZXZfcHJp dikpIHsKIAkJZGV2X3ByaXYtPmRpc3BsYXkubG9hZF9jc2NfbWF0cml4ID0gaWxrX2xvYWRfY3Nj X21hdHJpeDsKIAkJZGV2X3ByaXYtPmRpc3BsYXkubG9hZF9sdXRzID0gZ2xrX2xvYWRfbHV0czsK Kwl9IGVsc2UgaWYgKElTX0lDRUxBS0UoZGV2X3ByaXYpKSB7CisJCWRldl9wcml2LT5kaXNwbGF5 LmxvYWRfbHV0cyA9IGljbF9sb2FkX2x1dHM7CiAJfSBlbHNlIHsKIAkJZGV2X3ByaXYtPmRpc3Bs YXkubG9hZF9sdXRzID0gaTl4eF9sb2FkX2x1dHM7CiAJfQotLSAKMS45LjEKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=