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 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 56950CD4F21 for ; Wed, 13 May 2026 19:21:10 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id B849010ED2C; Wed, 13 May 2026 19:21:09 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=ragnatech.se header.i=@ragnatech.se header.b="ron3m7lL"; dkim=pass (2048-bit key; unprotected) header.d=messagingengine.com header.i=@messagingengine.com header.b="i5WzK42O"; dkim-atps=neutral Received: from fout-a8-smtp.messagingengine.com (fout-a8-smtp.messagingengine.com [103.168.172.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id A80AE10F01F for ; Wed, 13 May 2026 19:21:07 +0000 (UTC) Received: from phl-compute-06.internal (phl-compute-06.internal [10.202.2.46]) by mailfout.phl.internal (Postfix) with ESMTP id 378D9EC00D7; Wed, 13 May 2026 15:11:50 -0400 (EDT) Received: from phl-frontend-04 ([10.202.2.163]) by phl-compute-06.internal (MEProxy); Wed, 13 May 2026 15:11:50 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ragnatech.se; h= cc:cc:content-transfer-encoding:content-type:content-type:date :date:from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to; s=fm2; t=1778699510; x=1778785910; bh=IMiTolzI/z84pa6E563G2cQo6bO9Q+x/ya5iPnM63iU=; b= ron3m7lLO4wF5u+0kYddL6j1mJmPJtsnv8Icv6T64E1ZA/kDx2crRbz9UC2MGBIR XecVvo+ltsjwyLiWlnTlpGUGoOnlkG2/wid8Jiix0A374kodKwU14/yPKUvOCK4R d0ACRnc3Yus0rAtUziwXtrpo7JWP9FBGFUyDYtqniL4EwHNj+knAjNpGXmzR1pZO gEpCk8FA9iu9IWJNzMMAa2vLoZdSNg/LyODNxBQMlgHrMKyKZ3oHTKK7WdhZyHa5 iHxlr27lgfpEuvTr+ehtukM0Wn08nL6fs6I0jmBZwrF1GXOUJMA2xorYvB4YjSTy D+IwPwaj/LTCMR18gG6bhg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-transfer-encoding :content-type:content-type:date:date:feedback-id:feedback-id :from:from:in-reply-to:in-reply-to:message-id:mime-version :references:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t=1778699510; x= 1778785910; bh=IMiTolzI/z84pa6E563G2cQo6bO9Q+x/ya5iPnM63iU=; b=i 5WzK42OpzeRFjBXLOfh6BXtaCGX8cH9qoRdC6L6L4vbgoDtpt7Ln2cl8POK+7/v3 TGLeLsMLftk8ctJNR2yBnnTVpmTqAaRoLOOsu8J3Cq52W61IgwrPIxHMWd/DApfx mFpUZnwnrE3XSe1EoUP4anuKkjGTZu2p0HEMN/KI6MEpBfrYJoRMy2JWIievNV9+ x0dM/r0YzuLrsreZAhYv3DUUxwqBGblE128bpRjC1g2QfPiRZpLtCLy21AYPAWOU NwfmSJcBjnATyYZe9WrRfz3uZzP7AiFTAfCc97MKv0U6vDVgSKU2Nr9T1w7dZyM3 hyNcOnqm3JG5G+k9cB24Q== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefhedrtddtgdduvdehgeeiucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujf gurhepfffhvfevuffkfhggtggugfgjsehtkeertddttdejnecuhfhrohhmpefpihhklhgr shcuufpnuggvrhhluhhnugcuoehnihhklhgrshdrshhouggvrhhluhhnugesrhgrghhnrg htvggthhdrshgvqeenucggtffrrghtthgvrhhnpeevteegtddvvdfhtdekgefhfeefheet heekkeegfeejudeiudeuleegtdehkeekteenucevlhhushhtvghrufhiiigvpedtnecurf grrhgrmhepmhgrihhlfhhrohhmpehnihhklhgrshdrshhouggvrhhluhhnugesrhgrghhn rghtvggthhdrshgvpdhnsggprhgtphhtthhopeelpdhmohguvgepshhmthhpohhuthdprh gtphhtthhopehlrghurhgvnhhtrdhpihhntghhrghrthdorhgvnhgvshgrshesihguvggr shhonhgsohgrrhgurdgtohhmpdhrtghpthhtoheplhhinhhugidqmhgvughirgesvhhgvg hrrdhkvghrnhgvlhdrohhrghdprhgtphhtthhopegurhhiqdguvghvvghlsehlihhsthhs rdhfrhgvvgguvghskhhtohhprdhorhhgpdhrtghpthhtoheplhhinhhugidqrhgvnhgvsh grshdqshhotgesvhhgvghrrdhkvghrnhgvlhdrohhrghdprhgtphhtthhopehtohhmihdr vhgrlhhkvghinhgvnhesihguvggrshhonhgsohgrrhgurdgtohhmpdhrtghpthhtohepkh hivghrrghnrdgsihhnghhhrghmsehiuggvrghsohhnsghorghrugdrtghomhdprhgtphht thhopegsihhjuhdruggrshdrjhiisegsphdrrhgvnhgvshgrshdrtghomhdprhgtphhtth hopegrihhrlhhivggusehgmhgrihhlrdgtohhmpdhrtghpthhtohepshhimhhonhgrsehf fhiflhhlrdgthh X-ME-Proxy: Feedback-ID: i80c9496c:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Wed, 13 May 2026 15:11:49 -0400 (EDT) Date: Wed, 13 May 2026 21:11:48 +0200 From: Niklas =?utf-8?Q?S=C3=B6derlund?= To: Laurent Pinchart Cc: linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-renesas-soc@vger.kernel.org, Tomi Valkeinen , Kieran Bingham , Biju Das , David Airlie , Simona Vetter Subject: Re: [PATCH 02/11] media: renesas: vsp1: Split vsp1_du_setup_lif() Message-ID: <20260513191148.GE332351@ragnatech.se> References: <20260511235637.3468558-1-laurent.pinchart+renesas@ideasonboard.com> <20260511235637.3468558-3-laurent.pinchart+renesas@ideasonboard.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Disposition: inline Content-Transfer-Encoding: base64 In-Reply-To: <20260511235637.3468558-3-laurent.pinchart+renesas@ideasonboard.com> 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: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" SGkgTGF1cmVudCwKClRoYW5rcyBmb3IgeW91ciBjbGVhbnVwIQoKT24gMjAyNi0wNS0xMiAwMjo1 NjoyNiArMDMwMCwgTGF1cmVudCBQaW5jaGFydCB3cm90ZToKPiBUaGUgdnNwMV9kdV9zZXR1cF9s aWYoKSBmdW5jdGlvbiBpcyB1c2VkIHRvIGNvbmZpZ3VyZSBhbmQgZW5hYmxlIGEKPiBwaXBlbGlu ZSwgYXMgd2VsbCBhcyBkaXNhYmxlIGl0LCBkZXBlbmRpbmcgb24gdGhlIGNmZyBhcmd1bWVudCBi ZWluZyBhCj4gdmFsaWQgcG9pbnRlciBvciBOVUxMLiBUaGlzIGNyZWF0ZXMgYSBjb25mdXNpbmcg QVBJLiBJbXByb3ZlIGl0IGJ5Cj4gc3BsaXR0aW5nIHRoZSBmdW5jdGlvbiBpbiB0d28sIGEgdnNw MV9kdV9lbmFibGUoKSBmdW5jdGlvbiB0byBjb25maWd1cmUKPiBhIHBpcGVsaW5lLCBhbmQgYSB2 c3AxX2R1X2Rpc2FibGUoKSBmdW5jdGlvbiB0byBkaXNhcGxlIGl0Lgo+IAo+IEtlZXAgdnNwMV9k dV9zZXR1cF9saWYoKSBhcyBhbiBpbmxpbmUgd3JhcHBlciBmb3IgZXhpc3RpbmcgY2FsbGVycyBp bgo+IHRoZSBEUk0gc3Vic3lzdGVtLCB0byBzaW1wbGlmeSBtZXJnaW5nLiBUaGUgY2FsbGVycyB3 aWxsIGJlIHVwZGF0ZWQKPiBzZXBhcmF0ZWx5IGFuZCB0aGUgb2xkIEFQSSB3aWxsIHRoZW4gYmUg cmVtb3ZlZC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBMYXVyZW50IFBpbmNoYXJ0IDxsYXVyZW50LnBp bmNoYXJ0K3JlbmVzYXNAaWRlYXNvbmJvYXJkLmNvbT4KClJldmlld2VkLWJ5OiBOaWtsYXMgU8O2 ZGVybHVuZCA8bmlrbGFzLnNvZGVybHVuZCtyZW5lc2FzQHJhZ25hdGVjaC5zZT4KCj4gLS0tCj4g IC4uLi9tZWRpYS9wbGF0Zm9ybS9yZW5lc2FzL3ZzcDEvdnNwMV9kcm0uYyAgICB8IDE0MCArKysr KysrKysrLS0tLS0tLS0KPiAgaW5jbHVkZS9tZWRpYS92c3AxLmggICAgICAgICAgICAgICAgICAg ICAgICAgIHwgIDE0ICstCj4gIDIgZmlsZXMgY2hhbmdlZCwgOTEgaW5zZXJ0aW9ucygrKSwgNjMg ZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vcmVu ZXNhcy92c3AxL3ZzcDFfZHJtLmMgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3JlbmVzYXMvdnNw MS92c3AxX2RybS5jCj4gaW5kZXggNzliODU5NjhiMDYxLi4xZjQzMTg3NDA2NGQgMTAwNjQ0Cj4g LS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9yZW5lc2FzL3ZzcDEvdnNwMV9kcm0uYwo+ICsr KyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vcmVuZXNhcy92c3AxL3ZzcDFfZHJtLmMKPiBAQCAt NjI5LDE0ICs2MjksMTQgQEAgaW50IHZzcDFfZHVfaW5pdChzdHJ1Y3QgZGV2aWNlICpkZXYpCj4g IEVYUE9SVF9TWU1CT0xfR1BMKHZzcDFfZHVfaW5pdCk7Cj4gIAo+ICAvKioKPiAtICogdnNwMV9k dV9zZXR1cF9saWYgLSBTZXR1cCB0aGUgb3V0cHV0IHBhcnQgb2YgdGhlIFZTUCBwaXBlbGluZQo+ ICsgKiB2c3AxX2R1X2VuYWJsZSAtIFNldHVwIGFuZCBlbmFibGUgYSBEVSBwaXBlbGluZQo+ICAg KiBAZGV2OiB0aGUgVlNQIGRldmljZQo+ICAgKiBAcGlwZV9pbmRleDogdGhlIERSTSBwaXBlbGlu ZSBpbmRleAo+ICAgKiBAY2ZnOiB0aGUgTElGIGNvbmZpZ3VyYXRpb24KPiAgICoKPiAgICogQ29u ZmlndXJlIHRoZSBvdXRwdXQgcGFydCBvZiBWU1AgRFJNIHBpcGVsaW5lIGZvciB0aGUgZ2l2ZW4g ZnJhbWUgQGNmZy53aWR0aAo+ICAgKiBhbmQgQGNmZy5oZWlnaHQuIFRoaXMgc2V0cyB1cCBmb3Jt YXRzIG9uIHRoZSBCUnggc291cmNlIHBhZCwgdGhlIFdQRiBzaW5rIGFuZAo+IC0gKiBzb3VyY2Ug cGFkcywgYW5kIHRoZSBMSUYgc2luayBwYWQuCj4gKyAqIHNvdXJjZSBwYWRzLCBhbmQgdGhlIExJ RiBzaW5rIHBhZCwgYW5kIHRoZW4gc3RhcnRzIHRoZSBwaXBlbGluZS4KPiAgICoKPiAgICogVGhl IEBwaXBlX2luZGV4IGFyZ3VtZW50IHNlbGVjdHMgd2hpY2ggRFJNIHBpcGVsaW5lIHRvIHNldHVw LiBUaGUgbnVtYmVyIG9mCj4gICAqIGF2YWlsYWJsZSBwaXBlbGluZXMgZGVwZW5kIG9uIHRoZSBW U1AgaW5zdGFuY2UuCj4gQEAgLTY0OSwxNCArNjQ5LDEzIEBAIEVYUE9SVF9TWU1CT0xfR1BMKHZz cDFfZHVfaW5pdCk7Cj4gICAqCj4gICAqIFJldHVybiAwIG9uIHN1Y2Nlc3Mgb3IgYSBuZWdhdGl2 ZSBlcnJvciBjb2RlIG9uIGZhaWx1cmUuCj4gICAqLwo+IC1pbnQgdnNwMV9kdV9zZXR1cF9saWYo c3RydWN0IGRldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZV9pbmRleCwKPiAtCQkgICAgICBj b25zdCBzdHJ1Y3QgdnNwMV9kdV9saWZfY29uZmlnICpjZmcpCj4gK2ludCB2c3AxX2R1X2VuYWJs ZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBlX2luZGV4LAo+ICsJCSAgIGNv bnN0IHN0cnVjdCB2c3AxX2R1X2xpZl9jb25maWcgKmNmZykKPiAgewo+ICAJc3RydWN0IHZzcDFf ZGV2aWNlICp2c3AxID0gZGV2X2dldF9kcnZkYXRhKGRldik7Cj4gIAlzdHJ1Y3QgdnNwMV9kcm1f cGlwZWxpbmUgKmRybV9waXBlOwo+ICAJc3RydWN0IHZzcDFfcGlwZWxpbmUgKnBpcGU7Cj4gIAl1 bnNpZ25lZCBsb25nIGZsYWdzOwo+IC0JdW5zaWduZWQgaW50IGk7Cj4gIAlpbnQgcmV0Owo+ICAK PiAgCWlmIChwaXBlX2luZGV4ID49IHZzcDEtPmluZm8tPmxpZl9jb3VudCkKPiBAQCAtNjY1LDYw ICs2NjQsNiBAQCBpbnQgdnNwMV9kdV9zZXR1cF9saWYoc3RydWN0IGRldmljZSAqZGV2LCB1bnNp Z25lZCBpbnQgcGlwZV9pbmRleCwKPiAgCWRybV9waXBlID0gJnZzcDEtPmRybS0+cGlwZVtwaXBl X2luZGV4XTsKPiAgCXBpcGUgPSAmZHJtX3BpcGUtPnBpcGU7Cj4gIAo+IC0JaWYgKCFjZmcpIHsK PiAtCQlzdHJ1Y3QgdnNwMV9icnggKmJyeDsKPiAtCj4gLQkJbXV0ZXhfbG9jaygmdnNwMS0+ZHJt LT5sb2NrKTsKPiAtCj4gLQkJYnJ4ID0gdG9fYnJ4KCZwaXBlLT5icngtPnN1YmRldik7Cj4gLQo+ IC0JCS8qCj4gLQkJICogTlVMTCBjb25maWd1cmF0aW9uIG1lYW5zIHRoZSBDUlRDIGlzIGJlaW5n IGRpc2FibGVkLCBzdG9wCj4gLQkJICogdGhlIHBpcGVsaW5lIGFuZCB0dXJuIHRoZSBsaWdodCBv ZmYuCj4gLQkJICovCj4gLQkJcmV0ID0gdnNwMV9waXBlbGluZV9zdG9wKHBpcGUpOwo+IC0JCWlm IChyZXQgPT0gLUVUSU1FRE9VVCkKPiAtCQkJZGV2X2Vycih2c3AxLT5kZXYsICJEUk0gcGlwZWxp bmUgc3RvcCB0aW1lb3V0XG4iKTsKPiAtCj4gLQkJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUo cGlwZS0+aW5wdXRzKTsgKytpKSB7Cj4gLQkJCXN0cnVjdCB2c3AxX3J3cGYgKnJwZiA9IHBpcGUt PmlucHV0c1tpXTsKPiAtCj4gLQkJCWlmICghcnBmKQo+IC0JCQkJY29udGludWU7Cj4gLQo+IC0J CQkvKgo+IC0JCQkgKiBSZW1vdmUgdGhlIFJQRiBmcm9tIHRoZSBwaXBlIGFuZCB0aGUgbGlzdCBv ZiBCUngKPiAtCQkJICogaW5wdXRzLgo+IC0JCQkgKi8KPiAtCQkJV0FSTl9PTighcnBmLT5lbnRp dHkucGlwZSk7Cj4gLQkJCXJwZi0+ZW50aXR5LnBpcGUgPSBOVUxMOwo+IC0JCQlsaXN0X2RlbCgm cnBmLT5lbnRpdHkubGlzdF9waXBlKTsKPiAtCQkJcGlwZS0+aW5wdXRzW2ldID0gTlVMTDsKPiAt Cj4gLQkJCWJyeC0+aW5wdXRzW3JwZi0+YnJ4X2lucHV0XS5ycGYgPSBOVUxMOwo+IC0JCX0KPiAt Cj4gLQkJZHJtX3BpcGUtPmR1X2NvbXBsZXRlID0gTlVMTDsKPiAtCQlwaXBlLT5udW1faW5wdXRz ID0gMDsKPiAtCj4gLQkJZGV2X2RiZyh2c3AxLT5kZXYsICIlczogcGlwZSAldTogcmVsZWFzaW5n ICVzXG4iLAo+IC0JCQlfX2Z1bmNfXywgcGlwZS0+bGlmLT5pbmRleCwKPiAtCQkJQlJYX05BTUUo cGlwZS0+YnJ4KSk7Cj4gLQo+IC0JCWxpc3RfZGVsKCZwaXBlLT5icngtPmxpc3RfcGlwZSk7Cj4g LQkJcGlwZS0+YnJ4LT5waXBlID0gTlVMTDsKPiAtCQlwaXBlLT5icnggPSBOVUxMOwo+IC0KPiAt CQltdXRleF91bmxvY2soJnZzcDEtPmRybS0+bG9jayk7Cj4gLQo+IC0JCXZzcDFfZGxtX3Jlc2V0 KHBpcGUtPm91dHB1dC0+ZGxtKTsKPiAtCQl2c3AxX2RldmljZV9wdXQodnNwMSk7Cj4gLQo+IC0J CWRldl9kYmcodnNwMS0+ZGV2LCAiJXM6IHBpcGVsaW5lIGRpc2FibGVkXG4iLCBfX2Z1bmNfXyk7 Cj4gLQo+IC0JCXJldHVybiAwOwo+IC0JfQo+IC0KPiAgCS8qIFJlc2V0IHRoZSB1bmRlcnJ1biBj b3VudGVyICovCj4gIAlwaXBlLT51bmRlcnJ1bl9jb3VudCA9IDA7Cj4gIAo+IEBAIC03NDEsNyAr Njg2LDcgQEAgaW50IHZzcDFfZHVfc2V0dXBfbGlmKHN0cnVjdCBkZXZpY2UgKmRldiwgdW5zaWdu ZWQgaW50IHBpcGVfaW5kZXgsCj4gIAlpZiAocmV0IDwgMCkKPiAgCQlnb3RvIHVubG9jazsKPiAg Cj4gLQl2c3AxX3BpcGVsaW5lX2R1bXAocGlwZSwgIkxJRiBzZXR1cCIpOwo+ICsJdnNwMV9waXBl bGluZV9kdW1wKHBpcGUsICJEVSBlbmFibGUiKTsKPiAgCj4gIAkvKiBFbmFibGUgdGhlIFZTUDEu ICovCj4gIAlyZXQgPSB2c3AxX2RldmljZV9nZXQodnNwMSk7Cj4gQEAgLTc3Nyw3ICs3MjIsODAg QEAgaW50IHZzcDFfZHVfc2V0dXBfbGlmKHN0cnVjdCBkZXZpY2UgKmRldiwgdW5zaWduZWQgaW50 IHBpcGVfaW5kZXgsCj4gIAo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAtRVhQT1JUX1NZTUJPTF9HUEwo dnNwMV9kdV9zZXR1cF9saWYpOwo+ICtFWFBPUlRfU1lNQk9MX0dQTCh2c3AxX2R1X2VuYWJsZSk7 Cj4gKwo+ICsvKioKPiArICogdnNwMV9kdV9kaXNhYmxlIC0gRGlzYWJsZSBhbmQgc3RvcCBhIERV IHBpcGVsaW5lCj4gKyAqIEBkZXY6IHRoZSBWU1AgZGV2aWNlCj4gKyAqIEBwaXBlX2luZGV4OiB0 aGUgRFJNIHBpcGVsaW5lIGluZGV4Cj4gKyAqCj4gKyAqIFRoZSBAcGlwZV9pbmRleCBhcmd1bWVu dCBzZWxlY3RzIHdoaWNoIERSTSBwaXBlbGluZSB0byBkaXNhYmxlLiBUaGUgbnVtYmVyCj4gKyAq IG9mIGF2YWlsYWJsZSBwaXBlbGluZXMgZGVwZW5kIG9uIHRoZSBWU1AgaW5zdGFuY2UuCj4gKyAq Cj4gKyAqIFJldHVybiAwIG9uIHN1Y2Nlc3Mgb3IgYSBuZWdhdGl2ZSBlcnJvciBjb2RlIG9uIGZh aWx1cmUuCj4gKyAqLwo+ICtpbnQgdnNwMV9kdV9kaXNhYmxlKHN0cnVjdCBkZXZpY2UgKmRldiwg dW5zaWduZWQgaW50IHBpcGVfaW5kZXgpCj4gK3sKPiArCXN0cnVjdCB2c3AxX2RldmljZSAqdnNw MSA9IGRldl9nZXRfZHJ2ZGF0YShkZXYpOwo+ICsJc3RydWN0IHZzcDFfZHJtX3BpcGVsaW5lICpk cm1fcGlwZTsKPiArCXN0cnVjdCB2c3AxX3BpcGVsaW5lICpwaXBlOwo+ICsJc3RydWN0IHZzcDFf YnJ4ICpicng7Cj4gKwl1bnNpZ25lZCBpbnQgaTsKPiArCWludCByZXQ7Cj4gKwo+ICsJaWYgKHBp cGVfaW5kZXggPj0gdnNwMS0+aW5mby0+bGlmX2NvdW50KQo+ICsJCXJldHVybiAtRUlOVkFMOwo+ ICsKPiArCWRybV9waXBlID0gJnZzcDEtPmRybS0+cGlwZVtwaXBlX2luZGV4XTsKPiArCXBpcGUg PSAmZHJtX3BpcGUtPnBpcGU7Cj4gKwo+ICsJbXV0ZXhfbG9jaygmdnNwMS0+ZHJtLT5sb2NrKTsK PiArCj4gKwlicnggPSB0b19icngoJnBpcGUtPmJyeC0+c3ViZGV2KTsKPiArCj4gKwlyZXQgPSB2 c3AxX3BpcGVsaW5lX3N0b3AocGlwZSk7Cj4gKwlpZiAocmV0ID09IC1FVElNRURPVVQpCj4gKwkJ ZGV2X2Vycih2c3AxLT5kZXYsICJEUk0gcGlwZWxpbmUgc3RvcCB0aW1lb3V0XG4iKTsKPiArCj4g Kwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShwaXBlLT5pbnB1dHMpOyArK2kpIHsKPiArCQlz dHJ1Y3QgdnNwMV9yd3BmICpycGYgPSBwaXBlLT5pbnB1dHNbaV07Cj4gKwo+ICsJCWlmICghcnBm KQo+ICsJCQljb250aW51ZTsKPiArCj4gKwkJLyoKPiArCQkgKiBSZW1vdmUgdGhlIFJQRiBmcm9t IHRoZSBwaXBlIGFuZCB0aGUgbGlzdCBvZiBCUngKPiArCQkgKiBpbnB1dHMuCj4gKwkJICovCj4g KwkJV0FSTl9PTighcnBmLT5lbnRpdHkucGlwZSk7Cj4gKwkJcnBmLT5lbnRpdHkucGlwZSA9IE5V TEw7Cj4gKwkJbGlzdF9kZWwoJnJwZi0+ZW50aXR5Lmxpc3RfcGlwZSk7Cj4gKwkJcGlwZS0+aW5w dXRzW2ldID0gTlVMTDsKPiArCj4gKwkJYnJ4LT5pbnB1dHNbcnBmLT5icnhfaW5wdXRdLnJwZiA9 IE5VTEw7Cj4gKwl9Cj4gKwo+ICsJZHJtX3BpcGUtPmR1X2NvbXBsZXRlID0gTlVMTDsKPiArCXBp cGUtPm51bV9pbnB1dHMgPSAwOwo+ICsKPiArCWRldl9kYmcodnNwMS0+ZGV2LCAiJXM6IHBpcGUg JXU6IHJlbGVhc2luZyAlc1xuIiwKPiArCQlfX2Z1bmNfXywgcGlwZS0+bGlmLT5pbmRleCwKPiAr CQlCUlhfTkFNRShwaXBlLT5icngpKTsKPiArCj4gKwlsaXN0X2RlbCgmcGlwZS0+YnJ4LT5saXN0 X3BpcGUpOwo+ICsJcGlwZS0+YnJ4LT5waXBlID0gTlVMTDsKPiArCXBpcGUtPmJyeCA9IE5VTEw7 Cj4gKwo+ICsJbXV0ZXhfdW5sb2NrKCZ2c3AxLT5kcm0tPmxvY2spOwo+ICsKPiArCXZzcDFfZGxt X3Jlc2V0KHBpcGUtPm91dHB1dC0+ZGxtKTsKPiArCXZzcDFfZGV2aWNlX3B1dCh2c3AxKTsKPiAr Cj4gKwlkZXZfZGJnKHZzcDEtPmRldiwgIiVzOiBwaXBlbGluZSBkaXNhYmxlZFxuIiwgX19mdW5j X18pOwo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gK0VYUE9SVF9TWU1CT0xfR1BMKHZzcDFfZHVf ZGlzYWJsZSk7Cj4gIAo+ICAvKioKPiAgICogdnNwMV9kdV9hdG9taWNfYmVnaW4gLSBQcmVwYXJl IGZvciBhbiBhdG9taWMgdXBkYXRlCj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbWVkaWEvdnNwMS5o IGIvaW5jbHVkZS9tZWRpYS92c3AxLmgKPiBpbmRleCBkOWI5MWZmMDI3NjEuLmQyMDg1Y2RiN2Zj YiAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL21lZGlhL3ZzcDEuaAo+ICsrKyBiL2luY2x1ZGUvbWVk aWEvdnNwMS5oCj4gQEAgLTQ0LDggKzQ0LDE4IEBAIHN0cnVjdCB2c3AxX2R1X2xpZl9jb25maWcg ewo+ICAJdm9pZCAqY2FsbGJhY2tfZGF0YTsKPiAgfTsKPiAgCj4gLWludCB2c3AxX2R1X3NldHVw X2xpZihzdHJ1Y3QgZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBlX2luZGV4LAo+IC0JCSAg ICAgIGNvbnN0IHN0cnVjdCB2c3AxX2R1X2xpZl9jb25maWcgKmNmZyk7Cj4gK2ludCB2c3AxX2R1 X2VuYWJsZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHVuc2lnbmVkIGludCBwaXBlX2luZGV4LAo+ICsJ CSAgIGNvbnN0IHN0cnVjdCB2c3AxX2R1X2xpZl9jb25maWcgKmNmZyk7Cj4gK2ludCB2c3AxX2R1 X2Rpc2FibGUoc3RydWN0IGRldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcGlwZV9pbmRleCk7Cj4g Kwo+ICtzdGF0aWMgaW5saW5lIGludCB2c3AxX2R1X3NldHVwX2xpZihzdHJ1Y3QgZGV2aWNlICpk ZXYsIHVuc2lnbmVkIGludCBwaXBlX2luZGV4LAo+ICsJCQkJICAgIGNvbnN0IHN0cnVjdCB2c3Ax X2R1X2xpZl9jb25maWcgKmNmZykKPiArewo+ICsJaWYgKGNmZykKPiArCQlyZXR1cm4gdnNwMV9k dV9lbmFibGUoZGV2LCBwaXBlX2luZGV4LCBjZmcpOwo+ICsJZWxzZQo+ICsJCXJldHVybiB2c3Ax X2R1X2Rpc2FibGUoZGV2LCBwaXBlX2luZGV4KTsKPiArfQo+ICAKPiAgLyoqCj4gICAqIHN0cnVj dCB2c3AxX2R1X2F0b21pY19jb25maWcgLSBWU1AgYXRvbWljIGNvbmZpZ3VyYXRpb24gcGFyYW1l dGVycwo+IC0tIAo+IFJlZ2FyZHMsCj4gCj4gTGF1cmVudCBQaW5jaGFydAo+IAo+IAoKLS0gCktp bmQgUmVnYXJkcywKTmlrbGFzIFPDtmRlcmx1bmQK