From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH v2 09/11] drm/i915: handle csc for ycbcr HDMI output Date: Tue, 30 May 2017 17:43:48 +0530 Message-ID: <1496146430-11430-10-git-send-email-shashank.sharma@intel.com> References: <1496146430-11430-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: <1496146430-11430-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: Ander Conselvan De Oliveira , Daniel Vetter List-Id: dri-devel@lists.freedesktop.org VG8gc3VwcG9ydCB5Y2JjciBIRE1JIG91dHB1dCwgd2UgbmVlZCBhIHBpcGUgQ1NDIGJsb2NrIHRv CmRvIHRoZSBSR0ItPllDQkNSIGNvbnZlcnNpb24sIGFzIHRoZSBibGVuZGVyIG91dHB1dCBpcyBp biBSR0IuCgpDdXJyZW50IEludGVsIHBsYXRmb3JtcyBoYXZlIG9ubHkgb25lIHBpcGUgQ1NDIHVu aXQsIHNvCndlIGNhbiBlaXRoZXIgZG8gY29sb3IgY29ycmVjdGlvbiB1c2luZyBpdCwgb3Igd2Ug Y2FuIHBlcmZvcm0KUkdCLT5ZQ0JDUiBjb252ZXJzaW9uLgoKVGhpcyBmdW5jdGlvbiBhZGRzIGEg Y3NjIGhhbmRsZXIsIHRvIHBlcmZvcm0gUkdCLT5ZQ0JDUiBjb252ZXJzaW9uCmFzIHBlciByZWNv bW1lbmRlZCBzcGVjIHZhbHVlcy4KClYyOiBSZWJhc2UKCkNjOiBWaWxsZSBTeXJqYWxhIDx2aWxs ZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0 ZXJAaW50ZWwuY29tPgpDYzogQW5kZXIgQ29uc2VsdmFuIERlIE9saXZlaXJhIDxhbmRlci5jb25z ZWx2YW4uZGUub2xpdmVpcmFAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBTaGFzaGFuayBTaGFy bWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfY29sb3IuYyAgIHwgNDcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAzMiArKysrKysrKysrKysr KysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgNzggaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv bigtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jCmluZGV4IDMwNmM2YjAuLjEyZDVmMjEg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3IuYwpAQCAtNDEsNiArNDEsMTkgQEAKIAogI2Rl ZmluZSBMRUdBQ1lfTFVUX0xFTkdUSAkJKHNpemVvZihzdHJ1Y3QgZHJtX2NvbG9yX2x1dCkgKiAy NTYpCiAKKy8qIFBvc3Qgb2Zmc2V0IHZhbHVlcyBmb3IgUkdCLT5ZQ0JDUiBjb252ZXJzaW9uICov CisjZGVmaW5lIFBPU1RPRkZfUkdCX1RPX1lVVl9ISSAweDgwMAorI2RlZmluZSBQT1NUT0ZGX1JH Ql9UT19ZVVZfTUUgMHgxMDAKKyNkZWZpbmUgUE9TVE9GRl9SR0JfVE9fWVVWX0xPIDB4ODAwCisK Ky8qIERpcmVjdCBzcGVjIHZhbHVlcyBmb3IgUkdCLT5ZVVYgY29udmVyc2lvbiBtYXRyaXggKi8K KyNkZWZpbmUgQ1NDX1JHQl9UT19ZVVZfUlVfR1UgMHgyYmE4MDlkOAorI2RlZmluZSBDU0NfUkdC X1RPX1lVVl9CVSAweDM3ZTgwMDAwCisjZGVmaW5lIENTQ19SR0JfVE9fWVVWX1JZX0dZIDB4MWUw ODljYzAKKyNkZWZpbmUgQ1NDX1JHQl9UT19ZVVZfQlkgMHhiNTI4MDAwMAorI2RlZmluZSBDU0Nf UkdCX1RPX1lVVl9SVl9HViAweGJjZTg5YWQ4CisjZGVmaW5lIENTQ19SR0JfVE9fWVVWX0JWIDB4 MWUwODAwMDAKKwogLyoKICAqIEV4dHJhY3QgdGhlIENTQyBjb2VmZmljaWVudCBmcm9tIGEgQ1RN IGNvZWZmaWNpZW50IChpbiBVMzIuMzIgZml4ZWQgcG9pbnQKICAqIGZvcm1hdCkuIFRoaXMgbWFj cm8gdGFrZXMgdGhlIGNvZWZmaWNpZW50IHdlIHdhbnQgdHJhbnNmb3JtZWQgYW5kIHRoZQpAQCAt OTEsNiArMTA0LDM1IEBAIHN0YXRpYyB2b2lkIGN0bV9tdWx0X2J5X2xpbWl0ZWQodWludDY0X3Qg KnJlc3VsdCwgaW50NjRfdCAqaW5wdXQpCiAJfQogfQogCit2b2lkIGk5eHhfbG9hZF95Y2Jjcl9j b252ZXJzaW9uX21hdHJpeChzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YykKK3sKKwlpbnQg cGlwZSA9IGludGVsX2NydGMtPnBpcGU7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShpbnRlbF9jcnRjLT5iYXNlLmRldik7CisKKwkvKiBXZSBkb24ndCB1c2Ug aGlnaCB2YWx1ZXMgZm9yIGNvbnZlcnNpb24gKi8KKwlJOTE1X1dSSVRFKFBJUEVfQ1NDX1BSRU9G Rl9ISShwaXBlKSwgMCk7CisJSTkxNV9XUklURShQSVBFX0NTQ19QUkVPRkZfTUUocGlwZSksIDAp OworCUk5MTVfV1JJVEUoUElQRV9DU0NfUFJFT0ZGX0xPKHBpcGUpLCAwKTsKKworCS8qIFByb2dy YW0gZGlyZWN0IHNwZWMgdmFsdWVzIGZvciBSR0IgdG8gWUNCQ1IgY29udmVyc2lvbiBtYXRyaXgg Ki8KKwlJOTE1X1dSSVRFKFBJUEVfQ1NDX0NPRUZGX1JVX0dVKHBpcGUpLCBDU0NfUkdCX1RPX1lV Vl9SVV9HVSk7CisJSTkxNV9XUklURShQSVBFX0NTQ19DT0VGRl9CVShwaXBlKSwgQ1NDX1JHQl9U T19ZVVZfQlUpOworCisJSTkxNV9XUklURShQSVBFX0NTQ19DT0VGRl9SWV9HWShwaXBlKSwgQ1ND X1JHQl9UT19ZVVZfUllfR1kpOworCUk5MTVfV1JJVEUoUElQRV9DU0NfQ09FRkZfQlkocGlwZSks IENTQ19SR0JfVE9fWVVWX0JZKTsKKworCUk5MTVfV1JJVEUoUElQRV9DU0NfQ09FRkZfUlZfR1Yo cGlwZSksIENTQ19SR0JfVE9fWVVWX1JWX0dWKTsKKwlJOTE1X1dSSVRFKFBJUEVfQ1NDX0NPRUZG X0JWKHBpcGUpLCBDU0NfUkdCX1RPX1lVVl9CVik7CisKKwkvKiBTcGVjIHBvc3RvZmZzZXQgdmFs dWVzICovCisJSTkxNV9XUklURShQSVBFX0NTQ19QT1NUT0ZGX0hJKHBpcGUpLCBQT1NUT0ZGX1JH Ql9UT19ZVVZfSEkpOworCUk5MTVfV1JJVEUoUElQRV9DU0NfUE9TVE9GRl9NRShwaXBlKSwgUE9T VE9GRl9SR0JfVE9fWVVWX01FKTsKKwlJOTE1X1dSSVRFKFBJUEVfQ1NDX1BPU1RPRkZfTE8ocGlw ZSksIFBPU1RPRkZfUkdCX1RPX1lVVl9MTyk7CisKKwkvKiBDU0MgbW9kZSBiZWZvcmUgZ2FtbWEg Ki8KKwlJOTE1X1dSSVRFKFBJUEVfQ1NDX01PREUocGlwZSksIDApOworfQorCiAvKiBTZXQgdXAg dGhlIHBpcGUgQ1NDIHVuaXQuICovCiBzdGF0aWMgdm9pZCBpOXh4X2xvYWRfY3NjX21hdHJpeChz dHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7CkBAIC0xMDEsNyArMTQzLDEwIEBA IHN0YXRpYyB2b2lkIGk5eHhfbG9hZF9jc2NfbWF0cml4KHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSkKIAl1aW50MTZfdCBjb2VmZnNbOV0gPSB7IDAsIH07CiAJc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmludGVsX2NydGNfc3RhdGUgPSB0b19pbnRlbF9jcnRjX3N0YXRlKGNydGNf c3RhdGUpOwogCi0JaWYgKGNydGNfc3RhdGUtPmN0bSkgeworCWlmIChpbnRlbF9jcnRjX3N0YXRl LT5oZG1pX291dHB1dCA+IERSTV9IRE1JX09VVFBVVF9ERUZBVUxUX1JHQikgeworCQlpOXh4X2xv YWRfeWNiY3JfY29udmVyc2lvbl9tYXRyaXgoaW50ZWxfY3J0Yyk7CisJCXJldHVybjsKKwl9IGVs c2UgaWYgKGNydGNfc3RhdGUtPmN0bSkgewogCQlzdHJ1Y3QgZHJtX2NvbG9yX2N0bSAqY3RtID0K IAkJCShzdHJ1Y3QgZHJtX2NvbG9yX2N0bSAqKWNydGNfc3RhdGUtPmN0bS0+ZGF0YTsKIAkJdWlu dDY0X3QgaW5wdXRbOV0gPSB7IDAsIH07CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK aW5kZXggNTg5MDdiMy4uNThlNDYxNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku YwpAQCAtNjIyNCw2ICs2MjI0LDI5IEBAIHN0YXRpYyB2b2lkIGludGVsX2NydGNfY29tcHV0ZV9w aXhlbF9yYXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCQkJaWxrX3Bp cGVfcGl4ZWxfcmF0ZShjcnRjX3N0YXRlKTsKIH0KIAorc3RhdGljIGludCBpbnRlbF9jcnRjX3lj YmNyX2NvbmZpZyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqc3RhdGUpCit7CisJc3RydWN0IGRy bV9jcnRjX3N0YXRlICpkcm1fc3RhdGUgPSAmc3RhdGUtPmJhc2U7CisJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkcm1fc3RhdGUtPmNydGMtPmRldik7CisKKwkv KiBZQ0JDUjQyMCBpcyBzdXBwb3J0ZWQgb25seSBpbiBIRE1JIDIuMCBjb250cm9sbGVycyAqLwor CWlmICgoc3RhdGUtPmhkbWlfb3V0cHV0ID09IERSTV9IRE1JX09VVFBVVF9ZQ0JDUjQyMCkgJiYK KwkJIUlTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKSB7CisJCURSTV9FUlJPUigiWUNCQ1I0MjAgb3V0 cHV0IGlzIG5vdCBzdXBwb3J0ZWRcbiIpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwkvKiBX ZSBuZWVkIENTQyBmb3Igb3V0cHV0IGNvbnZlcnNpb24gZnJvbSBSR0ItPllDQkNSICovCisJaWYg KGRybV9zdGF0ZS0+Y3RtKSB7CisJCURSTV9FUlJPUigiWUNCQ1Igb3V0cHV0IGFuZCBDVE0gaXMg bm90IHBvc3NpYmxlIHRvZ2V0aGVyXG4iKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJRFJN X0RFQlVHX0RSSVZFUigiT3V0cHV0ICVzIGNhbiBiZSBzdXBwb3J0ZWRcbiIsCisJCQkgZHJtX2dl dF9oZG1pX291dHB1dF9uYW1lKHN0YXRlLT5oZG1pX291dHB1dCkpOworCXJldHVybiAwOworfQor CiBzdGF0aWMgaW50IGludGVsX2NydGNfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2NydGMg KmNydGMsCiAJCQkJICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcpCiB7 CkBAIC02MjUzLDYgKzYyNzYsMTQgQEAgc3RhdGljIGludCBpbnRlbF9jcnRjX2NvbXB1dGVfY29u ZmlnKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKKwkv KiBZQ0JDUiBvdXRwdXQgY2hlY2sgKi8KKwlpZiAocGlwZV9jb25maWctPmhkbWlfb3V0cHV0ID4g RFJNX0hETUlfT1VUUFVUX0RFRkFVTFRfUkdCKSB7CisJCWlmIChpbnRlbF9jcnRjX3ljYmNyX2Nv bmZpZyhwaXBlX2NvbmZpZykpIHsKKwkJCURSTV9FUlJPUigiQ2FudCBlbmFibGUgSERNSSBZQ0JD UiBvdXRwdXRcbiIpOworCQkJcmV0dXJuIC1FSU5WQUw7CisJCX0KKwl9CisKIAkvKgogCSAqIFBp cGUgaG9yaXpvbnRhbCBzaXplIG11c3QgYmUgZXZlbiBpbjoKIAkgKiAtIERWTyBnYW5nZWQgbW9k ZQpAQCAtMTE1ODEsNiArMTE2MTIsNyBAQCBpbnRlbF9tb2Rlc2V0X3BpcGVfY29uZmlnKHN0cnVj dCBkcm1fY3J0YyAqY3J0YywKIAkJCURSTV9ERUJVR19LTVMoIkVuY29kZXIgY29uZmlnIGZhaWx1 cmVcbiIpOwogCQkJZ290byBmYWlsOwogCQl9CisKIAl9CiAKIAkvKiBTZXQgZGVmYXVsdCBwb3J0 IGNsb2NrIGlmIG5vdCBvdmVyd3JpdHRlbiBieSB0aGUgZW5jb2Rlci4gTmVlZHMgdG8gYmUKLS0g CjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpk cmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK