From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D46DA606A33D for ; Thu, 12 Nov 2026 13:15:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.a=rsa-sha256 header.s=bombadil.20210309 header.b=1AvU5QUE; dkim=fail reason="signature verification failed" (2048-bit key) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b=JxDc2gE0 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Date:References: In-Reply-To:Cc:To:Subject:From:Message-ID:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Unsubscribe-Post:List-Owner; bh=dPwNk2UAFX3i/I/i9OD5MiOI3+k35HazPEsBZDxxkAE=; b=1AvU5QUE5/uwtELQ/5LU55PAdp BjXP7yK0XtX8PWYLq8XdcAW6YMXtz9B1BvivDxIFe0nKeBIqxnPkZQn1DTxTTNQZMk+fjRvTSbVKB 2gAqPhyyjnxS33Jy8W5DlH+IaciPhG/Rkkag1ZiHu0GbjFptZPDagOC1LR4P1Tkn+8kaVS3TKM8xP j0bYvfBxPQCDDr1bYzyhcIWoS0CFcsYk68Ampiu5sSQhF13Il1Od4p8jl4LD9zftaUVcBhNr76Fts LuauOqHaGW8yc9Mk4qCwW8g962xODjDSjUxxUrQMOCY2cq8IRa+0c/eyeuocauEi3Ivsxc/7EoF+C ib8b4AYA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.100.1 #2 (Red Hat Linux)) id 1xRUeC-00000009zk4-2SRI; Thu, 12 Nov 2026 13:15:24 +0000 Received: from sea.source.kernel.org ([172.234.252.31]) by bombadil.infradead.org with esmtps (Exim 4.100.1 #2 (Red Hat Linux)) id 1xRUeB-00000009zjZ-0H5Q for linux-i3c@lists.infradead.org; Thu, 12 Nov 2026 13:15:23 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id 7BCC442211; Thu, 12 Nov 2026 13:15:22 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1064A1F00A05; Thu, 12 Nov 2026 13:15:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1794489322; bh=OpodrxUl4i8c/etqQN9xTTjufn5lj/rJiTJmj17zYNU=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=JxDc2gE0Vns9yL1GqjoIttoG8d3wL6Xl2JNN/Ex4Y3gBcXIrIShNOo3aejuEiUThh 2o2rzSBE2HTD9I5kCAztWyYSWtwnoVSRFgdKvMx90/+wEnXX2cH8jFR7SbVaSi6mIL Me+e5jeYm5OPu23pOOY1PSxcg6Q5Lg6PWJylKylhBBs2gsNxa8llLNcmWDq3asCCTb clft7JLDfrcJC+67KrdPfkfb0M5rNJO5Pi/fQf3B5AehHLG/2prptQg25uNS0nBh3G z6dRpiTGkNfXQMwDsTkdZP63PqB3Po8jw9vnJ7DksBvvWcg2YIFFuJ+L8Q5QSI/orD MV0uD5DwNtPeQ== Message-ID: From: sashiko-bot@kernel.org Subject: Re: [PATCH v21 3/4] i3c: hub: p3h2x4x: Add support for NXP P3H2x4x I3C hub functionality To: "Lakshay Piplani" , linux-i3c@lists.infradead.org, mfd@lists.linux.dev Cc: Frank.Li@kernel.org, "Alexandre Belloni" , lee@kernel.org In-Reply-To: <20261112124437.3367252-4-lakshay.piplani@nxp.com> References: <20261112124437.3367252-1-lakshay.piplani@nxp.com> <20261112124437.3367252-4-lakshay.piplani@nxp.com> Date: Thu, 12 Nov 2026 13:15:21 +0000 X-BeenThere: linux-i3c@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sashiko-reviews@lists.linux.dev X-Archived-By: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-i3c" X-Spam-Status: No, score=-8.9 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=4.0.1 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on aws-us-west-2-korg-listserv-alma10-1 VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg NSBwb3RlbnRpYWwKaXNzdWVzIHRvIGNvbnNpZGVyOgotIFtIaWdoXSBpM2M6IGh1YjogcDNoMng0 eDogdW5pbml0aWFsaXplZCBQM0gyWDRYX1RQX05FVF9DT05fQ09ORiBicmVha3MKICBwb3J0IGlz b2xhdGlvbgotIFtIaWdoXSBpM2M6IGh1YjogcDNoMng0eDogcGFyZW50IERBQSByZWNvbmNpbGVy IGNsb2JiZXJzIERUIGFkZHJlc3MKICByZXNlcnZhdGlvbnMKLSBbSGlnaF0gaTNjOiBodWI6IHAz aDJ4NHg6IGJyb2tlbiBTTUJ1cyBmdW5jdGlvbmFsaXR5IGluCiAgcDNoMng0eF90cF9zbWJ1c19m dW5jcygpCi0gW0hpZ2hdIGkzYzogaHViOiBwM2gyeDR4OiBwb3J0cyBkaXNjb25uZWN0ZWQgZHVy aW5nIHByb2JlIGluCiAgcDNoMng0eF90cF9pM2NfYWxnbygpCi0gW01lZGl1bV0gaTNjOiBodWI6 IHAzaDJ4NHg6IGNvbWJpbmVkIHRyYW5zZmVyIGNoZWNrIGluCiAgcDNoMng0eF90cF9pMmNfeGZl cigpCi0tCgpjb21taXQgOTU2MmExZjBlMzUxNWI3YjM1NGU4YTE5MzMzOWM1YzJlMTYzMGM4NQpB dXRob3I6IEFtYW4gS3VtYXIgUGFuZGV5IDxhbWFuLmt1bWFycGFuZGV5QG54cC5jb20+CgppM2M6 IGh1YjogcDNoMng0eDogQWRkIHN1cHBvcnQgZm9yIE5YUCBQM0gyeDR4IEkzQyBodWIgZnVuY3Rp b25hbGl0eQoKVGhpcyBjb21taXQgYWRkcyB0aGUgSTNDIGh1YiBkcml2ZXIgZm9yIHRoZSBOWFAg UDNIMng0eCBmYW1pbHksIHN1cHBvcnRpbmcKZG93bnN0cmVhbSB0YXJnZXQgcG9ydHMgY29uZmln dXJlZCBhcyB2aXJ0dWFsIEkzQyBidXNlcyBvciBTTUJ1cyBhZGFwdGVycy4KCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvaTNjL2h1Yi9wM2gyODQwX2kzY19odWJfaTNjLmMgYi9kcml2ZXJzL2kzYy9o dWIvcDNoMjg0MF9pM2NfaHViX2kzYy5jCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAw MDAwMDAwMDAwMDAwLi5hMDcwYmUzMmZmZWQzCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2RyaXZl cnMvaTNjL2h1Yi9wM2gyODQwX2kzY19odWJfaTNjLmMKPiBAQCAtMCwwICsxLDE2MiBAQAoKWyAu Li4gXQoKPiArc3RhdGljIHZvaWQgcDNoMng0eF9odWJfZW5hYmxlX3BvcnQoc3RydWN0IGkzY19t YXN0ZXJfY29udHJvbGxlciAqY29udHJvbGxlcikKPiArewo+ICsJc3RydWN0IHRwX2J1cyAqYnVz ID0gcDNoMng0eF9idXNfZnJvbV9jb250cm9sbGVyKGNvbnRyb2xsZXIpOwo+ICsJc3RydWN0IHAz aDJ4NHhfaTNjX2h1Yl9kZXYgKnAzaDJ4NHhfaTNjX2h1YiA9IGJ1cy0+cDNoMng0eF9pM2NfaHVi Owo+ICsKPiArCWlmIChwM2gyeDR4X2kzY19odWItPmh1Yl9jb25maWcudHBfY29uZmlnW2J1cy0+ dHBfcG9ydF0uYWx3YXlzX2VuYWJsZSkKPiArCQlyZXR1cm47Cj4gKwo+ICsJcmVnbWFwX3NldF9i aXRzKHAzaDJ4NHhfaTNjX2h1Yi0+cmVnbWFwLCBQM0gyWDRYX1RQX05FVF9DT05fQ09ORiwgYnVz LT50cF9tYXNrKTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgcDNoMng0eF9odWJfZGlzYWJsZV9w b3J0KHN0cnVjdCBpM2NfbWFzdGVyX2NvbnRyb2xsZXIgKmNvbnRyb2xsZXIpCj4gK3sKPiArCXN0 cnVjdCB0cF9idXMgKmJ1cyA9IHAzaDJ4NHhfYnVzX2Zyb21fY29udHJvbGxlcihjb250cm9sbGVy KTsKPiArCXN0cnVjdCBwM2gyeDR4X2kzY19odWJfZGV2ICpwM2gyeDR4X2kzY19odWIgPSBidXMt PnAzaDJ4NHhfaTNjX2h1YjsKPiArCj4gKwlpZiAocDNoMng0eF9pM2NfaHViLT5odWJfY29uZmln LnRwX2NvbmZpZ1tidXMtPnRwX3BvcnRdLmFsd2F5c19lbmFibGUpCj4gKwkJcmV0dXJuOwo+ICsK PiArCXJlZ21hcF9jbGVhcl9iaXRzKHAzaDJ4NHhfaTNjX2h1Yi0+cmVnbWFwLCBQM0gyWDRYX1RQ X05FVF9DT05fQ09ORiwgYnVzLT50cF9tYXNrKTsKPiArfQoKW1NldmVyaXR5OiBIaWdoXQpEb2Vz IGxlYXZpbmcgUDNIMlg0WF9UUF9ORVRfQ09OX0NPTkYgdW5pbml0aWFsaXplZCBiZWZvcmUgdGhl IHJlZ2lzdHJhdGlvbgpsb29wIGJyZWFrIHBlci1wb3J0IGlzb2xhdGlvbj8KCnAzaDJ4NHhfaHVi X2VuYWJsZV9wb3J0KCkgYW5kIHAzaDJ4NHhfaHViX2Rpc2FibGVfcG9ydCgpIG9ubHkgc2V0IGFu ZCBjbGVhcgpidXMtPnRwX21hc2ssIGFuZCBuZWl0aGVyIHAzaDJ4NHhfY29uZmlndXJlX3RwKCkg bm9yIHAzaDJ4NHhfdHBfaTNjX2FsZ28oKQpjbGVhcnMgUDNIMlg0WF9UUF9ORVRfQ09OX0NPTkYg YmVmb3JlaGFuZCBvciBvbiB0ZWFyZG93bi4gIElmIGFueSBiaXRzIGFyZQphbHJlYWR5IHNldCBp biBQM0gyWDRYX1RQX05FVF9DT05fQ09ORiAoZm9yIGV4YW1wbGUgb24gZHJpdmVyIHJlYmluZCwg b3Igb24KUDNIMjQ0MS9QM0gyODQxIHdoZXJlIHRhcmdldCBwb3J0cyBkZWZhdWx0IHRvIGNvbm5l Y3RlZCBhdCBwb3dlci1vbiksCm11bHRpcGxlIHBvcnRzIHN0YXkgYnJpZGdlZCBvbnRvIHRoZSBp bnRlcm5hbCBuZXR3b3JrIGR1cmluZwppM2NfbWFzdGVyX3JlZ2lzdGVyX2Z3bm9kZSgpLCBleHBv c2luZyBvdGhlciBwb3J0cycgZGV2aWNlcyB0byBTRVREQVNBIGFuZApFTlREQUEgbWVhbnQgZm9y IGEgc2luZ2xlIHBvcnQuCgpbIC4uLiBdCgo+ICsJZm9yICh0cCA9IDA7IHRwIDwgcDNoMng0eC0+ bnVtX3RhcmdldF9wb3J0czsgdHArKykgewo+ICsJCWlmICghcDNoMng0eF9odWItPnRwX2J1c1t0 cF0ub2Zfbm9kZSB8fAo+ICsJCSAgICBwM2gyeDR4X2h1Yi0+aHViX2NvbmZpZy50cF9jb25maWdb dHBdLm1vZGUgIT0gUDNIMlg0WF9UUF9NT0RFX0kzQykKPiArCQkJY29udGludWU7Cj4gKwo+ICsJ CXN0cnVjdCBpM2NfaHViX2NvbnRyb2xsZXIgKmh1Yl9jb250cm9sbGVyID0KPiArCQkJCSZwM2gy eDR4X2h1Yi0+dHBfYnVzW3RwXS5odWJfY29udHJvbGxlcjsKPiArCQlzdHJ1Y3QgaTNjX21hc3Rl cl9jb250cm9sbGVyICpjb250cm9sbGVyID0gJmh1Yl9jb250cm9sbGVyLT5jb250cm9sbGVyOwo+ ICsKPiArCQlodWJfY29udHJvbGxlci0+cGFyZW50ID0gcGFyZW50Owo+ICsJCWh1Yl9jb250cm9s bGVyLT5odWIgPSBwM2gyeDR4X2h1Yi0+aHViOwo+ICsKPiArCQlkZXZfc2V0X2RydmRhdGEoJmNv bnRyb2xsZXItPmRldiwgaHViX2NvbnRyb2xsZXIpOwo+ICsKPiArCQlyZXQgPSBpM2NfaHViX3Jl c2VydmVfcGFyZW50X2FkZHJzbG90c19mcm9tX2R0KGh1Yl9jb250cm9sbGVyLAo+ICsJCQkJCQkJ ICAgICAgIHAzaDJ4NHhfaHViLT50cF9idXNbdHBdLm9mX25vZGUpOwo+ICsJCWlmIChyZXQpCj4g KwkJCXJldHVybiByZXQ7Cj4gKwl9Cj4gKwo+ICsJZm9yICh0cCA9IDA7IHRwIDwgcDNoMng0eC0+ bnVtX3RhcmdldF9wb3J0czsgdHArKykgewo+ICsJCWlmICghcDNoMng0eF9odWItPnRwX2J1c1t0 cF0ub2Zfbm9kZSB8fAo+ICsJCSAgICBwM2gyeDR4X2h1Yi0+aHViX2NvbmZpZy50cF9jb25maWdb dHBdLm1vZGUgIT0gUDNIMlg0WF9UUF9NT0RFX0kzQykKPiArCQkJY29udGludWU7Cj4gKwo+ICsJ CXN0cnVjdCBpM2NfbWFzdGVyX2NvbnRyb2xsZXIgKmNvbnRyb2xsZXIgPQo+ICsJCQkJJnAzaDJ4 NHhfaHViLT50cF9idXNbdHBdLmh1Yl9jb250cm9sbGVyLmNvbnRyb2xsZXI7Cj4gKwo+ICsJCXJl dCA9IGkzY19tYXN0ZXJfcmVnaXN0ZXJfZndub2RlKGNvbnRyb2xsZXIsCj4gKwkJCQkJCSBwM2gy eDR4X2h1Yi0+ZGV2LAo+ICsJCQkJCQkgb2ZfZndub2RlX2hhbmRsZShwM2gyeDR4X2h1Yi0+dHBf YnVzW3RwXS5vZl9ub2RlKSwKPiArCQkJCQkJICZpM2NfaHViX21hc3Rlcl9vcHMsCj4gKwkJCQkJ CSBmYWxzZSk7CgpbU2V2ZXJpdHk6IEhpZ2hdCldvbid0IGkzY19tYXN0ZXJfcmVjb25jaWxlX2R5 bl9hZGRycygpIG9uIHRoZSBwYXJlbnQgYnVzIGNsb2JiZXIgdGhlCnJlc2VydmF0aW9ucyBtYWRl IGJ5IGkzY19odWJfcmVzZXJ2ZV9wYXJlbnRfYWRkcnNsb3RzX2Zyb21fZHQoKT8KCmkzY19odWJf cmVzZXJ2ZV9wYXJlbnRfYWRkcnNsb3RzX2Zyb21fZHQoKSBtYXJrcyBlYWNoIGNoaWxkJ3MKYXNz aWduZWQtYWRkcmVzcyBvbiBwYXJlbnQtPmJ1cyBhcyBJM0NfQUREUl9TTE9UX0kzQ19ERVYgd2l0 aG91dCBhIG1hdGNoaW5nCmRlc2NyaXB0b3IgaW4gcGFyZW50LT5idXMuZGV2cy5pM2MuICBXaGVu IHRoZSBmaXJzdCBwb3J0IHJ1bnMKaTNjX21hc3Rlcl9yZWdpc3Rlcl9md25vZGUoKSAtPiAuLi4g LT4gaTNjX2h1Yl9kb19kYWEoKSAtPgppM2NfbWFzdGVyX2RvX2RhYShwYXJlbnQpLCBpM2NfbWFz dGVyX3JlY29uY2lsZV9keW5fYWRkcnMocGFyZW50KSByZXNldHMKZXZlcnkgSTNDX0FERFJfU0xP VF9JM0NfREVWIHNsb3Qgbm90IGluIHBhcmVudC0+YnVzLmRldnMuaTNjIHRvCkkzQ19BRERSX1NM T1RfRlJFRSBhbmQgcHJvYmVzIGl0OgoKZHJpdmVycy9pM2MvbWFzdGVyLmM6aTNjX21hc3Rlcl9y ZWNvbmNpbGVfZHluX2FkZHJzKCkgewogICAgLi4uCgkJaWYgKHN0YXR1cyAhPSBJM0NfQUREUl9T TE9UX0kzQ19ERVYgfHwgdGVzdF9iaXQoYWRkciwgZGV2X2R5bl9hZGRycykpCgkJCWNvbnRpbnVl OwoJCWkzY19idXNfc2V0X2FkZHJfc2xvdF9zdGF0dXMoJm1hc3Rlci0+YnVzLCBhZGRyLCBJM0Nf QUREUl9TTE9UX0ZSRUUpOwoJCS8qIFRyeSB0byBhZGQgdGhlIGRldmljZSwgYnV0IHByb2JlIHRv IHNlZSBpZiBpdCBpcyByZWFsbHkgcHJlc2VudCAqLwoJCV9faTNjX21hc3Rlcl9hZGRfaTNjX2Rl dl9sb2NrZWQobWFzdGVyLCBhZGRyLCB0cnVlKTsKICAgIC4uLgp9CgpGb3IgbGF0ZXIgcG9ydHMg dGhhdCBhcmUgc3RpbGwgZGlzY29ubmVjdGVkLCB0aGUgcHJvYmUgc2VlcyBubyBkZXZpY2UgYW5k CmxlYXZlcyB0aGUgc2xvdCBJM0NfQUREUl9TTE9UX0ZSRUUsIHdpcGluZyBvdXQgdGhlaXIgcmVz ZXJ2YXRpb25zLiAgRm9yCmRldmljZXMgb24gdGhlIGNvbm5lY3RlZCBwb3J0IHRoYXQgYWxyZWFk eSBnb3QgdGhlaXIgYWRkcmVzcyB2aWEgU0VUREFTQSBvbgpjb250cm9sbGVyLT5idXMsIHRoZSBw cm9iZSBzdWNjZWVkcyBhbmQgcmVnaXN0ZXJzIGEgZHVwbGljYXRlIGkzY19kZXZpY2Ugb24KcGFy ZW50LT5idXMuCgo+ICsJCWlmIChyZXQpCj4gKwkJCXJldHVybiByZXQ7Cj4gKwo+ICsJCXJldCA9 IGRldm1fYWRkX2FjdGlvbl9vcl9yZXNldChwM2gyeDR4X2h1Yi0+ZGV2LAo+ICsJCQkJCSAgICAg ICBwM2gyeDR4X3VucmVnaXN0ZXJfaTNjX21hc3RlciwKPiArCQkJCQkgICAgICAgY29udHJvbGxl cik7Cj4gKwkJaWYgKHJldCkKPiArCQkJcmV0dXJuIHJldDsKPiArCj4gKwkJbnR3a19tYXNrIHw9 IHAzaDJ4NHhfaHViLT50cF9idXNbdHBdLnRwX21hc2s7Cj4gKwkJcDNoMng0eF9odWItPnRwX2J1 c1t0cF0uaXNfcmVnaXN0ZXJlZCA9IHRydWU7Cj4gKwl9Cj4gKwo+ICsJLyoKPiArCSAqIFRha2Ug dGhlIHJvdXRpbmcgbG9jayB1c2VkIGJ5IHRoZSBodWIgY2FsbGJhY2tzIHNvIHRoZXkgY2Fubm90 Cj4gKwkgKiBvYnNlcnZlIGFsd2F5c19lbmFibGUgYmVmb3JlIHRoZSByb3V0ZSBpcyBwcm9ncmFt bWVkLgo+ICsJICovCj4gKwltdXRleF9sb2NrKCZwM2gyeDR4X2h1Yi0+aHViLT5sb2NrKTsKPiAr Cj4gKwlyZXQgPSByZWdtYXBfd3JpdGUocDNoMng0eF9odWItPnJlZ21hcCwKPiArCQkJICAgUDNI Mlg0WF9UUF9ORVRfQ09OX0NPTkYsIG50d2tfbWFzayk7Cj4gKwlpZiAoIXJldCkgewo+ICsJCWZv ciAodHAgPSAwOyB0cCA8IHAzaDJ4NHgtPm51bV90YXJnZXRfcG9ydHM7IHRwKyspIHsKPiArCQkJ aWYgKCEobnR3a19tYXNrICYgcDNoMng0eF9odWItPnRwX2J1c1t0cF0udHBfbWFzaykpCj4gKwkJ CQljb250aW51ZTsKPiArCj4gKwkJCXAzaDJ4NHhfaHViLT5odWJfY29uZmlnLnRwX2NvbmZpZ1t0 cF0uYWx3YXlzX2VuYWJsZSA9IHRydWU7Cj4gKwkJfQo+ICsJfQo+ICsJbXV0ZXhfdW5sb2NrKCZw M2gyeDR4X2h1Yi0+aHViLT5sb2NrKTsKCltTZXZlcml0eTogSGlnaF0KRG9lcyBrZWVwaW5nIGFs d2F5c19lbmFibGUgZmFsc2UgdW50aWwgYWxsIHBvcnRzIGFyZSByZWdpc3RlcmVkIGxlYXZlIHRh cmdldApwb3J0cyBkaXNjb25uZWN0ZWQgd2hpbGUgZG93bnN0cmVhbSBkZXZpY2UgZHJpdmVycyBw cm9iZT8KCkNQVTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga3dvcmtlciAocGFy ZW50LT53cSkKcDNoMng0eF90cF9pM2NfYWxnbygpCiAgaTNjX21hc3Rlcl9yZWdpc3Rlcl9md25v ZGUoKQogICAgLi4uCiAgICAgIGkzY19odWJfZG9fZGFhKCkKICAgICAgICBpM2NfbWFzdGVyX2Rv X2RhYShwYXJlbnQpCiAgICAgICAgICBxdWV1ZV93b3JrKC4uLiwgJnBhcmVudC0+cmVnX3dvcmsp CiAgICAgICAgaTNjX2h1Yl9kaXNhYmxlX3BvcnQoY29udHJvbGxlcikKICAgICAgICAgIHJlZ21h cF9jbGVhcl9iaXRzKC4uLiwgdHBfbWFzaykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpM2NfbWFzdGVyX3JlZ193b3JrX2ZuKCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGRldmljZV9hZGQoJmkzY2Rldi0+ZGV2KQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA8dGFyZ2V0IGRyaXZlciBwcm9iZT4KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpM2NfZGV2aWNlX2RvX3ByaXZfeGZl cnMoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC0tIHBv cnQgaXMgZGlzY29ubmVjdGVkCiAgLyogbmV4dCBwb3J0J3MgaTNjX21hc3Rlcl9yZWdpc3Rlcl9m d25vZGUoKSAqLwogIHJlZ21hcF93cml0ZSguLi4sIFAzSDJYNFhfVFBfTkVUX0NPTl9DT05GLCBu dHdrX21hc2spCgpEZXZpY2VzIGRpc2NvdmVyZWQgdmlhIEVOVERBQSBhcmUgcXVldWVkIG9uIHBh cmVudC0+cmVnX3dvcmsgYW5kIHVzZQpwYXJlbnQtPm9wcyBkaXJlY3RseSB3aXRob3V0IGNhbGxp bmcgcDNoMng0eF9odWJfZW5hYmxlX3BvcnQoKSwgc28gdGhlaXIKcHJvYmVzIGZhaWwgaWYgdGhl eSBydW4gYmVmb3JlIFAzSDJYNFhfVFBfTkVUX0NPTl9DT05GIGlzIHdyaXR0ZW4gYXQgdGhlCmVu ZCBvZiBwM2gyeDR4X3RwX2kzY19hbGdvKCkuICBMaWtld2lzZSwgZm9yIHN0YXRpY2FsbHkgZGVz Y3JpYmVkIGRldmljZXMgb24KY29udHJvbGxlci0+YnVzIHRoYXQgY2FsbCBpM2NfZGV2aWNlX2Vu YWJsZV9pYmkoKSBkdXJpbmcKaTNjX21hc3Rlcl9yZWdpc3Rlcl9md25vZGUoKSwgaTNjX2h1Yl9l bmFibGVfaWJpKCkgZGlzY29ubmVjdHMgdGhlIHBvcnQgb24KZXhpdCwgZHJvcHBpbmcgSUJJcyB1 bnRpbCBhbGwgcmVtYWluaW5nIHBvcnRzIGZpbmlzaCByZWdpc3RlcmluZy4KCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvaTNjL2h1Yi9wM2gyODQwX2kzY19odWJfc21idXMuYyBiL2RyaXZlcnMvaTNj L2h1Yi9wM2gyODQwX2kzY19odWJfc21idXMuYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5k ZXggMDAwMDAwMDAwMDAwMC4uMjQ3ZDBmNDg4M2I3Ywo+IC0tLSAvZGV2L251bGwKPiArKysgYi9k cml2ZXJzL2kzYy9odWIvcDNoMjg0MF9pM2NfaHViX3NtYnVzLmMKPiBAQCAtMCwwICsxLDM1MiBA QAoKWyAuLi4gXQoKPiArc3RhdGljIHMzMiBwM2gyeDR4X3RwX2kyY194ZmVyKHN0cnVjdCBpMmNf YWRhcHRlciAqYWRhcCwgc3RydWN0IGkyY19tc2cgKm1zZ3MsIGludCBudW0pCj4gK3sKPiArCWlu dCByZXRfc3VtID0gMCwgcmV0LCBtc2dfY291bnQ7Cj4gKwl1OCBydzsKPiArCj4gKwlzdHJ1Y3Qg dHBfYnVzICpidXMgPSBpMmNfZ2V0X2FkYXBkYXRhKGFkYXApOwo+ICsJc3RydWN0IHAzaDJ4NHhf aTNjX2h1Yl9kZXYgKnAzaDJ4NHhfaTNjX2h1YiA9IGJ1cy0+cDNoMng0eF9pM2NfaHViOwo+ICsK PiArCWd1YXJkKG11dGV4KSgmcDNoMng0eF9pM2NfaHViLT5ldHhfbXV0ZXgpOwo+ICsJZ3VhcmQo bXV0ZXgpKCZidXMtPnBvcnRfbXV0ZXgpOwo+ICsKPiArCWZvciAobXNnX2NvdW50ID0gMDsgbXNn X2NvdW50IDwgbnVtOyBtc2dfY291bnQrKykgewo+ICsJCXJ3ID0gKG1zZ3NbbXNnX2NvdW50XS5m bGFncyAmIEkyQ19NX1JEKSA/IDEgOiAwOwo+ICsJCWlmICghcncpIHsKPiArCQkJLyogSWYgYSB3 cml0ZSBtZXNzYWdlIGlzIGltbWVkaWF0ZWx5IGZvbGxvd2VkIGJ5IGEgcmVhZCBtZXNzYWdlIHRv Cj4gKwkJCSAqIHRoZSBzYW1lIGFkZHJlc3MsICBjb25zaWRlciBjb21iaW5pbmcgdGhlbSBpbnRv IGEgc2luZ2xlIHRyYW5zYWN0aW9uLgo+ICsJCQkgKi8KPiArCQkJaWYgKG1zZ19jb3VudCArIDEg PCBudW0gJiYKPiArCQkJICAgIG1zZ3NbbXNnX2NvdW50XS5hZGRyID09IG1zZ3NbbXNnX2NvdW50 ICsgMV0uYWRkciAmJgo+ICsJCQkgICAgKG1zZ3NbbXNnX2NvdW50ICsgMV0uZmxhZ3MgJiBJMkNf TV9SRCkpIHsKPiArCQkJCWlmIChtc2dzW21zZ19jb3VudF0ubGVuICsgbXNnc1ttc2dfY291bnQg KyAxXS5sZW4gPgo+ICsJCQkJICAgIFAzSDJYNFhfU01CVVNfUEFZTE9BRF9TSVpFKQo+ICsJCQkJ CXJldHVybiAtRUlOVkFMOwoKW1NldmVyaXR5OiBNZWRpdW1dClNob3VsZCB0aGlzIGZhbGwgYmFj ayB0byBzZW5kaW5nIHRoZSB3cml0ZSBhbmQgcmVhZCBhcyBzZXBhcmF0ZSB0cmFuc2FjdGlvbnMK KG9yIHNldCBtYXhfY29tYl8xc3RfbXNnX2xlbiBhbmQgbWF4X2NvbWJfMm5kX21zZ19sZW4gaW4K cDNoMng0eF90cF9pMmNfcXVpcmtzKSBpbnN0ZWFkIG9mIHJldHVybmluZyAtRUlOVkFMPwoKQmVj YXVzZSBwM2gyeDR4X3RwX2kyY19xdWlya3MgYWR2ZXJ0aXNlcyBtYXhfcmVhZF9sZW4gPSA4NCBh bmQKbWF4X3dyaXRlX2xlbiA9IDg0IHdpdGggbm8gY29tYmluZWQgbGltaXQsIGNhbGxlcnMgc3Vj aCBhcyByZWdtYXAtaTJjIGlzc3VlCmEgMS0gb3IgMi1ieXRlIHJlZ2lzdGVyIHdyaXRlIGZvbGxv d2VkIGJ5IGFuIDg0LWJ5dGUgcmVhZDsgYm90aCBtZXNzYWdlcwpwYXNzIGkyY19jaGVja19mb3Jf cXVpcmtzKCksIGJ1dCB0aGVpciBzdW0gZXhjZWVkcwpQM0gyWDRYX1NNQlVTX1BBWUxPQURfU0la RSAoODQpIGFuZCBmYWlscyBoZXJlIHdpdGggLUVJTlZBTC4KCj4gKwo+ICsJCQkJcncgPSAyOwo+ ICsJCQkJbXNnX2NvdW50ICs9IDE7Cj4gKwkJCQlyZXRfc3VtICs9IDE7Cj4gKwkJCX0KPiArCQl9 Cj4gKwo+ICsJCXJldCA9IHAzaDJ4NHhfdHBfaTJjX3hmZXJfbXNnKHAzaDJ4NHhfaTNjX2h1YiwK PiArCQkJCQkgICAgICBtc2dzLAo+ICsJCQkJCSAgICAgIGJ1cy0+dHBfcG9ydCwKPiArCQkJCQkg ICAgICAocncgPT0gMikgPyAobXNnX2NvdW50IC0gMSkgOiBtc2dfY291bnQsCj4gKwkJCQkJICAg ICAgIHJ3KTsKPiArCQlpZiAocmV0KQo+ICsJCQlyZXR1cm4gcmV0Owo+ICsKPiArCQlyZXRfc3Vt Kys7Cj4gKwl9Cj4gKwlyZXR1cm4gcmV0X3N1bTsKPiArfQo+ICsKPiArc3RhdGljIHUzMiBwM2gy eDR4X3RwX3NtYnVzX2Z1bmNzKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlcikKPiArewo+ICsJ cmV0dXJuIEkyQ19GVU5DX0kyQyB8IEkyQ19GVU5DX1NNQlVTX0JMT0NLX0RBVEE7Cj4gK30KCltT ZXZlcml0eTogSGlnaF0KRG9lcyBhZHZlcnRpc2luZyBJMkNfRlVOQ19TTUJVU19CTE9DS19EQVRB IHdpdGhvdXQgaGFuZGxpbmcgSTJDX01fUkVDVl9MRU4KaW4gcDNoMng0eF90cF9pMmNfeGZlcl9t c2coKSBjb3JydXB0IFNNQnVzIGJsb2NrIHJlYWRzIGFuZCBsZWFrIHN0YWNrIG1lbW9yeT8KCkJl Y2F1c2UgcDNoMng0eF90cF9pMmNfYWxnb3JpdGhtIGhhcyBubyAuc21idXNfeGZlciBjYWxsYmFj aywKaTJjX3NtYnVzX3JlYWRfYmxvY2tfZGF0YSgpIGFuZCBJMkNfU01CVVNfQkxPQ0tfREFUQSBy ZWFkIGlvY3RscyBnbyB0aHJvdWdoCmkyY19zbWJ1c194ZmVyX2VtdWxhdGVkKCksIHdoaWNoIHNl dHMgbXNnWzFdLmZsYWdzIHw9IEkyQ19NX1JFQ1ZfTEVOIGFuZAptc2dbMV0ubGVuID0gMS4gIHAz aDJ4NHhfdHBfaTJjX3hmZXJfbXNnKCkgaWdub3JlcyBJMkNfTV9SRUNWX0xFTiBhbmQgcmVhZHMK b25seSAxIGJ5dGUgKHRoZSBibG9jayBsZW5ndGggTikgaW50byBtc2dbMV0uYnVmWzBdLCBhZnRl ciB3aGljaAppMmNfc21idXNfeGZlcl9lbXVsYXRlZCgpIGNvcGllcyBOIHVud3JpdHRlbiBieXRl cyBmcm9tIG1zZ1sxXS5idWZbMS4uTl0gdG8KdGhlIGNhbGxlciAoemVyb2VzIGZyb20gdGhlIGJv dW5jZSBidWZmZXIsIG9yIHVuaW5pdGlhbGl6ZWQgc3RhY2sgYnl0ZXMgZnJvbQptc2didWYxIGlm IGt6YWxsb2MoKSBpbiBpMmNfc21idXNfdHJ5X2dldF9kbWFidWYoKSBmYWlscykuCgpBbHNvLCBv bWl0dGluZyBJMkNfRlVOQ19TTUJVU19FTVVMIGxlYXZlcyBzdGFuZGFyZCBieXRlLCB3b3JkLCBh bmQgSTJDLWJsb2NrClNNQnVzIG9wZXJhdGlvbnMgdW5hZHZlcnRpc2VkLCBwcmV2ZW50aW5nIFNN QnVzIGFuZCBod21vbiBkcml2ZXJzIGZyb20gdXNpbmcKdGhlIGFkYXB0ZXIuCgotLSAKU2FzaGlr byBBSSByZXZpZXcgwrcgaHR0cHM6Ly9zYXNoaWtvLmRldi8jL3BhdGNoc2V0LzIwMjYxMTEyMTI0 NDM3LjMzNjcyNTItMS1sYWtzaGF5LnBpcGxhbmlAbnhwLmNvbT9wYXJ0PTMKCi0tIApsaW51eC1p M2MgbWFpbGluZyBsaXN0CmxpbnV4LWkzY0BsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0 cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtaTNjCg==