From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH v3 09/14] drm/i915: add compute_config for YCBCR outputs Date: Wed, 14 Jun 2017 23:17:40 +0530 Message-ID: <1497462465-14066-10-git-send-email-shashank.sharma@intel.com> References: <1497462465-14066-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: <1497462465-14066-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: Daniel Vetter , ander.conselvan.de.oliveira@intel.com List-Id: dri-devel@lists.freedesktop.org VGhpcyBwYXRjaCBjaGVja3MgZW5jb2RlciBsZXZlbCBzdXBwb3J0IGZvciBIRE1JIFlDQkNSIG91 dHB1dHMuCkhETUkgb3V0cHV0IG1vZGUgaXMgYSBjb25uZWN0b3IgcHJvcGVydHksIHRoaXMgcGF0 Y2ggY2hlY2tzIGlmCnNvdXJjZSBhbmQgc2luayBjYW4gc3VwcG9ydCB0aGUgSERNSSBvdXRwdXQg dHlwZSBzZWxlY3RlZCBieSB1c2VyLgpBbmQgaWYgdGhleSBib3RoIGNhbiwgaXQgY29tbWl0cyB0 aGUgaGRtaSBvdXRwdXQgdHlwZSBpbnRvIGNydGMgc3RhdGUsCmZvciBmdXJ0aGVyIHN0YWdpbmcg aW4gZHJpdmVyLgoKVjI6IFNwbGl0IHRoZSBwYXRjaCBpbnRvIHR3bywga2VwdCBoZWxwZXIgZnVu Y3Rpb25zIGluIERSTSBsYXllci4KVjM6IENoYW5nZWQgdGhlIGNvbXB1dGVfY29uZmlnIGZ1bmN0 aW9uIGJhc2VkIG9uIG5ldyBEUk0gQVBJLgoKQ2M6IFZpbGxlIFN5cmphbGEgPHZpbGxlLnN5cmph bGFAbGludXguaW50ZWwuY29tPgpDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBpbnRl bC5jb20+CkNjOiBBbmRlciBDb25zZWx2YW4gRGUgT2xpdmVpcmEgPGFuZGVyLmNvbnNlbHZhbi5k ZS5vbGl2ZWlyYUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IFNoYXNoYW5rIFNoYXJtYSA8c2hh c2hhbmsuc2hhcm1hQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAg MyArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jICAgIHwgOTMgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0tCiAzIGZpbGVzIGNoYW5nZWQsIDk0IGluc2VydGlv bnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmlu ZGV4IGY5YmYwZDUuLmRhMjk1MzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK QEAgLTExOTMwLDYgKzExOTMwLDcgQEAgaW50ZWxfcGlwZV9jb25maWdfY29tcGFyZShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJUElQRV9DT05GX0NIRUNLX0koaGRtaV9zY3Jh bWJsaW5nKTsKIAlQSVBFX0NPTkZfQ0hFQ0tfSShoZG1pX2hpZ2hfdG1kc19jbG9ja19yYXRpbyk7 CiAJUElQRV9DT05GX0NIRUNLX0koaGFzX2luZm9mcmFtZSk7CisJUElQRV9DT05GX0NIRUNLX0ko aGRtaV9vdXRwdXQpOwogCiAJUElQRV9DT05GX0NIRUNLX0koaGFzX2F1ZGlvKTsKIApkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcnYuaAppbmRleCAxNzI3MzUwLi4zOGZlNTZjIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaApAQCAtNzgwLDYgKzc4MCw5IEBAIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlIHsK IAogCS8qIEhETUkgSGlnaCBUTURTIGNoYXIgcmF0ZSByYXRpbyAqLwogCWJvb2wgaGRtaV9oaWdo X3RtZHNfY2xvY2tfcmF0aW87CisKKwkvKiBIRE1JIG91dHB1dCB0eXBlICovCisJZW51bSBkcm1f aGRtaV9vdXRwdXRfdHlwZSBoZG1pX291dHB1dDsKIH07CiAKIHN0cnVjdCBpbnRlbF9jcnRjIHsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwppbmRleCAxNzBhYmM0Li5kNDc1Y2ZiIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfaGRtaS5jCkBAIC0xMzE3LDcgKzEzMTcsOCBAQCBpbnRlbF9oZG1pX21v ZGVfdmFsaWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAlyZXR1cm4gc3RhdHVz OwogfQogCi1zdGF0aWMgYm9vbCBoZG1pXzEyYnBjX3Bvc3NpYmxlKHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjcnRjX3N0YXRlKQorc3RhdGljIGJvb2wgaGRtaV8xMmJwY19wb3NzaWJsZShzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKKwkJCQllbnVtIGRybV9oZG1pX291dHB1 dF90eXBlIGhkbWlfb3V0KQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 CiAJCXRvX2k5MTUoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjLT5kZXYpOwpAQCAtMTMyOSw2ICsxMzMw LDE2IEBAIHN0YXRpYyBib29sIGhkbWlfMTJicGNfcG9zc2libGUoc3RydWN0IGludGVsX2NydGNf c3RhdGUgKmNydGNfc3RhdGUpCiAJaWYgKEhBU19HTUNIX0RJU1BMQVkoZGV2X3ByaXYpKQogCQly ZXR1cm4gZmFsc2U7CiAKKwlpZiAoaGRtaV9vdXQgPT0gRFJNX0hETUlfT1VUUFVUX1lDQkNSNDIy KSB7CisJCS8qCisJCSAqIEhETUkgc3BlYyBzYXlzIFlDQkNSNDIyIGlzIDEyYnBjLCBidXQgaXRz IG5vdCBhIGRlZXAKKwkJICogY29sb3IgZm9ybWF0LiBTbyByZXNwZWN0IHRoZSBzcGVjLCBhbmQg bm90IGFsbG93IHRoaXMKKwkJICogdG8gYmUgZGVlcCBjb2xvcgorCQkgKi8KKwkJRFJNX0RFQlVH X0tNUygiTm90IGFsbG93aW5nIGRlZXAgY29sb3IgZm9yIFlDQkNSNDIyIG91dHB1dFxuIik7CisJ CXJldHVybiBmYWxzZTsKKwl9CisKIAkvKgogCSAqIEhETUkgMTJicGMgYWZmZWN0cyB0aGUgY2xv Y2tzLCBzbyBpdCdzIG9ubHkgcG9zc2libGUKIAkgKiB3aGVuIG5vdCBjbG9uaW5nIHdpdGggb3Ro ZXIgZW5jb2RlciB0eXBlcy4KQEAgLTEzNDIsNiArMTM1MywxMiBAQCBzdGF0aWMgYm9vbCBoZG1p XzEyYnBjX3Bvc3NpYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCQlp ZiAoY29ubmVjdG9yX3N0YXRlLT5jcnRjICE9IGNydGNfc3RhdGUtPmJhc2UuY3J0YykKIAkJCWNv bnRpbnVlOwogCisJCWlmIChoZG1pX291dCA9PSBEUk1fSERNSV9PVVRQVVRfWUNCQ1I0MjApIHsK KwkJCWlmICghKGluZm8tPmhkbWkueWNiY3I0MjBfZGNfbW9kZXMgJgorCQkJCQlEUk1fRURJRF9Z Q0JDUjQyMF9EQ18zNikpCisJCQkJcmV0dXJuIGZhbHNlOworCQl9CisKIAkJaWYgKChpbmZvLT5l ZGlkX2hkbWlfZGNfbW9kZXMgJiBEUk1fRURJRF9IRE1JX0RDXzM2KSA9PSAwKQogCQkJcmV0dXJu IGZhbHNlOwogCX0KQEAgLTEzNTQsNiArMTM3MSw2NSBAQCBzdGF0aWMgYm9vbCBoZG1pXzEyYnBj X3Bvc3NpYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCXJldHVybiB0 cnVlOwogfQogCitzdGF0aWMgdTgKK2ludGVsX2hkbWlfZ2V0X3NyY19vdXRwdXRfc3VwcG9ydChz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IGNvbm5lY3Rvci0+ZGV2LT5kZXZfcHJpdmF0ZTsKKwl1OCBzdXBwb3J0 ZWRfb3V0cHV0cyA9IERSTV9DT0xPUl9GT1JNQVRfUkdCNDQ0OworCisJaWYgKGRldl9wcml2LT5p bmZvLmdlbiA8IDcpCisJCXJldHVybiBzdXBwb3J0ZWRfb3V0cHV0czsKKworCS8qIEdlbiA3IGFu ZCBhYm92ZSBzdXBwb3J0IEhETUkgMS40YiBvdXRwdXRzICovCisJc3VwcG9ydGVkX291dHB1dHMg fD0gKERSTV9DT0xPUl9GT1JNQVRfWUNSQ0I0NDQgfAorCQkJCURSTV9DT0xPUl9GT1JNQVRfWUNS Q0I0MjIpOworCisJaWYgKElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKQorCQlzdXBwb3J0ZWRfb3V0 cHV0cyB8PSBEUk1fQ09MT1JfRk9STUFUX1lDUkNCNDIwOworCisJcmV0dXJuIHN1cHBvcnRlZF9v dXRwdXRzOworfQorCitzdGF0aWMgZW51bSBkcm1faGRtaV9vdXRwdXRfdHlwZQoraW50ZWxfaGRt aV9jb21wdXRlX3ljYmNyX2NvbmZpZyhzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9z dGF0ZSwKKwkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY29uZmlnLAorCQkJICAg ICAgIGludCAqY2xvY2tfMTJicGMsIGludCAqY2xvY2tfOGJwYykKK3sKKwlzdHJ1Y3QgZHJtX2Nv bm5lY3RvciAqY29ubmVjdG9yID0gY29ubl9zdGF0ZS0+Y29ubmVjdG9yOworCXN0cnVjdCBkcm1f ZGlzcGxheV9tb2RlICptb2RlID0gJmNvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlOworCWVudW0g ZHJtX2hkbWlfb3V0cHV0X3R5cGUgdHlwZSA9IGNvbm5fc3RhdGUtPmhkbWlfb3V0cHV0OworCXU4 IHNyY19vdXRwdXRfY2FwID0gaW50ZWxfaGRtaV9nZXRfc3JjX291dHB1dF9zdXBwb3J0KGNvbm5l Y3Rvcik7CisKKwkvKgorCSAqIENhbiB3ZSBzdXBwb3J0IGFueSBZQ0JDUiBvdXRwdXQgYmFzZWQg b24gdGhlc2UgcGFyYW1ldGVycyA/CisJICogY3VycmVudCBzb3VyY2UgY2FwYWJpbGl0aWVzICsK KwkgKiBjdXJyZW50IHNpbmsgY2FwYWJpbGl0aWVzICsKKwkgKiBnaXZlbiB2aWRlbyBtb2RlICsK KwkgKiBjdXJyZW50IHVzZXIncyBjaG9pY2UgZm9yIEhETUkgb3V0cHV0IChmcm9tIGNvbm5lY3Rv ciBwcm9wZXJ0eSkKKwkgKi8KKwl0eXBlID0gZHJtX2ZpbmRfaGRtaV9vdXRwdXRfdHlwZShjb25u ZWN0b3IsIG1vZGUsIHR5cGUsIHNyY19vdXRwdXRfY2FwKTsKKwlpZiAoKHR5cGUgPT0gRFJNX0hE TUlfT1VUUFVUX0lOVkFMSUQpIHx8CisJCSh0eXBlID09IERSTV9IRE1JX09VVFBVVF9ERUZBVUxU X1JHQikpIHsKKwkJRFJNX0RFQlVHX0tNUygiQ2FuJ3Qgc3VwcG9ydCBZQ0JDUiBvdXRwdXRcbiIp OworCQlyZXR1cm4gdHlwZTsKKwl9CisKKwlpZiAodHlwZSA9PSBEUk1fSERNSV9PVVRQVVRfWUNC Q1I0MjApIHsKKworCQkvKiBZQ0JDUjQyMCBUTURTIHJhdGUgcmVxdWlyZW1lbnQgaXMgaGFsZiB0 aGUgcGl4ZWwgY2xvY2sgKi8KKwkJY29uZmlnLT5oZG1pX291dHB1dCA9IERSTV9IRE1JX09VVFBV VF9ZQ0JDUjQyMDsKKwkJY29uZmlnLT5wb3J0X2Nsb2NrIC89IDI7CisJCSpjbG9ja18xMmJwYyAv PSAyOworCQkqY2xvY2tfOGJwYyAvPSAyOworCisJfQorCisJLyogRW5jb2RlciBpcyBjYXBhYmxl IG9mIHRoaXMgb3V0cHV0LCBsZXRzIGNvbW1pdCB0byBDUlRDICovCisJY29uZmlnLT5oZG1pX291 dHB1dCA9IHR5cGU7CisJRFJNX0RFQlVHX0tNUygiSERNSSBvdXRwdXQ6ICVzXG4iLCBkcm1fZ2V0 X2hkbWlfb3V0cHV0X25hbWUodHlwZSkpOworCXJldHVybiB0eXBlOworfQorCiBib29sIGludGVs X2hkbWlfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCQkg ICAgICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAogCQkJICAgICAgIHN0 cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRlKQpAQCAtMTM2MSwxMyArMTQzNywx NSBAQCBib29sIGludGVsX2hkbWlfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIg KmVuY29kZXIsCiAJc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSBlbmNfdG9faW50ZWxf aGRtaSgmZW5jb2Rlci0+YmFzZSk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAJc3RydWN0IGRybV9kaXNwbGF5X21vZGUg KmFkanVzdGVkX21vZGUgPSAmcGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKLQlzdHJ1 Y3QgZHJtX3NjZGMgKnNjZGMgPSAmY29ubl9zdGF0ZS0+Y29ubmVjdG9yLT5kaXNwbGF5X2luZm8u aGRtaS5zY2RjOworCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSBjb25uX3N0YXRl LT5jb25uZWN0b3I7CisJc3RydWN0IGRybV9zY2RjICpzY2RjID0gJmNvbm5lY3Rvci0+ZGlzcGxh eV9pbmZvLmhkbWkuc2NkYzsKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9jb25uZWN0b3Jfc3RhdGUg KmludGVsX2Nvbm5fc3RhdGUgPQogCQl0b19pbnRlbF9kaWdpdGFsX2Nvbm5lY3Rvcl9zdGF0ZShj b25uX3N0YXRlKTsKIAlpbnQgY2xvY2tfOGJwYyA9IHBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVk X21vZGUuY3J0Y19jbG9jazsKIAlpbnQgY2xvY2tfMTJicGMgPSBjbG9ja184YnBjICogMyAvIDI7 CiAJaW50IGRlc2lyZWRfYnBwOwogCWJvb2wgZm9yY2VfZHZpID0gaW50ZWxfY29ubl9zdGF0ZS0+ Zm9yY2VfYXVkaW8gPT0gSERNSV9BVURJT19PRkZfRFZJOworCWVudW0gZHJtX2hkbWlfb3V0cHV0 X3R5cGUgaGRtaV9vdXQgPSBjb25uX3N0YXRlLT5oZG1pX291dHB1dDsKIAogCXBpcGVfY29uZmln LT5oYXNfaGRtaV9zaW5rID0gIWZvcmNlX2R2aSAmJiBpbnRlbF9oZG1pLT5oYXNfaGRtaV9zaW5r OwogCkBAIC0xMzkxLDYgKzE0NjksMTUgQEAgYm9vbCBpbnRlbF9oZG1pX2NvbXB1dGVfY29uZmln KHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQljbG9ja18xMmJwYyAqPSAyOwogCX0K IAorCS8qIENoZWNrIGlmIFlDQkNSIEhETUkgb3V0cHV0IGhhbmRsaW5nIGlzIHJlcXVpcmVkICov CisJaGRtaV9vdXQgPSBpbnRlbF9oZG1pX2NvbXB1dGVfeWNiY3JfY29uZmlnKGNvbm5fc3RhdGUs CisJCQkJCSAgIHBpcGVfY29uZmlnLCAmY2xvY2tfMTJicGMsCisJCQkJCSAgICZjbG9ja184YnBj KTsKKwlpZiAoaGRtaV9vdXQgPT0gRFJNX0hETUlfT1VUUFVUX0lOVkFMSUQpIHsKKwkJRFJNX0VS Uk9SKCJDYW4ndCBzdXBwb3J0IGRlc2lyZWQgSERNSSBvdXRwdXRcbiIpOworCQlyZXR1cm4gZmFs c2U7CisJfQorCiAJaWYgKEhBU19QQ0hfU1BMSVQoZGV2X3ByaXYpICYmICFIQVNfRERJKGRldl9w cml2KSkKIAkJcGlwZV9jb25maWctPmhhc19wY2hfZW5jb2RlciA9IHRydWU7CiAKQEAgLTE0MTAs NyArMTQ5Nyw3IEBAIGJvb2wgaW50ZWxfaGRtaV9jb21wdXRlX2NvbmZpZyhzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlciwKIAkgKi8KIAlpZiAocGlwZV9jb25maWctPnBpcGVfYnBwID4gOCoz ICYmIHBpcGVfY29uZmlnLT5oYXNfaGRtaV9zaW5rICYmICFmb3JjZV9kdmkgJiYKIAkgICAgaGRt aV9wb3J0X2Nsb2NrX3ZhbGlkKGludGVsX2hkbWksIGNsb2NrXzEyYnBjLCB0cnVlLCBmb3JjZV9k dmkpID09IE1PREVfT0sgJiYKLQkgICAgaGRtaV8xMmJwY19wb3NzaWJsZShwaXBlX2NvbmZpZykp IHsKKwkgICAgaGRtaV8xMmJwY19wb3NzaWJsZShwaXBlX2NvbmZpZywgaGRtaV9vdXQpKSB7CiAJ CURSTV9ERUJVR19LTVMoInBpY2tpbmcgYnBjIHRvIDEyIGZvciBIRE1JIG91dHB1dFxuIik7CiAJ CWRlc2lyZWRfYnBwID0gMTIqMzsKIAotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=