From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7EA84C3F68F for ; Mon, 3 Feb 2020 15:15:00 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6062C21741 for ; Mon, 3 Feb 2020 15:15:00 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6062C21741 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 934BA6EC50; Mon, 3 Feb 2020 15:14:59 +0000 (UTC) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7B4A46EC52; Mon, 3 Feb 2020 15:14:57 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Feb 2020 07:14:56 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,398,1574150400"; d="scan'208";a="219415899" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by orsmga007.jf.intel.com with SMTP; 03 Feb 2020 07:14:54 -0800 Received: by stinkbox (sSMTP sendmail emulation); Mon, 03 Feb 2020 17:14:54 +0200 From: Ville Syrjala To: dri-devel@lists.freedesktop.org Subject: [PATCH 23/26] drm/i915: Do YCbCr 444->420 conversion via DP protocol converters Date: Mon, 3 Feb 2020 17:13:40 +0200 Message-Id: <20200203151343.14378-24-ville.syrjala@linux.intel.com> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200203151343.14378-1-ville.syrjala@linux.intel.com> References: <20200203151343.14378-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: intel-gfx@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkZv ciBwbGF0Zm9ybXMgdGhhdCBjYW4ndCBkbyBuYXRpdmUgNDoyOjAgb3V0b3V0IHdlIG1heSBzdGls bCBiZQphYmxlIHRvIGRvIGl0IGJ5IGdldHRpbmcgdGhlIERQLT5IRE1JIHByb3RvY29sIGNvbnZl cnRlciB0bwpwZXJmb3JtIHRoZSA0OjQ6NC0+NDoyOjAgZG93bnNhbWxpbmcgZm9yIHVzLiBJbiB0 aGlzIGNhc2Ugd2UKaGF2ZSB0byBjb25maWd1cmUgb3VyIGhhcmR3YXJlIHRvIG91dHB1dCBZQ2JD ciA0OjQ6NCwgd2hpY2ggd2UndmUKYWxyZWFkeSBob29rZWQgdXAgc28gYWxsIHdlIG5lZWQgdG8g ZG8gaXMgZmxpcCB0aGUgc3dpdGNoLgoKU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2 aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiAuLi4vZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kaXNwbGF5X3R5cGVzLmggICAgfCAgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9kcC5jICAgICAgIHwgMTE4ICsrKysrKysrKysrKysrKy0tLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmMgICAgIHwgICA4ICstCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2hkbWkuaCAgICAgfCAgIDQgKy0KIDQgZmlsZXMgY2hh bmdlZCwgMTA2IGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKaW5kZXggMTE3ZmMx N2RhZTQ0Li4wMDQ3MTc5MWQ3NzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5oCkBAIC0xMzEwLDYgKzEzMTAsNyBAQCBzdHJ1Y3Qg aW50ZWxfZHAgewogCQlpbnQgbWluX3RtZHNfY2xvY2ssIG1heF90bWRzX2Nsb2NrOwogCQlpbnQg bWF4X2RvdGNsb2NrOwogCQl1OCBtYXhfYnBjOworCQlib29sIHljYmNyXzQ0NF90b180MjA7CiAJ fSBkZnA7CiB9OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwLmMKaW5kZXgg NjM5YTBjMmU1YTQwLi4zYmYxOWQ2OTFmZDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfZHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2RwLmMKQEAgLTE5MjEsNyArMTkyMSw5IEBAIHN0YXRpYyBib29sIGludGVsX2RwX3N1 cHBvcnRzX2RzYyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAogc3RhdGljIGJvb2wgaW50ZWxf ZHBfaGRtaV95Y2JjcjQyMChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAogCQkJCSAgIGNvbnN0 IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXJldHVybiBjcnRjX3N0 YXRlLT5vdXRwdXRfZm9ybWF0ID09IElOVEVMX09VVFBVVF9GT1JNQVRfWUNCQ1I0MjA7CisJcmV0 dXJuIGNydGNfc3RhdGUtPm91dHB1dF9mb3JtYXQgPT0gSU5URUxfT1VUUFVUX0ZPUk1BVF9ZQ0JD UjQyMCB8fAorCQkoY3J0Y19zdGF0ZS0+b3V0cHV0X2Zvcm1hdCA9PSBJTlRFTF9PVVRQVVRfRk9S TUFUX1lDQkNSNDQ0ICYmCisJCSBpbnRlbF9kcC0+ZGZwLnljYmNyXzQ0NF90b180MjApOwogfQog CiBzdGF0aWMgaW50IGludGVsX2RwX2hkbWlfdG1kc19jbG9jayhzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwLApAQCAtMTk1NSw5ICsxOTU3LDEwIEBAIHN0YXRpYyBib29sIGludGVsX2RwX2hkbWlf ZGVlcF9jb2xvcl9wb3NzaWJsZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAogCQkJCQkgICAg ICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCQkJICAgICAg aW50IGJwYykKIHsKLQlib29sIGhhc19oZG1pX3NpbmsgPSBpbnRlbF9kcC0+aGFzX2hkbWlfc2lu azsKIAotCXJldHVybiBpbnRlbF9oZG1pX2RlZXBfY29sb3JfcG9zc2libGUoY3J0Y19zdGF0ZSwg YnBjLCBoYXNfaGRtaV9zaW5rKSAmJgorCXJldHVybiBpbnRlbF9oZG1pX2RlZXBfY29sb3JfcG9z c2libGUoY3J0Y19zdGF0ZSwgYnBjLAorCQkJCQkgICAgICBpbnRlbF9kcC0+aGFzX2hkbWlfc2lu aywKKwkJCQkJICAgICAgaW50ZWxfZHBfaGRtaV95Y2JjcjQyMChpbnRlbF9kcCwgY3J0Y19zdGF0 ZSkpICYmCiAJCWludGVsX2RwX2hkbWlfdG1kc19jbG9ja192YWxpZChpbnRlbF9kcCwgY3J0Y19z dGF0ZSwgYnBjKTsKIH0KIApAQCAtMjM2OCwxMSArMjM3MSwxNyBAQCBpbnRlbF9kcF95Y2JjcjQy MF9jb25maWcoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlpbnQgcmV0Owog Ci0JaWYgKCFkcm1fbW9kZV9pc180MjBfb25seShpbmZvLCBhZGp1c3RlZF9tb2RlKSB8fAotCSAg ICAhaW50ZWxfZHBfZ2V0X2NvbG9yaW1ldHJ5X3N0YXR1cyhpbnRlbF9kcCkgfHwKLQkgICAgIWNv bm5lY3Rvci0+eWNiY3JfNDIwX2FsbG93ZWQpCisJaWYgKCFjb25uZWN0b3ItPnljYmNyXzQyMF9h bGxvd2VkKQogCQlyZXR1cm4gMDsKIAorCWlmICghZHJtX21vZGVfaXNfNDIwX29ubHkoaW5mbywg YWRqdXN0ZWRfbW9kZSkpCisJCXJldHVybiAwOworCisJaWYgKGludGVsX2RwLT5kZnAueWNiY3Jf NDQ0X3RvXzQyMCkgeworCQljcnRjX3N0YXRlLT5vdXRwdXRfZm9ybWF0ID0gSU5URUxfT1VUUFVU X0ZPUk1BVF9ZQ0JDUjQ0NDsKKwkJcmV0dXJuIDA7CisJfQorCiAJY3J0Y19zdGF0ZS0+b3V0cHV0 X2Zvcm1hdCA9IElOVEVMX09VVFBVVF9GT1JNQVRfWUNCQ1I0MjA7CiAKIAkvKiBZQ0JDUiA0MjAg b3V0cHV0IGNvbnZlcnNpb24gbmVlZHMgYSBzY2FsZXIgKi8KQEAgLTM2NDAsMTEgKzM2NDksMjQg QEAgdm9pZCBpbnRlbF9kcF9jb25maWd1cmVfcHJvdG9jb2xfY29udmVydGVyKHN0cnVjdCBpbnRl bF9kcCAqaW50ZWxfZHApCiAJCURQX0hETUlfRFZJX09VVFBVVF9DT05GSUcgOiAwOwogCiAJaWYg KGRybV9kcF9kcGNkX3dyaXRlYigmaW50ZWxfZHAtPmF1eCwKLQkJCSAgICAgICBEUF9QUk9UT0NP TF9DT05WRVJURVJfQ09OVFJPTF8wLCB0bXApIDw9IDApCisJCQkgICAgICAgRFBfUFJPVE9DT0xf Q09OVkVSVEVSX0NPTlRST0xfMCwgdG1wKSAhPSAxKQogCQlEUk1fREVCVUdfS01TKCJGYWlsZWQg dG8gc2V0IHByb3RvY29sIGNvbnZlcnRlciBIRE1JIG1vZGUgdG8gJXNcbiIsCiAJCQkgICAgICBl bmFibGVkZGlzYWJsZWQoaW50ZWxfZHAtPmhhc19oZG1pX3NpbmspKTsKIAotCS8qIFRPRE86IGNv bmZpZ3VyZSBZQ2JDciA0OjI6Mi80OjI6MCBjb252ZXJzaW9uICovCisJdG1wID0gaW50ZWxfZHAt PmRmcC55Y2Jjcl80NDRfdG9fNDIwID8KKwkJRFBfQ09OVkVSU0lPTl9UT19ZQ0JDUjQyMF9FTkFC TEUgOiAwOworCisJaWYgKGRybV9kcF9kcGNkX3dyaXRlYigmaW50ZWxfZHAtPmF1eCwKKwkJCSAg ICAgICBEUF9QUk9UT0NPTF9DT05WRVJURVJfQ09OVFJPTF8xLCB0bXApICE9IDEpCisJCURSTV9E RUJVR19LTVMoIkZhaWxlZCB0byBzZXQgcHJvdG9jb2wgY29udmVydGVyIFlDYkNyIDQ6MjowIGNv bnZlcnNpb24gbW9kZSB0byAlc1xuIiwKKwkJCSAgICAgIGVuYWJsZWRkaXNhYmxlZChpbnRlbF9k cC0+ZGZwLnljYmNyXzQ0NF90b180MjApKTsKKworCXRtcCA9IDA7CisKKwlpZiAoZHJtX2RwX2Rw Y2Rfd3JpdGViKCZpbnRlbF9kcC0+YXV4LAorCQkJICAgICAgIERQX1BST1RPQ09MX0NPTlZFUlRF Ul9DT05UUk9MXzIsIHRtcCkgPD0gMCkKKwkJRFJNX0RFQlVHX0tNUygiRmFpbGVkIHRvIHNldCBw cm90b2NvbCBjb252ZXJ0ZXIgWUNiQ3IgNDoyOjIgY29udmVyc2lvbiBtb2RlIHRvICVzXG4iLAor CQkJICAgICAgZW5hYmxlZGRpc2FibGVkKGZhbHNlKSk7CiB9CiAKIHN0YXRpYyB2b2lkIGludGVs X2VuYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKQEAgLTU3MzksMTQgKzU3 NjEsMTAgQEAgaW50ZWxfZHBfZ2V0X2VkaWQoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIH0K IAogc3RhdGljIHZvaWQKLWludGVsX2RwX3NldF9lZGlkKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHApCitpbnRlbF9kcF91cGRhdGVfZGZwKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCisJCSAg ICBjb25zdCBzdHJ1Y3QgZWRpZCAqZWRpZCkKIHsKIAlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpj b25uZWN0b3IgPSBpbnRlbF9kcC0+YXR0YWNoZWRfY29ubmVjdG9yOwotCXN0cnVjdCBlZGlkICpl ZGlkOwotCi0JaW50ZWxfZHBfdW5zZXRfZWRpZChpbnRlbF9kcCk7Ci0JZWRpZCA9IGludGVsX2Rw X2dldF9lZGlkKGludGVsX2RwKTsKLQljb25uZWN0b3ItPmRldGVjdF9lZGlkID0gZWRpZDsKIAog CWludGVsX2RwLT5kZnAubWF4X2JwYyA9CiAJCWRybV9kcF9kb3duc3RyZWFtX21heF9icGMoaW50 ZWxfZHAtPmRwY2QsCkBAIC01NzcxLDYgKzU3ODksNjYgQEAgaW50ZWxfZHBfc2V0X2VkaWQoc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCkKIAkJICAgICAgaW50ZWxfZHAtPmRmcC5tYXhfZG90Y2xv Y2ssCiAJCSAgICAgIGludGVsX2RwLT5kZnAubWluX3RtZHNfY2xvY2ssCiAJCSAgICAgIGludGVs X2RwLT5kZnAubWF4X3RtZHNfY2xvY2spOworfQorCitzdGF0aWMgdm9pZAoraW50ZWxfZHBfdXBk YXRlXzQyMChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQoreworCXN0cnVjdCBpbnRlbF9jb25u ZWN0b3IgKmNvbm5lY3RvciA9IGludGVsX2RwLT5hdHRhY2hlZF9jb25uZWN0b3I7CisJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZHBfdG9faTkxNShpbnRlbF9kcCk7CisJYm9v bCBpc19icmFuY2gsIHljYmNyXzQyMF9wYXNzdGhyb3VnaCwgeWNiY3JfNDQ0X3RvXzQyMDsKKwor CS8qIE5vIFlDYkNyIG91dHB1dCBzdXBwb3J0IG9uIGdtY2ggcGxhdGZvcm1zICovCisJaWYgKEhB U19HTUNIKGRldl9wcml2KSkKKwkJcmV0dXJuOworCisJLyoKKwkgKiBJTEsgZG9lc24ndCBzZWVt IGNhcGFibGUgb2YgRFAgWUNiQ3Igb3V0cHV0LiBUaGUKKwkgKiBkaXNwbGF5ZWQgaW1hZ2UgaXMg c2V2ZXJseSBjb3JydXB0ZWQuIFNOQisgaXMgZmluZS4KKwkgKi8KKwlpZiAoSVNfR0VOKGRldl9w cml2LCA1KSkKKwkJcmV0dXJuOworCisJaXNfYnJhbmNoID0gZHJtX2RwX2lzX2JyYW5jaChpbnRl bF9kcC0+ZHBjZCk7CisJeWNiY3JfNDIwX3Bhc3N0aHJvdWdoID0KKwkJZHJtX2RwX2Rvd25zdHJl YW1fNDIwX3Bhc3N0aHJvdWdoKGludGVsX2RwLT5kcGNkLAorCQkJCQkJICBpbnRlbF9kcC0+ZG93 bnN0cmVhbV9wb3J0cyk7CisJeWNiY3JfNDQ0X3RvXzQyMCA9CisJCWRybV9kcF9kb3duc3RyZWFt XzQ0NF90b180MjBfY29udmVyc2lvbihpbnRlbF9kcC0+ZHBjZCwKKwkJCQkJCQlpbnRlbF9kcC0+ ZG93bnN0cmVhbV9wb3J0cyk7CisKKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMSkgewor CQkvKiBQcmVmZXIgNDoyOjAgcGFzc3Rocm91Z2ggb3ZlciA0OjQ6NC0+NDoyOjAgY29udmVyc2lv biAqLworCQlpbnRlbF9kcC0+ZGZwLnljYmNyXzQ0NF90b180MjAgPQorCQkJeWNiY3JfNDQ0X3Rv XzQyMCAmJiAheWNiY3JfNDIwX3Bhc3N0aHJvdWdoOworCisJCWNvbm5lY3Rvci0+YmFzZS55Y2Jj cl80MjBfYWxsb3dlZCA9CisJCQkhaXNfYnJhbmNoIHx8IHljYmNyXzQ0NF90b180MjAgfHwgeWNi Y3JfNDIwX3Bhc3N0aHJvdWdoOworCX0gZWxzZSB7CisJCS8qIDQ6NDo0LT40OjI6MCBjb252ZXJz aW9uIGlzIHRoZSBvbmx5IHdheSAqLworCQlpbnRlbF9kcC0+ZGZwLnljYmNyXzQ0NF90b180MjAg PSB5Y2Jjcl80NDRfdG9fNDIwOworCisJCWNvbm5lY3Rvci0+YmFzZS55Y2Jjcl80MjBfYWxsb3dl ZCA9IHljYmNyXzQ0NF90b180MjA7CisJfQorCisJRFJNX0RFQlVHX0tNUygiW0NPTk5FQ1RPUjol ZDolc10gWUNiQ3IgNDoyOjAgYWxsb3dlZD8gJXMsIFlDYkNyIDQ6NDo0LT40OjI6MCBjb252ZXJz aW9uPyAlc1xuIiwKKwkJICAgICAgY29ubmVjdG9yLT5iYXNlLmJhc2UuaWQsIGNvbm5lY3Rvci0+ YmFzZS5uYW1lLAorCQkgICAgICB5ZXNubyhjb25uZWN0b3ItPmJhc2UueWNiY3JfNDIwX2FsbG93 ZWQpLAorCQkgICAgICB5ZXNubyhpbnRlbF9kcC0+ZGZwLnljYmNyXzQ0NF90b180MjApKTsKK30K Kworc3RhdGljIHZvaWQKK2ludGVsX2RwX3NldF9lZGlkKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHApCit7CisJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gaW50ZWxfZHAtPmF0 dGFjaGVkX2Nvbm5lY3RvcjsKKwlzdHJ1Y3QgZWRpZCAqZWRpZDsKKworCWludGVsX2RwX3Vuc2V0 X2VkaWQoaW50ZWxfZHApOworCWVkaWQgPSBpbnRlbF9kcF9nZXRfZWRpZChpbnRlbF9kcCk7CisJ Y29ubmVjdG9yLT5kZXRlY3RfZWRpZCA9IGVkaWQ7CisKKwlpbnRlbF9kcF91cGRhdGVfZGZwKGlu dGVsX2RwLCBlZGlkKTsKKwlpbnRlbF9kcF91cGRhdGVfNDIwKGludGVsX2RwKTsKIAogCWlmIChl ZGlkICYmIGVkaWQtPmlucHV0ICYgRFJNX0VESURfSU5QVVRfRElHSVRBTCkgewogCQlpbnRlbF9k cC0+aGFzX2hkbWlfc2luayA9IGRybV9kZXRlY3RfaGRtaV9tb25pdG9yKGVkaWQpOwpAQCAtNTc4 MywxMSArNTg2MSwxMSBAQCBpbnRlbF9kcF9zZXRfZWRpZChzdHJ1Y3QgaW50ZWxfZHAgKmludGVs X2RwKQogc3RhdGljIHZvaWQKIGludGVsX2RwX3Vuc2V0X2VkaWQoc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCkKIHsKLQlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3IgPSBp bnRlbF9kcC0+YXR0YWNoZWRfY29ubmVjdG9yOworCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNv bm5lY3RvciA9IGludGVsX2RwLT5hdHRhY2hlZF9jb25uZWN0b3I7CiAKIAlkcm1fZHBfY2VjX3Vu c2V0X2VkaWQoJmludGVsX2RwLT5hdXgpOwotCWtmcmVlKGludGVsX2Nvbm5lY3Rvci0+ZGV0ZWN0 X2VkaWQpOwotCWludGVsX2Nvbm5lY3Rvci0+ZGV0ZWN0X2VkaWQgPSBOVUxMOworCWtmcmVlKGNv bm5lY3Rvci0+ZGV0ZWN0X2VkaWQpOworCWNvbm5lY3Rvci0+ZGV0ZWN0X2VkaWQgPSBOVUxMOwog CiAJaW50ZWxfZHAtPmhhc19oZG1pX3NpbmsgPSBmYWxzZTsKIAlpbnRlbF9kcC0+aGFzX2F1ZGlv ID0gZmFsc2U7CkBAIC01Nzk2LDYgKzU4NzQsOSBAQCBpbnRlbF9kcF91bnNldF9lZGlkKHN0cnVj dCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJaW50ZWxfZHAtPmRmcC5tYXhfZG90Y2xvY2sgPSAwOwog CWludGVsX2RwLT5kZnAubWluX3RtZHNfY2xvY2sgPSAwOwogCWludGVsX2RwLT5kZnAubWF4X3Rt ZHNfY2xvY2sgPSAwOworCisJaW50ZWxfZHAtPmRmcC55Y2Jjcl80NDRfdG9fNDIwID0gZmFsc2U7 CisJY29ubmVjdG9yLT5iYXNlLnljYmNyXzQyMF9hbGxvd2VkID0gZmFsc2U7CiB9CiAKIHN0YXRp YyBpbnQKQEAgLTc3MDMsOSArNzc4NCw2IEBAIGludGVsX2RwX2luaXRfY29ubmVjdG9yKHN0cnVj dCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAogCQljb25uZWN0b3ItPmludGVy bGFjZV9hbGxvd2VkID0gdHJ1ZTsKIAljb25uZWN0b3ItPmRvdWJsZXNjYW5fYWxsb3dlZCA9IDA7 CiAKLQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMSkKLQkJY29ubmVjdG9yLT55Y2Jjcl80 MjBfYWxsb3dlZCA9IHRydWU7Ci0KIAlpbnRlbF9lbmNvZGVyLT5ocGRfcGluID0gaW50ZWxfaHBk X3Bpbl9kZWZhdWx0KGRldl9wcml2LCBwb3J0KTsKIAogCWludGVsX2RwX2F1eF9pbml0KGludGVs X2RwKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfaGRt aS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmMKaW5kZXggZDYz MjZhNGE0YTlhLi45ZTAzMTZmNmViM2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfaGRtaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfaGRtaS5jCkBAIC0yMjE5LDcgKzIyMTksNyBAQCBpbnRlbF9oZG1pX21vZGVfdmFsaWQo c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIH0KIAogYm9vbCBpbnRlbF9oZG1pX2Rl ZXBfY29sb3JfcG9zc2libGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUsCi0JCQkJICAgIGludCBicGMsIGJvb2wgaGFzX2hkbWlfc2luaykKKwkJCQkgICAgaW50IGJw YywgYm9vbCBoYXNfaGRtaV9zaW5rLCBib29sIHljYmNyNDIwX291dHB1dCkKIHsKIAlzdHJ1Y3Qg ZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUgPSBjcnRjX3N0YXRlLT51YXBpLnN0YXRlOwogCXN0cnVj dCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uZWN0b3Jfc3RhdGU7CkBAIC0yMjM4LDcgKzIyMzgs NyBAQCBib29sIGludGVsX2hkbWlfZGVlcF9jb2xvcl9wb3NzaWJsZShjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJaWYgKGNvbm5lY3Rvcl9zdGF0ZS0+Y3J0YyAh PSBjcnRjX3N0YXRlLT51YXBpLmNydGMpCiAJCQljb250aW51ZTsKIAotCQlpZiAoY3J0Y19zdGF0 ZS0+b3V0cHV0X2Zvcm1hdCA9PSBJTlRFTF9PVVRQVVRfRk9STUFUX1lDQkNSNDIwKSB7CisJCWlm ICh5Y2JjcjQyMF9vdXRwdXQpIHsKIAkJCWNvbnN0IHN0cnVjdCBkcm1faGRtaV9pbmZvICpoZG1p ID0gJmluZm8tPmhkbWk7CiAKIAkJCWlmIChicGMgPT0gMTIgJiYgIShoZG1pLT55NDIwX2RjX21v ZGVzICYKQEAgLTIyODksNyArMjI4OSw5IEBAIHN0YXRpYyBib29sIGhkbWlfZGVlcF9jb2xvcl9w b3NzaWJsZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJcmV0 dXJuIGZhbHNlOwogCiAJcmV0dXJuIGludGVsX2hkbWlfZGVlcF9jb2xvcl9wb3NzaWJsZShjcnRj X3N0YXRlLCBicGMsCi0JCQkJCSAgICAgIGNydGNfc3RhdGUtPmhhc19oZG1pX3NpbmspOworCQkJ CQkgICAgICBjcnRjX3N0YXRlLT5oYXNfaGRtaV9zaW5rLAorCQkJCQkgICAgICBjcnRjX3N0YXRl LT5vdXRwdXRfZm9ybWF0ID09CisJCQkJCSAgICAgIElOVEVMX09VVFBVVF9GT1JNQVRfWUNCQ1I0 MjApOwogfQogCiBzdGF0aWMgYm9vbApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9oZG1pLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2hkbWkuaAppbmRleCBiZDU4YzkyOWY4MTYuLjUyY2VhOGJlYWZiYiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmgKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmgKQEAgLTQ4LDcgKzQ4LDcgQEAgdm9pZCBpbnRl bF9yZWFkX2luZm9mcmFtZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAgY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkgIGVudW0gaGRtaV9p bmZvZnJhbWVfdHlwZSB0eXBlLAogCQkJICB1bmlvbiBoZG1pX2luZm9mcmFtZSAqZnJhbWUpOwot Ym9vbCBpbnRlbF9oZG1pX2RlZXBfY29sb3JfcG9zc2libGUoY29uc3Qgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUsCi0JCQkJICAgIGludCBicGMsIGJvb2wgaGFzX2hkbWlfc2lu ayk7Citib29sIGludGVsX2hkbWlfZGVlcF9jb2xvcl9wb3NzaWJsZShjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwgaW50IGJwYywKKwkJCQkgICAgYm9vbCBoYXNfaGRt aV9zaW5rLCBib29sIHljYmNyNDIwX291dHB1dCk7CiAKICNlbmRpZiAvKiBfX0lOVEVMX0hETUlf SF9fICovCi0tIAoyLjI0LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ry aS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 170B1C3524D for ; Mon, 3 Feb 2020 15:15:00 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id EA50821741 for ; Mon, 3 Feb 2020 15:14:59 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EA50821741 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 660446EC4F; Mon, 3 Feb 2020 15:14:59 +0000 (UTC) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7B4A46EC52; Mon, 3 Feb 2020 15:14:57 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Feb 2020 07:14:56 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,398,1574150400"; d="scan'208";a="219415899" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by orsmga007.jf.intel.com with SMTP; 03 Feb 2020 07:14:54 -0800 Received: by stinkbox (sSMTP sendmail emulation); Mon, 03 Feb 2020 17:14:54 +0200 From: Ville Syrjala To: dri-devel@lists.freedesktop.org Date: Mon, 3 Feb 2020 17:13:40 +0200 Message-Id: <20200203151343.14378-24-ville.syrjala@linux.intel.com> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200203151343.14378-1-ville.syrjala@linux.intel.com> References: <20200203151343.14378-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 23/26] drm/i915: Do YCbCr 444->420 conversion via DP protocol converters X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: intel-gfx@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkZv ciBwbGF0Zm9ybXMgdGhhdCBjYW4ndCBkbyBuYXRpdmUgNDoyOjAgb3V0b3V0IHdlIG1heSBzdGls bCBiZQphYmxlIHRvIGRvIGl0IGJ5IGdldHRpbmcgdGhlIERQLT5IRE1JIHByb3RvY29sIGNvbnZl cnRlciB0bwpwZXJmb3JtIHRoZSA0OjQ6NC0+NDoyOjAgZG93bnNhbWxpbmcgZm9yIHVzLiBJbiB0 aGlzIGNhc2Ugd2UKaGF2ZSB0byBjb25maWd1cmUgb3VyIGhhcmR3YXJlIHRvIG91dHB1dCBZQ2JD ciA0OjQ6NCwgd2hpY2ggd2UndmUKYWxyZWFkeSBob29rZWQgdXAgc28gYWxsIHdlIG5lZWQgdG8g ZG8gaXMgZmxpcCB0aGUgc3dpdGNoLgoKU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2 aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiAuLi4vZHJtL2k5MTUvZGlzcGxheS9p bnRlbF9kaXNwbGF5X3R5cGVzLmggICAgfCAgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9kcC5jICAgICAgIHwgMTE4ICsrKysrKysrKysrKysrKy0tLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmMgICAgIHwgICA4ICstCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2hkbWkuaCAgICAgfCAgIDQgKy0KIDQgZmlsZXMgY2hh bmdlZCwgMTA2IGluc2VydGlvbnMoKyksIDI1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKaW5kZXggMTE3ZmMx N2RhZTQ0Li4wMDQ3MTc5MWQ3NzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5oCkBAIC0xMzEwLDYgKzEzMTAsNyBAQCBzdHJ1Y3Qg aW50ZWxfZHAgewogCQlpbnQgbWluX3RtZHNfY2xvY2ssIG1heF90bWRzX2Nsb2NrOwogCQlpbnQg bWF4X2RvdGNsb2NrOwogCQl1OCBtYXhfYnBjOworCQlib29sIHljYmNyXzQ0NF90b180MjA7CiAJ fSBkZnA7CiB9OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwLmMKaW5kZXgg NjM5YTBjMmU1YTQwLi4zYmYxOWQ2OTFmZDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfZHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2RwLmMKQEAgLTE5MjEsNyArMTkyMSw5IEBAIHN0YXRpYyBib29sIGludGVsX2RwX3N1 cHBvcnRzX2RzYyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAogc3RhdGljIGJvb2wgaW50ZWxf ZHBfaGRtaV95Y2JjcjQyMChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAogCQkJCSAgIGNvbnN0 IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogewotCXJldHVybiBjcnRjX3N0 YXRlLT5vdXRwdXRfZm9ybWF0ID09IElOVEVMX09VVFBVVF9GT1JNQVRfWUNCQ1I0MjA7CisJcmV0 dXJuIGNydGNfc3RhdGUtPm91dHB1dF9mb3JtYXQgPT0gSU5URUxfT1VUUFVUX0ZPUk1BVF9ZQ0JD UjQyMCB8fAorCQkoY3J0Y19zdGF0ZS0+b3V0cHV0X2Zvcm1hdCA9PSBJTlRFTF9PVVRQVVRfRk9S TUFUX1lDQkNSNDQ0ICYmCisJCSBpbnRlbF9kcC0+ZGZwLnljYmNyXzQ0NF90b180MjApOwogfQog CiBzdGF0aWMgaW50IGludGVsX2RwX2hkbWlfdG1kc19jbG9jayhzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwLApAQCAtMTk1NSw5ICsxOTU3LDEwIEBAIHN0YXRpYyBib29sIGludGVsX2RwX2hkbWlf ZGVlcF9jb2xvcl9wb3NzaWJsZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAogCQkJCQkgICAg ICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCQkJICAgICAg aW50IGJwYykKIHsKLQlib29sIGhhc19oZG1pX3NpbmsgPSBpbnRlbF9kcC0+aGFzX2hkbWlfc2lu azsKIAotCXJldHVybiBpbnRlbF9oZG1pX2RlZXBfY29sb3JfcG9zc2libGUoY3J0Y19zdGF0ZSwg YnBjLCBoYXNfaGRtaV9zaW5rKSAmJgorCXJldHVybiBpbnRlbF9oZG1pX2RlZXBfY29sb3JfcG9z c2libGUoY3J0Y19zdGF0ZSwgYnBjLAorCQkJCQkgICAgICBpbnRlbF9kcC0+aGFzX2hkbWlfc2lu aywKKwkJCQkJICAgICAgaW50ZWxfZHBfaGRtaV95Y2JjcjQyMChpbnRlbF9kcCwgY3J0Y19zdGF0 ZSkpICYmCiAJCWludGVsX2RwX2hkbWlfdG1kc19jbG9ja192YWxpZChpbnRlbF9kcCwgY3J0Y19z dGF0ZSwgYnBjKTsKIH0KIApAQCAtMjM2OCwxMSArMjM3MSwxNyBAQCBpbnRlbF9kcF95Y2JjcjQy MF9jb25maWcoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlpbnQgcmV0Owog Ci0JaWYgKCFkcm1fbW9kZV9pc180MjBfb25seShpbmZvLCBhZGp1c3RlZF9tb2RlKSB8fAotCSAg ICAhaW50ZWxfZHBfZ2V0X2NvbG9yaW1ldHJ5X3N0YXR1cyhpbnRlbF9kcCkgfHwKLQkgICAgIWNv bm5lY3Rvci0+eWNiY3JfNDIwX2FsbG93ZWQpCisJaWYgKCFjb25uZWN0b3ItPnljYmNyXzQyMF9h bGxvd2VkKQogCQlyZXR1cm4gMDsKIAorCWlmICghZHJtX21vZGVfaXNfNDIwX29ubHkoaW5mbywg YWRqdXN0ZWRfbW9kZSkpCisJCXJldHVybiAwOworCisJaWYgKGludGVsX2RwLT5kZnAueWNiY3Jf NDQ0X3RvXzQyMCkgeworCQljcnRjX3N0YXRlLT5vdXRwdXRfZm9ybWF0ID0gSU5URUxfT1VUUFVU X0ZPUk1BVF9ZQ0JDUjQ0NDsKKwkJcmV0dXJuIDA7CisJfQorCiAJY3J0Y19zdGF0ZS0+b3V0cHV0 X2Zvcm1hdCA9IElOVEVMX09VVFBVVF9GT1JNQVRfWUNCQ1I0MjA7CiAKIAkvKiBZQ0JDUiA0MjAg b3V0cHV0IGNvbnZlcnNpb24gbmVlZHMgYSBzY2FsZXIgKi8KQEAgLTM2NDAsMTEgKzM2NDksMjQg QEAgdm9pZCBpbnRlbF9kcF9jb25maWd1cmVfcHJvdG9jb2xfY29udmVydGVyKHN0cnVjdCBpbnRl bF9kcCAqaW50ZWxfZHApCiAJCURQX0hETUlfRFZJX09VVFBVVF9DT05GSUcgOiAwOwogCiAJaWYg KGRybV9kcF9kcGNkX3dyaXRlYigmaW50ZWxfZHAtPmF1eCwKLQkJCSAgICAgICBEUF9QUk9UT0NP TF9DT05WRVJURVJfQ09OVFJPTF8wLCB0bXApIDw9IDApCisJCQkgICAgICAgRFBfUFJPVE9DT0xf Q09OVkVSVEVSX0NPTlRST0xfMCwgdG1wKSAhPSAxKQogCQlEUk1fREVCVUdfS01TKCJGYWlsZWQg dG8gc2V0IHByb3RvY29sIGNvbnZlcnRlciBIRE1JIG1vZGUgdG8gJXNcbiIsCiAJCQkgICAgICBl bmFibGVkZGlzYWJsZWQoaW50ZWxfZHAtPmhhc19oZG1pX3NpbmspKTsKIAotCS8qIFRPRE86IGNv bmZpZ3VyZSBZQ2JDciA0OjI6Mi80OjI6MCBjb252ZXJzaW9uICovCisJdG1wID0gaW50ZWxfZHAt PmRmcC55Y2Jjcl80NDRfdG9fNDIwID8KKwkJRFBfQ09OVkVSU0lPTl9UT19ZQ0JDUjQyMF9FTkFC TEUgOiAwOworCisJaWYgKGRybV9kcF9kcGNkX3dyaXRlYigmaW50ZWxfZHAtPmF1eCwKKwkJCSAg ICAgICBEUF9QUk9UT0NPTF9DT05WRVJURVJfQ09OVFJPTF8xLCB0bXApICE9IDEpCisJCURSTV9E RUJVR19LTVMoIkZhaWxlZCB0byBzZXQgcHJvdG9jb2wgY29udmVydGVyIFlDYkNyIDQ6MjowIGNv bnZlcnNpb24gbW9kZSB0byAlc1xuIiwKKwkJCSAgICAgIGVuYWJsZWRkaXNhYmxlZChpbnRlbF9k cC0+ZGZwLnljYmNyXzQ0NF90b180MjApKTsKKworCXRtcCA9IDA7CisKKwlpZiAoZHJtX2RwX2Rw Y2Rfd3JpdGViKCZpbnRlbF9kcC0+YXV4LAorCQkJICAgICAgIERQX1BST1RPQ09MX0NPTlZFUlRF Ul9DT05UUk9MXzIsIHRtcCkgPD0gMCkKKwkJRFJNX0RFQlVHX0tNUygiRmFpbGVkIHRvIHNldCBw cm90b2NvbCBjb252ZXJ0ZXIgWUNiQ3IgNDoyOjIgY29udmVyc2lvbiBtb2RlIHRvICVzXG4iLAor CQkJICAgICAgZW5hYmxlZGRpc2FibGVkKGZhbHNlKSk7CiB9CiAKIHN0YXRpYyB2b2lkIGludGVs X2VuYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKQEAgLTU3MzksMTQgKzU3 NjEsMTAgQEAgaW50ZWxfZHBfZ2V0X2VkaWQoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKIH0K IAogc3RhdGljIHZvaWQKLWludGVsX2RwX3NldF9lZGlkKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHApCitpbnRlbF9kcF91cGRhdGVfZGZwKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCisJCSAg ICBjb25zdCBzdHJ1Y3QgZWRpZCAqZWRpZCkKIHsKIAlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpj b25uZWN0b3IgPSBpbnRlbF9kcC0+YXR0YWNoZWRfY29ubmVjdG9yOwotCXN0cnVjdCBlZGlkICpl ZGlkOwotCi0JaW50ZWxfZHBfdW5zZXRfZWRpZChpbnRlbF9kcCk7Ci0JZWRpZCA9IGludGVsX2Rw X2dldF9lZGlkKGludGVsX2RwKTsKLQljb25uZWN0b3ItPmRldGVjdF9lZGlkID0gZWRpZDsKIAog CWludGVsX2RwLT5kZnAubWF4X2JwYyA9CiAJCWRybV9kcF9kb3duc3RyZWFtX21heF9icGMoaW50 ZWxfZHAtPmRwY2QsCkBAIC01NzcxLDYgKzU3ODksNjYgQEAgaW50ZWxfZHBfc2V0X2VkaWQoc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCkKIAkJICAgICAgaW50ZWxfZHAtPmRmcC5tYXhfZG90Y2xv Y2ssCiAJCSAgICAgIGludGVsX2RwLT5kZnAubWluX3RtZHNfY2xvY2ssCiAJCSAgICAgIGludGVs X2RwLT5kZnAubWF4X3RtZHNfY2xvY2spOworfQorCitzdGF0aWMgdm9pZAoraW50ZWxfZHBfdXBk YXRlXzQyMChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQoreworCXN0cnVjdCBpbnRlbF9jb25u ZWN0b3IgKmNvbm5lY3RvciA9IGludGVsX2RwLT5hdHRhY2hlZF9jb25uZWN0b3I7CisJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZHBfdG9faTkxNShpbnRlbF9kcCk7CisJYm9v bCBpc19icmFuY2gsIHljYmNyXzQyMF9wYXNzdGhyb3VnaCwgeWNiY3JfNDQ0X3RvXzQyMDsKKwor CS8qIE5vIFlDYkNyIG91dHB1dCBzdXBwb3J0IG9uIGdtY2ggcGxhdGZvcm1zICovCisJaWYgKEhB U19HTUNIKGRldl9wcml2KSkKKwkJcmV0dXJuOworCisJLyoKKwkgKiBJTEsgZG9lc24ndCBzZWVt IGNhcGFibGUgb2YgRFAgWUNiQ3Igb3V0cHV0LiBUaGUKKwkgKiBkaXNwbGF5ZWQgaW1hZ2UgaXMg c2V2ZXJseSBjb3JydXB0ZWQuIFNOQisgaXMgZmluZS4KKwkgKi8KKwlpZiAoSVNfR0VOKGRldl9w cml2LCA1KSkKKwkJcmV0dXJuOworCisJaXNfYnJhbmNoID0gZHJtX2RwX2lzX2JyYW5jaChpbnRl bF9kcC0+ZHBjZCk7CisJeWNiY3JfNDIwX3Bhc3N0aHJvdWdoID0KKwkJZHJtX2RwX2Rvd25zdHJl YW1fNDIwX3Bhc3N0aHJvdWdoKGludGVsX2RwLT5kcGNkLAorCQkJCQkJICBpbnRlbF9kcC0+ZG93 bnN0cmVhbV9wb3J0cyk7CisJeWNiY3JfNDQ0X3RvXzQyMCA9CisJCWRybV9kcF9kb3duc3RyZWFt XzQ0NF90b180MjBfY29udmVyc2lvbihpbnRlbF9kcC0+ZHBjZCwKKwkJCQkJCQlpbnRlbF9kcC0+ ZG93bnN0cmVhbV9wb3J0cyk7CisKKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMSkgewor CQkvKiBQcmVmZXIgNDoyOjAgcGFzc3Rocm91Z2ggb3ZlciA0OjQ6NC0+NDoyOjAgY29udmVyc2lv biAqLworCQlpbnRlbF9kcC0+ZGZwLnljYmNyXzQ0NF90b180MjAgPQorCQkJeWNiY3JfNDQ0X3Rv XzQyMCAmJiAheWNiY3JfNDIwX3Bhc3N0aHJvdWdoOworCisJCWNvbm5lY3Rvci0+YmFzZS55Y2Jj cl80MjBfYWxsb3dlZCA9CisJCQkhaXNfYnJhbmNoIHx8IHljYmNyXzQ0NF90b180MjAgfHwgeWNi Y3JfNDIwX3Bhc3N0aHJvdWdoOworCX0gZWxzZSB7CisJCS8qIDQ6NDo0LT40OjI6MCBjb252ZXJz aW9uIGlzIHRoZSBvbmx5IHdheSAqLworCQlpbnRlbF9kcC0+ZGZwLnljYmNyXzQ0NF90b180MjAg PSB5Y2Jjcl80NDRfdG9fNDIwOworCisJCWNvbm5lY3Rvci0+YmFzZS55Y2Jjcl80MjBfYWxsb3dl ZCA9IHljYmNyXzQ0NF90b180MjA7CisJfQorCisJRFJNX0RFQlVHX0tNUygiW0NPTk5FQ1RPUjol ZDolc10gWUNiQ3IgNDoyOjAgYWxsb3dlZD8gJXMsIFlDYkNyIDQ6NDo0LT40OjI6MCBjb252ZXJz aW9uPyAlc1xuIiwKKwkJICAgICAgY29ubmVjdG9yLT5iYXNlLmJhc2UuaWQsIGNvbm5lY3Rvci0+ YmFzZS5uYW1lLAorCQkgICAgICB5ZXNubyhjb25uZWN0b3ItPmJhc2UueWNiY3JfNDIwX2FsbG93 ZWQpLAorCQkgICAgICB5ZXNubyhpbnRlbF9kcC0+ZGZwLnljYmNyXzQ0NF90b180MjApKTsKK30K Kworc3RhdGljIHZvaWQKK2ludGVsX2RwX3NldF9lZGlkKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHApCit7CisJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gaW50ZWxfZHAtPmF0 dGFjaGVkX2Nvbm5lY3RvcjsKKwlzdHJ1Y3QgZWRpZCAqZWRpZDsKKworCWludGVsX2RwX3Vuc2V0 X2VkaWQoaW50ZWxfZHApOworCWVkaWQgPSBpbnRlbF9kcF9nZXRfZWRpZChpbnRlbF9kcCk7CisJ Y29ubmVjdG9yLT5kZXRlY3RfZWRpZCA9IGVkaWQ7CisKKwlpbnRlbF9kcF91cGRhdGVfZGZwKGlu dGVsX2RwLCBlZGlkKTsKKwlpbnRlbF9kcF91cGRhdGVfNDIwKGludGVsX2RwKTsKIAogCWlmIChl ZGlkICYmIGVkaWQtPmlucHV0ICYgRFJNX0VESURfSU5QVVRfRElHSVRBTCkgewogCQlpbnRlbF9k cC0+aGFzX2hkbWlfc2luayA9IGRybV9kZXRlY3RfaGRtaV9tb25pdG9yKGVkaWQpOwpAQCAtNTc4 MywxMSArNTg2MSwxMSBAQCBpbnRlbF9kcF9zZXRfZWRpZChzdHJ1Y3QgaW50ZWxfZHAgKmludGVs X2RwKQogc3RhdGljIHZvaWQKIGludGVsX2RwX3Vuc2V0X2VkaWQoc3RydWN0IGludGVsX2RwICpp bnRlbF9kcCkKIHsKLQlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3IgPSBp bnRlbF9kcC0+YXR0YWNoZWRfY29ubmVjdG9yOworCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNv bm5lY3RvciA9IGludGVsX2RwLT5hdHRhY2hlZF9jb25uZWN0b3I7CiAKIAlkcm1fZHBfY2VjX3Vu c2V0X2VkaWQoJmludGVsX2RwLT5hdXgpOwotCWtmcmVlKGludGVsX2Nvbm5lY3Rvci0+ZGV0ZWN0 X2VkaWQpOwotCWludGVsX2Nvbm5lY3Rvci0+ZGV0ZWN0X2VkaWQgPSBOVUxMOworCWtmcmVlKGNv bm5lY3Rvci0+ZGV0ZWN0X2VkaWQpOworCWNvbm5lY3Rvci0+ZGV0ZWN0X2VkaWQgPSBOVUxMOwog CiAJaW50ZWxfZHAtPmhhc19oZG1pX3NpbmsgPSBmYWxzZTsKIAlpbnRlbF9kcC0+aGFzX2F1ZGlv ID0gZmFsc2U7CkBAIC01Nzk2LDYgKzU4NzQsOSBAQCBpbnRlbF9kcF91bnNldF9lZGlkKHN0cnVj dCBpbnRlbF9kcCAqaW50ZWxfZHApCiAJaW50ZWxfZHAtPmRmcC5tYXhfZG90Y2xvY2sgPSAwOwog CWludGVsX2RwLT5kZnAubWluX3RtZHNfY2xvY2sgPSAwOwogCWludGVsX2RwLT5kZnAubWF4X3Rt ZHNfY2xvY2sgPSAwOworCisJaW50ZWxfZHAtPmRmcC55Y2Jjcl80NDRfdG9fNDIwID0gZmFsc2U7 CisJY29ubmVjdG9yLT5iYXNlLnljYmNyXzQyMF9hbGxvd2VkID0gZmFsc2U7CiB9CiAKIHN0YXRp YyBpbnQKQEAgLTc3MDMsOSArNzc4NCw2IEBAIGludGVsX2RwX2luaXRfY29ubmVjdG9yKHN0cnVj dCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAogCQljb25uZWN0b3ItPmludGVy bGFjZV9hbGxvd2VkID0gdHJ1ZTsKIAljb25uZWN0b3ItPmRvdWJsZXNjYW5fYWxsb3dlZCA9IDA7 CiAKLQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMSkKLQkJY29ubmVjdG9yLT55Y2Jjcl80 MjBfYWxsb3dlZCA9IHRydWU7Ci0KIAlpbnRlbF9lbmNvZGVyLT5ocGRfcGluID0gaW50ZWxfaHBk X3Bpbl9kZWZhdWx0KGRldl9wcml2LCBwb3J0KTsKIAogCWludGVsX2RwX2F1eF9pbml0KGludGVs X2RwKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfaGRt aS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmMKaW5kZXggZDYz MjZhNGE0YTlhLi45ZTAzMTZmNmViM2YgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfaGRtaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfaGRtaS5jCkBAIC0yMjE5LDcgKzIyMTksNyBAQCBpbnRlbF9oZG1pX21vZGVfdmFsaWQo c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIH0KIAogYm9vbCBpbnRlbF9oZG1pX2Rl ZXBfY29sb3JfcG9zc2libGUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3Rh dGUsCi0JCQkJICAgIGludCBicGMsIGJvb2wgaGFzX2hkbWlfc2luaykKKwkJCQkgICAgaW50IGJw YywgYm9vbCBoYXNfaGRtaV9zaW5rLCBib29sIHljYmNyNDIwX291dHB1dCkKIHsKIAlzdHJ1Y3Qg ZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUgPSBjcnRjX3N0YXRlLT51YXBpLnN0YXRlOwogCXN0cnVj dCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uZWN0b3Jfc3RhdGU7CkBAIC0yMjM4LDcgKzIyMzgs NyBAQCBib29sIGludGVsX2hkbWlfZGVlcF9jb2xvcl9wb3NzaWJsZShjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJaWYgKGNvbm5lY3Rvcl9zdGF0ZS0+Y3J0YyAh PSBjcnRjX3N0YXRlLT51YXBpLmNydGMpCiAJCQljb250aW51ZTsKIAotCQlpZiAoY3J0Y19zdGF0 ZS0+b3V0cHV0X2Zvcm1hdCA9PSBJTlRFTF9PVVRQVVRfRk9STUFUX1lDQkNSNDIwKSB7CisJCWlm ICh5Y2JjcjQyMF9vdXRwdXQpIHsKIAkJCWNvbnN0IHN0cnVjdCBkcm1faGRtaV9pbmZvICpoZG1p ID0gJmluZm8tPmhkbWk7CiAKIAkJCWlmIChicGMgPT0gMTIgJiYgIShoZG1pLT55NDIwX2RjX21v ZGVzICYKQEAgLTIyODksNyArMjI4OSw5IEBAIHN0YXRpYyBib29sIGhkbWlfZGVlcF9jb2xvcl9w b3NzaWJsZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJcmV0 dXJuIGZhbHNlOwogCiAJcmV0dXJuIGludGVsX2hkbWlfZGVlcF9jb2xvcl9wb3NzaWJsZShjcnRj X3N0YXRlLCBicGMsCi0JCQkJCSAgICAgIGNydGNfc3RhdGUtPmhhc19oZG1pX3NpbmspOworCQkJ CQkgICAgICBjcnRjX3N0YXRlLT5oYXNfaGRtaV9zaW5rLAorCQkJCQkgICAgICBjcnRjX3N0YXRl LT5vdXRwdXRfZm9ybWF0ID09CisJCQkJCSAgICAgIElOVEVMX09VVFBVVF9GT1JNQVRfWUNCQ1I0 MjApOwogfQogCiBzdGF0aWMgYm9vbApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9oZG1pLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVs X2hkbWkuaAppbmRleCBiZDU4YzkyOWY4MTYuLjUyY2VhOGJlYWZiYiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmgKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZG1pLmgKQEAgLTQ4LDcgKzQ4LDcgQEAgdm9pZCBpbnRl bF9yZWFkX2luZm9mcmFtZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKIAkJCSAgY29u c3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCiAJCQkgIGVudW0gaGRtaV9p bmZvZnJhbWVfdHlwZSB0eXBlLAogCQkJICB1bmlvbiBoZG1pX2luZm9mcmFtZSAqZnJhbWUpOwot Ym9vbCBpbnRlbF9oZG1pX2RlZXBfY29sb3JfcG9zc2libGUoY29uc3Qgc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmNydGNfc3RhdGUsCi0JCQkJICAgIGludCBicGMsIGJvb2wgaGFzX2hkbWlfc2lu ayk7Citib29sIGludGVsX2hkbWlfZGVlcF9jb2xvcl9wb3NzaWJsZShjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwgaW50IGJwYywKKwkJCQkgICAgYm9vbCBoYXNfaGRt aV9zaW5rLCBib29sIHljYmNyNDIwX291dHB1dCk7CiAKICNlbmRpZiAvKiBfX0lOVEVMX0hETUlf SF9fICovCi0tIAoyLjI0LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeAo=