From mboxrd@z Thu Jan 1 00:00:00 1970 From: Uma Shankar Subject: [v7 07/16] drm/i915: Implement Plane Gamma for Bdw and Gen9 platforms Date: Fri, 29 Mar 2019 01:46:05 +0530 Message-ID: <1553804174-2651-8-git-send-email-uma.shankar@intel.com> References: <1553804174-2651-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: <1553804174-2651-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, dri-devel@lists.freedesktop.org Cc: ville.syrjala@intel.com, maarten.lankhorst@intel.com List-Id: intel-gfx@lists.freedesktop.org SW1wbGVtZW50IFBsYW5lIEdhbW1hIGZlYXR1cmUgZm9yIEJEVyBhbmQgR2VuOSBwbGF0Zm9ybXMu Cgp2MjogVXNlZCBuZXdseSBhZGRlZCBkcm1fY29sb3JfbHV0X2V4dCBzdHJ1Y3R1cmUgZm9yIGVu aGFuY2VkCnByZWNpc2lvbiBmb3IgR2FtbWEgTFVUIGVudHJpZXMuCgp2MzogUmViYXNlCgp2NDog VXNlZCBleHRlbmRlZCBmdW5jdGlvbiBmb3IgTFVUIGV4dHJhY3Rpb24gKHBvaW50ZWQgYnkKQWxl eGFuZHJ1KS4KCnY1OiBSZWJhc2UKClNpZ25lZC1vZmYtYnk6IFVtYSBTaGFua2FyIDx1bWEuc2hh bmthckBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYyAgICAg IHwgIDUgKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgIHwgMjUgKysr KysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYyAgIHwgNTcg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMgfCAgNCArKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nw cml0ZS5jICB8ICA0ICsrKwogNSBmaWxlcyBjaGFuZ2VkLCA5NCBpbnNlcnRpb25zKCspLCAxIGRl bGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMKaW5kZXggYTdlMTYxMS4uZTRkN2UyMiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jCkBAIC0xMTcsNyArMTE3LDEwIEBACiAJfQogCiAjZGVm aW5lIEJEV19DT0xPUlMgXAotCS5jb2xvciA9IHsgLmRlZ2FtbWFfbHV0X3NpemUgPSA1MTIsIC5n YW1tYV9sdXRfc2l6ZSA9IDUxMiB9CisJLmNvbG9yID0geyAuZGVnYW1tYV9sdXRfc2l6ZSA9IDUx MiwgLmdhbW1hX2x1dF9zaXplID0gNTEyIH0sIFwKKwkucGxhbmVfY29sb3IgPSB7IC5wbGFuZV9k ZWdhbW1hX2x1dF9zaXplID0gMCwgXAorCQkJIC5wbGFuZV9nYW1tYV9sdXRfc2l6ZSA9IDE2IH0K KwogI2RlZmluZSBDSFZfQ09MT1JTIFwKIAkuY29sb3IgPSB7IC5kZWdhbW1hX2x1dF9zaXplID0g NjUsIC5nYW1tYV9sdXRfc2l6ZSA9IDI1NywgXAogCQkgICAuZGVnYW1tYV9sdXRfdGVzdHMgPSBE Uk1fQ09MT1JfTFVUX05PTl9ERUNSRUFTSU5HLCBcCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAppbmRl eCBjODY2Mzc5Li5lODk2Nzk4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3JlZy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKQEAgLTI1Nyw2ICsy NTcsMTAgQEAgc3RhdGljIGlubGluZSBib29sIGk5MTVfbW1pb19yZWdfdmFsaWQoaTkxNV9yZWdf dCByZWcpCiAJCQkJCSAgICAgIElOVEVMX0lORk8oZGV2X3ByaXYpLT5jdXJzb3Jfb2Zmc2V0c1tQ SVBFX0FdICsgKHJlZykgKyBcCiAJCQkJCSAgICAgIERJU1BMQVlfTU1JT19CQVNFKGRldl9wcml2 KSkKIAorLyogUGxhbmUgR2FtbWEgUmVnaXN0ZXJzICovCisjZGVmaW5lIF9NTUlPX1BMQU5FX0dB TUMocGxhbmUsIGksIGEsIGIpICBfTU1JTyhfUElQRShwbGFuZSwgYSwgYikgKyAoaSkgKiA0KQor I2RlZmluZSBfTU1JT19QTEFORV9HQU1DMTYocGxhbmUsIGksIGEsIGIpICBfTU1JTyhfUElQRShw bGFuZSwgYSwgYikgKyAoaSkgKiA0KQorCiAjZGVmaW5lIF9fTUFTS0VEX0ZJRUxEKG1hc2ssIHZh bHVlKSAoKG1hc2spIDw8IDE2IHwgKHZhbHVlKSkKICNkZWZpbmUgX01BU0tFRF9GSUVMRChtYXNr LCB2YWx1ZSkgKHsJCQkJCSAgIFwKIAlpZiAoX19idWlsdGluX2NvbnN0YW50X3AobWFzaykpCQkJ CQkgICBcCkBAIC0xMDE1Niw2ICsxMDE2MCwyNyBAQCBlbnVtIHNrbF9wb3dlcl9nYXRlIHsKICNk ZWZpbmUgUFJFX0NTQ19HQU1DX0lOREVYKHBpcGUpCV9NTUlPX1BJUEUocGlwZSwgX1BSRV9DU0Nf R0FNQ19JTkRFWF9BLCBfUFJFX0NTQ19HQU1DX0lOREVYX0IpCiAjZGVmaW5lIFBSRV9DU0NfR0FN Q19EQVRBKHBpcGUpCQlfTU1JT19QSVBFKHBpcGUsIF9QUkVfQ1NDX0dBTUNfREFUQV9BLCBfUFJF X0NTQ19HQU1DX0RBVEFfQikKIAorLyogUGxhbmUgR2FtbWEgaW4gR2VuOSsgKi8KKyNkZWZpbmUg X1BMQU5FX0dBTUNfMV9BCTB4NzAxZDAKKyNkZWZpbmUgX1BMQU5FX0dBTUNfMV9CCTB4NzExZDAK KyNkZWZpbmUgX1BMQU5FX0dBTUNfMl9BCTB4NzAyZDAKKyNkZWZpbmUgX1BMQU5FX0dBTUNfMl9C CTB4NzEyZDAKKyNkZWZpbmUgX1BMQU5FX0dBTUNfMShwaXBlKQlfUElQRShwaXBlLCBfUExBTkVf R0FNQ18xX0EsIF9QTEFORV9HQU1DXzFfQikKKyNkZWZpbmUgX1BMQU5FX0dBTUNfMihwaXBlKQlf UElQRShwaXBlLCBfUExBTkVfR0FNQ18yX0EsIF9QTEFORV9HQU1DXzJfQikKKyNkZWZpbmUgUExB TkVfR0FNQyhwaXBlLCBwbGFuZSwgaSkJXAorCV9NTUlPX1BMQU5FX0dBTUMocGxhbmUsIGksIF9Q TEFORV9HQU1DXzEocGlwZSksIF9QTEFORV9HQU1DXzIocGlwZSkpCisKKyNkZWZpbmUgX1BMQU5F X0dBTUMxNl8xX0EJMHg3MDIxMAorI2RlZmluZSBfUExBTkVfR0FNQzE2XzFfQgkweDcxMjEwCisj ZGVmaW5lIF9QTEFORV9HQU1DMTZfMl9BCTB4NzAzMTAKKyNkZWZpbmUgX1BMQU5FX0dBTUMxNl8y X0IJMHg3MTMxMAorI2RlZmluZSBfUExBTkVfR0FNQzE2XzEocGlwZSkJX1BJUEUocGlwZSwgX1BM QU5FX0dBTUMxNl8xX0EsIFwKKwkJCQkgICAgIF9QTEFORV9HQU1DMTZfMV9CKQorI2RlZmluZSBf UExBTkVfR0FNQzE2XzIocGlwZSkJX1BJUEUocGlwZSwgX1BMQU5FX0dBTUMxNl8yX0EsIFwKKwkJ CQkgICAgIF9QTEFORV9HQU1DMTZfMl9CKQorI2RlZmluZSBQTEFORV9HQU1DMTYocGlwZSwgcGxh bmUsIGkpIF9NTUlPX1BMQU5FX0dBTUMxNihwbGFuZSwgaSwgXAorCQkJCV9QTEFORV9HQU1DMTZf MShwaXBlKSwgX1BMQU5FX0dBTUMxNl8yKHBpcGUpKQorCiAvKiBwaXBlIENTQyAmIGRlZ2FtbWEv Z2FtbWEgTFVUcyBvbiBDSFYgKi8KICNkZWZpbmUgX0NHTV9QSVBFX0FfQ1NDX0NPRUZGMDEJKFZM Vl9ESVNQTEFZX0JBU0UgKyAweDY3OTAwKQogI2RlZmluZSBfQ0dNX1BJUEVfQV9DU0NfQ09FRkYy MwkoVkxWX0RJU1BMQVlfQkFTRSArIDB4Njc5MDQpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9jb2xvci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3Iu YwppbmRleCAwZjhjYjE4Li5jNzU2Y2Q5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9jb2xvci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMK QEAgLTU2Miw2ICs1NjIsNTkgQEAgc3RhdGljIHZvaWQgYnJvYWR3ZWxsX2xvYWRfbHV0cyhjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAl9CiB9CiAKK3N0YXRpYyB2 b2lkIGJkd19sb2FkX3BsYW5lX2dhbW1hX2x1dChjb25zdCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRl ICpzdGF0ZSwKKwkJCQkgICAgIHUzMiBvZmZzZXQpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2ID0gdG9faTkxNShzdGF0ZS0+cGxhbmUtPmRldik7CisJZW51bSBwaXBlIHBp cGUgPSB0b19pbnRlbF9wbGFuZShzdGF0ZS0+cGxhbmUpLT5waXBlOworCWVudW0gcGxhbmVfaWQg cGxhbmUgPSB0b19pbnRlbF9wbGFuZShzdGF0ZS0+cGxhbmUpLT5pZDsKKwl1MzIgaSwgbHV0X3Np emUgPQorCQlJTlRFTF9JTkZPKGRldl9wcml2KS0+cGxhbmVfY29sb3IucGxhbmVfZ2FtbWFfbHV0 X3NpemU7CisKKwlpZiAoc3RhdGUtPmdhbW1hX2x1dCkgeworCQlzdHJ1Y3QgZHJtX2NvbG9yX2x1 dF9leHQgKmx1dCA9CisJCQkoc3RydWN0IGRybV9jb2xvcl9sdXRfZXh0ICopc3RhdGUtPmdhbW1h X2x1dC0+ZGF0YTsKKworCQlmb3IgKGkgPSAwOyBpIDwgbHV0X3NpemU7IGkrKykgeworCQkJdTMy IHdvcmQgPQorCQkJZHJtX2NvbG9yX2x1dF9leHRyYWN0X2V4dChsdXRbaV0ucmVkLCAxMCkgPDwg MjAgfAorCQkJZHJtX2NvbG9yX2x1dF9leHRyYWN0X2V4dChsdXRbaV0uZ3JlZW4sIDEwKSA8PCAx MCB8CisJCQlkcm1fY29sb3JfbHV0X2V4dHJhY3RfZXh0KGx1dFtpXS5ibHVlLCAxMCk7CisKKwkJ CUk5MTVfV1JJVEUoUExBTkVfR0FNQyhwaXBlLCBwbGFuZSwgaSksIHdvcmQpOworCQl9CisKKwkJ LyogUHJvZ3JhbSB0aGUgbWF4IHJlZ2lzdGVyIHRvIGNsYW1wIHZhbHVlcyA+IDEuMC4gKi8KKwkJ aSA9IGx1dF9zaXplIC0gMTsKKwkJSTkxNV9XUklURShQTEFORV9HQU1DMTYocGlwZSwgcGxhbmUs IDApLAorCQkJICAgZHJtX2NvbG9yX2x1dF9leHRyYWN0X2V4dChsdXRbaV0ucmVkLCAxNikpOwor CQlJOTE1X1dSSVRFKFBMQU5FX0dBTUMxNihwaXBlLCBwbGFuZSwgMSksCisJCQkgICBkcm1fY29s b3JfbHV0X2V4dHJhY3RfZXh0KGx1dFtpXS5ncmVlbiwgMTYpKTsKKwkJSTkxNV9XUklURShQTEFO RV9HQU1DMTYocGlwZSwgcGxhbmUsIDIpLAorCQkJICAgZHJtX2NvbG9yX2x1dF9leHRyYWN0X2V4 dChsdXRbaV0uYmx1ZSwgMTYpKTsKKwl9IGVsc2UgeworCQlmb3IgKGkgPSAwOyBpIDwgbHV0X3Np emU7IGkrKykgeworCQkJdTMyIHYgPSAoaSAqICgoMSA8PCAxMCkgLSAxKSkgLyAobHV0X3NpemUg LSAxKTsKKworCQkJSTkxNV9XUklURShQTEFORV9HQU1DKHBpcGUsIHBsYW5lLCBpKSwKKwkJCQkg ICAodiA8PCAyMCkgfCAodiA8PCAxMCkgfCB2KTsKKwkJfQorCisJCUk5MTVfV1JJVEUoUExBTkVf R0FNQzE2KHBpcGUsIHBsYW5lLCAwKSwgKDEgPDwgMTYpIC0gMSk7CisJCUk5MTVfV1JJVEUoUExB TkVfR0FNQzE2KHBpcGUsIHBsYW5lLCAxKSwgKDEgPDwgMTYpIC0gMSk7CisJCUk5MTVfV1JJVEUo UExBTkVfR0FNQzE2KHBpcGUsIHBsYW5lLCAyKSwgKDEgPDwgMTYpIC0gMSk7CisJfQorfQorCisv KiBMb2FkcyB0aGUgcGFsZXR0ZS9nYW1tYSB1bml0IGZvciB0aGUgQ1JUQyBvbiBCcm9hZHdlbGwr LiAqLworc3RhdGljIHZvaWQgYnJvYWR3ZWxsX2xvYWRfcGxhbmVfbHV0cyhjb25zdCBzdHJ1Y3Qg ZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSkKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KHN0YXRlLT5wbGFuZS0+ZGV2KTsKKworCWJkd19sb2FkX3BsYW5lX2dh bW1hX2x1dChzdGF0ZSwKKwkJCQkgSU5URUxfSU5GTyhkZXZfcHJpdiktPnBsYW5lX2NvbG9yLnBs YW5lX2RlZ2FtbWFfbHV0X3NpemUpOworfQorCiBzdGF0aWMgdm9pZCBnbGtfbG9hZF9kZWdhbW1h X2x1dChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKIAlzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+YmFzZS5jcnRj KTsKQEAgLTg3Myw2ICs5MjYsMTAgQEAgdm9pZCBpbnRlbF9wbGFuZV9jb2xvcl9pbml0KHN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHRvX2k5MTUocGxhbmUtPmRldik7CiAKKwlpZiAoSVNfQlJPQURXRUxMKGRldl9wcml2KSB8 fCBJU19HRU45X0JDKGRldl9wcml2KSB8fAorCSAgICBJU19CUk9YVE9OKGRldl9wcml2KSkKKwkJ ZGV2X3ByaXYtPmRpc3BsYXkubG9hZF9wbGFuZV9sdXRzID0gYnJvYWR3ZWxsX2xvYWRfcGxhbmVf bHV0czsKKwogCWRybV9wbGFuZV9jb2xvcl9jcmVhdGVfcHJvcChwbGFuZS0+ZGV2LCBwbGFuZSk7 CiAKIAkvKiBFbmFibGUgY29sb3IgbWFuYWdlbWVudCBzdXBwb3J0IHdoZW4gd2UgaGF2ZSBkZWdh bW1hIG9yIGdhbW1hIExVVHMuICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5k ZXggODU3NmE3Zi4uMjc3NWMzZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpA QCAtMTQ0MTIsNiArMTQ0MTIsMTAgQEAgc3RhdGljIGJvb2wgaTl4eF9wbGFuZV9oYXNfZmJjKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQkJCSAgIERSTV9NT0RFX1JPVEFU RV8wLAogCQkJCQkJICAgc3VwcG9ydGVkX3JvdGF0aW9ucyk7CiAKKwkvKiBBZGQgUGxhbmUgQ29s b3IgcHJvcGVydGllcyAqLworCWlmIChJU19CUk9BRFdFTEwoZGV2X3ByaXYpIHx8IElOVEVMX0dF TihkZXZfcHJpdikgPj0gOSkKKwkJaW50ZWxfcGxhbmVfY29sb3JfaW5pdCgmcGxhbmUtPmJhc2Up OworCiAJZHJtX3BsYW5lX2hlbHBlcl9hZGQoJnBsYW5lLT5iYXNlLCAmaW50ZWxfcGxhbmVfaGVs cGVyX2Z1bmNzKTsKIAogCXJldHVybiBwbGFuZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3Nwcml0ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRl LmMKaW5kZXggNjVkZTczOC4uNzY2ZTAzZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfc3ByaXRlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRl LmMKQEAgLTIzMzMsNiArMjMzMywxMCBAQCBzdHJ1Y3QgaW50ZWxfcGxhbmUgKgogCQkJCQkgICAg IEJJVChEUk1fTU9ERV9CTEVORF9QUkVNVUxUSSkgfAogCQkJCQkgICAgIEJJVChEUk1fTU9ERV9C TEVORF9DT1ZFUkFHRSkpOwogCisJLyogQWRkIFBsYW5lIENvbG9yIHByb3BlcnRpZXMgKi8KKwlp ZiAoSVNfQlJPQURXRUxMKGRldl9wcml2KSB8fCBJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpCisJ CWludGVsX3BsYW5lX2NvbG9yX2luaXQoJnBsYW5lLT5iYXNlKTsKKwogCWRybV9wbGFuZV9oZWxw ZXJfYWRkKCZwbGFuZS0+YmFzZSwgJmludGVsX3BsYW5lX2hlbHBlcl9mdW5jcyk7CiAKIAlyZXR1 cm4gcGxhbmU7Ci0tIAoxLjkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4