From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH 09/11] drm/i915: handle csc for ycbcr HDMI output Date: Fri, 7 Apr 2017 19:39:26 +0300 Message-ID: <1491583168-20042-10-git-send-email-shashank.sharma@intel.com> References: <1491583168-20042-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: <1491583168-20042-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 Cc: Ander Conselvan De Oliveira , Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org VG8gc3VwcG9ydCB5Y2JjciBIRE1JIG91dHB1dCwgd2UgbmVlZCBhIHBpcGUgQ1NDIGJsb2NrIHRv CmRvIHRoZSBSR0ItPllDQkNSIGNvbnZlcnNpb24sIGFzIHRoZSBibGVuZGVyIG91dHB1dCBpcyBp biBSR0IuCgpDdXJyZW50IEludGVsIHBsYXRmb3JtcyBoYXZlIG9ubHkgb25lIHBpcGUgQ1NDIHVu aXQsIHNvCndlIGNhbiBlaXRoZXIgZG8gY29sb3IgY29ycmVjdGlvbiB1c2luZyBpdCwgb3Igd2Ug Y2FuIHBlcmZvcm0KUkdCLT5ZQ0JDUiBjb252ZXJzaW9uLgoKVGhpcyBmdW5jdGlvbiBhZGRzIGEg Y3NjIGhhbmRsZXIsIHRvIHBlcmZvcm0gUkdCLT5ZQ0JDUiBjb252ZXJzaW9uCmFzIHBlciByZWNv bW1lbmRlZCBzcGVjIHZhbHVlcy4KCkNjOiBWaWxsZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQGxp bnV4LmludGVsLmNvbT4KQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29t PgpDYzogQW5kZXIgQ29uc2VsdmFuIERlIE9saXZlaXJhIDxhbmRlci5jb25zZWx2YW4uZGUub2xp dmVpcmFAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBTaGFzaGFuayBTaGFybWEgPHNoYXNoYW5r LnNoYXJtYUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3Iu YyAgIHwgNDkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAzMiArKysrKysrKysrKysrKysrKysrKysrKwog MiBmaWxlcyBjaGFuZ2VkLCA4MCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2NvbG9yLmMKaW5kZXggMzA2YzZiMC4uZTY3Nzk5NiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9jb2xvci5jCkBAIC00MSw2ICs0MSwyMSBAQAogCiAjZGVmaW5lIExFR0FDWV9M VVRfTEVOR1RICQkoc2l6ZW9mKHN0cnVjdCBkcm1fY29sb3JfbHV0KSAqIDI1NikKIAorLyogUG9z dCBvZmZzZXQgdmFsdWVzIGZvciBSR0ItPllDQkNSIGNvbnZlcnNpb24gKi8KKyNkZWZpbmUgUE9T VE9GRl9SR0JfVE9fWVVWX0hJIDB4ODAwCisjZGVmaW5lIFBPU1RPRkZfUkdCX1RPX1lVVl9NRSAw eDEwMAorI2RlZmluZSBQT1NUT0ZGX1JHQl9UT19ZVVZfTE8gMHg4MDAKKworLyogRGlyZWN0IHNw ZWMgdmFsdWVzIGZvciBSR0ItPllVViBjb252ZXJzaW9uIG1hdHJpeCAqLworI2RlZmluZSBDU0Nf UkdCX1RPX1lVVl9SVV9HVSAweDJEOTgwQjcwCisjZGVmaW5lIENTQ19SR0JfVE9fWVVWX0JVIDB4 Mzk0MDAwMDAKKworI2RlZmluZSBDU0NfUkdCX1RPX1lVVl9SWV9HWSAweEJFQTg5QzU4CisjZGVm aW5lIENTQ19SR0JfVE9fWVVWX0JZIDB4MDgwMDAwMDAKKworI2RlZmluZSBDU0NfUkdCX1RPX1lV Vl9SVl9HViAweDA4MDA5RTg4CisjZGVmaW5lIENTQ19SR0JfVE9fWVVWX0JWIDB4QjI1RTAwMDAK KwogLyoKICAqIEV4dHJhY3QgdGhlIENTQyBjb2VmZmljaWVudCBmcm9tIGEgQ1RNIGNvZWZmaWNp ZW50IChpbiBVMzIuMzIgZml4ZWQgcG9pbnQKICAqIGZvcm1hdCkuIFRoaXMgbWFjcm8gdGFrZXMg dGhlIGNvZWZmaWNpZW50IHdlIHdhbnQgdHJhbnNmb3JtZWQgYW5kIHRoZQpAQCAtOTEsNiArMTA2 LDM1IEBAIHN0YXRpYyB2b2lkIGN0bV9tdWx0X2J5X2xpbWl0ZWQodWludDY0X3QgKnJlc3VsdCwg aW50NjRfdCAqaW5wdXQpCiAJfQogfQogCit2b2lkIGk5eHhfbG9hZF95Y2Jjcl9jb252ZXJzaW9u X21hdHJpeChzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YykKK3sKKwlpbnQgcGlwZSA9IGlu dGVsX2NydGMtPnBpcGU7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShpbnRlbF9jcnRjLT5iYXNlLmRldik7CisKKwkvKiBXZSBkb24ndCB1c2UgaGlnaCB2YWx1 ZXMgZm9yIGNvbnZlcnNpb24gKi8KKwlJOTE1X1dSSVRFKFBJUEVfQ1NDX1BSRU9GRl9ISShwaXBl KSwgMCk7CisJSTkxNV9XUklURShQSVBFX0NTQ19QUkVPRkZfTUUocGlwZSksIDApOworCUk5MTVf V1JJVEUoUElQRV9DU0NfUFJFT0ZGX0xPKHBpcGUpLCAwKTsKKworCS8qIFByb2dyYW0gZGlyZWN0 IHNwZWMgdmFsdWVzIGZvciBSR0IgdG8gWUNCQ1IgY29udmVyc2lvbiBtYXRyaXggKi8KKwlJOTE1 X1dSSVRFKFBJUEVfQ1NDX0NPRUZGX1JVX0dVKHBpcGUpLCBDU0NfUkdCX1RPX1lVVl9SVV9HVSk7 CisJSTkxNV9XUklURShQSVBFX0NTQ19DT0VGRl9CVShwaXBlKSwgQ1NDX1JHQl9UT19ZVVZfQlUp OworCisJSTkxNV9XUklURShQSVBFX0NTQ19DT0VGRl9SWV9HWShwaXBlKSwgQ1NDX1JHQl9UT19Z VVZfUllfR1kpOworCUk5MTVfV1JJVEUoUElQRV9DU0NfQ09FRkZfQlkocGlwZSksIENTQ19SR0Jf VE9fWVVWX0JZKTsKKworCUk5MTVfV1JJVEUoUElQRV9DU0NfQ09FRkZfUlZfR1YocGlwZSksIENT Q19SR0JfVE9fWVVWX1JWX0dWKTsKKwlJOTE1X1dSSVRFKFBJUEVfQ1NDX0NPRUZGX0JWKHBpcGUp LCBDU0NfUkdCX1RPX1lVVl9CVik7CisKKwkvKiBTcGVjIHBvc3RvZmZzZXQgdmFsdWVzICovCisJ STkxNV9XUklURShQSVBFX0NTQ19QT1NUT0ZGX0hJKHBpcGUpLCBQT1NUT0ZGX1JHQl9UT19ZVVZf SEkpOworCUk5MTVfV1JJVEUoUElQRV9DU0NfUE9TVE9GRl9NRShwaXBlKSwgUE9TVE9GRl9SR0Jf VE9fWVVWX01FKTsKKwlJOTE1X1dSSVRFKFBJUEVfQ1NDX1BPU1RPRkZfTE8ocGlwZSksIFBPU1RP RkZfUkdCX1RPX1lVVl9MTyk7CisKKwkvKiBDU0MgbW9kZSBiZWZvcmUgZ2FtbWEgKi8KKwlJOTE1 X1dSSVRFKFBJUEVfQ1NDX01PREUocGlwZSksIDApOworfQorCiAvKiBTZXQgdXAgdGhlIHBpcGUg Q1NDIHVuaXQuICovCiBzdGF0aWMgdm9pZCBpOXh4X2xvYWRfY3NjX21hdHJpeChzdHJ1Y3QgZHJt X2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7CkBAIC0xMDEsNyArMTQ1LDEwIEBAIHN0YXRpYyB2 b2lkIGk5eHhfbG9hZF9jc2NfbWF0cml4KHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSkKIAl1aW50MTZfdCBjb2VmZnNbOV0gPSB7IDAsIH07CiAJc3RydWN0IGludGVsX2NydGNfc3Rh dGUgKmludGVsX2NydGNfc3RhdGUgPSB0b19pbnRlbF9jcnRjX3N0YXRlKGNydGNfc3RhdGUpOwog Ci0JaWYgKGNydGNfc3RhdGUtPmN0bSkgeworCWlmIChpbnRlbF9jcnRjX3N0YXRlLT5oZG1pX291 dHB1dCkgeworCQlpOXh4X2xvYWRfeWNiY3JfY29udmVyc2lvbl9tYXRyaXgoaW50ZWxfY3J0Yyk7 CisJCXJldHVybjsKKwl9IGVsc2UgaWYgKGNydGNfc3RhdGUtPmN0bSkgewogCQlzdHJ1Y3QgZHJt X2NvbG9yX2N0bSAqY3RtID0KIAkJCShzdHJ1Y3QgZHJtX2NvbG9yX2N0bSAqKWNydGNfc3RhdGUt PmN0bS0+ZGF0YTsKIAkJdWludDY0X3QgaW5wdXRbOV0gPSB7IDAsIH07CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggZmM0M2EyOC4uYjAzZTVmMyAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtNjIwNiw2ICs2MjA2LDI5IEBAIHN0YXRpYyB2b2lkIGlu dGVsX2NydGNfY29tcHV0ZV9waXhlbF9yYXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRj X3N0YXRlKQogCQkJaWxrX3BpcGVfcGl4ZWxfcmF0ZShjcnRjX3N0YXRlKTsKIH0KIAorc3RhdGlj IGludCBpbnRlbF9jcnRjX3ljYmNyX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqc3Rh dGUpCit7CisJc3RydWN0IGRybV9jcnRjX3N0YXRlICpkcm1fc3RhdGUgPSAmc3RhdGUtPmJhc2U7 CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkcm1fc3RhdGUt PmNydGMtPmRldik7CisKKwkvKiBZQ0JDUjQyMCBpcyBzdXBwb3J0ZWQgb25seSBpbiBIRE1JIDIu MCBjb250cm9sbGVycyAqLworCWlmICgoc3RhdGUtPmhkbWlfb3V0cHV0ID09IERSTV9IRE1JX09V VFBVVF9ZQ0JDUjQyMCkgJiYKKwkJIUlTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKSB7CisJCURSTV9F UlJPUigiWUNCQ1I0MjAgb3V0cHV0IGlzIG5vdCBzdXBwb3J0ZWRcbiIpOworCQlyZXR1cm4gLUVJ TlZBTDsKKwl9CisKKwkvKiBXZSBuZWVkIENTQyBmb3Igb3V0cHV0IGNvbnZlcnNpb24gZnJvbSBS R0ItPllDQkNSICovCisJaWYgKGRybV9zdGF0ZS0+Y3RtKSB7CisJCURSTV9FUlJPUigiWUNCQ1Ig b3V0cHV0IGFuZCBDVE0gaXMgbm90IHBvc3NpYmxlIHRvZ2V0aGVyXG4iKTsKKwkJcmV0dXJuIC1F SU5WQUw7CisJfQorCisJRFJNX0RFQlVHX0RSSVZFUigiT3V0cHV0ICVzIGNhbiBiZSBzdXBwb3J0 ZWRcbiIsCisJCQkgZHJtX2dldF9oZG1pX291dHB1dF9uYW1lKHN0YXRlLT5oZG1pX291dHB1dCkp OworCXJldHVybiAwOworfQorCiBzdGF0aWMgaW50IGludGVsX2NydGNfY29tcHV0ZV9jb25maWco c3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJCQkJICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqcGlwZV9jb25maWcpCiB7CkBAIC02MjM1LDYgKzYyNTgsMTQgQEAgc3RhdGljIGludCBpbnRl bF9jcnRjX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCQlyZXR1cm4g LUVJTlZBTDsKIAl9CiAKKwkvKiBZQ0JDUiBvdXRwdXQgY2hlY2sgKi8KKwlpZiAocGlwZV9jb25m aWctPmhkbWlfb3V0cHV0KSB7CisJCWlmIChpbnRlbF9jcnRjX3ljYmNyX2NvbmZpZyhwaXBlX2Nv bmZpZykpIHsKKwkJCURSTV9FUlJPUigiQ2FudCBlbmFibGUgSERNSSBZQ0JDUiBvdXRwdXRcbiIp OworCQkJcmV0dXJuIC1FSU5WQUw7CisJCX0KKwl9CisKIAkvKgogCSAqIFBpcGUgaG9yaXpvbnRh bCBzaXplIG11c3QgYmUgZXZlbiBpbjoKIAkgKiAtIERWTyBnYW5nZWQgbW9kZQpAQCAtMTEzOTIs NiArMTE0MjMsNyBAQCBpbnRlbF9tb2Rlc2V0X3BpcGVfY29uZmlnKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywKIAkJCURSTV9ERUJVR19LTVMoIkVuY29kZXIgY29uZmlnIGZhaWx1cmVcbiIpOwogCQkJ Z290byBmYWlsOwogCQl9CisKIAl9CiAKIAkvKiBTZXQgZGVmYXVsdCBwb3J0IGNsb2NrIGlmIG5v dCBvdmVyd3JpdHRlbiBieSB0aGUgZW5jb2Rlci4gTmVlZHMgdG8gYmUKLS0gCjIuNy40CgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK