From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH v5 12/17] drm/i915: add compute-config for YCBCR outputs Date: Tue, 4 Jul 2017 19:41:59 +0530 Message-ID: <1499177524-26292-13-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 VGhpcyBwYXRjaCBjaGVja3MgZW5jb2RlciBsZXZlbCBzdXBwb3J0IGZvciBIRE1JIFlDQkNSIG91 dHB1dHMuCkhETUkgb3V0cHV0IG1vZGUgaXMgYSBjb25uZWN0b3IgcHJvcGVydHksIHRoaXMgcGF0 Y2ggY2hlY2tzIGlmCnNvdXJjZSBhbmQgc2luayBjYW4gc3VwcG9ydCB0aGUgSERNSSBvdXRwdXQg dHlwZSBzZWxlY3RlZCBieSB1c2VyLgpBbmQgaWYgdGhleSBib3RoIGNhbiwgaXQgY29tbWl0cyB0 aGUgaGRtaSBvdXRwdXQgdHlwZSBpbnRvIGNydGMgc3RhdGUsCmZvciBmdXJ0aGVyIHN0YWdpbmcg aW4gZHJpdmVyLgoKVjI6IFNwbGl0IHRoZSBwYXRjaCBpbnRvIHR3bywga2VwdCBoZWxwZXIgZnVu Y3Rpb25zIGluIERSTSBsYXllci4KVjM6IENoYW5nZWQgdGhlIGNvbXB1dGVfY29uZmlnIGZ1bmN0 aW9uIGJhc2VkIG9uIG5ldyBEUk0gQVBJLgpWNDogUmViYXNlClY1OiBSZWJhc2UKCkNjOiBWaWxs ZSBTeXJqYWxhIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KQ2M6IERhbmllbCBWZXR0 ZXIgPGRhbmllbC52ZXR0ZXJAaW50ZWwuY29tPgpDYzogQW5kZXIgQ29uc2VsdmFuIGRlIE9saXZl aXJhIDxjb25zZWx2YW4yQGdtYWlsLmNvbT4KClNpZ25lZC1vZmYtYnk6IFNoYXNoYW5rIFNoYXJt YSA8c2hhc2hhbmsuc2hhcm1hQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAg ICAgfCAgMyArKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jICAgIHwgOTMgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tCiAzIGZpbGVzIGNoYW5nZWQsIDk0IGlu c2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jCmluZGV4IDRlMDNjYTYuLjA4MjI3MGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMKQEAgLTExOTMwLDYgKzExOTMwLDcgQEAgaW50ZWxfcGlwZV9jb25maWdfY29tcGFyZShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJUElQRV9DT05GX0NIRUNLX0koaGRt aV9zY3JhbWJsaW5nKTsKIAlQSVBFX0NPTkZfQ0hFQ0tfSShoZG1pX2hpZ2hfdG1kc19jbG9ja19y YXRpbyk7CiAJUElQRV9DT05GX0NIRUNLX0koaGFzX2luZm9mcmFtZSk7CisJUElQRV9DT05GX0NI RUNLX0koaGRtaV9vdXRwdXQpOwogCiAJUElQRV9DT05GX0NIRUNLX0koaGFzX2F1ZGlvKTsKIApk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCBkMTdhMzI0Li5jYzI1ZDcxIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcnYuaApAQCAtNzgwLDYgKzc4MCw5IEBAIHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlIHsKIAogCS8qIEhETUkgSGlnaCBUTURTIGNoYXIgcmF0ZSByYXRpbyAqLwogCWJvb2wgaGRt aV9oaWdoX3RtZHNfY2xvY2tfcmF0aW87CisKKwkvKiBIRE1JIG91dHB1dCB0eXBlICovCisJZW51 bSBkcm1faGRtaV9vdXRwdXRfdHlwZSBoZG1pX291dHB1dDsKIH07CiAKIHN0cnVjdCBpbnRlbF9j cnRjIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwppbmRleCBjYzBkMTAwLi4zYTA3NDMxIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCkBAIC0xMzA1LDcgKzEzMDUsOCBAQCBpbnRlbF9o ZG1pX21vZGVfdmFsaWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAlyZXR1cm4g c3RhdHVzOwogfQogCi1zdGF0aWMgYm9vbCBoZG1pXzEyYnBjX3Bvc3NpYmxlKHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQorc3RhdGljIGJvb2wgaGRtaV8xMmJwY19wb3NzaWJs ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKKwkJCQllbnVtIGRybV9oZG1p X291dHB1dF90eXBlIGhkbWlfb3V0KQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9CiAJCXRvX2k5MTUoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjLT5kZXYpOwpAQCAtMTMxNyw2 ICsxMzE4LDE2IEBAIHN0YXRpYyBib29sIGhkbWlfMTJicGNfcG9zc2libGUoc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAJaWYgKEhBU19HTUNIX0RJU1BMQVkoZGV2X3ByaXYp KQogCQlyZXR1cm4gZmFsc2U7CiAKKwlpZiAoaGRtaV9vdXQgPT0gRFJNX0hETUlfT1VUUFVUX1lD QkNSNDIyKSB7CisJCS8qCisJCSAqIEhETUkgc3BlYyBzYXlzIFlDQkNSNDIyIGlzIDEyYnBjLCBi dXQgaXRzIG5vdCBhIGRlZXAKKwkJICogY29sb3IgZm9ybWF0LiBTbyByZXNwZWN0IHRoZSBzcGVj LCBhbmQgbm90IGFsbG93IHRoaXMKKwkJICogdG8gYmUgZGVlcCBjb2xvcgorCQkgKi8KKwkJRFJN X0RFQlVHX0tNUygiTm90IGFsbG93aW5nIGRlZXAgY29sb3IgZm9yIFlDQkNSNDIyIG91dHB1dFxu Iik7CisJCXJldHVybiBmYWxzZTsKKwl9CisKIAkvKgogCSAqIEhETUkgMTJicGMgYWZmZWN0cyB0 aGUgY2xvY2tzLCBzbyBpdCdzIG9ubHkgcG9zc2libGUKIAkgKiB3aGVuIG5vdCBjbG9uaW5nIHdp dGggb3RoZXIgZW5jb2RlciB0eXBlcy4KQEAgLTEzMzAsNiArMTM0MSwxMiBAQCBzdGF0aWMgYm9v bCBoZG1pXzEyYnBjX3Bvc3NpYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl KQogCQlpZiAoY29ubmVjdG9yX3N0YXRlLT5jcnRjICE9IGNydGNfc3RhdGUtPmJhc2UuY3J0YykK IAkJCWNvbnRpbnVlOwogCisJCWlmIChoZG1pX291dCA9PSBEUk1fSERNSV9PVVRQVVRfWUNCQ1I0 MjApIHsKKwkJCWlmICghKGluZm8tPmhkbWkueTQyMF9kY19tb2RlcyAmCisJCQkJCURSTV9FRElE X1lDQkNSNDIwX0RDXzM2KSkKKwkJCQlyZXR1cm4gZmFsc2U7CisJCX0KKwogCQlpZiAoKGluZm8t PmVkaWRfaGRtaV9kY19tb2RlcyAmIERSTV9FRElEX0hETUlfRENfMzYpID09IDApCiAJCQlyZXR1 cm4gZmFsc2U7CiAJfQpAQCAtMTM0Miw2ICsxMzU5LDY1IEBAIHN0YXRpYyBib29sIGhkbWlfMTJi cGNfcG9zc2libGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAJcmV0dXJu IHRydWU7CiB9CiAKK3N0YXRpYyB1OAoraW50ZWxfaGRtaV9nZXRfc3JjX291dHB1dF9zdXBwb3J0 KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCit7CisJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gY29ubmVjdG9yLT5kZXYtPmRldl9wcml2YXRlOworCXU4IHN1cHBv cnRlZF9vdXRwdXRzID0gRFJNX0NPTE9SX0ZPUk1BVF9SR0I0NDQ7CisKKwlpZiAoZGV2X3ByaXYt PmluZm8uZ2VuIDwgNykKKwkJcmV0dXJuIHN1cHBvcnRlZF9vdXRwdXRzOworCisJLyogR2VuIDcg YW5kIGFib3ZlIHN1cHBvcnQgSERNSSAxLjRiIG91dHB1dHMgKi8KKwlzdXBwb3J0ZWRfb3V0cHV0 cyB8PSBEUk1fQ09MT1JfRk9STUFUX1lDUkNCNDQ0OworCisJaWYgKElTX0dFTUlOSUxBS0UoZGV2 X3ByaXYpKQorCQlzdXBwb3J0ZWRfb3V0cHV0cyB8PSBEUk1fQ09MT1JfRk9STUFUX1lDUkNCNDIw OworCisJcmV0dXJuIHN1cHBvcnRlZF9vdXRwdXRzOworfQorCitzdGF0aWMgZW51bSBkcm1faGRt aV9vdXRwdXRfdHlwZQoraW50ZWxfaGRtaV9jb21wdXRlX3ljYmNyX2NvbmZpZyhzdHJ1Y3QgZHJt X2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSwKKwkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY29uZmlnLAorCQkJICAgICAgIGludCAqY2xvY2tfMTJicGMsIGludCAqY2xvY2tf OGJwYykKK3sKKwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gY29ubl9zdGF0ZS0+ Y29ubmVjdG9yOworCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlID0gJmNvbmZpZy0+YmFz ZS5hZGp1c3RlZF9tb2RlOworCWVudW0gZHJtX2hkbWlfb3V0cHV0X3R5cGUgdHlwZSA9IGNvbm5f c3RhdGUtPmhkbWlfb3V0cHV0OworCXU4IHNyY19vdXRwdXRfY2FwID0gaW50ZWxfaGRtaV9nZXRf c3JjX291dHB1dF9zdXBwb3J0KGNvbm5lY3Rvcik7CisKKwkvKgorCSAqIENhbiB3ZSBzdXBwb3J0 IGFueSBZQ0JDUiBvdXRwdXQgYmFzZWQgb24gdGhlc2UgcGFyYW1ldGVycyA/CisJICogY3VycmVu dCBzb3VyY2UgY2FwYWJpbGl0aWVzICsKKwkgKiBjdXJyZW50IHNpbmsgY2FwYWJpbGl0aWVzICsK KwkgKiBnaXZlbiB2aWRlbyBtb2RlICsKKwkgKiBjdXJyZW50IHVzZXIncyBjaG9pY2UgZm9yIEhE TUkgb3V0cHV0IChmcm9tIGNvbm5lY3RvciBwcm9wZXJ0eSkKKwkgKi8KKwl0eXBlID0gZHJtX2Rp c3BsYXlfaW5mb19oZG1pX291dHB1dF90eXBlKCZjb25uZWN0b3ItPmRpc3BsYXlfaW5mbywKKwkJ CQkJCSBtb2RlLCB0eXBlLCBzcmNfb3V0cHV0X2NhcCk7CisJaWYgKCh0eXBlID09IERSTV9IRE1J X09VVFBVVF9JTlZBTElEKSB8fAorCQkodHlwZSA9PSBEUk1fSERNSV9PVVRQVVRfREVGQVVMVF9S R0IpKSB7CisJCURSTV9ERUJVR19LTVMoIkNhbid0IHN1cHBvcnQgWUNCQ1Igb3V0cHV0XG4iKTsK KwkJcmV0dXJuIHR5cGU7CisJfQorCisJaWYgKHR5cGUgPT0gRFJNX0hETUlfT1VUUFVUX1lDQkNS NDIwKSB7CisKKwkJLyogWUNCQ1I0MjAgVE1EUyByYXRlIHJlcXVpcmVtZW50IGlzIGhhbGYgdGhl IHBpeGVsIGNsb2NrICovCisJCWNvbmZpZy0+aGRtaV9vdXRwdXQgPSBEUk1fSERNSV9PVVRQVVRf WUNCQ1I0MjA7CisJCWNvbmZpZy0+cG9ydF9jbG9jayAvPSAyOworCQkqY2xvY2tfMTJicGMgLz0g MjsKKwkJKmNsb2NrXzhicGMgLz0gMjsKKworCX0KKworCS8qIEVuY29kZXIgaXMgY2FwYWJsZSBv ZiB0aGlzIG91dHB1dCwgbGV0cyBjb21taXQgdG8gQ1JUQyAqLworCWNvbmZpZy0+aGRtaV9vdXRw dXQgPSB0eXBlOworCURSTV9ERUJVR19LTVMoIkhETUkgb3V0cHV0OiAlc1xuIiwgZHJtX2dldF9o ZG1pX291dHB1dF9uYW1lKHR5cGUpKTsKKwlyZXR1cm4gdHlwZTsKK30KKwogYm9vbCBpbnRlbF9o ZG1pX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJICAg ICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKIAkJCSAgICAgICBzdHJ1 Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSkKQEAgLTEzNDksMTMgKzE0MjUsMTUg QEAgYm9vbCBpbnRlbF9oZG1pX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyLAogCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2ludGVsX2hk bWkoJmVuY29kZXItPmJhc2UpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IHRvX2k5MTUoZW5jb2Rlci0+YmFzZS5kZXYpOwogCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICph ZGp1c3RlZF9tb2RlID0gJnBpcGVfY29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGU7Ci0Jc3RydWN0 IGRybV9zY2RjICpzY2RjID0gJmNvbm5fc3RhdGUtPmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhk bWkuc2NkYzsKKwlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gY29ubl9zdGF0ZS0+ Y29ubmVjdG9yOworCXN0cnVjdCBkcm1fc2NkYyAqc2NkYyA9ICZjb25uZWN0b3ItPmRpc3BsYXlf aW5mby5oZG1pLnNjZGM7CiAJc3RydWN0IGludGVsX2RpZ2l0YWxfY29ubmVjdG9yX3N0YXRlICpp bnRlbF9jb25uX3N0YXRlID0KIAkJdG9faW50ZWxfZGlnaXRhbF9jb25uZWN0b3Jfc3RhdGUoY29u bl9zdGF0ZSk7CiAJaW50IGNsb2NrXzhicGMgPSBwaXBlX2NvbmZpZy0+YmFzZS5hZGp1c3RlZF9t b2RlLmNydGNfY2xvY2s7CiAJaW50IGNsb2NrXzEyYnBjID0gY2xvY2tfOGJwYyAqIDMgLyAyOwog CWludCBkZXNpcmVkX2JwcDsKIAlib29sIGZvcmNlX2R2aSA9IGludGVsX2Nvbm5fc3RhdGUtPmZv cmNlX2F1ZGlvID09IEhETUlfQVVESU9fT0ZGX0RWSTsKKwllbnVtIGRybV9oZG1pX291dHB1dF90 eXBlIGhkbWlfb3V0ID0gY29ubl9zdGF0ZS0+aGRtaV9vdXRwdXQ7CiAKIAlwaXBlX2NvbmZpZy0+ aGFzX2hkbWlfc2luayA9ICFmb3JjZV9kdmkgJiYgaW50ZWxfaGRtaS0+aGFzX2hkbWlfc2luazsK IApAQCAtMTM3OSw2ICsxNDU3LDE1IEBAIGJvb2wgaW50ZWxfaGRtaV9jb21wdXRlX2NvbmZpZyhz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJY2xvY2tfMTJicGMgKj0gMjsKIAl9CiAK KwkvKiBDaGVjayBpZiBZQ0JDUiBIRE1JIG91dHB1dCBoYW5kbGluZyBpcyByZXF1aXJlZCAqLwor CWhkbWlfb3V0ID0gaW50ZWxfaGRtaV9jb21wdXRlX3ljYmNyX2NvbmZpZyhjb25uX3N0YXRlLAor CQkJCQkgICBwaXBlX2NvbmZpZywgJmNsb2NrXzEyYnBjLAorCQkJCQkgICAmY2xvY2tfOGJwYyk7 CisJaWYgKGhkbWlfb3V0ID09IERSTV9IRE1JX09VVFBVVF9JTlZBTElEKSB7CisJCURSTV9FUlJP UigiQ2FuJ3Qgc3VwcG9ydCBkZXNpcmVkIEhETUkgb3V0cHV0XG4iKTsKKwkJcmV0dXJuIGZhbHNl OworCX0KKwogCWlmIChIQVNfUENIX1NQTElUKGRldl9wcml2KSAmJiAhSEFTX0RESShkZXZfcHJp dikpCiAJCXBpcGVfY29uZmlnLT5oYXNfcGNoX2VuY29kZXIgPSB0cnVlOwogCkBAIC0xMzk4LDcg KzE0ODUsNyBAQCBib29sIGludGVsX2hkbWlfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsCiAJICovCiAJaWYgKHBpcGVfY29uZmlnLT5waXBlX2JwcCA+IDgqMyAm JiBwaXBlX2NvbmZpZy0+aGFzX2hkbWlfc2luayAmJiAhZm9yY2VfZHZpICYmCiAJICAgIGhkbWlf cG9ydF9jbG9ja192YWxpZChpbnRlbF9oZG1pLCBjbG9ja18xMmJwYywgdHJ1ZSwgZm9yY2VfZHZp KSA9PSBNT0RFX09LICYmCi0JICAgIGhkbWlfMTJicGNfcG9zc2libGUocGlwZV9jb25maWcpKSB7 CisJICAgIGhkbWlfMTJicGNfcG9zc2libGUocGlwZV9jb25maWcsIGhkbWlfb3V0KSkgewogCQlE Uk1fREVCVUdfS01TKCJwaWNraW5nIGJwYyB0byAxMiBmb3IgSERNSSBvdXRwdXRcbiIpOwogCQlk ZXNpcmVkX2JwcCA9IDEyKjM7CiAKLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWwK