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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 21B32C531D0 for ; Sat, 25 Jul 2026 05:16:35 +0000 (UTC) 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:Message-Id:Date: References:In-Reply-To:Cc:To:Subject:From:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=ll6fQoyqSjaug2R+gTYeJVqMtimaOV8ouD3uQkx2yM4=; b=uXPoKW0/w7QLYU seDsAZYBy+/PY4a6ScJxE0DVBJuolCn9ju/08KfSlrcouI5ilo6yLUwpOd4474KdnSdb21wtK0W7h zV0+KpjHMqXmManPo3SGmndLmkzuA5xacsJWM7in+i37jCwHiqSqgGU4rIcMNyCHw1rftBbppRq7O VlHhIiqX5stbLp4+5gJ4S5msS/yoR2maBcykb4xhxnYUwGJFcJJ0x+V127In+APWA9J93nABZwadP Z5pK+4zTm0yYUsRLmyfRolmjKxNwmUlLs1SlPvn+/eURPj5xcdiDDyLePGmWs2kjWlNBvybvNczbd 2dntBqmFII1J7MmC28tQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wnUkU-000000003v2-3V17; Sat, 25 Jul 2026 05:16:34 +0000 Received: from sea.source.kernel.org ([2600:3c0a:e001:78e:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wnUkT-000000003uv-30eV for linux-phy@lists.infradead.org; Sat, 25 Jul 2026 05:16:33 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id 4A2C743B1F; Sat, 25 Jul 2026 05:16:33 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B26341F000E9; Sat, 25 Jul 2026 05:16:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1784956593; bh=XAKNe4Xav4AmQ2UV4OyG/MZDDnkWslDHAQDtv/PFkF4=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=AizyW1TdCvHMzpFE/YJ3JQvqRsixlMU3M8G6Hp84PzvB+/uwR3lPJTXws93Bcz5Tp uXTWdidghy/+ZsdWLcxSfl8ZprTW25vAhrtrOTMXDymYWTJegD5F4BoaJeHpM1NiFm IemDLqDkNaIwWQVGNaIaMYzMxX7dK29tJdmZ528VRZ9bpXtQ7+DBvgg27mueTXxqEM aS7egEIGtoO1cJM/Kid+NX/PHutMduPNLcmQRlC7t41PniosLilfNh5sx3AP3lhiTj hjx1eRXM9wLPgsFYz+zoRV9Sy4t958KXAub+MoJSkQKRg7AADke2SSX3IIsCmSgRT3 s9rYYB++/0jdQ== From: sashiko-bot@kernel.org Subject: Re: [PATCH 05/17] phy: spacemit: add Innosilicon DP TX PHY driver To: "Cody Kang" Cc: devicetree@vger.kernel.org, conor+dt@kernel.org, olteanv@gmail.com, linux-phy@lists.infradead.org, vkoul@kernel.org, neil.armstrong@linaro.org, dri-devel@lists.freedesktop.org, robh@kernel.org In-Reply-To: <20260724-k3-display-v1-5-f22a10a52867@gmail.com> References: <20260724-k3-display-v1-0-f22a10a52867@gmail.com> <20260724-k3-display-v1-5-f22a10a52867@gmail.com> Date: Sat, 25 Jul 2026 05:16:32 +0000 Message-Id: <20260725051632.B26341F000E9@smtp.kernel.org> X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sashiko-reviews@lists.linux.dev MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-phy" Errors-To: linux-phy-bounces+linux-phy=archiver.kernel.org@lists.infradead.org VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg NyBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW0hpZ2hdIEhhcmR3YXJlIHN0YXRl IChQUkVQTEwpIGlzIGFjY2Vzc2VkIGNvbmN1cnJlbnRseSB3aXRob3V0IHByb3RlY3Rpb24gYWNy b3NzIFBIWSBhbmQgQ0NGIGZyYW1ld29ya3MuCi0gW01lZGl1bV0gVGhlIGRyaXZlciBmYWlscyB0 byBwb3dlciBvZmYgdGhlIGNvcmUgRFAgbGluayBQTEwgKE1QTEwpIHdoZW4gdGhlIFBIWSBpcyBk aXNhYmxlZCwgY2F1c2luZyBhIHBvd2VyIGxlYWsuCi0gW01lZGl1bV0gTWlzc2luZyBjbGVhbnVw IGluIHRoZSBgazNfaW5ub19kcF9waHlfcG93ZXJfb25gIGVycm9yIHBhdGhzIGxlYXZlcyBQSFkg Y29tcG9uZW50cyBhY3RpdmVseSBjb25zdW1pbmcgcG93ZXIuCi0gW01lZGl1bV0gRHluYW1pY2Fs bHkgcmVkdWNpbmcgdGhlIGxhbmUgY291bnQgdmlhIGBwaHlfY29uZmlndXJlKClgIGRvZXMgbm90 IGRpc2FibGUgdGhlIHVudXNlZCB0cmFuc21pdCBsYW5lIGRyaXZlcnMuCi0gW01lZGl1bV0gVW5j b25kaXRpb25hbCBQTEwgcG93ZXItdXAgZHVyaW5nIHJhdGUgY29uZmlndXJhdGlvbiBvdmVycmlk ZXMgdGhlIFBIWSBwb3dlciBzdGF0ZS4KLSBbTWVkaXVtXSBNaXNzaW5nIGJvdW5kcyBjaGVjayBv biBgb3B0cy0+bGFuZXNgIGNhdXNlcyBvdXQtb2YtYm91bmRzIGFycmF5IHJlYWRzIGFuZCB1bmRl ZmluZWQgc2hpZnQgYmVoYXZpb3IgaW4gYGszX2lubm9fZHBfcGh5X3NldF92b2x0YWdlc2AuCi0g W01lZGl1bV0gVGhlIHBpeGVsIGNsb2NrIChgcHhjbGtgKSBpcyByZWdpc3RlcmVkIHdpdGggdGhl IENDRiB3aXRob3V0IGAucHJlcGFyZWAvYC51bnByZXBhcmVgIG9yIGAuZW5hYmxlYC9gLmRpc2Fi bGVgIGhvb2tzLCB5ZXQgaXRzIHBvd2VyIHN0YXRlIGlzIG1hbmlwdWxhdGVkIGltcGxpY2l0bHku Ci0tCgotLS0gUGF0Y2ggWzVdOiBbUEFUQ0ggMDUvMTddIHBoeTogc3BhY2VtaXQ6IGFkZCBJbm5v c2lsaWNvbiBEUCBUWCBQSFkgZHJpdmVyIC0tLQpjb21taXQgNDZiNzY0ZDkxYTk3N2JkYzc5NmU0 MDRkN2VhYWJiMDM2MmU3NTNiMApBdXRob3I6IENvZHkgS2FuZyA8Y29keWthbmcuaGtAZ21haWwu Y29tPgpTdWJqZWN0OiBwaHk6IHNwYWNlbWl0OiBhZGQgSW5ub3NpbGljb24gRFAgVFggUEhZIGRy aXZlcgoKVGhpcyBjb21taXQgYWRkcyBzdXBwb3J0IGZvciB0aGUgSW5ub3NpbGljb24gRGlzcGxh eVBvcnQgdHJhbnNtaXQgUEhZCmludGVncmF0ZWQgaW4gdGhlIFNwYWNlbWlUIEszIFNvQy4gVGhl IFBIWSBzaGFyZXMgaXRzIE1NSU8gd2luZG93IHdpdGggaXRzCnBhcmVudCBEUC9lRFAgY29udHJv bGxlciBhbmQgZXhwb3NlcyBsYW5lLCByYXRlLCBhbmQgdm9sdGFnZSBjb250cm9sLiBJdAphbHNv IHJlZ2lzdGVycyBpdHMgcGl4ZWwgUExMIGFzIGEgY2xvY2sgcHJvdmlkZXIuCgo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL3BoeS9zcGFjZW1pdC9waHktazMtaW5uby1kcC5jIGIvZHJpdmVycy9waHkv c3BhY2VtaXQvcGh5LWszLWlubm8tZHAuYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXgg MDAwMDAwMDAwMDAwMC4uOWRkNjJlZGI3YTVhZgo+IC0tLSAvZGV2L251bGwKPiArKysgYi9kcml2 ZXJzL3BoeS9zcGFjZW1pdC9waHktazMtaW5uby1kcC5jCgpbIC4uLiBdCgo+IEBAIC0xMDMsNDUg KzEwMyw0NSBAQCBzdGF0aWMgaW50IGszX2lubm9fZHBfcGh5X3Bvd2VyX29uKHN0cnVjdCBwaHkg KnBoeSkKPiArCXN0cnVjdCBrM19pbm5vX2RwX3BoeSAqcCA9IHBoeV9nZXRfZHJ2ZGF0YShwaHkp Owo+ICsJdTMyIGxhbmVfZW47Cj4gKwl1MzIgdmFsOwo+ICsJaW50IHJldDsKPiArCj4gKwlzd2l0 Y2ggKHAtPmxhbmVzKSB7Cj4gKwljYXNlIDE6Cj4gKwkJbGFuZV9lbiA9IDB4MTsKPiArCQlicmVh azsKPiArCWNhc2UgMjoKPiArCQlsYW5lX2VuID0gMHgzOwo+ICsJCWJyZWFrOwo+ICsJY2FzZSA0 Ogo+ICsJZGVmYXVsdDoKPiArCQlsYW5lX2VuID0gMHhmOwo+ICsJCWJyZWFrOwo+ICsJfQo+ICsK PiArCXJldCA9IHJlZ21hcF93cml0ZV9iaXRzKHAtPnJlZ21hcCwgRFBUWF9BTkFfTVBMTCwgRFBU WF9BTkFfTVBMTF9QRCwgMCk7Cj4gKwlpZiAocmV0KQo+ICsJCXJldHVybiByZXQ7Cj4gKwlyZXQg PSByZWdtYXBfd3JpdGVfYml0cyhwLT5yZWdtYXAsIERQVFhfQU5BX1BSRVBMTCwKPiArCQkJCURQ VFhfQU5BX1BSRVBMTF9QRCwgMCk7Cj4gKwlpZiAocmV0KQo+ICsJCXJldHVybiByZXQ7CgpbU2V2 ZXJpdHk6IEhpZ2hdCkFyZSB0aGVyZSBwb3RlbnRpYWwgY29uY3VycmVuY3kgaXNzdWVzIGJldHdl ZW4gdGhlIENDRiBhbmQgUEhZIGZyYW1ld29ya3Mgd2hlbiAKYWNjZXNzaW5nIHRoZSBQUkVQTEw/ CgpUaGUgQ0NGIGNhbGxzIGszX2lubm9fZHBfcHhjbGtfc2V0X3JhdGUoKSBob2xkaW5nIHRoZSBw cmVwYXJlX2xvY2ssIHdoaWNoIApwb3dlcnMgZG93biB0aGUgUFJFUExMLCBzbGVlcHMsIGFuZCBw cm9ncmFtcyByZWdpc3RlcnMuIE1lYW53aGlsZSwgdGhlIFBIWSAKZnJhbWV3b3JrIGNhbGxzIGsz X2lubm9fZHBfcGh5X3Bvd2VyX29uKCkgaG9sZGluZyBwaHktPm11dGV4LiAKCkNvdWxkIGEgY29u Y3VycmVudCBwaHlfcG93ZXJfb24oKSBjbGVhciB0aGUgUFJFUExMX1BEIGJpdCBkdXJpbmcgdGhl IHNsZWVwIAp3aW5kb3csIGNhdXNpbmcgdGhlIGNsb2NrIGZyYW1ld29yayB0byB3cml0ZSBjb25m aWd1cmF0aW9uIHZhbHVlcyB0byBhIApydW5uaW5nIFBMTD8KCj4gKwl1c2xlZXBfcmFuZ2UoMjAw MCwgNDAwMCk7Cj4gKwo+ICsJcmV0ID0gcmVnbWFwX3dyaXRlX2JpdHMocC0+cmVnbWFwLCBEUFRY X1BIWV9DVFJMLAo+ICsJCQkJRFBUWF9QSFlfQ1RSTF9YTUlUX0VOLAo+ICsJCQkJRklFTERfUFJF UChEUFRYX1BIWV9DVFJMX1hNSVRfRU4sIGxhbmVfZW4pKTsKPiArCWlmIChyZXQpCj4gKwkJcmV0 dXJuIHJldDsKPiArCXVzbGVlcF9yYW5nZSgyMDAwLCA0MDAwKTsKPiArCj4gKwlyZXQgPSByZWdt YXBfcmVhZF9wb2xsX3RpbWVvdXQocC0+cmVnbWFwLCBEUFRYX0FOQV9NUExMLCB2YWwsCj4gKwkJ CQkgICAgICAgdmFsICYgRFBUWF9BTkFfTVBMTF9MT0NLRUQsCj4gKwkJCQkgICAgICAgMjAwMCwg MTAgKiAxMDAwKTsKPiArCWlmIChyZXQpIHsKPiArCQlkZXZfZXJyKHAtPmRldiwgIkRQIFBIWSBj b3JlIFBMTCBsb2NrIHRpbWVkIG91dFxuIik7Cj4gKwkJcmV0dXJuIHJldDsKPiArCX0KCltTZXZl cml0eTogTWVkaXVtXQpJZiByZWdtYXBfcmVhZF9wb2xsX3RpbWVvdXQoKSB0aW1lcyBvdXQgaGVy ZSBvciBvbiB0aGUgUFJFUExMIGxvY2ssIHdlIHJldHVybiAKYW4gZXJyb3Igd2l0aG91dCByZXZl cnRpbmcgdGhlIHBvd2VyZWQtdXAgaGFyZHdhcmUgc3RhdGUuCgpTaW5jZSB0aGUgUEhZIGNvcmUg ZnJhbWV3b3JrIGRvZXNuJ3QgaW52b2tlIHBoeV9wb3dlcl9vZmYoKSBpZiBwaHlfcG93ZXJfb24o KSAKZmFpbHMsIGRvZXMgdGhpcyBsZWF2ZSB0aGUgTVBMTCwgUFJFUExMLCBhbmQgdHJhbnNtaXQg bGFuZXMgaW5kZWZpbml0ZWx5IApwb3dlcmVkIG9uIGluIGFuIGVycm9yIHN0YXRlPwoKPiArCj4g KwlyZXQgPSByZWdtYXBfcmVhZF9wb2xsX3RpbWVvdXQocC0+cmVnbWFwLCBEUFRYX0FOQV9QUkVQ TEwsIHZhbCwKPiArCQkJCSAgICAgICB2YWwgJiBEUFRYX0FOQV9QUkVQTExfTE9DS0VELAo+ICsJ CQkJICAgICAgIDIwMDAsIDEwICogMTAwMCk7Cj4gKwlpZiAocmV0KQo+ICsJCWRldl9lcnIocC0+ ZGV2LCAiRFAgUEhZIHBpeGVsIFBMTCBsb2NrIHRpbWVkIG91dFxuIik7Cj4gKwo+ICsJcmV0dXJu IHJldDsKPiArfQo+ICsKPiArc3RhdGljIGludCBrM19pbm5vX2RwX3BoeV9wb3dlcl9vZmYoc3Ry dWN0IHBoeSAqcGh5KQo+ICt7Cj4gKwlzdHJ1Y3QgazNfaW5ub19kcF9waHkgKnAgPSBwaHlfZ2V0 X2RydmRhdGEocGh5KTsKPiArCj4gKwlyZWdtYXBfd3JpdGVfYml0cyhwLT5yZWdtYXAsIERQVFhf UEhZX0NUUkwsIERQVFhfUEhZX0NUUkxfWE1JVF9FTiwgMCk7Cj4gKwl1c2xlZXBfcmFuZ2UoMjAw MCwgNDAwMCk7Cj4gKwo+ICsJcmVnbWFwX3dyaXRlX2JpdHMocC0+cmVnbWFwLCBEUFRYX0FOQV9Q UkVQTEwsIERQVFhfQU5BX1BSRVBMTF9QRCwKPiArCQkJICBEUFRYX0FOQV9QUkVQTExfUEQpOwo+ ICsJdXNsZWVwX3JhbmdlKDIwMDAsIDQwMDApOwo+ICsKPiArCXJldHVybiAwOwo+ICt9CgpbU2V2 ZXJpdHk6IE1lZGl1bV0KVGhpcyBwb3dlcnMgZG93biB0aGUgcGl4ZWwgUExMIGFuZCBkaXNhYmxl cyB0aGUgdHJhbnNtaXQgbGFuZXMsIGJ1dCBpdAphcHBlYXJzIHRvIHNraXAgcG93ZXJpbmcgZG93 biB0aGUgY29yZSBEUCBsaW5rIFBMTC4KCkRvZXMgdGhpcyBsZWF2ZSB0aGUgTVBMTCBydW5uaW5n IGluZGVmaW5pdGVseSBhbmQgbGVha2luZyBwb3dlciB3aGVuIHRoZSBQSFkgCmlzIG1lYW50IHRv IGJlIGRpc2FibGVkPyBTaG91bGQgd2UgYWxzbyBiZSBzZXR0aW5nIERQVFhfQU5BX01QTExfUEQg aGVyZT8KClsgLi4uIF0KCj4gK3N0YXRpYyBpbnQgazNfaW5ub19kcF9waHlfc2V0X2xhbmVzKHN0 cnVjdCBrM19pbm5vX2RwX3BoeSAqcCwgdTggbGFuZXMpCj4gK3sKPiArCXUzMiB2YWw7Cj4gKwlp bnQgcmV0OwoKWyAuLi4gXQoKPiArCXJldCA9IHJlZ21hcF93cml0ZV9iaXRzKHAtPnJlZ21hcCwg RFBUWF9QSFlfQ1RSTCwKPiArCQkJCURQVFhfUEhZX0NUUkxfTlVNX0xBTkVTLAo+ICsJCQkJRklF TERfUFJFUChEUFRYX1BIWV9DVFJMX05VTV9MQU5FUywgdmFsKSk7Cj4gKwlpZiAocmV0KQo+ICsJ CXJldHVybiByZXQ7Cj4gKwo+ICsJcC0+bGFuZXMgPSBsYW5lczsKPiArCXJldHVybiAwOwo+ICt9 CgpbU2V2ZXJpdHk6IE1lZGl1bV0KSWYgYSBjYWxsZXIgZHluYW1pY2FsbHkgcmVkdWNlcyB0aGUg bGFuZSBjb3VudCB2aWEgcGh5X2NvbmZpZ3VyZSgpIChmb3IgCmluc3RhbmNlLCBmYWxsaW5nIGJh Y2sgZnJvbSA0IGxhbmVzIHRvIDIgZHVyaW5nIERQIGxpbmsgdHJhaW5pbmcpLCB0aGlzIAp1cGRh dGVzIHRoZSBsb2dpY2FsIGxhbmUgY291bnQgYnV0IGRvZXNuJ3Qgc3luY2hyb25pemUgdGhlIApE UFRYX1BIWV9DVFJMX1hNSVRfRU4gcmVnaXN0ZXIgYml0cy4KCldpbGwgdGhpcyBsZWF2ZSB0aGUg dW51c2VkIHBoeXNpY2FsIHRyYW5zbWl0IGxhbmUgZHJpdmVycyBhY3RpdmVseSBkcml2ZW4/Cgpb IC4uLiBdCgo+ICtzdGF0aWMgdm9pZCBrM19pbm5vX2RwX3BoeV9wcm9ncmFtX21wbGwoc3RydWN0 IGszX2lubm9fZHBfcGh5ICpwLAo+ICsJCQkJCWNvbnN0IHN0cnVjdCBrM19pbm5vX2RwX21wbGxf Y2ZnICpjZmcpCj4gK3sKPiArCXN0cnVjdCByZWdtYXAgKnJtID0gcC0+cmVnbWFwOwoKWyAuLi4g XQoKPiArCXJlZ21hcF93cml0ZV9iaXRzKHJtLCBEUFRYX0FOQV9QUkVQTExfQ1RSTCwgRFBUWF9B TkFfUFJFUExMX0xPQ0tfQllQRU4sCj4gKwkJRklFTERfUFJFUChEUFRYX0FOQV9QUkVQTExfTE9D S19CWVBFTiwgMSkpOwo+ICsKPiArCXJlZ21hcF93cml0ZV9iaXRzKHJtLCBEUFRYX0FOQV9NUExM LCBEUFRYX0FOQV9NUExMX1BELAo+ICsJCUZJRUxEX1BSRVAoRFBUWF9BTkFfTVBMTF9QRCwgMCkp Owo+ICsJdXNsZWVwX3JhbmdlKDIwMDAsIDQwMDApOwo+ICt9CgpbU2V2ZXJpdHk6IE1lZGl1bV0K V2hlbiBjb25maWd1cmluZyB0aGUgUExMIHJhdGUsIHRoaXMgY2xlYXJzIHRoZSBwb3dlciBkb3du IGJpdCAKKERQVFhfQU5BX01QTExfUEQpIGF0IHRoZSBlbmQgb2YgdGhlIHByb2dyYW1taW5nIHNl cXVlbmNlLgoKSWYgYSByYXRlIGNvbmZpZ3VyYXRpb24gb2NjdXJzIHdoaWxlIHRoZSBQSFkgaXMg aW50ZW50aW9uYWxseSBzdXNwZW5kZWQsIHdpbGwgCnRoaXMgZm9yY2UgdGhlIFBMTHMgb24gYW5k IG92ZXJyaWRlIHRoZSBQSFkncyBpbnRlbmRlZCBwb3dlciBzdGF0ZT8KClsgLi4uIF0KCj4gK3N0 YXRpYyBpbnQgazNfaW5ub19kcF9waHlfc2V0X3ZvbHRhZ2VzKHN0cnVjdCBrM19pbm5vX2RwX3Bo eSAqcCwKPiArCQkJCSAgICAgICBzdHJ1Y3QgcGh5X2NvbmZpZ3VyZV9vcHRzX2RwICpvcHRzKQo+ ICt7Cj4gKwl1OCBsYW5lOwo+ICsJaW50IHJldDsKPiArCj4gKwlmb3IgKGxhbmUgPSAwOyBsYW5l IDwgb3B0cy0+bGFuZXM7IGxhbmUrKykgewo+ICsJCXVuc2lnbmVkIGludCBzaGlmdCA9IGxhbmUg KiBEUFRYX1BIWV9MQU5FX0JJVFNfUEVSOwo+ICsJCXUzMiBtYXNrID0gRFBUWF9QSFlfTEFORV9G SUVMRF9NQVNLIDw8IHNoaWZ0Owo+ICsJCXUzMiB2YWwgID0gKCgob3B0cy0+dm9sdGFnZVtsYW5l XSAmIDB4MykgPDwgRFBUWF9QSFlfTEFORV9WU1dJTkdfU0hJRlQpIHwKPiArCQkJICAgIChvcHRz LT5wcmVbbGFuZV0gJiAweDMpKSA8PCBzaGlmdDsKCltTZXZlcml0eTogTWVkaXVtXQpDb3VsZCBh biB1bnZhbGlkYXRlZCBvciB1bmluaXRpYWxpemVkIG9wdHMtPmxhbmVzIGNhdXNlIGFuIG91dC1v Zi1ib3VuZHMKYXJyYXkgcmVhZCBvbiBvcHRzLT52b2x0YWdlIGFuZCBvcHRzLT5wcmUsIGFzIHdl bGwgYXMgdW5kZWZpbmVkIGJpdCBzaGlmdHMKaGVyZT8KCkluIGszX2lubm9fZHBfcGh5X2NvbmZp Z3VyZSgpLCBrM19pbm5vX2RwX3BoeV9zZXRfbGFuZXMoKSBpcyBvbmx5IGNhbGxlZCBpZiAKb3B0 cy0+ZHAuc2V0X2xhbmVzIGlzIHRydWUuIElmIGEgY2FsbGVyIHBhc3NlcyBvcHRzLT5kcC5zZXRf bGFuZXMgPSAwIGJ1dCAKb3B0cy0+ZHAuc2V0X3ZvbHRhZ2VzID0gMSwgb3B0cy0+ZHAubGFuZXMg c2tpcHMgdmFsaWRhdGlvbi4KClsgLi4uIF0KCj4gK3N0YXRpYyB2b2lkIGszX2lubm9fZHBfcHJv Z3JhbV9wcmVwbGwoc3RydWN0IGszX2lubm9fZHBfcGh5ICpwLAo+ICsJCQkJICAgICAgY29uc3Qg c3RydWN0IGszX2lubm9fZHBfcHJlcGxsX2NmZyAqY2ZnKQo+ICt7Cj4gKwlyZWdtYXBfd3JpdGVf Yml0cyhwLT5yZWdtYXAsIERQVFhfQU5BX1BSRVBMTCwgRFBUWF9BTkFfUFJFUExMX1BELAo+ICsJ CUZJRUxEX1BSRVAoRFBUWF9BTkFfUFJFUExMX1BELCAxKSk7Cj4gKwl1c2xlZXBfcmFuZ2UoMjAw MCwgNDAwMCk7Cj4gKwoKWyAuLi4gXQoKPiArCXJlZ21hcF93cml0ZV9iaXRzKHAtPnJlZ21hcCwg RFBUWF9BTkFfUFJFUExMLCBEUFRYX0FOQV9QUkVQTExfUEQsCj4gKwkJRklFTERfUFJFUChEUFRY X0FOQV9QUkVQTExfUEQsIDApKTsKPiArCXVzbGVlcF9yYW5nZSgyMDAwLCA0MDAwKTsKPiArfQoK W1NldmVyaXR5OiBNZWRpdW1dClNpbWlsYXIgdG8gdGhlIE1QTEwgY29uZmlndXJhdGlvbiwgdGhp cyB1bmNvbmRpdGlvbmFsbHkgY2xlYXJzIHRoZSBQUkVQTEwgCnBvd2VyIGRvd24gYml0IGF0IHRo ZSBlbmQgb2YgcHJvZ3JhbW1pbmcsIHBvdGVudGlhbGx5IG92ZXJyaWRpbmcgdGhlIGludGVuZGVk IApwb3dlciBzdGF0ZSBvZiB0aGUgUEhZLgoKWyAuLi4gXQoKPiArc3RhdGljIGNvbnN0IHN0cnVj dCBjbGtfb3BzIGszX2lubm9fZHBfcHhjbGtfb3BzID0gewo+ICsJLnJlY2FsY19yYXRlCT0gazNf aW5ub19kcF9weGNsa19yZWNhbGNfcmF0ZSwKPiArCS5kZXRlcm1pbmVfcmF0ZQk9IGszX2lubm9f ZHBfcHhjbGtfZGV0ZXJtaW5lX3JhdGUsCj4gKwkuc2V0X3JhdGUJPSBrM19pbm5vX2RwX3B4Y2xr X3NldF9yYXRlLAo+ICt9OwoKW1NldmVyaXR5OiBNZWRpdW1dClRoZSBwaXhlbCBjbG9jayBpcyBy ZWdpc3RlcmVkIHdpdGggdGhlIENvbW1vbiBDbG9jayBGcmFtZXdvcmsgd2l0aG91dCAKLnByZXBh cmUvLnVucHJlcGFyZSBvciAuZW5hYmxlLy5kaXNhYmxlIGhvb2tzLgoKU2luY2UgdGhlIENDRiB0 cmFja3MgdGhlIGNsb2NrIHN0YXRlIHB1cmVseSBpbiBzb2Z0d2FyZSB3aGlsZSBwaHlfcG93ZXJf b2ZmKCkgCnBoeXNpY2FsbHkgcG93ZXJzIGRvd24gdGhlIFBSRVBMTCwgY2FuIHRoaXMgY2F1c2Ug YSBtaXNtYXRjaCB3aGVyZSBkb3duc3RyZWFtIApjb25zdW1lcnMgbG9zZSB0aGVpciBjbG9jayB1 bmV4cGVjdGVkbHkgd2hpbGUgdGhlIENDRiB0aGlua3MgaXQgaXMgc3RpbGwgCnJ1bm5pbmc/Cgot LSAKU2FzaGlrbyBBSSByZXZpZXcgwrcgaHR0cHM6Ly9zYXNoaWtvLmRldi8jL3BhdGNoc2V0LzIw MjYwNzI0LWszLWRpc3BsYXktdjEtMC1mMjJhMTBhNTI4NjdAZ21haWwuY29tP3BhcnQ9NQoKLS0g CmxpbnV4LXBoeSBtYWlsaW5nIGxpc3QKbGludXgtcGh5QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0 cHM6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcGh5Cg==