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=-16.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,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 15673C433E6 for ; Mon, 21 Dec 2020 01:57:57 +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 C351B2151B for ; Mon, 21 Dec 2020 01:57:56 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C351B2151B Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=ideasonboard.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 A24E16E428; Mon, 21 Dec 2020 01:57:50 +0000 (UTC) Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7AE9B6E424 for ; Mon, 21 Dec 2020 01:57:46 +0000 (UTC) Received: from pendragon.lan (62-78-145-57.bb.dnainternet.fi [62.78.145.57]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 58C321457; Mon, 21 Dec 2020 02:57:43 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1608515863; bh=tg+IDin+RFm8KGmiXvjImgT/yQC6TlUjmur5PF6sNQI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=m2StcW0AcPWUZK4PDm90hwtaT33PwhyN6DmbWimehY0lGN61nvJZQhRjI2e082Mj5 HFnea1aDlOPLQq11vrYd0VFk+k/7ZEHfOczOztsT86+tPRyrYLFLSzkk/iexEIKiBc VndseK1jSUslpd0OyQyBAHyI9AuNe3sqPAsoY2OU= From: Laurent Pinchart To: dri-devel@lists.freedesktop.org Subject: [PATCH 3/4] drm: Extend color correction to support 3D-CLU Date: Mon, 21 Dec 2020 03:57:29 +0200 Message-Id: <20201221015730.28333-4-laurent.pinchart+renesas@ideasonboard.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20201221015730.28333-1-laurent.pinchart+renesas@ideasonboard.com> References: <20201221015730.28333-1-laurent.pinchart+renesas@ideasonboard.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: Kieran Bingham , linux-renesas-soc@vger.kernel.org, Kieran Bingham Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" RnJvbTogS2llcmFuIEJpbmdoYW0gPGtpZXJhbi5iaW5naGFtK3JlbmVzYXNAaWRlYXNvbmJvYXJk LmNvbT4KCkV4dGVuZCB0aGUgZXhpc3RpbmcgY29sb3IgbWFuYWdlbWVudCBwcm9wZXJ0aWVzIHRv IHN1cHBvcnQgcHJvdmlzaW9uCm9mIGEgM0QgY3ViaWMgbG9vayB1cCB0YWJsZSwgYWxsb3dpbmcg Zm9yIGNvbG9yIHNwZWNpZmljIGFkanVzdG1lbnRzLgoKU2lnbmVkLW9mZi1ieTogS2llcmFuIEJp bmdoYW0gPGtpZXJhbi5iaW5naGFtK3JlbmVzYXNAaWRlYXNvbmJvYXJkLmNvbT4KQ28tZGV2ZWxv cGVkLWJ5OiBMYXVyZW50IFBpbmNoYXJ0IDxsYXVyZW50LnBpbmNoYXJ0K3JlbmVzYXNAaWRlYXNv bmJvYXJkLmNvbT4KU2lnbmVkLW9mZi1ieTogTGF1cmVudCBQaW5jaGFydCA8bGF1cmVudC5waW5j aGFydCtyZW5lc2FzQGlkZWFzb25ib2FyZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9h dG9taWNfaGVscGVyLmMgICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19z dGF0ZV9oZWxwZXIuYyB8ICAzICsrCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMg ICAgICAgICB8IDEwICsrKysrKwogZHJpdmVycy9ncHUvZHJtL2RybV9jb2xvcl9tZ210LmMgICAg ICAgICAgfCA0MSArKysrKysrKysrKysrKysrKysrLS0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9t b2RlX2NvbmZpZy5jICAgICAgICAgfCAxNCArKysrKysrKwogaW5jbHVkZS9kcm0vZHJtX2NydGMu aCAgICAgICAgICAgICAgICAgICAgfCAgOSArKysrKwogaW5jbHVkZS9kcm0vZHJtX21vZGVfY29u ZmlnLmggICAgICAgICAgICAgfCAxMSArKysrKysKIDcgZmlsZXMgY2hhbmdlZCwgODIgaW5zZXJ0 aW9ucygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJt X2F0b21pY19oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCmlu ZGV4IGJhMTUwNzAzNmYyNi4uMGY1NDg5N2QzYzhkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vZHJtX2F0b21pY19oZWxwZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19o ZWxwZXIuYwpAQCAtMzU1OCw2ICszNTU4LDcgQEAgaW50IGRybV9hdG9taWNfaGVscGVyX2xlZ2Fj eV9nYW1tYV9zZXQoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCXJlcGxhY2VkICA9IGRybV9wcm9w ZXJ0eV9yZXBsYWNlX2Jsb2IoJmNydGNfc3RhdGUtPmRlZ2FtbWFfbHV0LCBOVUxMKTsKIAlyZXBs YWNlZCB8PSBkcm1fcHJvcGVydHlfcmVwbGFjZV9ibG9iKCZjcnRjX3N0YXRlLT5jdG0sIE5VTEwp OwogCXJlcGxhY2VkIHw9IGRybV9wcm9wZXJ0eV9yZXBsYWNlX2Jsb2IoJmNydGNfc3RhdGUtPmdh bW1hX2x1dCwgYmxvYik7CisJcmVwbGFjZWQgfD0gZHJtX3Byb3BlcnR5X3JlcGxhY2VfYmxvYigm Y3J0Y19zdGF0ZS0+Y3ViaWNfbHV0LCBOVUxMKTsKIAljcnRjX3N0YXRlLT5jb2xvcl9tZ210X2No YW5nZWQgfD0gcmVwbGFjZWQ7CiAKIAlyZXQgPSBkcm1fYXRvbWljX2NvbW1pdChzdGF0ZSk7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19zdGF0ZV9oZWxwZXIuYyBiL2Ry aXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3N0YXRlX2hlbHBlci5jCmluZGV4IGRkY2Y1YzJjOGU2 YS4uNjFjNjg1YjUwNjc3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19z dGF0ZV9oZWxwZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19zdGF0ZV9oZWxw ZXIuYwpAQCAtMTQxLDYgKzE0MSw4IEBAIHZvaWQgX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX2R1 cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCWRybV9wcm9wZXJ0eV9ibG9i X2dldChzdGF0ZS0+Y3RtKTsKIAlpZiAoc3RhdGUtPmdhbW1hX2x1dCkKIAkJZHJtX3Byb3BlcnR5 X2Jsb2JfZ2V0KHN0YXRlLT5nYW1tYV9sdXQpOworCWlmIChzdGF0ZS0+Y3ViaWNfbHV0KQorCQlk cm1fcHJvcGVydHlfYmxvYl9nZXQoc3RhdGUtPmN1YmljX2x1dCk7CiAJc3RhdGUtPm1vZGVfY2hh bmdlZCA9IGZhbHNlOwogCXN0YXRlLT5hY3RpdmVfY2hhbmdlZCA9IGZhbHNlOwogCXN0YXRlLT5w bGFuZXNfY2hhbmdlZCA9IGZhbHNlOwpAQCAtMjEzLDYgKzIxNSw3IEBAIHZvaWQgX19kcm1fYXRv bWljX2hlbHBlcl9jcnRjX2Rlc3Ryb3lfc3RhdGUoc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0 ZSkKIAlkcm1fcHJvcGVydHlfYmxvYl9wdXQoc3RhdGUtPmRlZ2FtbWFfbHV0KTsKIAlkcm1fcHJv cGVydHlfYmxvYl9wdXQoc3RhdGUtPmN0bSk7CiAJZHJtX3Byb3BlcnR5X2Jsb2JfcHV0KHN0YXRl LT5nYW1tYV9sdXQpOworCWRybV9wcm9wZXJ0eV9ibG9iX3B1dChzdGF0ZS0+Y3ViaWNfbHV0KTsK IH0KIEVYUE9SVF9TWU1CT0woX19kcm1fYXRvbWljX2hlbHBlcl9jcnRjX2Rlc3Ryb3lfc3RhdGUp OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMKaW5kZXggMjY4YmI2OWMyZTJmLi4wNzIyOWFj YWI3MWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmMKQEAgLTQ3MSw2ICs0NzEsMTQgQEAg c3RhdGljIGludCBkcm1fYXRvbWljX2NydGNfc2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fY3J0YyAq Y3J0YywKIAkJCQkJJnJlcGxhY2VkKTsKIAkJc3RhdGUtPmNvbG9yX21nbXRfY2hhbmdlZCB8PSBy ZXBsYWNlZDsKIAkJcmV0dXJuIHJldDsKKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+ Y3ViaWNfbHV0X3Byb3BlcnR5KSB7CisJCXJldCA9IGRybV9hdG9taWNfcmVwbGFjZV9wcm9wZXJ0 eV9ibG9iX2Zyb21faWQoZGV2LAorCQkJCQkmc3RhdGUtPmN1YmljX2x1dCwKKwkJCQkJdmFsLAor CQkJCQktMSwgc2l6ZW9mKHN0cnVjdCBkcm1fY29sb3JfbHV0KSwKKwkJCQkJJnJlcGxhY2VkKTsK KwkJc3RhdGUtPmNvbG9yX21nbXRfY2hhbmdlZCB8PSByZXBsYWNlZDsKKwkJcmV0dXJuIHJldDsK IAl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+cHJvcF9vdXRfZmVuY2VfcHRyKSB7CiAJ CXMzMiBfX3VzZXIgKmZlbmNlX3B0ciA9IHU2NF90b191c2VyX3B0cih2YWwpOwogCkBAIC01MTYs NiArNTI0LDggQEAgZHJtX2F0b21pY19jcnRjX2dldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2NydGMg KmNydGMsCiAJCSp2YWwgPSAoc3RhdGUtPmN0bSkgPyBzdGF0ZS0+Y3RtLT5iYXNlLmlkIDogMDsK IAllbHNlIGlmIChwcm9wZXJ0eSA9PSBjb25maWctPmdhbW1hX2x1dF9wcm9wZXJ0eSkKIAkJKnZh bCA9IChzdGF0ZS0+Z2FtbWFfbHV0KSA/IHN0YXRlLT5nYW1tYV9sdXQtPmJhc2UuaWQgOiAwOwor CWVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+Y3ViaWNfbHV0X3Byb3BlcnR5KQorCQkqdmFs ID0gKHN0YXRlLT5jdWJpY19sdXQpID8gc3RhdGUtPmN1YmljX2x1dC0+YmFzZS5pZCA6IDA7CiAJ ZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5wcm9wX291dF9mZW5jZV9wdHIpCiAJCSp2YWwg PSAwOwogCWVsc2UgaWYgKHByb3BlcnR5ID09IGNydGMtPnNjYWxpbmdfZmlsdGVyX3Byb3BlcnR5 KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb2xvcl9tZ210LmMgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2NvbG9yX21nbXQuYwppbmRleCAzYmNhYmMyZjZlMGUuLjg1YmJiYzhjZThl NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb2xvcl9tZ210LmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2RybV9jb2xvcl9tZ210LmMKQEAgLTMzLDcgKzMzLDcgQEAKIC8qKgogICog RE9DOiBvdmVydmlldwogICoKLSAqIENvbG9yIG1hbmFnZW1lbnQgb3IgY29sb3Igc3BhY2UgYWRq dXN0bWVudHMgaXMgc3VwcG9ydGVkIHRocm91Z2ggYSBzZXQgb2YgNQorICogQ29sb3IgbWFuYWdl bWVudCBvciBjb2xvciBzcGFjZSBhZGp1c3RtZW50cyBpcyBzdXBwb3J0ZWQgdGhyb3VnaCBhIHNl dCBvZiA3CiAgKiBwcm9wZXJ0aWVzIG9uIHRoZSAmZHJtX2NydGMgb2JqZWN0LiBUaGV5IGFyZSBz ZXQgdXAgYnkgY2FsbGluZwogICogZHJtX2NydGNfZW5hYmxlX2NvbG9yX21nbXQoKS4KICAqCkBA IC02MCw3ICs2MCw3IEBACiAgKiDigJxDVE3igJ06CiAgKglCbG9iIHByb3BlcnR5IHRvIHNldCB0 aGUgY3VycmVudCB0cmFuc2Zvcm1hdGlvbiBtYXRyaXggKENUTSkgYXBwbHkgdG8KICAqCXBpeGVs IGRhdGEgYWZ0ZXIgdGhlIGxvb2t1cCB0aHJvdWdoIHRoZSBkZWdhbW1hIExVVCBhbmQgYmVmb3Jl IHRoZQotICoJbG9va3VwIHRocm91Z2ggdGhlIGdhbW1hIExVVC4gVGhlIGRhdGEgaXMgaW50ZXJw cmV0ZWQgYXMgYSBzdHJ1Y3QKKyAqCWxvb2t1cCB0aHJvdWdoIHRoZSBjdWJpYyBMVVQuIFRoZSBk YXRhIGlzIGludGVycHJldGVkIGFzIGEgc3RydWN0CiAgKgkmZHJtX2NvbG9yX2N0bS4KICAqCiAg KglTZXR0aW5nIHRoaXMgdG8gTlVMTCAoYmxvYiBwcm9wZXJ0eSB2YWx1ZSBzZXQgdG8gMCkgbWVh bnMgYQpAQCAtNjgsMTMgKzY4LDQwIEBACiAgKglib290LXVwIHN0YXRlIHRvby4gRHJpdmVycyBj YW4gYWNjZXNzIHRoZSBibG9iIGZvciB0aGUgY29sb3IgY29udmVyc2lvbgogICoJbWF0cml4IHRo cm91Z2ggJmRybV9jcnRjX3N0YXRlLmN0bS4KICAqCisgKiDigJ1DVUJJQ19MVVTigJ06CisgKglC bG9iIHByb3BlcnR5IHRvIHNldCB0aGUgY3ViaWMgKDNEKSBsb29rdXAgdGFibGUgcGVyZm9ybWlu ZyBjb2xvcgorICoJbWFwcGluZyBhZnRlciB0aGUgdHJhbnNmb3JtYXRpb24gbWF0cml4IGFuZCBi ZWZvcmUgdGhlIGxvb2t1cCB0aHJvdWdoCisgKgl0aGUgZ2FtbWEgTFVULiBVbmxpa2UgdGhlIGRl Z2FtbWEgYW5kIGdhbW1hIExVVHMgdGhhdCBtYXAgY29sb3IKKyAqCWNvbXBvbmVudHMgaW5kZXBl bmRlbnRseSwgdGhlIDNEIExVVCBjb252ZXJ0cyBhbiBpbnB1dCBjb2xvciB0byBhbgorICoJb3V0 cHV0IGNvbG9yIGJ5IGluZGV4aW5nIGludG8gdGhlIDNEIHRhYmxlIHVzaW5nIHRoZSBjb2xvciBj b21wb25lbnRzCisgKglhcyBhIDNEIGNvb3JkaW5hdGUuIFRoZSBMVVQgaXMgc3Vic2FtcGxlZCBh cyA4LWJpdCAob3IgbW9yZSkgcHJlY2lzaW9uCisgKgl3b3VsZCByZXF1aXJlIHRvbyBtdWNoIHN0 b3JhZ2Ugc3BhY2UgaW4gdGhlIGhhcmR3YXJlLCBzbyB0aGUgcHJlY2lzaW9uCisgKglvZiB0aGUg Y29sb3IgY29tcG9uZW50cyBpcyByZWR1Y2VkIGJlZm9yZSB0aGUgbG9vayB1cCwgYW5kIHRoZSBs b3cKKyAqCW9yZGVyIGJpdHMgbWF5IGJlIHVzZWQgdG8gaW50ZXJwb2xhdGUgYmV0d2VlbiB0aGUg bmVhcmVzdCBwb2ludHMgaW4gM0QKKyAqCXNwYWNlLgorICoKKyAqCVRoZSBkYXRhIGlzIGludGVy cHJldGVkIGFzIGFuIGFycmF5IG9mICZzdHJ1Y3QgZHJtX2NvbG9yX2x1dCBlbGVtZW50cy4KKyAq CUhhcmR3YXJlIG1pZ2h0IGNob29zZSBub3QgdG8gdXNlIHRoZSBmdWxsIHByZWNpc2lvbiBvZiB0 aGUgTFVUCisgKgllbGVtZW50cy4KKyAqCisgKglTZXR0aW5nIHRoaXMgdG8gTlVMTCAoYmxvYiBw cm9wZXJ0eSB2YWx1ZSBzZXQgdG8gMCkgbWVhbnMgdGhlIG91dHB1dAorICoJY29sb3IgaXMgaWRl bnRpY2FsIHRvIHRoZSBpbnB1dCBjb2xvci4gVGhpcyBpcyBnZW5lcmFsbHkgdGhlIGRyaXZlcgor ICoJYm9vdC11cCBzdGF0ZSB0b28uIERyaXZlcnMgY2FuIGFjY2VzcyB0aGlzIGJsb2IgdGhyb3Vn aAorICoJJmRybV9jcnRjX3N0YXRlLmN1YmljX2x1dC4KKyAqCisgKiDigJ1DVUJJQ19MVVRfU0la ReKAnToKKyAqCVVuc2lnbmVkIHJhbmdlIHByb3BlcnR5IHRvIGdpdmUgdGhlIHNpemUgb2YgdGhl IGxvb2t1cCB0YWJsZSB0byBiZSBzZXQKKyAqCW9uIHRoZSBDVUJJQ19MVVQgcHJvcGVydHkgKHRo ZSBzaXplIGRlcGVuZHMgb24gdGhlIHVuZGVybHlpbmcgaGFyZHdhcmUpLgorICoJSWYgZHJpdmVy cyBzdXBwb3J0IG11bHRpcGxlIExVVCBzaXplcyB0aGVuIHRoZXkgc2hvdWxkIHB1Ymxpc2ggdGhl CisgKglsYXJnZXN0IHNpemUsIGFuZCBzdWItc2FtcGxlIHNtYWxsZXIgc2l6ZWQgTFVUcyBhcHBy b3ByaWF0ZWx5LgorICoKICAqIOKAnEdBTU1BX0xVVOKAnToKICAqCUJsb2IgcHJvcGVydHkgdG8g c2V0IHRoZSBnYW1tYSBsb29rdXAgdGFibGUgKExVVCkgbWFwcGluZyBwaXhlbCBkYXRhCi0gKglh ZnRlciB0aGUgdHJhbnNmb3JtYXRpb24gbWF0cml4IHRvIGRhdGEgc2VudCB0byB0aGUgY29ubmVj dG9yLiBUaGUKLSAqCWRhdGEgaXMgaW50ZXJwcmV0ZWQgYXMgYW4gYXJyYXkgb2YgJnN0cnVjdCBk cm1fY29sb3JfbHV0IGVsZW1lbnRzLgotICoJSGFyZHdhcmUgbWlnaHQgY2hvb3NlIG5vdCB0byB1 c2UgdGhlIGZ1bGwgcHJlY2lzaW9uIG9mIHRoZSBMVVQgZWxlbWVudHMKLSAqCW5vciB1c2UgYWxs IHRoZSBlbGVtZW50cyBvZiB0aGUgTFVUIChmb3IgZXhhbXBsZSB0aGUgaGFyZHdhcmUgbWlnaHQK LSAqCWNob29zZSB0byBpbnRlcnBvbGF0ZSBiZXR3ZWVuIExVVFswXSBhbmQgTFVUWzRdKS4KKyAq CWFmdGVyIHRoZSBjdWJpYyBMVVQgdG8gZGF0YSBzZW50IHRvIHRoZSBjb25uZWN0b3IuIFRoZSBk YXRhIGlzCisgKglpbnRlcnByZXRlZCBhcyBhbiBhcnJheSBvZiAmc3RydWN0IGRybV9jb2xvcl9s dXQgZWxlbWVudHMuIEhhcmR3YXJlCisgKgltaWdodCBjaG9vc2Ugbm90IHRvIHVzZSB0aGUgZnVs bCBwcmVjaXNpb24gb2YgdGhlIExVVCBlbGVtZW50cyBub3IgdXNlCisgKglhbGwgdGhlIGVsZW1l bnRzIG9mIHRoZSBMVVQgKGZvciBleGFtcGxlIHRoZSBoYXJkd2FyZSBtaWdodCBjaG9vc2UgdG8K KyAqCWludGVycG9sYXRlIGJldHdlZW4gTFVUWzBdIGFuZCBMVVRbNF0pLgogICoKICAqCVNldHRp bmcgdGhpcyB0byBOVUxMIChibG9iIHByb3BlcnR5IHZhbHVlIHNldCB0byAwKSBtZWFucyBhCiAg KglsaW5lYXIvcGFzcy10aHJ1IGdhbW1hIHRhYmxlIHNob3VsZCBiZSB1c2VkLiBUaGlzIGlzIGdl bmVyYWxseSB0aGUKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZV9jb25maWcu YyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZV9jb25maWcuYwppbmRleCBmMWFmZmMxYmI2Nzku LjZjMzMyNGY2MGU3ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9tb2RlX2NvbmZp Zy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZV9jb25maWcuYwpAQCAtMzY0LDYgKzM2 NCwyMCBAQCBzdGF0aWMgaW50IGRybV9tb2RlX2NyZWF0ZV9zdGFuZGFyZF9wcm9wZXJ0aWVzKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCXJldHVybiAtRU5PTUVNOwogCWRldi0+bW9kZV9jb25m aWcuZ2FtbWFfbHV0X3NpemVfcHJvcGVydHkgPSBwcm9wOwogCisJcHJvcCA9IGRybV9wcm9wZXJ0 eV9jcmVhdGUoZGV2LAorCQkJRFJNX01PREVfUFJPUF9CTE9CLAorCQkJIkNVQklDX0xVVCIsIDAp OworCWlmICghcHJvcCkKKwkJcmV0dXJuIC1FTk9NRU07CisJZGV2LT5tb2RlX2NvbmZpZy5jdWJp Y19sdXRfcHJvcGVydHkgPSBwcm9wOworCisJcHJvcCA9IGRybV9wcm9wZXJ0eV9jcmVhdGVfcmFu Z2UoZGV2LAorCQkJRFJNX01PREVfUFJPUF9JTU1VVEFCTEUsCisJCQkiQ1VCSUNfTFVUX1NJWkUi LCAwLCBVSU5UX01BWCk7CisJaWYgKCFwcm9wKQorCQlyZXR1cm4gLUVOT01FTTsKKwlkZXYtPm1v ZGVfY29uZmlnLmN1YmljX2x1dF9zaXplX3Byb3BlcnR5ID0gcHJvcDsKKwogCXByb3AgPSBkcm1f cHJvcGVydHlfY3JlYXRlKGRldiwKIAkJCQkgICBEUk1fTU9ERV9QUk9QX0lNTVVUQUJMRSB8IERS TV9NT0RFX1BST1BfQkxPQiwKIAkJCQkgICAiSU5fRk9STUFUUyIsIDApOwpkaWZmIC0tZ2l0IGEv aW5jbHVkZS9kcm0vZHJtX2NydGMuaCBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKaW5kZXggNWY0 M2Q2NGQyYTA3Li5kZjVjYzIyMzlhZGIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9jcnRj LmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX2NydGMuaApAQCAtMjg4LDYgKzI4OCwxNSBAQCBzdHJ1 Y3QgZHJtX2NydGNfc3RhdGUgewogCSAqLwogCXN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqZ2Ft bWFfbHV0OwogCisJLyoqCisJICogQGN1YmljX2x1dDoKKwkgKgorCSAqIEN1YmljIExvb2t1cCB0 YWJsZSBmb3IgY29udmVydGluZyBwaXhlbCBkYXRhLiBTZWUKKwkgKiBkcm1fY3J0Y19lbmFibGVf Y29sb3JfbWdtdCgpLiBUaGUgYmxvYiAoaWYgbm90IE5VTEwpIGlzIGEgM0QgYXJyYXkKKwkgKiBv ZiAmc3RydWN0IGRybV9jb2xvcl9sdXQuCisJICovCisJc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9i ICpjdWJpY19sdXQ7CisKIAkvKioKIAkgKiBAdGFyZ2V0X3ZibGFuazoKIAkgKgpkaWZmIC0tZ2l0 IGEvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmggYi9pbmNsdWRlL2RybS9kcm1fbW9kZV9j b25maWcuaAppbmRleCBhYjQyNGRkZDc2NjUuLjhlZGIwMDk0ZTVhNyAxMDA2NDQKLS0tIGEvaW5j bHVkZS9kcm0vZHJtX21vZGVfY29uZmlnLmgKKysrIGIvaW5jbHVkZS9kcm0vZHJtX21vZGVfY29u ZmlnLmgKQEAgLTgwMCw2ICs4MDAsMTcgQEAgc3RydWN0IGRybV9tb2RlX2NvbmZpZyB7CiAJICov CiAJc3RydWN0IGRybV9wcm9wZXJ0eSAqZ2FtbWFfbHV0X3NpemVfcHJvcGVydHk7CiAKKwkvKioK KwkgKiBAY3ViaWNfbHV0X3Byb3BlcnR5OiBPcHRpb25hbCBDUlRDIHByb3BlcnR5IHRvIHNldCB0 aGUgM0QgTFVUIHVzZWQgdG8KKwkgKiBjb252ZXJ0IGNvbG9yIHNwYWNlcy4KKwkgKi8KKwlzdHJ1 Y3QgZHJtX3Byb3BlcnR5ICpjdWJpY19sdXRfcHJvcGVydHk7CisJLyoqCisJICogQGN1YmljX2x1 dF9zaXplX3Byb3BlcnR5OiBPcHRpb25hbCBDUlRDIHByb3BlcnR5IGZvciB0aGUgc2l6ZSBvZiB0 aGUKKwkgKiAzRCBMVVQgYXMgc3VwcG9ydGVkIGJ5IHRoZSBkcml2ZXIgKHJlYWQtb25seSkuCisJ ICovCisJc3RydWN0IGRybV9wcm9wZXJ0eSAqY3ViaWNfbHV0X3NpemVfcHJvcGVydHk7CisKIAkv KioKIAkgKiBAc3VnZ2VzdGVkX3hfcHJvcGVydHk6IE9wdGlvbmFsIGNvbm5lY3RvciBwcm9wZXJ0 eSB3aXRoIGEgaGludCBmb3IKIAkgKiB0aGUgcG9zaXRpb24gb2YgdGhlIG91dHB1dCBvbiB0aGUg aG9zdCdzIHNjcmVlbi4KLS0gClJlZ2FyZHMsCgpMYXVyZW50IFBpbmNoYXJ0CgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBs aXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK