From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [RESEND-CI v4 13/15] drm/i915: prepare csc unit for YCBCR HDMI output Date: Wed, 21 Jun 2017 16:04:10 +0530 Message-ID: <1498041253-16426-13-git-send-email-shashank.sharma@intel.com> References: <1498041253-16426-1-git-send-email-shashank.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1498041253-16426-1-git-send-email-shashank.sharma@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, ville.syrjala@linux.intel.com Cc: Ander Conselvan De Oliveira , Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org VG8gc3VwcG9ydCB5Y2JjciBIRE1JIG91dHB1dCwgd2UgbmVlZCBhIHBpcGUgQ1NDIGJsb2NrIHRv CmRvIHRoZSBSR0ItPllDQkNSIGNvbnZlcnNpb24sIGFzIHRoZSBibGVuZGVyIG91dHB1dCBpcyBp biBSR0IuCgpDdXJyZW50IEludGVsIHBsYXRmb3JtcyBoYXZlIG9ubHkgb25lIHBpcGUgQ1NDIHVu aXQsIHNvCndlIGNhbiBlaXRoZXIgZG8gY29sb3IgY29ycmVjdGlvbiB1c2luZyBpdCwgb3Igd2Ug Y2FuIHBlcmZvcm0KUkdCLT5ZQ0JDUiBjb252ZXJzaW9uLgoKVGhpcyBmdW5jdGlvbiBhZGRzIGEg Y3NjIGhhbmRsZXIsIHRvIHBlcmZvcm0gUkdCLT5ZQ0JDUiBjb252ZXJzaW9uCmFzIHBlciByZWNv bW1lbmRlZCBzcGVjIHZhbHVlcy4KClYyOiBSZWJhc2UKVjM6IFJlYmFzZQpWNDogUmViYXNlCgpD YzogVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+CkNjOiBEYW5p ZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KQ2M6IEFuZGVyIENvbnNlbHZhbiBE ZSBPbGl2ZWlyYSA8YW5kZXIuY29uc2VsdmFuLmRlLm9saXZlaXJhQGludGVsLmNvbT4KU2lnbmVk LW9mZi1ieTogU2hhc2hhbmsgU2hhcm1hIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMgICB8IDQ3ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jIHwgMzIgKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDc4IGlu c2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9jb2xvci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYwpp bmRleCAzMDZjNmIwLi4xMmQ1ZjIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9jb2xvci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMKQEAg LTQxLDYgKzQxLDE5IEBACiAKICNkZWZpbmUgTEVHQUNZX0xVVF9MRU5HVEgJCShzaXplb2Yoc3Ry dWN0IGRybV9jb2xvcl9sdXQpICogMjU2KQogCisvKiBQb3N0IG9mZnNldCB2YWx1ZXMgZm9yIFJH Qi0+WUNCQ1IgY29udmVyc2lvbiAqLworI2RlZmluZSBQT1NUT0ZGX1JHQl9UT19ZVVZfSEkgMHg4 MDAKKyNkZWZpbmUgUE9TVE9GRl9SR0JfVE9fWVVWX01FIDB4MTAwCisjZGVmaW5lIFBPU1RPRkZf UkdCX1RPX1lVVl9MTyAweDgwMAorCisvKiBEaXJlY3Qgc3BlYyB2YWx1ZXMgZm9yIFJHQi0+WVVW IGNvbnZlcnNpb24gbWF0cml4ICovCisjZGVmaW5lIENTQ19SR0JfVE9fWVVWX1JVX0dVIDB4MmJh ODA5ZDgKKyNkZWZpbmUgQ1NDX1JHQl9UT19ZVVZfQlUgMHgzN2U4MDAwMAorI2RlZmluZSBDU0Nf UkdCX1RPX1lVVl9SWV9HWSAweDFlMDg5Y2MwCisjZGVmaW5lIENTQ19SR0JfVE9fWVVWX0JZIDB4 YjUyODAwMDAKKyNkZWZpbmUgQ1NDX1JHQl9UT19ZVVZfUlZfR1YgMHhiY2U4OWFkOAorI2RlZmlu ZSBDU0NfUkdCX1RPX1lVVl9CViAweDFlMDgwMDAwCisKIC8qCiAgKiBFeHRyYWN0IHRoZSBDU0Mg Y29lZmZpY2llbnQgZnJvbSBhIENUTSBjb2VmZmljaWVudCAoaW4gVTMyLjMyIGZpeGVkIHBvaW50 CiAgKiBmb3JtYXQpLiBUaGlzIG1hY3JvIHRha2VzIHRoZSBjb2VmZmljaWVudCB3ZSB3YW50IHRy YW5zZm9ybWVkIGFuZCB0aGUKQEAgLTkxLDYgKzEwNCwzNSBAQCBzdGF0aWMgdm9pZCBjdG1fbXVs dF9ieV9saW1pdGVkKHVpbnQ2NF90ICpyZXN1bHQsIGludDY0X3QgKmlucHV0KQogCX0KIH0KIAor dm9pZCBpOXh4X2xvYWRfeWNiY3JfY29udmVyc2lvbl9tYXRyaXgoc3RydWN0IGludGVsX2NydGMg KmludGVsX2NydGMpCit7CisJaW50IHBpcGUgPSBpbnRlbF9jcnRjLT5waXBlOworCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoaW50ZWxfY3J0Yy0+YmFzZS5kZXYp OworCisJLyogV2UgZG9uJ3QgdXNlIGhpZ2ggdmFsdWVzIGZvciBjb252ZXJzaW9uICovCisJSTkx NV9XUklURShQSVBFX0NTQ19QUkVPRkZfSEkocGlwZSksIDApOworCUk5MTVfV1JJVEUoUElQRV9D U0NfUFJFT0ZGX01FKHBpcGUpLCAwKTsKKwlJOTE1X1dSSVRFKFBJUEVfQ1NDX1BSRU9GRl9MTyhw aXBlKSwgMCk7CisKKwkvKiBQcm9ncmFtIGRpcmVjdCBzcGVjIHZhbHVlcyBmb3IgUkdCIHRvIFlD QkNSIGNvbnZlcnNpb24gbWF0cml4ICovCisJSTkxNV9XUklURShQSVBFX0NTQ19DT0VGRl9SVV9H VShwaXBlKSwgQ1NDX1JHQl9UT19ZVVZfUlVfR1UpOworCUk5MTVfV1JJVEUoUElQRV9DU0NfQ09F RkZfQlUocGlwZSksIENTQ19SR0JfVE9fWVVWX0JVKTsKKworCUk5MTVfV1JJVEUoUElQRV9DU0Nf Q09FRkZfUllfR1kocGlwZSksIENTQ19SR0JfVE9fWVVWX1JZX0dZKTsKKwlJOTE1X1dSSVRFKFBJ UEVfQ1NDX0NPRUZGX0JZKHBpcGUpLCBDU0NfUkdCX1RPX1lVVl9CWSk7CisKKwlJOTE1X1dSSVRF KFBJUEVfQ1NDX0NPRUZGX1JWX0dWKHBpcGUpLCBDU0NfUkdCX1RPX1lVVl9SVl9HVik7CisJSTkx NV9XUklURShQSVBFX0NTQ19DT0VGRl9CVihwaXBlKSwgQ1NDX1JHQl9UT19ZVVZfQlYpOworCisJ LyogU3BlYyBwb3N0b2Zmc2V0IHZhbHVlcyAqLworCUk5MTVfV1JJVEUoUElQRV9DU0NfUE9TVE9G Rl9ISShwaXBlKSwgUE9TVE9GRl9SR0JfVE9fWVVWX0hJKTsKKwlJOTE1X1dSSVRFKFBJUEVfQ1ND X1BPU1RPRkZfTUUocGlwZSksIFBPU1RPRkZfUkdCX1RPX1lVVl9NRSk7CisJSTkxNV9XUklURShQ SVBFX0NTQ19QT1NUT0ZGX0xPKHBpcGUpLCBQT1NUT0ZGX1JHQl9UT19ZVVZfTE8pOworCisJLyog Q1NDIG1vZGUgYmVmb3JlIGdhbW1hICovCisJSTkxNV9XUklURShQSVBFX0NTQ19NT0RFKHBpcGUp LCAwKTsKK30KKwogLyogU2V0IHVwIHRoZSBwaXBlIENTQyB1bml0LiAqLwogc3RhdGljIHZvaWQg aTl4eF9sb2FkX2NzY19tYXRyaXgoc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQog ewpAQCAtMTAxLDcgKzE0MywxMCBAQCBzdGF0aWMgdm9pZCBpOXh4X2xvYWRfY3NjX21hdHJpeChz dHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAJdWludDE2X3QgY29lZmZzWzldID0g eyAwLCB9OwogCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICppbnRlbF9jcnRjX3N0YXRlID0gdG9f aW50ZWxfY3J0Y19zdGF0ZShjcnRjX3N0YXRlKTsKIAotCWlmIChjcnRjX3N0YXRlLT5jdG0pIHsK KwlpZiAoaW50ZWxfY3J0Y19zdGF0ZS0+aGRtaV9vdXRwdXQgPiBEUk1fSERNSV9PVVRQVVRfREVG QVVMVF9SR0IpIHsKKwkJaTl4eF9sb2FkX3ljYmNyX2NvbnZlcnNpb25fbWF0cml4KGludGVsX2Ny dGMpOworCQlyZXR1cm47CisJfSBlbHNlIGlmIChjcnRjX3N0YXRlLT5jdG0pIHsKIAkJc3RydWN0 IGRybV9jb2xvcl9jdG0gKmN0bSA9CiAJCQkoc3RydWN0IGRybV9jb2xvcl9jdG0gKiljcnRjX3N0 YXRlLT5jdG0tPmRhdGE7CiAJCXVpbnQ2NF90IGlucHV0WzldID0geyAwLCB9OwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IDcxZmQxOWUuLjk2ZmYyYTAgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTYyNjEsNiArNjI2MSwyOSBAQCBzdGF0aWMgdm9p ZCBpbnRlbF9jcnRjX2NvbXB1dGVfcGl4ZWxfcmF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSkKIAkJCWlsa19waXBlX3BpeGVsX3JhdGUoY3J0Y19zdGF0ZSk7CiB9CiAKK3N0 YXRpYyBpbnQgaW50ZWxfY3J0Y195Y2Jjcl9jb25maWcoc3RydWN0IGludGVsX2NydGNfc3RhdGUg KnN0YXRlKQoreworCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqZHJtX3N0YXRlID0gJnN0YXRlLT5i YXNlOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZHJtX3N0 YXRlLT5jcnRjLT5kZXYpOworCisJLyogWUNCQ1I0MjAgaXMgc3VwcG9ydGVkIG9ubHkgaW4gSERN SSAyLjAgY29udHJvbGxlcnMgKi8KKwlpZiAoKHN0YXRlLT5oZG1pX291dHB1dCA9PSBEUk1fSERN SV9PVVRQVVRfWUNCQ1I0MjApICYmCisJCSFJU19HRU1JTklMQUtFKGRldl9wcml2KSkgeworCQlE Uk1fRVJST1IoIllDQkNSNDIwIG91dHB1dCBpcyBub3Qgc3VwcG9ydGVkXG4iKTsKKwkJcmV0dXJu IC1FSU5WQUw7CisJfQorCisJLyogV2UgbmVlZCBDU0MgZm9yIG91dHB1dCBjb252ZXJzaW9uIGZy b20gUkdCLT5ZQ0JDUiAqLworCWlmIChkcm1fc3RhdGUtPmN0bSkgeworCQlEUk1fRVJST1IoIllD QkNSIG91dHB1dCBhbmQgQ1RNIGlzIG5vdCBwb3NzaWJsZSB0b2dldGhlclxuIik7CisJCXJldHVy biAtRUlOVkFMOworCX0KKworCURSTV9ERUJVR19EUklWRVIoIk91dHB1dCAlcyBjYW4gYmUgc3Vw cG9ydGVkXG4iLAorCQkJIGRybV9nZXRfaGRtaV9vdXRwdXRfbmFtZShzdGF0ZS0+aGRtaV9vdXRw dXQpKTsKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBpbnRlbF9jcnRjX2NvbXB1dGVfY29u ZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCQkJCSAgICAgc3RydWN0IGludGVsX2NydGNf c3RhdGUgKnBpcGVfY29uZmlnKQogewpAQCAtNjI5MCw2ICs2MzEzLDE0IEBAIHN0YXRpYyBpbnQg aW50ZWxfY3J0Y19jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YywKIAkJcmV0 dXJuIC1FSU5WQUw7CiAJfQogCisJLyogWUNCQ1Igb3V0cHV0IGNoZWNrICovCisJaWYgKHBpcGVf Y29uZmlnLT5oZG1pX291dHB1dCA+IERSTV9IRE1JX09VVFBVVF9ERUZBVUxUX1JHQikgeworCQlp ZiAoaW50ZWxfY3J0Y195Y2Jjcl9jb25maWcocGlwZV9jb25maWcpKSB7CisJCQlEUk1fRVJST1Io IkNhbnQgZW5hYmxlIEhETUkgWUNCQ1Igb3V0cHV0XG4iKTsKKwkJCXJldHVybiAtRUlOVkFMOwor CQl9CisJfQorCiAJLyoKIAkgKiBQaXBlIGhvcml6b250YWwgc2l6ZSBtdXN0IGJlIGV2ZW4gaW46 CiAJICogLSBEVk8gZ2FuZ2VkIG1vZGUKQEAgLTExNjU4LDYgKzExNjg5LDcgQEAgaW50ZWxfbW9k ZXNldF9waXBlX2NvbmZpZyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCQlEUk1fREVCVUdfS01T KCJFbmNvZGVyIGNvbmZpZyBmYWlsdXJlXG4iKTsKIAkJCWdvdG8gZmFpbDsKIAkJfQorCiAJfQog CiAJLyogU2V0IGRlZmF1bHQgcG9ydCBjbG9jayBpZiBub3Qgb3ZlcndyaXR0ZW4gYnkgdGhlIGVu Y29kZXIuIE5lZWRzIHRvIGJlCi0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cg==