From mboxrd@z Thu Jan 1 00:00:00 1970 From: Uma Shankar Subject: [v7 16/16] drm/i915: Enable Plane CSC Date: Fri, 29 Mar 2019 01:46:14 +0530 Message-ID: <1553804174-2651-17-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: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org Cc: ville.syrjala@intel.com, emil.l.velikov@gmail.com, Uma Shankar , maarten.lankhorst@intel.com List-Id: intel-gfx@lists.freedesktop.org SW1wbGVtZW50IHBsYW5lIENTQyBvbiBJQ0wuCgpTaWduZWQtb2ZmLWJ5OiBVbWEgU2hhbmthciA8 dW1hLnNoYW5rYXJAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVn LmggICAgICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMgICB8IDg2 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZGlzcGxheS5jIHwgIDMgKysKIDMgZmlsZXMgY2hhbmdlZCwgOTAgaW5zZXJ0aW9u cygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCmluZGV4IDY1NzIzMmJkLi5mODJhNWJjIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcmVnLmgKQEAgLTY3NTAsNiArNjc1MCw3IEBAIGVudW0gewogI2RlZmlu ZSBfUExBTkVfQ09MT1JfQ1RMXzNfQQkJCTB4NzAzQ0MgLyogR0xLKyAqLwogI2RlZmluZSAgIFBM QU5FX0NPTE9SX1BJUEVfR0FNTUFfRU5BQkxFCQkoMSA8PCAzMCkgLyogUHJlLUlDTCAqLwogI2Rl ZmluZSAgIFBMQU5FX0NPTE9SX1lVVl9SQU5HRV9DT1JSRUNUSU9OX0RJU0FCTEUJKDEgPDwgMjgp CisjZGVmaW5lICAgUExBTkVfQ09MT1JfUExBTkVfQ1NDX0VOQUJMRQkJKDEgPDwgMjEpIC8qIElD TCsgKi8KICNkZWZpbmUgICBQTEFORV9DT0xPUl9JTlBVVF9DU0NfRU5BQkxFCQkoMSA8PCAyMCkg LyogSUNMKyAqLwogI2RlZmluZSAgIFBMQU5FX0NPTE9SX1BJUEVfQ1NDX0VOQUJMRQkJKDEgPDwg MjMpIC8qIFByZS1JQ0wgKi8KICNkZWZpbmUgICBQTEFORV9DT0xPUl9DU0NfTU9ERV9CWVBBU1MJ CQkoMCA8PCAxNykKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9y LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jCmluZGV4IGFhNzNmODguLmVk MjFkOTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYwpAQCAtNjA2LDYgKzYwNiw5MCBA QCBzdGF0aWMgdm9pZCBiZHdfbG9hZF9wbGFuZV9nYW1tYV9sdXQoY29uc3Qgc3RydWN0IGRybV9w bGFuZV9zdGF0ZSAqc3RhdGUsCiAJfQogfQogCitzdGF0aWMgdm9pZCBpY2xfbG9hZF9wbGFuZV9j c2NfbWF0cml4KGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlKQoreworCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoc3RhdGUtPnBsYW5lLT5kZXYp OworCWVudW0gcGlwZSBwaXBlID0gdG9faW50ZWxfcGxhbmUoc3RhdGUtPnBsYW5lKS0+cGlwZTsK KwllbnVtIHBsYW5lX2lkIHBsYW5lID0gdG9faW50ZWxfcGxhbmUoc3RhdGUtPnBsYW5lKS0+aWQ7 CisJdTE2IGNvZWZmc1s5XSA9IHt9OworCXUxNiBwb3N0b2ZmID0gMDsKKwlpbnQgaTsKKworCWlm IChzdGF0ZS0+Y3RtKSB7CisJCXN0cnVjdCBkcm1fY29sb3JfY3RtICpjdG0gPSBzdGF0ZS0+Y3Rt LT5kYXRhOworCQljb25zdCB1NjQgKmlucHV0OworCisJCWlucHV0ID0gY3RtLT5tYXRyaXg7CisK KwkJLyoKKwkJICogQ29udmVydCBmaXhlZCBwb2ludCBTMzEuMzIgaW5wdXQgdG8gZm9ybWF0IHN1 cHBvcnRlZCBieSB0aGUKKwkJICogaGFyZHdhcmUuCisJCSAqLworCQlmb3IgKGkgPSAwOyBpIDwg QVJSQVlfU0laRShjb2VmZnMpOyBpKyspIHsKKwkJCXU2NCBhYnNfY29lZmYgPSAoKDFVTEwgPDwg NjMpIC0gMSkgJiBpbnB1dFtpXTsKKworCQkJLyoKKwkJCSAqIENsYW1wIGlucHV0IHZhbHVlIHRv IG1pbi9tYXggc3VwcG9ydGVkIGJ5CisJCQkgKiBoYXJkd2FyZS4KKwkJCSAqLworCQkJYWJzX2Nv ZWZmID0gY2xhbXBfdmFsKGFic19jb2VmZiwgMCwgQ1RNX0NPRUZGXzRfMCAtIDEpOworCisJCQkv KiBzaWduIGJpdCAqLworCQkJaWYgKENUTV9DT0VGRl9ORUdBVElWRShpbnB1dFtpXSkpCisJCQkJ Y29lZmZzW2ldIHw9IDEgPDwgMTU7CisKKwkJCWlmIChhYnNfY29lZmYgPCBDVE1fQ09FRkZfMF8x MjUpCisJCQkJY29lZmZzW2ldIHw9ICgzIDw8IDEyKSB8CisJCQkJCUlMS19DU0NfQ09FRkZfRlAo YWJzX2NvZWZmLCAxMik7CisJCQllbHNlIGlmIChhYnNfY29lZmYgPCBDVE1fQ09FRkZfMF8yNSkK KwkJCQljb2VmZnNbaV0gfD0gKDIgPDwgMTIpIHwKKwkJCQkJSUxLX0NTQ19DT0VGRl9GUChhYnNf Y29lZmYsIDExKTsKKwkJCWVsc2UgaWYgKGFic19jb2VmZiA8IENUTV9DT0VGRl8wXzUpCisJCQkJ Y29lZmZzW2ldIHw9ICgxIDw8IDEyKSB8CisJCQkJCUlMS19DU0NfQ09FRkZfRlAoYWJzX2NvZWZm LCAxMCk7CisJCQllbHNlIGlmIChhYnNfY29lZmYgPCBDVE1fQ09FRkZfMV8wKQorCQkJCWNvZWZm c1tpXSB8PSBJTEtfQ1NDX0NPRUZGX0ZQKGFic19jb2VmZiwgOSk7CisJCQllbHNlIGlmIChhYnNf Y29lZmYgPCBDVE1fQ09FRkZfMl8wKQorCQkJCWNvZWZmc1tpXSB8PSAoNyA8PCAxMikgfAorCQkJ CQlJTEtfQ1NDX0NPRUZGX0ZQKGFic19jb2VmZiwgOCk7CisJCQllbHNlCisJCQkJY29lZmZzW2ld IHw9ICg2IDw8IDEyKSB8CisJCQkJCUlMS19DU0NfQ09FRkZfRlAoYWJzX2NvZWZmLCA3KTsKKwkJ fQorCX0gZWxzZSB7CisJCS8qCisJCSAqIExvYWQgYW4gaWRlbnRpdHkgbWF0cml4IGlmIG5vIGNv ZWZmaWNpZW50cyBhcmUgcHJvdmlkZWQuCisJCSAqCisJCSAqIFRPRE86IENoZWNrIHdoYXQga2lu ZCBvZiB2YWx1ZXMgYWN0dWFsbHkgY29tZSBvdXQgb2YgdGhlCisJCSAqIHBpcGUgd2l0aCB0aGVz ZSBjb2VmZi9wb3N0b2ZmIHZhbHVlcyBhbmQgYWRqdXN0IHRvIGdldCB0aGUKKwkJICogYmVzdCBh Y2N1cmFjeS4gUGVyaGFwcyB3ZSBldmVuIG5lZWQgdG8gdGFrZSB0aGUgYnBjIHZhbHVlCisJCSAq IGludG8gY29uc2lkZXJhdGlvbi4KKwkJICovCisJCWZvciAoaSA9IDA7IGkgPCAzOyBpKyspCisJ CQljb2VmZnNbaSAqIDMgKyBpXSA9IElMS19DU0NfQ09FRkZfMV8wOworCX0KKworCUk5MTVfV1JJ VEUoUExBTkVfQ1NDX0NPRUZGKHBpcGUsIHBsYW5lLCAwKSwKKwkJICAgY29lZmZzWzBdIDw8IDE2 IHwgY29lZmZzWzFdKTsKKwlJOTE1X1dSSVRFKFBMQU5FX0NTQ19DT0VGRihwaXBlLCBwbGFuZSwg MSksIGNvZWZmc1syXSA8PCAxNik7CisKKwlJOTE1X1dSSVRFKFBMQU5FX0NTQ19DT0VGRihwaXBl LCBwbGFuZSwgMyksCisJCSAgIGNvZWZmc1szXSA8PCAxNiB8IGNvZWZmc1s0XSk7CisJSTkxNV9X UklURShQTEFORV9DU0NfQ09FRkYocGlwZSwgcGxhbmUsIDQpLCBjb2VmZnNbNV0gPDwgMTYpOwor CisJSTkxNV9XUklURShQTEFORV9DU0NfQ09FRkYocGlwZSwgcGxhbmUsIDUpLAorCQkgICBjb2Vm ZnNbNl0gPDwgMTYgfCBjb2VmZnNbN10pOworCUk5MTVfV1JJVEUoUExBTkVfQ1NDX0NPRUZGKHBp cGUsIHBsYW5lLCA2KSwgY29lZmZzWzhdIDw8IDE2KTsKKworCUk5MTVfV1JJVEUoUExBTkVfQ1ND X1BSRU9GRihwaXBlLCBwbGFuZSwgMCksIDApOworCUk5MTVfV1JJVEUoUExBTkVfQ1NDX1BSRU9G RihwaXBlLCBwbGFuZSwgMSksIDApOworCUk5MTVfV1JJVEUoUExBTkVfQ1NDX1BSRU9GRihwaXBl LCBwbGFuZSwgMiksIDApOworCisJSTkxNV9XUklURShQTEFORV9DU0NfUE9TVE9GRihwaXBlLCBw bGFuZSwgMCksIHBvc3RvZmYpOworCUk5MTVfV1JJVEUoUExBTkVfQ1NDX1BPU1RPRkYocGlwZSwg cGxhbmUsIDEpLCBwb3N0b2ZmKTsKKwlJOTE1X1dSSVRFKFBMQU5FX0NTQ19QT1NUT0ZGKHBpcGUs IHBsYW5lLCAyKSwgcG9zdG9mZik7Cit9CisKIC8qIExvYWRzIHRoZSBwYWxldHRlL2dhbW1hIHVu aXQgZm9yIHRoZSBDUlRDIG9uIEJyb2Fkd2VsbCsuICovCiBzdGF0aWMgdm9pZCBicm9hZHdlbGxf bG9hZF9wbGFuZV9sdXRzKGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlKQogewpA QCAtNzc3LDYgKzg2MSw4IEBAIHN0YXRpYyB2b2lkIGljbF9sb2FkX3BsYW5lX2x1dHMoY29uc3Qg c3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGUpCiAKIAlwbGFuZV9zdGF0ZS0+Z2FtbWFfbW9k ZSB8PSBQTEFORV9DT0xPUl9QTEFORV9QUkVDU0NfR0FNTUFfRU5BQkxFOwogCXBsYW5lX3N0YXRl LT5nYW1tYV9tb2RlIHw9IH5QTEFORV9DT0xPUl9QTEFORV9HQU1NQV9ESVNBQkxFOworCisJaWNs X2xvYWRfcGxhbmVfY3NjX21hdHJpeChzdGF0ZSk7CiB9CiAKIHN0YXRpYyB2b2lkIGdsa19sb2Fk X2RlZ2FtbWFfbHV0KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IDZiMzcwNTIuLjgzYzlkNTEgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTM4MzQsNiArMzgzNCw5IEBAIHUz MiBnbGtfcGxhbmVfY29sb3JfY3RsKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRj X3N0YXRlLAogCQlwbGFuZV9jb2xvcl9jdGwgfD0gUExBTkVfQ09MT1JfSU5QVVRfQ1NDX0VOQUJM RTsKIAl9CiAKKwlpZiAocGxhbmVfc3RhdGUtPmJhc2UuY3RtKQorCQlwbGFuZV9jb2xvcl9jdGwg fD0gUExBTkVfQ09MT1JfUExBTkVfQ1NDX0VOQUJMRTsKKwogCXJldHVybiBwbGFuZV9jb2xvcl9j dGw7CiB9CiAKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9k cmktZGV2ZWw=