From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH v5 15/17] drm/i915: prepare csc unit for YCBCR HDMI output Date: Tue, 4 Jul 2017 19:42:02 +0530 Message-ID: <1499177524-26292-16-git-send-email-shashank.sharma@intel.com> References: <1499177524-26292-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: <1499177524-26292-1-git-send-email-shashank.sharma@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org Cc: Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org VG8gc3VwcG9ydCB5Y2JjciBIRE1JIG91dHB1dCwgd2UgbmVlZCBhIHBpcGUgQ1NDIGJsb2NrIHRv CmRvIHRoZSBSR0ItPllDQkNSIGNvbnZlcnNpb24sIGFzIHRoZSBibGVuZGVyIG91dHB1dCBpcyBp biBSR0IuCgpDdXJyZW50IEludGVsIHBsYXRmb3JtcyBoYXZlIG9ubHkgb25lIHBpcGUgQ1NDIHVu aXQsIHNvCndlIGNhbiBlaXRoZXIgZG8gY29sb3IgY29ycmVjdGlvbiB1c2luZyBpdCwgb3Igd2Ug Y2FuIHBlcmZvcm0KUkdCLT5ZQ0JDUiBjb252ZXJzaW9uLgoKVGhpcyBmdW5jdGlvbiBhZGRzIGEg Y3NjIGhhbmRsZXIsIHdoaWNoIHVzZXMgcmVjb21tZW5kZWQgYnNwZWMKdmFsdWVzIHRvIHBlcmZv cm0gUkdCLT5ZQ0JDUiBjb252ZXJzaW9uICh0YXJnZXQgY29sb3Igc3BhY2UgQlQ3MDkpCgpWMjog UmViYXNlClYzOiBSZWJhc2UKVjQ6IFJlYmFzZQpWNTogQWRkcmVzc2VkIHJldmlldyBjb21tZW50 cyBmcm9tIEFuZGVyCiAgICAtIFJlbW92ZSBleHRyYSBsaW5lIGFkZGVkIGluIHRoZSBwYXRjaAog ICAgLSBBZGQgdGhlIHNwZWMgZGV0YWlscyBpbiB0aGUgY29tbWl0IG1lc3NhZ2UKICAgIC0gQ29t YmluZSB0d28gaWYoY29uZCkgd2hpbGUgY2FsbGluZyBpbnRlbF9jcnRjX2NvbXB1dGVfY29uZmln CgpDYzogVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+CkNjOiBE YW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGludGVsLmNvbT4KQ2M6IEFuZGVyIENvbnNlbHZh biBkZSBPbGl2ZWlyYSA8Y29uc2VsdmFuMkBnbWFpbC5jb20+CgpTaWduZWQtb2ZmLWJ5OiBTaGFz aGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfY29sb3IuYyAgIHwgNDcgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAzMCArKysr KysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA3NiBpbnNlcnRpb25zKCspLCAx IGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29s b3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMKaW5kZXggMzA2YzZiMC4u MTJkNWYyMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jCkBAIC00MSw2ICs0MSwxOSBA QAogCiAjZGVmaW5lIExFR0FDWV9MVVRfTEVOR1RICQkoc2l6ZW9mKHN0cnVjdCBkcm1fY29sb3Jf bHV0KSAqIDI1NikKIAorLyogUG9zdCBvZmZzZXQgdmFsdWVzIGZvciBSR0ItPllDQkNSIGNvbnZl cnNpb24gKi8KKyNkZWZpbmUgUE9TVE9GRl9SR0JfVE9fWVVWX0hJIDB4ODAwCisjZGVmaW5lIFBP U1RPRkZfUkdCX1RPX1lVVl9NRSAweDEwMAorI2RlZmluZSBQT1NUT0ZGX1JHQl9UT19ZVVZfTE8g MHg4MDAKKworLyogRGlyZWN0IHNwZWMgdmFsdWVzIGZvciBSR0ItPllVViBjb252ZXJzaW9uIG1h dHJpeCAqLworI2RlZmluZSBDU0NfUkdCX1RPX1lVVl9SVV9HVSAweDJiYTgwOWQ4CisjZGVmaW5l IENTQ19SR0JfVE9fWVVWX0JVIDB4MzdlODAwMDAKKyNkZWZpbmUgQ1NDX1JHQl9UT19ZVVZfUllf R1kgMHgxZTA4OWNjMAorI2RlZmluZSBDU0NfUkdCX1RPX1lVVl9CWSAweGI1MjgwMDAwCisjZGVm aW5lIENTQ19SR0JfVE9fWVVWX1JWX0dWIDB4YmNlODlhZDgKKyNkZWZpbmUgQ1NDX1JHQl9UT19Z VVZfQlYgMHgxZTA4MDAwMAorCiAvKgogICogRXh0cmFjdCB0aGUgQ1NDIGNvZWZmaWNpZW50IGZy b20gYSBDVE0gY29lZmZpY2llbnQgKGluIFUzMi4zMiBmaXhlZCBwb2ludAogICogZm9ybWF0KS4g VGhpcyBtYWNybyB0YWtlcyB0aGUgY29lZmZpY2llbnQgd2Ugd2FudCB0cmFuc2Zvcm1lZCBhbmQg dGhlCkBAIC05MSw2ICsxMDQsMzUgQEAgc3RhdGljIHZvaWQgY3RtX211bHRfYnlfbGltaXRlZCh1 aW50NjRfdCAqcmVzdWx0LCBpbnQ2NF90ICppbnB1dCkKIAl9CiB9CiAKK3ZvaWQgaTl4eF9sb2Fk X3ljYmNyX2NvbnZlcnNpb25fbWF0cml4KHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjKQor eworCWludCBwaXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGludGVsX2NydGMtPmJhc2UuZGV2KTsKKworCS8qIFdlIGRv bid0IHVzZSBoaWdoIHZhbHVlcyBmb3IgY29udmVyc2lvbiAqLworCUk5MTVfV1JJVEUoUElQRV9D U0NfUFJFT0ZGX0hJKHBpcGUpLCAwKTsKKwlJOTE1X1dSSVRFKFBJUEVfQ1NDX1BSRU9GRl9NRShw aXBlKSwgMCk7CisJSTkxNV9XUklURShQSVBFX0NTQ19QUkVPRkZfTE8ocGlwZSksIDApOworCisJ LyogUHJvZ3JhbSBkaXJlY3Qgc3BlYyB2YWx1ZXMgZm9yIFJHQiB0byBZQ0JDUiBjb252ZXJzaW9u IG1hdHJpeCAqLworCUk5MTVfV1JJVEUoUElQRV9DU0NfQ09FRkZfUlVfR1UocGlwZSksIENTQ19S R0JfVE9fWVVWX1JVX0dVKTsKKwlJOTE1X1dSSVRFKFBJUEVfQ1NDX0NPRUZGX0JVKHBpcGUpLCBD U0NfUkdCX1RPX1lVVl9CVSk7CisKKwlJOTE1X1dSSVRFKFBJUEVfQ1NDX0NPRUZGX1JZX0dZKHBp cGUpLCBDU0NfUkdCX1RPX1lVVl9SWV9HWSk7CisJSTkxNV9XUklURShQSVBFX0NTQ19DT0VGRl9C WShwaXBlKSwgQ1NDX1JHQl9UT19ZVVZfQlkpOworCisJSTkxNV9XUklURShQSVBFX0NTQ19DT0VG Rl9SVl9HVihwaXBlKSwgQ1NDX1JHQl9UT19ZVVZfUlZfR1YpOworCUk5MTVfV1JJVEUoUElQRV9D U0NfQ09FRkZfQlYocGlwZSksIENTQ19SR0JfVE9fWVVWX0JWKTsKKworCS8qIFNwZWMgcG9zdG9m ZnNldCB2YWx1ZXMgKi8KKwlJOTE1X1dSSVRFKFBJUEVfQ1NDX1BPU1RPRkZfSEkocGlwZSksIFBP U1RPRkZfUkdCX1RPX1lVVl9ISSk7CisJSTkxNV9XUklURShQSVBFX0NTQ19QT1NUT0ZGX01FKHBp cGUpLCBQT1NUT0ZGX1JHQl9UT19ZVVZfTUUpOworCUk5MTVfV1JJVEUoUElQRV9DU0NfUE9TVE9G Rl9MTyhwaXBlKSwgUE9TVE9GRl9SR0JfVE9fWVVWX0xPKTsKKworCS8qIENTQyBtb2RlIGJlZm9y ZSBnYW1tYSAqLworCUk5MTVfV1JJVEUoUElQRV9DU0NfTU9ERShwaXBlKSwgMCk7Cit9CisKIC8q IFNldCB1cCB0aGUgcGlwZSBDU0MgdW5pdC4gKi8KIHN0YXRpYyB2b2lkIGk5eHhfbG9hZF9jc2Nf bWF0cml4KHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIHsKQEAgLTEwMSw3ICsx NDMsMTAgQEAgc3RhdGljIHZvaWQgaTl4eF9sb2FkX2NzY19tYXRyaXgoc3RydWN0IGRybV9jcnRj X3N0YXRlICpjcnRjX3N0YXRlKQogCXVpbnQxNl90IGNvZWZmc1s5XSA9IHsgMCwgfTsKIAlzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqaW50ZWxfY3J0Y19zdGF0ZSA9IHRvX2ludGVsX2NydGNfc3Rh dGUoY3J0Y19zdGF0ZSk7CiAKLQlpZiAoY3J0Y19zdGF0ZS0+Y3RtKSB7CisJaWYgKGludGVsX2Ny dGNfc3RhdGUtPmhkbWlfb3V0cHV0ID4gRFJNX0hETUlfT1VUUFVUX0RFRkFVTFRfUkdCKSB7CisJ CWk5eHhfbG9hZF95Y2Jjcl9jb252ZXJzaW9uX21hdHJpeChpbnRlbF9jcnRjKTsKKwkJcmV0dXJu OworCX0gZWxzZSBpZiAoY3J0Y19zdGF0ZS0+Y3RtKSB7CiAJCXN0cnVjdCBkcm1fY29sb3JfY3Rt ICpjdG0gPQogCQkJKHN0cnVjdCBkcm1fY29sb3JfY3RtICopY3J0Y19zdGF0ZS0+Y3RtLT5kYXRh OwogCQl1aW50NjRfdCBpbnB1dFs5XSA9IHsgMCwgfTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYwppbmRleCAzZjg3MDUyLi4xNDExMGJkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jCkBAIC02MjYwLDYgKzYyNjAsMjkgQEAgc3RhdGljIHZvaWQgaW50ZWxfY3J0Y19j b21wdXRlX3BpeGVsX3JhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAJ CQlpbGtfcGlwZV9waXhlbF9yYXRlKGNydGNfc3RhdGUpOwogfQogCitzdGF0aWMgaW50IGludGVs X2NydGNfeWNiY3JfY29uZmlnKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpzdGF0ZSkKK3sKKwlz dHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmRybV9zdGF0ZSA9ICZzdGF0ZS0+YmFzZTsKKwlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRybV9zdGF0ZS0+Y3J0Yy0+ZGV2 KTsKKworCS8qIFlDQkNSNDIwIGlzIHN1cHBvcnRlZCBvbmx5IGluIEhETUkgMi4wIGNvbnRyb2xs ZXJzICovCisJaWYgKChzdGF0ZS0+aGRtaV9vdXRwdXQgPT0gRFJNX0hETUlfT1VUUFVUX1lDQkNS NDIwKSAmJgorCQkhSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpIHsKKwkJRFJNX0VSUk9SKCJZQ0JD UjQyMCBvdXRwdXQgaXMgbm90IHN1cHBvcnRlZFxuIik7CisJCXJldHVybiAtRUlOVkFMOworCX0K KworCS8qIFdlIG5lZWQgQ1NDIGZvciBvdXRwdXQgY29udmVyc2lvbiBmcm9tIFJHQi0+WUNCQ1Ig Ki8KKwlpZiAoZHJtX3N0YXRlLT5jdG0pIHsKKwkJRFJNX0VSUk9SKCJZQ0JDUiBvdXRwdXQgYW5k IENUTSBpcyBub3QgcG9zc2libGUgdG9nZXRoZXJcbiIpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9 CisKKwlEUk1fREVCVUdfRFJJVkVSKCJPdXRwdXQgJXMgY2FuIGJlIHN1cHBvcnRlZFxuIiwKKwkJ CSBkcm1fZ2V0X2hkbWlfb3V0cHV0X25hbWUoc3RhdGUtPmhkbWlfb3V0cHV0KSk7CisJcmV0dXJu IDA7Cit9CisKIHN0YXRpYyBpbnQgaW50ZWxfY3J0Y19jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50 ZWxfY3J0YyAqY3J0YywKIAkJCQkgICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2Nv bmZpZykKIHsKQEAgLTYyODksNiArNjMxMiwxMyBAQCBzdGF0aWMgaW50IGludGVsX2NydGNfY29t cHV0ZV9jb25maWcoc3RydWN0IGludGVsX2NydGMgKmNydGMsCiAJCXJldHVybiAtRUlOVkFMOwog CX0KIAorCS8qIFlDQkNSIG91dHB1dCBjaGVjayAqLworCWlmIChwaXBlX2NvbmZpZy0+aGRtaV9v dXRwdXQgPiBEUk1fSERNSV9PVVRQVVRfREVGQVVMVF9SR0IgJiYKKwkJaW50ZWxfY3J0Y195Y2Jj cl9jb25maWcocGlwZV9jb25maWcpKSB7CisJCURSTV9FUlJPUigiQ2FuJ3QgZW5hYmxlIFlDQkNS IG91dHB1dFxuIik7CisJCXJldHVybiAtRUlOVkFMOworCX0KKwogCS8qCiAJICogUGlwZSBob3Jp em9udGFsIHNpemUgbXVzdCBiZSBldmVuIGluOgogCSAqIC0gRFZPIGdhbmdlZCBtb2RlCi0tIAoy LjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJp LWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==