From mboxrd@z Thu Jan 1 00:00:00 1970 From: Uma Shankar Subject: [RFC 6/7] drm/i915: Implement Plane Gamma for Bdw and Gen9 platforms Date: Tue, 7 Nov 2017 17:36:30 +0530 Message-ID: <1510056391-9684-7-git-send-email-uma.shankar@intel.com> References: <1510056391-9684-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: <1510056391-9684-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: dri-devel@lists.freedesktop.org SW1wbGVtZW50IFBsYW5lIEdhbW1hIGZlYXR1cmUgZm9yIEJEVyBhbmQgR2VuOSBwbGF0Zm9ybXMu CgpTaWduZWQtb2ZmLWJ5OiBVbWEgU2hhbmthciA8dW1hLnNoYW5rYXJAaW50ZWwuY29tPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMgICAgICB8ICAgIDUgKystCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgICAgfCAgIDI0ICsrKysrKysrKysrKysrCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jICAgfCAgIDU4ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8 ICAgIDQgKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYyAgfCAgICA0ICsr KwogNSBmaWxlcyBjaGFuZ2VkLCA5NCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcGNpLmMKaW5kZXggNjQ1OGMzMC4uNjY1NWVhZiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3BjaS5jCkBAIC01MSw3ICs1MSwxMCBAQAogCS5jdXJzb3Jfb2Zmc2V0cyA9IHsgQ1VSU09S X0FfT0ZGU0VULCBJVkJfQ1VSU09SX0JfT0ZGU0VULCBJVkJfQ1VSU09SX0NfT0ZGU0VUIH0KIAog I2RlZmluZSBCRFdfQ09MT1JTIFwKLQkuY29sb3IgPSB7IC5kZWdhbW1hX2x1dF9zaXplID0gNTEy LCAuZ2FtbWFfbHV0X3NpemUgPSA1MTIgfQorCS5jb2xvciA9IHsgLmRlZ2FtbWFfbHV0X3NpemUg PSA1MTIsIC5nYW1tYV9sdXRfc2l6ZSA9IDUxMiB9LCBcCisJLnBsYW5lX2NvbG9yID0geyAucGxh bmVfZGVnYW1tYV9sdXRfc2l6ZSA9IDAsIFwKKwkJCSAucGxhbmVfZ2FtbWFfbHV0X3NpemUgPSAx NiB9CisKICNkZWZpbmUgQ0hWX0NPTE9SUyBcCiAJLmNvbG9yID0geyAuZGVnYW1tYV9sdXRfc2l6 ZSA9IDY1LCAuZ2FtbWFfbHV0X3NpemUgPSAyNTcgfQogI2RlZmluZSBHTEtfQ09MT1JTIFwKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oCmluZGV4IGYwZjhmNjAuLmI3MTA4MmIgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9yZWcuaApAQCAtMTU5LDYgKzE1OSw5IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBpOTE1X21t aW9fcmVnX3ZhbGlkKGk5MTVfcmVnX3QgcmVnKQogI2RlZmluZSBfUEhZMyhwaHksIC4uLikgX1BJ Q0socGh5LCBfX1ZBX0FSR1NfXykKICNkZWZpbmUgX01NSU9fUEhZMyhwaHksIGEsIGIsIGMpIF9N TUlPKF9QSFkzKHBoeSwgYSwgYiwgYykpCiAKKyNkZWZpbmUgX01NSU9fUExBTkVfR0FNQyhwbGFu ZSwgaSwgYSwgYikgIF9NTUlPKF9QSVBFKHBsYW5lLCBhLCBiKSArIChpKSAqIDQpCisjZGVmaW5l IF9NTUlPX1BMQU5FX0dBTUMxNihwbGFuZSwgaSwgYSwgYikgIF9NTUlPKF9QSVBFKHBsYW5lLCBh LCBiKSArIChpKSAqIDQpCisKICNkZWZpbmUgX01BU0tFRF9GSUVMRChtYXNrLCB2YWx1ZSkgKHsJ CQkJCSAgIFwKIAlpZiAoX19idWlsdGluX2NvbnN0YW50X3AobWFzaykpCQkJCQkgICBcCiAJCUJV SUxEX0JVR19PTl9NU0coKChtYXNrKSAmIDB4ZmZmZjAwMDApLCAiSW5jb3JyZWN0IG1hc2siKTsg XApAQCAtODgwMCw2ICs4ODAzLDI3IEBAIGVudW0gc2tsX3Bvd2VyX2dhdGUgewogI2RlZmluZSBQ UkVfQ1NDX0dBTUNfSU5ERVgocGlwZSkJX01NSU9fUElQRShwaXBlLCBfUFJFX0NTQ19HQU1DX0lO REVYX0EsIF9QUkVfQ1NDX0dBTUNfSU5ERVhfQikKICNkZWZpbmUgUFJFX0NTQ19HQU1DX0RBVEEo cGlwZSkJCV9NTUlPX1BJUEUocGlwZSwgX1BSRV9DU0NfR0FNQ19EQVRBX0EsIF9QUkVfQ1NDX0dB TUNfREFUQV9CKQogCisvKiBQbGFuZSBHYW1tYSBpbiBHZW45KyAqLworI2RlZmluZSBfUExBTkVf R0FNQ18xX0EJMHg3MDFkMAorI2RlZmluZSBfUExBTkVfR0FNQ18xX0IJMHg3MTFkMAorI2RlZmlu ZSBfUExBTkVfR0FNQ18yX0EJMHg3MDJkMAorI2RlZmluZSBfUExBTkVfR0FNQ18yX0IJMHg3MTJk MAorI2RlZmluZSBfUExBTkVfR0FNQ18xKHBpcGUpCV9QSVBFKHBpcGUsIF9QTEFORV9HQU1DXzFf QSwgX1BMQU5FX0dBTUNfMV9CKQorI2RlZmluZSBfUExBTkVfR0FNQ18yKHBpcGUpCV9QSVBFKHBp cGUsIF9QTEFORV9HQU1DXzJfQSwgX1BMQU5FX0dBTUNfMl9CKQorI2RlZmluZSBQTEFORV9HQU1D KHBpcGUsIHBsYW5lLCBpKQlcCisJX01NSU9fUExBTkVfR0FNQyhwbGFuZSwgaSwgX1BMQU5FX0dB TUNfMShwaXBlKSwgX1BMQU5FX0dBTUNfMihwaXBlKSkKKworI2RlZmluZSBfUExBTkVfR0FNQzE2 XzFfQQkweDcwMjEwCisjZGVmaW5lIF9QTEFORV9HQU1DMTZfMV9CCTB4NzEyMTAKKyNkZWZpbmUg X1BMQU5FX0dBTUMxNl8yX0EJMHg3MDMxMAorI2RlZmluZSBfUExBTkVfR0FNQzE2XzJfQgkweDcx MzEwCisjZGVmaW5lIF9QTEFORV9HQU1DMTZfMShwaXBlKQlfUElQRShwaXBlLCBfUExBTkVfR0FN QzE2XzFfQSwgXAorCQkJCSAgICAgX1BMQU5FX0dBTUMxNl8xX0IpCisjZGVmaW5lIF9QTEFORV9H QU1DMTZfMihwaXBlKQlfUElQRShwaXBlLCBfUExBTkVfR0FNQzE2XzJfQSwgXAorCQkJCSAgICAg X1BMQU5FX0dBTUMxNl8yX0IpCisjZGVmaW5lIFBMQU5FX0dBTUMxNihwaXBlLCBwbGFuZSwgaSkg X01NSU9fUExBTkVfR0FNQzE2KHBsYW5lLCBpLCBcCisJCQkJX1BMQU5FX0dBTUMxNl8xKHBpcGUp LCBfUExBTkVfR0FNQzE2XzIocGlwZSkpCisKIC8qIHBpcGUgQ1NDICYgZGVnYW1tYS9nYW1tYSBM VVRzIG9uIENIViAqLwogI2RlZmluZSBfQ0dNX1BJUEVfQV9DU0NfQ09FRkYwMQkoVkxWX0RJU1BM QVlfQkFTRSArIDB4Njc5MDApCiAjZGVmaW5lIF9DR01fUElQRV9BX0NTQ19DT0VGRjIzCShWTFZf RElTUExBWV9CQVNFICsgMHg2NzkwNCkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2NvbG9yLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jCmluZGV4 IGYyNDgxZjEuLjM0NTI3NjkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2NvbG9yLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYwpAQCAtNDg5 LDYgKzQ4OSw1OSBAQCBzdGF0aWMgdm9pZCBicm9hZHdlbGxfbG9hZF9sdXRzKHN0cnVjdCBkcm1f Y3J0Y19zdGF0ZSAqc3RhdGUpCiAJSTkxNV9XUklURShQUkVDX1BBTF9JTkRFWChwaXBlKSwgMCk7 CiB9CiAKK3N0YXRpYyB2b2lkIGJkd19sb2FkX3BsYW5lX2dhbW1hX2x1dChjb25zdCBzdHJ1Y3Qg ZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSwKKwkJCQkgICAgIHUzMiBvZmZzZXQpCit7CisJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShzdGF0ZS0+cGxhbmUtPmRldik7 CisJZW51bSBwaXBlIHBpcGUgPSB0b19pbnRlbF9wbGFuZShzdGF0ZS0+cGxhbmUpLT5waXBlOwor CWVudW0gcGxhbmVfaWQgcGxhbmUgPSB0b19pbnRlbF9wbGFuZShzdGF0ZS0+cGxhbmUpLT5pZDsK Kwl1aW50MzJfdCBpLCBsdXRfc2l6ZSA9CisJCQlJTlRFTF9JTkZPKGRldl9wcml2KS0+cGxhbmVf Y29sb3IucGxhbmVfZ2FtbWFfbHV0X3NpemU7CisKKwlpZiAoc3RhdGUtPmdhbW1hX2x1dCkgewor CQlzdHJ1Y3QgZHJtX2NvbG9yX2x1dCAqbHV0ID0KKwkJCShzdHJ1Y3QgZHJtX2NvbG9yX2x1dCAq KSBzdGF0ZS0+Z2FtbWFfbHV0LT5kYXRhOworCisJCWZvciAoaSA9IDA7IGkgPCBsdXRfc2l6ZTsg aSsrKSB7CisJCQl1aW50MzJfdCB3b3JkID0KKwkJCShkcm1fY29sb3JfbHV0X2V4dHJhY3QobHV0 W2ldLnJlZCwgMTApIDw8IDIwKSB8CisJCQkoZHJtX2NvbG9yX2x1dF9leHRyYWN0KGx1dFtpXS5n cmVlbiwgMTApIDw8IDEwKSB8CisJCQlkcm1fY29sb3JfbHV0X2V4dHJhY3QobHV0W2ldLmJsdWUs IDEwKTsKKworCQkJSTkxNV9XUklURShQTEFORV9HQU1DKHBpcGUsIHBsYW5lLCBpKSwgd29yZCk7 CisJCX0KKworCQkvKiBQcm9ncmFtIHRoZSBtYXggcmVnaXN0ZXIgdG8gY2xhbXAgdmFsdWVzID4g MS4wLiAqLworCQlpID0gbHV0X3NpemUgLSAxOworCQlJOTE1X1dSSVRFKFBMQU5FX0dBTUMxNihw aXBlLCBwbGFuZSwgMCksCisJCQkgICBkcm1fY29sb3JfbHV0X2V4dHJhY3QobHV0W2ldLnJlZCwg MTYpKTsKKwkJSTkxNV9XUklURShQTEFORV9HQU1DMTYocGlwZSwgcGxhbmUsIDEpLAorCQkJICAg ZHJtX2NvbG9yX2x1dF9leHRyYWN0KGx1dFtpXS5ncmVlbiwgMTYpKTsKKwkJSTkxNV9XUklURShQ TEFORV9HQU1DMTYocGlwZSwgcGxhbmUsIDIpLAorCQkJICAgZHJtX2NvbG9yX2x1dF9leHRyYWN0 KGx1dFtpXS5ibHVlLCAxNikpOworCX0gZWxzZSB7CisJCWZvciAoaSA9IDA7IGkgPCBsdXRfc2l6 ZTsgaSsrKSB7CisJCQl1aW50MzJfdCB2ID0gKGkgKiAoKDEgPDwgMTApIC0gMSkpIC8gKGx1dF9z aXplIC0gMSk7CisKKwkJCUk5MTVfV1JJVEUoUExBTkVfR0FNQyhwaXBlLCBwbGFuZSwgaSksCisJ CQkJICAgKHYgPDwgMjApIHwgKHYgPDwgMTApIHwgdik7CisJCX0KKworCQlJOTE1X1dSSVRFKFBM QU5FX0dBTUMxNihwaXBlLCBwbGFuZSwgMCksICgxIDw8IDE2KSAtIDEpOworCQlJOTE1X1dSSVRF KFBMQU5FX0dBTUMxNihwaXBlLCBwbGFuZSwgMSksICgxIDw8IDE2KSAtIDEpOworCQlJOTE1X1dS SVRFKFBMQU5FX0dBTUMxNihwaXBlLCBwbGFuZSwgMiksICgxIDw8IDE2KSAtIDEpOworCX0KK30K KworLyogTG9hZHMgdGhlIHBhbGV0dGUvZ2FtbWEgdW5pdCBmb3IgdGhlIENSVEMgb24gQnJvYWR3 ZWxsKy4gKi8KK3N0YXRpYyB2b2lkIGJyb2Fkd2VsbF9sb2FkX3BsYW5lX2x1dHMoY29uc3Qgc3Ry dWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGUpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShzdGF0ZS0+cGxhbmUtPmRldik7CisKKwliZHdfbG9hZF9wbGFu ZV9nYW1tYV9sdXQoc3RhdGUsCisJCUlOVEVMX0lORk8oZGV2X3ByaXYpLT5wbGFuZV9jb2xvci5w bGFuZV9kZWdhbW1hX2x1dF9zaXplKTsKK30KKwogc3RhdGljIHZvaWQgZ2xrX2xvYWRfZGVnYW1t YV9sdXQoc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KHN0YXRlLT5jcnRjLT5kZXYpOwpAQCAtNjQ1LDYg KzY5OCwxMSBAQCB2b2lkIGludGVsX3BsYW5lX2NvbG9yX2luaXQoc3RydWN0IGRybV9wbGFuZSAq cGxhbmUpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShw bGFuZS0+ZGV2KTsKIAorCWlmIChJU19CUk9BRFdFTEwoZGV2X3ByaXYpIHx8IElTX0dFTjlfQkMo ZGV2X3ByaXYpIHx8CisJCUlTX0JST1hUT04oZGV2X3ByaXYpKSB7CisJCWRldl9wcml2LT5kaXNw bGF5LmxvYWRfcGxhbmVfbHV0cyA9IGJyb2Fkd2VsbF9sb2FkX3BsYW5lX2x1dHM7CisJfQorCiAJ LyogRW5hYmxlIGNvbG9yIG1hbmFnZW1lbnQgc3VwcG9ydCB3aGVuIHdlIGhhdmUgZGVnYW1tYSAm IGdhbW1hIExVVHMuICovCiAJaWYgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5wbGFuZV9jb2xvci5w bGFuZV9kZWdhbW1hX2x1dF9zaXplICE9IDAgJiYKIAkgICAgSU5URUxfSU5GTyhkZXZfcHJpdikt PnBsYW5lX2NvbG9yLnBsYW5lX2dhbW1hX2x1dF9zaXplICE9IDApCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMKaW5kZXggNzM3ZGUyNS4uMGYxODRhMyAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYwpAQCAtMTMyNjcsNiArMTMyNjcsMTAgQEAgc3RhdGljIGJvb2wgaW50 ZWxfY3Vyc29yX3BsYW5lX2Zvcm1hdF9tb2Rfc3VwcG9ydGVkKHN0cnVjdCBkcm1fcGxhbmUgKnBs YW5lLAogCQkJCQkJICAgRFJNX01PREVfUk9UQVRFXzAsCiAJCQkJCQkgICBzdXBwb3J0ZWRfcm90 YXRpb25zKTsKIAorCS8qIEFkZCBQbGFuZSBDb2xvciBwcm9wZXJ0aWVzICovCisJaWYgKElTX0JS T0FEV0VMTChkZXZfcHJpdikgfHwgSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KQorCQlpbnRlbF9w bGFuZV9jb2xvcl9pbml0KCZwcmltYXJ5LT5iYXNlKTsKKwogCWRybV9wbGFuZV9oZWxwZXJfYWRk KCZwcmltYXJ5LT5iYXNlLCAmaW50ZWxfcGxhbmVfaGVscGVyX2Z1bmNzKTsKIAogCXJldHVybiBw cmltYXJ5OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwppbmRleCA0ZmNmODBjLi4zYTUz OGQ5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwpAQCAtMTMzMCw2ICsxMzMwLDEw IEBAIHN0cnVjdCBpbnRlbF9wbGFuZSAqCiAJCQkJCSAgIERSTV9NT0RFX1JPVEFURV8wLAogCQkJ CQkgICBzdXBwb3J0ZWRfcm90YXRpb25zKTsKIAorCS8qIEFkZCBQbGFuZSBDb2xvciBwcm9wZXJ0 aWVzICovCisJaWYgKElTX0JST0FEV0VMTChkZXZfcHJpdikgfHwgSU5URUxfR0VOKGRldl9wcml2 KSA+PSA5KQorCQlpbnRlbF9wbGFuZV9jb2xvcl9pbml0KCZpbnRlbF9wbGFuZS0+YmFzZSk7CisK IAlkcm1fcGxhbmVfaGVscGVyX2FkZCgmaW50ZWxfcGxhbmUtPmJhc2UsICZpbnRlbF9wbGFuZV9o ZWxwZXJfZnVuY3MpOwogCiAJcmV0dXJuIGludGVsX3BsYW5lOwotLSAKMS43LjkuNQoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==