From mboxrd@z Thu Jan 1 00:00:00 1970 From: Uma Shankar Subject: [RFC v5 7/8] drm/i915: Implement Plane Gamma for Bdw and Gen9 platforms Date: Sun, 16 Sep 2018 13:45:30 +0530 Message-ID: <1537085731-6355-8-git-send-email-uma.shankar@intel.com> References: <1537085731-6355-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: In-Reply-To: <1537085731-6355-1-git-send-email-uma.shankar@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: dcastagna@chromium.org, alexandru-cosmin.gheorghe@arm.com, emil.l.velikov@gmail.com, Uma Shankar , seanpaul@chromium.org, ville.syrjala@intel.com, maarten.lankhorst@intel.com List-Id: intel-gfx@lists.freedesktop.org SW1wbGVtZW50IFBsYW5lIEdhbW1hIGZlYXR1cmUgZm9yIEJEVyBhbmQgR2VuOSBwbGF0Zm9ybXMu Cgp2MjogVXNlZCBuZXdseSBhZGRlZCBkcm1fY29sb3JfbHV0X2V4dCBzdHJ1Y3R1cmUgZm9yIGVu aGFuY2VkCnByZWNpc2lvbiBmb3IgR2FtbWEgTFVUIGVudHJpZXMuCgp2MzogUmViYXNlCgp2NDog VXNlZCBleHRlbmRlZCBmdW5jdGlvbiBmb3IgTFVUIGV4dHJhY3Rpb24gKHBvaW50ZWQgYnkKQWxl eGFuZHJ1KS4KClNpZ25lZC1vZmYtYnk6IFVtYSBTaGFua2FyIDx1bWEuc2hhbmthckBpbnRlbC5j b20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYyAgICAgIHwgIDUgKysrLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgIHwgMjUgKysrKysrKysrKysrKysr KwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYyAgIHwgNTggKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMgfCAgNCArKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jICB8ICA0 ICsrKwogNSBmaWxlcyBjaGFuZ2VkLCA5NSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcGNpLmMKaW5kZXggZDZmN2I5Zi4uNzRlMmIxZCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3BjaS5jCkBAIC01NCw3ICs1NCwxMCBAQAogCS5jdXJzb3Jfb2Zmc2V0cyA9IHsgQ1VS U09SX0FfT0ZGU0VULCBJVkJfQ1VSU09SX0JfT0ZGU0VULCBJVkJfQ1VSU09SX0NfT0ZGU0VUIH0K IAogI2RlZmluZSBCRFdfQ09MT1JTIFwKLQkuY29sb3IgPSB7IC5kZWdhbW1hX2x1dF9zaXplID0g NTEyLCAuZ2FtbWFfbHV0X3NpemUgPSA1MTIgfQorCS5jb2xvciA9IHsgLmRlZ2FtbWFfbHV0X3Np emUgPSA1MTIsIC5nYW1tYV9sdXRfc2l6ZSA9IDUxMiB9LCBcCisJLnBsYW5lX2NvbG9yID0geyAu cGxhbmVfZGVnYW1tYV9sdXRfc2l6ZSA9IDAsIFwKKwkJCSAucGxhbmVfZ2FtbWFfbHV0X3NpemUg PSAxNiB9CisKICNkZWZpbmUgQ0hWX0NPTE9SUyBcCiAJLmNvbG9yID0geyAuZGVnYW1tYV9sdXRf c2l6ZSA9IDY1LCAuZ2FtbWFfbHV0X3NpemUgPSAyNTcgfQogI2RlZmluZSBHTEtfQ09MT1JTIFwK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3JlZy5oCmluZGV4IDA5YmM4ZTcuLmU4YzA2ZTggMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9yZWcuaApAQCAtMTcyLDYgKzE3MiwxMCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgaTkx NV9tbWlvX3JlZ192YWxpZChpOTE1X3JlZ190IHJlZykKICNkZWZpbmUgX1BIWTMocGh5LCAuLi4p IF9QSUNLKHBoeSwgX19WQV9BUkdTX18pCiAjZGVmaW5lIF9NTUlPX1BIWTMocGh5LCBhLCBiLCBj KSBfTU1JTyhfUEhZMyhwaHksIGEsIGIsIGMpKQogCisvKiBQbGFuZSBHYW1tYSBSZWdpc3RlcnMg Ki8KKyNkZWZpbmUgX01NSU9fUExBTkVfR0FNQyhwbGFuZSwgaSwgYSwgYikgIF9NTUlPKF9QSVBF KHBsYW5lLCBhLCBiKSArIChpKSAqIDQpCisjZGVmaW5lIF9NTUlPX1BMQU5FX0dBTUMxNihwbGFu ZSwgaSwgYSwgYikgIF9NTUlPKF9QSVBFKHBsYW5lLCBhLCBiKSArIChpKSAqIDQpCisKICNkZWZp bmUgX19NQVNLRURfRklFTEQobWFzaywgdmFsdWUpICgobWFzaykgPDwgMTYgfCAodmFsdWUpKQog I2RlZmluZSBfTUFTS0VEX0ZJRUxEKG1hc2ssIHZhbHVlKSAoewkJCQkJICAgXAogCWlmIChfX2J1 aWx0aW5fY29uc3RhbnRfcChtYXNrKSkJCQkJCSAgIFwKQEAgLTk3MDIsNiArOTcwNiwyNyBAQCBl bnVtIHNrbF9wb3dlcl9nYXRlIHsKICNkZWZpbmUgUFJFX0NTQ19HQU1DX0lOREVYKHBpcGUpCV9N TUlPX1BJUEUocGlwZSwgX1BSRV9DU0NfR0FNQ19JTkRFWF9BLCBfUFJFX0NTQ19HQU1DX0lOREVY X0IpCiAjZGVmaW5lIFBSRV9DU0NfR0FNQ19EQVRBKHBpcGUpCQlfTU1JT19QSVBFKHBpcGUsIF9Q UkVfQ1NDX0dBTUNfREFUQV9BLCBfUFJFX0NTQ19HQU1DX0RBVEFfQikKIAorLyogUGxhbmUgR2Ft bWEgaW4gR2VuOSsgKi8KKyNkZWZpbmUgX1BMQU5FX0dBTUNfMV9BCTB4NzAxZDAKKyNkZWZpbmUg X1BMQU5FX0dBTUNfMV9CCTB4NzExZDAKKyNkZWZpbmUgX1BMQU5FX0dBTUNfMl9BCTB4NzAyZDAK KyNkZWZpbmUgX1BMQU5FX0dBTUNfMl9CCTB4NzEyZDAKKyNkZWZpbmUgX1BMQU5FX0dBTUNfMShw aXBlKQlfUElQRShwaXBlLCBfUExBTkVfR0FNQ18xX0EsIF9QTEFORV9HQU1DXzFfQikKKyNkZWZp bmUgX1BMQU5FX0dBTUNfMihwaXBlKQlfUElQRShwaXBlLCBfUExBTkVfR0FNQ18yX0EsIF9QTEFO RV9HQU1DXzJfQikKKyNkZWZpbmUgUExBTkVfR0FNQyhwaXBlLCBwbGFuZSwgaSkJXAorCV9NTUlP X1BMQU5FX0dBTUMocGxhbmUsIGksIF9QTEFORV9HQU1DXzEocGlwZSksIF9QTEFORV9HQU1DXzIo cGlwZSkpCisKKyNkZWZpbmUgX1BMQU5FX0dBTUMxNl8xX0EJMHg3MDIxMAorI2RlZmluZSBfUExB TkVfR0FNQzE2XzFfQgkweDcxMjEwCisjZGVmaW5lIF9QTEFORV9HQU1DMTZfMl9BCTB4NzAzMTAK KyNkZWZpbmUgX1BMQU5FX0dBTUMxNl8yX0IJMHg3MTMxMAorI2RlZmluZSBfUExBTkVfR0FNQzE2 XzEocGlwZSkJX1BJUEUocGlwZSwgX1BMQU5FX0dBTUMxNl8xX0EsIFwKKwkJCQkgICAgIF9QTEFO RV9HQU1DMTZfMV9CKQorI2RlZmluZSBfUExBTkVfR0FNQzE2XzIocGlwZSkJX1BJUEUocGlwZSwg X1BMQU5FX0dBTUMxNl8yX0EsIFwKKwkJCQkgICAgIF9QTEFORV9HQU1DMTZfMl9CKQorI2RlZmlu ZSBQTEFORV9HQU1DMTYocGlwZSwgcGxhbmUsIGkpIF9NTUlPX1BMQU5FX0dBTUMxNihwbGFuZSwg aSwgXAorCQkJCV9QTEFORV9HQU1DMTZfMShwaXBlKSwgX1BMQU5FX0dBTUMxNl8yKHBpcGUpKQor CiAvKiBwaXBlIENTQyAmIGRlZ2FtbWEvZ2FtbWEgTFVUcyBvbiBDSFYgKi8KICNkZWZpbmUgX0NH TV9QSVBFX0FfQ1NDX0NPRUZGMDEJKFZMVl9ESVNQTEFZX0JBU0UgKyAweDY3OTAwKQogI2RlZmlu ZSBfQ0dNX1BJUEVfQV9DU0NfQ09FRkYyMwkoVkxWX0RJU1BMQVlfQkFTRSArIDB4Njc5MDQpCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYwppbmRleCBmYjg0MDJmLi5jNTZmYTE4IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2NvbG9yLmMKQEAgLTQ5Miw2ICs0OTIsNTkgQEAgc3RhdGljIHZvaWQg YnJvYWR3ZWxsX2xvYWRfbHV0cyhzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlKQogCUk5MTVf V1JJVEUoUFJFQ19QQUxfSU5ERVgocGlwZSksIDApOwogfQogCitzdGF0aWMgdm9pZCBiZHdfbG9h ZF9wbGFuZV9nYW1tYV9sdXQoY29uc3Qgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGUsCisJ CQkJICAgICB1MzIgb2Zmc2V0KQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHRvX2k5MTUoc3RhdGUtPnBsYW5lLT5kZXYpOworCWVudW0gcGlwZSBwaXBlID0gdG9faW50 ZWxfcGxhbmUoc3RhdGUtPnBsYW5lKS0+cGlwZTsKKwllbnVtIHBsYW5lX2lkIHBsYW5lID0gdG9f aW50ZWxfcGxhbmUoc3RhdGUtPnBsYW5lKS0+aWQ7CisJdWludDMyX3QgaSwgbHV0X3NpemUgPQor CQkJSU5URUxfSU5GTyhkZXZfcHJpdiktPnBsYW5lX2NvbG9yLnBsYW5lX2dhbW1hX2x1dF9zaXpl OworCisJaWYgKHN0YXRlLT5nYW1tYV9sdXQpIHsKKwkJc3RydWN0IGRybV9jb2xvcl9sdXRfZXh0 ICpsdXQgPQorCQkJKHN0cnVjdCBkcm1fY29sb3JfbHV0X2V4dCAqKSBzdGF0ZS0+Z2FtbWFfbHV0 LT5kYXRhOworCisJCWZvciAoaSA9IDA7IGkgPCBsdXRfc2l6ZTsgaSsrKSB7CisJCQl1aW50MzJf dCB3b3JkID0KKwkJCShkcm1fY29sb3JfbHV0X2V4dHJhY3RfZXh0KGx1dFtpXS5yZWQsIDEwKSA8 PCAyMCkgfAorCQkJKGRybV9jb2xvcl9sdXRfZXh0cmFjdF9leHQobHV0W2ldLmdyZWVuLCAxMCkg PDwgMTApIHwKKwkJCWRybV9jb2xvcl9sdXRfZXh0cmFjdF9leHQobHV0W2ldLmJsdWUsIDEwKTsK KworCQkJSTkxNV9XUklURShQTEFORV9HQU1DKHBpcGUsIHBsYW5lLCBpKSwgd29yZCk7CisJCX0K KworCQkvKiBQcm9ncmFtIHRoZSBtYXggcmVnaXN0ZXIgdG8gY2xhbXAgdmFsdWVzID4gMS4wLiAq LworCQlpID0gbHV0X3NpemUgLSAxOworCQlJOTE1X1dSSVRFKFBMQU5FX0dBTUMxNihwaXBlLCBw bGFuZSwgMCksCisJCQkgICBkcm1fY29sb3JfbHV0X2V4dHJhY3RfZXh0KGx1dFtpXS5yZWQsIDE2 KSk7CisJCUk5MTVfV1JJVEUoUExBTkVfR0FNQzE2KHBpcGUsIHBsYW5lLCAxKSwKKwkJCSAgIGRy bV9jb2xvcl9sdXRfZXh0cmFjdF9leHQobHV0W2ldLmdyZWVuLCAxNikpOworCQlJOTE1X1dSSVRF KFBMQU5FX0dBTUMxNihwaXBlLCBwbGFuZSwgMiksCisJCQkgICBkcm1fY29sb3JfbHV0X2V4dHJh Y3RfZXh0KGx1dFtpXS5ibHVlLCAxNikpOworCX0gZWxzZSB7CisJCWZvciAoaSA9IDA7IGkgPCBs dXRfc2l6ZTsgaSsrKSB7CisJCQl1aW50MzJfdCB2ID0gKGkgKiAoKDEgPDwgMTApIC0gMSkpIC8g KGx1dF9zaXplIC0gMSk7CisKKwkJCUk5MTVfV1JJVEUoUExBTkVfR0FNQyhwaXBlLCBwbGFuZSwg aSksCisJCQkJICAgKHYgPDwgMjApIHwgKHYgPDwgMTApIHwgdik7CisJCX0KKworCQlJOTE1X1dS SVRFKFBMQU5FX0dBTUMxNihwaXBlLCBwbGFuZSwgMCksICgxIDw8IDE2KSAtIDEpOworCQlJOTE1 X1dSSVRFKFBMQU5FX0dBTUMxNihwaXBlLCBwbGFuZSwgMSksICgxIDw8IDE2KSAtIDEpOworCQlJ OTE1X1dSSVRFKFBMQU5FX0dBTUMxNihwaXBlLCBwbGFuZSwgMiksICgxIDw8IDE2KSAtIDEpOwor CX0KK30KKworLyogTG9hZHMgdGhlIHBhbGV0dGUvZ2FtbWEgdW5pdCBmb3IgdGhlIENSVEMgb24g QnJvYWR3ZWxsKy4gKi8KK3N0YXRpYyB2b2lkIGJyb2Fkd2VsbF9sb2FkX3BsYW5lX2x1dHMoY29u c3Qgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGUpCit7CisJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShzdGF0ZS0+cGxhbmUtPmRldik7CisKKwliZHdfbG9h ZF9wbGFuZV9nYW1tYV9sdXQoc3RhdGUsCisJCUlOVEVMX0lORk8oZGV2X3ByaXYpLT5wbGFuZV9j b2xvci5wbGFuZV9kZWdhbW1hX2x1dF9zaXplKTsKK30KKwogc3RhdGljIHZvaWQgZ2xrX2xvYWRf ZGVnYW1tYV9sdXQoc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KHN0YXRlLT5jcnRjLT5kZXYpOwpAQCAt NjQ4LDYgKzcwMSwxMSBAQCB2b2lkIGludGVsX3BsYW5lX2NvbG9yX2luaXQoc3RydWN0IGRybV9w bGFuZSAqcGxhbmUpCiAKIAlkcm1fcGxhbmVfY29sb3JfY3JlYXRlX3Byb3AocGxhbmUtPmRldiwg cGxhbmUpOwogCisJaWYgKElTX0JST0FEV0VMTChkZXZfcHJpdikgfHwgSVNfR0VOOV9CQyhkZXZf cHJpdikgfHwKKwkJSVNfQlJPWFRPTihkZXZfcHJpdikpIHsKKwkJZGV2X3ByaXYtPmRpc3BsYXku bG9hZF9wbGFuZV9sdXRzID0gYnJvYWR3ZWxsX2xvYWRfcGxhbmVfbHV0czsKKwl9CisKIAkvKiBF bmFibGUgY29sb3IgbWFuYWdlbWVudCBzdXBwb3J0IHdoZW4gd2UgaGF2ZSBkZWdhbW1hICYgZ2Ft bWEgTFVUcy4gKi8KIAlpZiAoSU5URUxfSU5GTyhkZXZfcHJpdiktPnBsYW5lX2NvbG9yLnBsYW5l X2RlZ2FtbWFfbHV0X3NpemUgIT0gMCAmJgogCSAgICBJTlRFTF9JTkZPKGRldl9wcml2KS0+cGxh bmVfY29sb3IucGxhbmVfZ2FtbWFfbHV0X3NpemUgIT0gMCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYwppbmRleCAxYmQxNGM2Li43Yzk1ZGIzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCkBAIC0xMzgxMCw2ICsxMzgxMCwxMCBAQCBib29sIHNrbF9wbGFuZV9oYXNf cGxhbmFyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQkJCSAgRFJNX0NP TE9SX1lDQkNSX0JUNzA5LAogCQkJCQkJICBEUk1fQ09MT1JfWUNCQ1JfTElNSVRFRF9SQU5HRSk7 CiAKKwkvKiBBZGQgUGxhbmUgQ29sb3IgcHJvcGVydGllcyAqLworCWlmIChJU19CUk9BRFdFTEwo ZGV2X3ByaXYpIHx8IElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkKKwkJaW50ZWxfcGxhbmVfY29s b3JfaW5pdCgmcHJpbWFyeS0+YmFzZSk7CisKIAlkcm1fcGxhbmVfaGVscGVyX2FkZCgmcHJpbWFy eS0+YmFzZSwgJmludGVsX3BsYW5lX2hlbHBlcl9mdW5jcyk7CiAKIAlyZXR1cm4gcHJpbWFyeTsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKaW5kZXggOTYwMGNjZi4uYTUxNmI5ZiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKQEAgLTE2NTEsNiArMTY1MSwxMCBAQCBzdHJ1 Y3QgaW50ZWxfcGxhbmUgKgogCQkJCQkgIERSTV9DT0xPUl9ZQ0JDUl9CVDcwOSwKIAkJCQkJICBE Uk1fQ09MT1JfWUNCQ1JfTElNSVRFRF9SQU5HRSk7CiAKKwkvKiBBZGQgUGxhbmUgQ29sb3IgcHJv cGVydGllcyAqLworCWlmIChJU19CUk9BRFdFTEwoZGV2X3ByaXYpIHx8IElOVEVMX0dFTihkZXZf cHJpdikgPj0gOSkKKwkJaW50ZWxfcGxhbmVfY29sb3JfaW5pdCgmaW50ZWxfcGxhbmUtPmJhc2Up OworCiAJZHJtX3BsYW5lX2hlbHBlcl9hZGQoJmludGVsX3BsYW5lLT5iYXNlLCAmaW50ZWxfcGxh bmVfaGVscGVyX2Z1bmNzKTsKIAogCXJldHVybiBpbnRlbF9wbGFuZTsKLS0gCjEuOS4xCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFp bGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK