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 2E986C61DCB for ; Fri, 28 Aug 2026 14:19:26 +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=GS6k4WdakXfqesPFn1TNqLkxnt/5VQsr5WnLP2fVGuU=; b=Cd4081k7vHeFEM 4B+pBBJJzx1lNLvrJdFxtWUP7pOctxwTDZc/uHnXsnB+HGtHlC3aLHb3JhbA8IhpLFhebePFuOynU 6Eu4e4PDCWdUDovhxp+7PIUTg2VTMhr2rPINI1/iad1zbRSNwuzbZ5qz7A+xA3UWUclEy3FCSMCjX dW8ZAFKoPTiioBuiF4Shkrp3PZ7F3rmaxcEemlMB9Zq4SxaLviGClBYxKp/+2S5Gh/6KTJGcj1HEv rMec/NgwYj7xymqk9nj8uSGjAynr3rgVQilZw24qJfvG4A1hzicO9XNwcxw7nkkKP4CehA5M1atqs 3LR2lez6DlOV2byE+Lgg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wzxQT-00000005xnf-3jIi; Fri, 28 Aug 2026 14:19:25 +0000 Received: from tor.source.kernel.org ([172.105.4.254]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wzxQT-00000005xnY-1H2v for linux-phy@lists.infradead.org; Fri, 28 Aug 2026 14:19:25 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id 53189601FD; Fri, 28 Aug 2026 14:19:24 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8E5F81F00A3A; Fri, 28 Aug 2026 14:19:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1787926764; bh=ZrfJoAqnzToUnaZRmCo0rBGl4IzoiTcV7PLOMTYOgig=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=OAxWSrunmc9YH9CS19mL2dlDtNblWdy+/OUSFt+Tf6mcml4rcEY7PCfWJAWREwdUk UjtGAjlQN4/fQS8GtGIg004qdv2sN7ZnezcvXyKTa+K/yEcllHTcqUl0wIE0sg5Ssd t257IGyVUJnFakIBCQPQOPROrsknzf95bb0uRjlSPiAC9JHMW+6m0Cy6TIBgCtQKeZ 5yohLJqBFVxK4BLgRftyOiRIc94Sbzod9sjjyFknSnYR4iWXr33EHR1I8UBtnfVgm/ PyMYtsSup0xKt7fp+73lRiyJkt0X2IaazKd8cDXc2fJ1heOlfY8PvDl79Cr5dYP04u AHYwXLoU5Qx3g== From: sashiko-bot@kernel.org Subject: Re: [PATCH RFC/DO NOT MERGE 10/12] drm/msm/hdmi_phy_eliza: Add support for Synopsys-based HDMI phy on Eliza To: "Krzysztof Kozlowski" Cc: dri-devel@lists.freedesktop.org, neil.armstrong@linaro.org, robh@kernel.org, devicetree@vger.kernel.org, linux-phy@lists.infradead.org, olteanv@gmail.com, vkoul@kernel.org, conor+dt@kernel.org In-Reply-To: <20260828-drm-msm-hdmi-eliza-v1-10-67843277de17@oss.qualcomm.com> References: <20260828-drm-msm-hdmi-eliza-v1-0-67843277de17@oss.qualcomm.com> <20260828-drm-msm-hdmi-eliza-v1-10-67843277de17@oss.qualcomm.com> Date: Fri, 28 Aug 2026 14:19:23 +0000 Message-Id: <20260828141923.8E5F81F00A3A@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 MTAgcG90ZW50aWFsIGlzc3VlKHMpIHRvIGNvbnNpZGVyOgotIFtIaWdoXSBTaWxlbnQgdHJ1bmNh dGlvbiBvZiA2NC1iaXQgaW50ZWdlcnMgcGFzc2VkIHRvIGBnY2QoKWAgb24gMzItYml0IGFyY2hp dGVjdHVyZXMgbGVhZHMgdG8gaW5jb3JyZWN0IGNsb2NrIGNhbGN1bGF0aW9ucy4KLSBbSGlnaF0g MzItYml0IGludGVnZXIgb3ZlcmZsb3cgZHVyaW5nIFBIWSBiaXQgcmF0ZSBjYWxjdWxhdGlvbiBj YXVzZXMgaW5jb3JyZWN0IGhhcmR3YXJlIGNvbmZpZ3VyYXRpb24gZm9yIGhpZ2gtYmFuZHdpZHRo IGRpc3BsYXlzLgotIFtIaWdoXSBEZXRlcm1pbmlzdGljIGRpdmlzaW9uIGJ5IHplcm8gZHVyaW5n IENDRiBjbG9jayByZWdpc3RyYXRpb24gZHVlIHRvIHVuaW5pdGlhbGl6ZWQgY29uZmlndXJhdGlv bi4KLSBbSGlnaF0gU2V2ZXJlIENQVSBzb2Z0IGxvY2t1cCByaXNrIGR1ZSB0byBleGNlc3NpdmUg My1zZWNvbmQgYnVzeS13YWl0IGxvb3AgdXNpbmcgYHJlYWRsX3BvbGxfdGltZW91dF9hdG9taWNg LgotIFtIaWdoXSBQcmVtYXR1cmUgaW50ZWdlciBkaXZpc2lvbiBjYXVzZXMgcHJlY2lzaW9uIGxv c3MgeWllbGRpbmcgaW5jb3JyZWN0IGhhcmR3YXJlIFBMTCBwYXJhbWV0ZXJzLgotIFtNZWRpdW1d IERhdGEgcmFjZSBvbiBQTEwgY29uZmlndXJhdGlvbiBzdGF0ZSBieSBieXBhc3NpbmcgQ29tbW9u IENsb2NrIEZyYW1ld29yayAoQ0NGKSBzeW5jaHJvbml6YXRpb24uCi0gW0xvd10gNjQtYml0IGRp dmlzaW9uIHVzaW5nICcvJyBhbmQgc3RhbmRhcmQgZGl2aXNpb24gbWFjcm9zIGNhdXNlcyBidWls ZCBmYWlsdXJlIG9uIDMyLWJpdCBwbGF0Zm9ybXMuCi0gW0xvd10gVW5zdXBwb3J0ZWQgZmxvYXRp bmctcG9pbnQgbGl0ZXJhbHMgdXNlZCBpbiBpbnRlZ2VyIGNhbGN1bGF0aW9ucy4KLSBbTG93XSBV c2Ugb2YgYG1kZWxheSg4KWAgd2FzdGVzIENQVSByZXNvdXJjZXMgaW4gYSBzbGVlcGFibGUgY29u dGV4dC4KLSBbTG93XSBGcmFnaWxlIGRlc2lnbiBjb25mbGF0ZXMgdGhlIHByZXNlbmNlIG9mIFBI WSByZWd1bGF0b3JzIHdpdGggdGhlIG5hbWUgZm9ybWF0IG9mIGRldmljZSB0cmVlIG1lbW9yeSBy ZXNvdXJjZXMuCi0tCgpjb21taXQgOWM1M2RlZmNlM2M0NTliMTc0MGZiZmY0ZjI0MzRiYWFkNWM3 MGFlZQpBdXRob3I6IEtyenlzenRvZiBLb3psb3dza2kgPGtyenlzenRvZi5rb3psb3dza2lAb3Nz LnF1YWxjb21tLmNvbT4KU3ViamVjdDogZHJtL21zbS9oZG1pX3BoeV9lbGl6YTogQWRkIHN1cHBv cnQgZm9yIFN5bm9wc3lzLWJhc2VkIEhETUkgcGh5IG9uIEVsaXphCgpBZGQgZHJpdmVyIGZvciBI RE1JIHBoeSBibG9jayBmcm9tIFN5bm9wc3lzIHVzZWQgb24gRWxpemEgU29DLiBBZGp1c3QgY29y ZQpwYXJ0cyBmb3IgaGFuZGxpbmcgSERNSSBwaHkgaW5pdGlhbGl6YXRpb24gc2VxdWVuY2UuCgo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2hkbWkvaGRtaV9waHkuYyBiL2RyaXZl cnMvZ3B1L2RybS9tc20vaGRtaS9oZG1pX3BoeS5jCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21z bS9oZG1pL2hkbWlfcGh5LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2hkbWkvaGRtaV9w aHkuYwo+IEBAIC0xNjgsMTMgKzE3MSwxNyBAQCBzdGF0aWMgaW50IG1zbV9oZG1pX3BoeV9wcm9i ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICAJaWYgKCFwaHktPmNmZykKPiAgCQly ZXR1cm4gLUVOT0RFVjsKPiAgCj4gLQlwaHktPm1taW8gPSBtc21faW9yZW1hcChwZGV2LCAiaGRt aV9waHkiKTsKPiArCWlmIChwaHktPmNmZy0+bnVtX3JlZ3MpCj4gKwkJcGh5LT5tbWlvID0gbXNt X2lvcmVtYXAocGRldiwgImhkbWlfcGh5Iik7Cj4gKwllbHNlCj4gKwkJcGh5LT5tbWlvID0gbXNt X2lvcmVtYXAocGRldiwgTlVMTCk7CgpbU2V2ZXJpdHk6IExvd10KRG9lcyB0aGlzIHVzZSBhIGZy YWdpbGUgaGV1cmlzdGljPyBUaGlzIGxvZ2ljIG92ZXJsb2FkcyB0aGUgcHJlc2VuY2Ugb2YKcG93 ZXIgcmVndWxhdG9ycyAobnVtX3JlZ3MpIHRvIGd1ZXNzIHRoZSBmb3JtYXQgb2YgZGV2aWNlIHRy ZWUgbWVtb3J5CnJlc291cmNlcy4gVGhlc2UgdHdvIGhhcmR3YXJlIHByb3BlcnRpZXMgYXJlIG9y dGhvZ29uYWwsIHdoaWNoIGNvdWxkIGJyZWFrCmlmIGZ1dHVyZSBkZXZpY2UgdHJlZSBiaW5kaW5n cyBkaXZlcmdlLgoKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9oZG1pL2hkbWlf cGh5X2VsaXphLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2hkbWkvaGRtaV9waHlfZWxpemEuYwo+ IC0tLSAvZGV2L251bGwKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2hkbWkvaGRtaV9waHlf ZWxpemEuYwpbIC4uLiBdCj4gK3N0YXRpYyBpbnQgaGRtaV9lbGl6YV9wbGxfY2FsY3VsYXRvcihz dHJ1Y3QgaGRtaV9wbGxfZWxpemEgKnBsbCwKPiArCQkJCSAgICAgdW5zaWduZWQgbG9uZyByYXRl LAo+ICsJCQkJICAgICB1bnNpZ25lZCBsb25nIHBhcmVudF9yYXRlLAo+ICsJCQkJICAgICBzdHJ1 Y3QgaGRtaV9lbGl6YV9waHlfcGxsX3JlZ19jZmcgKmNmZykKPiArewpbIC4uLiBdCj4gKwlzNjQg cHJlY2lzaW9uMyA9IDFlMzsKPiArCXM2NCBwcmVjaXNpb242ID0gMWU2OwoKW1NldmVyaXR5OiBM b3ddCkFyZSB0aGVzZSBmbG9hdGluZy1wb2ludCBsaXRlcmFscyBzdXBwb3J0ZWQ/IFNjaWVudGlm aWMgbm90YXRpb24gZGVmYXVsdHMKdG8gZG91YmxlIGxpdGVyYWxzLCB3aGljaCByZWxpZXMgb24g Y29tcGlsZXIgaW1wbGljaXQgY29udmVyc2lvbiB0byBpbnRlZ2Vycy4KVGhlIGtlcm5lbCBzdHJp Y3RseSBwcm9oaWJpdHMgZmxvYXRpbmctcG9pbnQgdHlwZXMuCgpbIC4uLiBdCj4gKwkvKiBleHBv biA9IGZsb29yKGxvZzIoNC45OTk5OTllOS9iYXNlX3JhdGUpKSAqLwo+ICsJdXRlbXAgPSA0Ljk5 OTk5OWU5OwoKW1NldmVyaXR5OiBMb3ddCkFyZSB0aGVzZSBmbG9hdGluZy1wb2ludCBsaXRlcmFs cyBzdXBwb3J0ZWQ/IFRoaXMgaXMgYW5vdGhlciBpbnN0YW5jZSB3aGVyZQpzY2llbnRpZmljIG5v dGF0aW9uIHdpbGwgZXZhbHVhdGUgYXMgYSBkb3VibGUgbGl0ZXJhbC4KCj4gKwo+ICsJZXhwb24g PSBmbHM2NCh1dGVtcCAvIGJhc2VfcmF0ZSkgLSAxOwoKW1NldmVyaXR5OiBMb3ddCkNhbiB0aGlz IGNhdXNlIGEgYnVpbGQgZmFpbHVyZSBvbiAzMi1iaXQgcGxhdGZvcm1zPyBUaGUgZGlyZWN0IDY0 LWJpdApkaXZpc2lvbiBvcGVyYXRvciB0cmlnZ2VycyBhIGRlcGVuZGVuY3kgb24gX191ZGl2ZGkz LCB3aGljaCBpcyB1bnJlc29sdmVkCm9uIDMyLWJpdCBhcmNoaXRlY3R1cmVzLiBkb19kaXYgb3Ig ZGl2NjRfdTY0IHNob3VsZCBiZSB1c2VkIGluc3RlYWQuCgpbIC4uLiBdCj4gKwkvKiBtdWx0aXBs aWVyID0gMiooZmxvb3IoYml0X3JhdGUpICogMioqZXhwb24gLyByZWZfY2xrX2ludCkgLTE2KSAq Lwo+ICsJbXVsdGlwbGllciA9IERJVl9ST1VORF9VUCh2Y29fZnJlcSwgcmVmX2Nsa19pbnQpOwoK W1NldmVyaXR5OiBMb3ddCkNvdWxkIHRoaXMgYWxzbyB0cmlnZ2VyIGEgMzItYml0IGJ1aWxkIGZh aWx1cmU/IERJVl9ST1VORF9VUCBwZXJmb3JtcyBhCm5hdGl2ZSBkaXZpc2lvbiwgYW5kIHNpbmNl IHZjb19mcmVxIGlzIGEgNjQtYml0IHZhbHVlLCB0aGlzIHJlcXVpcmVzIGEgNjQtYml0CmRpdmlz aW9uIHJvdXRpbmUgdGhhdCBpcyB1bmF2YWlsYWJsZSBvbiAzMi1iaXQgYnVpbGRzLgoKWyAuLi4g XQo+ICsJaWYgKGF1eDIgPT0gMCkgewo+ICsJCWNmZy0+cmVtYWluZGVyID0gMDsKPiArCQljZmct PmRlbm9taW5hdG9yID0gMTsKPiArCX0gZWxzZSB7Cj4gKwkJY2ZnLT5yZW1haW5kZXIgPSBESVZf Uk9VTkRfVVAoYXV4MiwgZ2NkKGF1eDEsIGF1eDIpKTsKPiArCQljZmctPmRlbm9taW5hdG9yID0g RElWX1JPVU5EX1VQKGF1eDEsIGdjZChhdXgxLCBhdXgyKSk7CgpbU2V2ZXJpdHk6IEhpZ2hdCkRv ZXMgdGhpcyB0cnVuY2F0ZSA2NC1iaXQgdmFsdWVzIG9uIDMyLWJpdCBhcmNoaXRlY3R1cmVzPyBU aGUgZ2NkIGZ1bmN0aW9uCnRha2VzIHVuc2lnbmVkIGxvbmcgcGFyYW1ldGVycywgd2hpY2ggYXJl IDMyLWJpdCBvbiAzMi1iaXQga2VybmVscy4gU2luY2UKYXV4MSBhbmQgYXV4MiBjYW4gaG9sZCB2 YWx1ZXMgcmVxdWlyaW5nIHVwIHRvIDM2IGJpdHMsIHRoZXkgd2lsbCBiZSBzaWxlbnRseQp0cnVu Y2F0ZWQgd2hlbiBwYXNzZWQgaW50byBnY2QsIGZlZWRpbmcgaW5jb3JyZWN0IGZyYWN0aW9ucyBp bnRvIHRoZSBQTEwKY29uZmlndXJhdGlvbi4KClsgLi4uIF0KPiArCS8qIHN0ZW1wID0gKFJFRl9D TEtfTUhaLzIqKnJlZl9hbmFfbXBsbF9kaXYpICovCj4gKwlzdGVtcCA9IChSRUZfQ0xLX0haIC8g MTAwMDAwMCkgKiBwcmVjaXNpb24zOwoKW1NldmVyaXR5OiBIaWdoXQpEb2VzIHRoaXMgcHJlbWF0 dXJlIGRpdmlzaW9uIGNhdXNlIGEgbG9zcyBvZiBwcmVjaXNpb24/IFJFRl9DTEtfSFogaXMKZGl2 aWRlZCBieSAxLDAwMCwwMDAgZmlyc3QsIHdoaWNoIGRyb3BzIHRoZSByZW1haW5kZXIgYmVmb3Jl IHNjYWxpbmcuIFdpdGgKUkVGX0NMS19IWiBhdCAzOCw0MDAsMDAwLCB0aGUgcmVzdWx0IHRydW5j YXRlcyB0byAzOCBpbnN0ZWFkIG9mIHByZXNlcnZpbmcKdGhlIDAuNCBNSHouIFRoZSBlcnJvciBp cyB0aGVuIHNxdWFyZWQgbGF0ZXIsIHByb3BhZ2F0aW5nIHNpZ25pZmljYW50IGRyaWZ0CmludG8g dGhlIFBMTCBhbmFsb2cgcGFyYW1ldGVycy4KClsgLi4uIF0KPiArCWNmZy0+Y3BfaW50X2hvbGRl ciA9IERJVl9ST1VORF9DTE9TRVNUKHN0ZW1wMywgcHJlY2lzaW9uNik7CgpbU2V2ZXJpdHk6IExv d10KQ2FuIHRoaXMgcmVzdWx0IGluIGEgYnVpbGQgZmFpbHVyZSBvbiAzMi1iaXQgYXJjaGl0ZWN0 dXJlcz8gCkRJVl9ST1VORF9DTE9TRVNUIHRyaWdnZXJzIG5hdGl2ZSBkaXZpc2lvbiBvbiBzNjQg dmFyaWFibGVzLCB3aGljaCB3aWxsIGZhaWwKdG8gbGluayB3aXRob3V0IF9fZGl2ZGkzLgoKWyAu Li4gXQo+ICtzdGF0aWMgaW50IGhkbWlfZWxpemFfcGxsX3ByZXBhcmUoc3RydWN0IGNsa19odyAq aHcpCj4gK3sKWyAuLi4gXQo+ICsJLyoKPiArCSAqIFRoaXMgU3lub3BzeXMgUExMIGRvZXMgbm90 IGhhdmUgYSBQTEwgbG9jay1saWtlIHJlZ2lzdGVyLCB0aHVzIHRoZXJlCj4gKwkgKiBpcyBubyB3 YXkgdG8gdGVsbCB3aGVuIHRoZSBQTEwgYWN0dWFsbHkgbG9ja2VkLgo+ICsJICogUmV0dXJuaW5n IG5vdywgd291bGQgbGVhZCB0byBzdHVjayBwY2xrIG9yIGlmYWNlIFJDRyBjbG9ja3MgYXQgb2Zm Cj4gKwkgKiAoZGlzcF9jY19tZHNzX2hkbWlfcGNsa19jbGsgc3RhdHVzIHN0dWNrIGF0ICdvZmYn KSwKPiArCSAqIHRodXMgb2J2aW91c2x5IHRoZSBwcm9mZXNzaW9uYWwgc29sdXRpb24gaXMgdG8g ZGVsYXkuCj4gKwkgKiA4IG1zIHdhcyBmaWd1cmVkIG91dCBkdXJpbmcgdGVzdHMsIG5vdCBiYXNl ZCBvbiBhbnkgZGF0YXNoZWV0Lgo+ICsJICovCj4gKwltZGVsYXkoOCk7Cj4gKwo+ICsJcmV0dXJu IDA7Cj4gK30KCltTZXZlcml0eTogTG93XQpJcyBtZGVsYXkgc3RyaWN0bHkgbmVjZXNzYXJ5IGhl cmU/IEJ1c3ktd2FpdGluZyB0aGUgQ1BVIGZvciA4IG1pbGxpc2Vjb25kcwp3YXN0ZXMgcmVzb3Vy Y2VzIGluIGEgY29udGV4dCB3aGVyZSBzbGVlcGluZyBpcyBmdWxseSBwZXJtaXR0ZWQuIFRoZSBw cmVwYXJlCmNhbGxiYWNrIGNhbiBzYWZlbHkgeWllbGQgdGhlIENQVSB1c2luZyBtc2xlZXAgb3Ig dXNsZWVwX3JhbmdlLgoKWyAuLi4gXQo+ICtzdGF0aWMgdTY0IGhkbWlfZWxpemFfcGxsX3Zjb19m cmVxKHU2NCByZWZfY2xrX2h6LCB1MzIgbXVsdGlwbGllciwgdTMyIGZyYWNfcXVvdCwKPiArCQkJ CSAgIHUzMiBmcmFjX3JlbSwgdTMyIGZyYWNfZGVuKQo+ICt7Cj4gKwl1NjQgbnVtOwo+ICsJdTY0 IGRlbjsKPiArCj4gKwludW0gPSAzMlVMTCAqIDY1NTM2VUxMICogZnJhY19kZW4gKwo+ICsJCSh1 NjQpbXVsdGlwbGllciAqIDY1NTM2VUxMICogZnJhY19kZW4gKwo+ICsJCTJVTEwgKiAoKHU2NClm cmFjX3F1b3QgKiBmcmFjX2RlbiArIGZyYWNfcmVtKTsKPiArCj4gKwlkZW4gPSAyVUxMICogNjU1 MzZVTEwgKiBmcmFjX2RlbjsKPiArCj4gKwlyZXR1cm4gbXVsX3U2NF91NjRfZGl2X3U2NChyZWZf Y2xrX2h6LCBudW0sIGRlbik7Cj4gK30KPiArCj4gK3N0YXRpYyB1bnNpZ25lZCBsb25nIGhkbWlf ZWxpemFfcGxsX3JlY2FsY19yYXRlKHN0cnVjdCBjbGtfaHcgKmh3LAo+ICsJCQkJCSAgICAgICB1 bnNpZ25lZCBsb25nIHBhcmVudF9yYXRlKQo+ICt7Cj4gKwlzdHJ1Y3QgaGRtaV9wbGxfZWxpemEg KnBsbCA9IGh3X2Nsa190b19wbGwoaHcpOwo+ICsJdTY0IHJhdGU7Cj4gKwo+ICsJcmF0ZSA9IGhk bWlfZWxpemFfcGxsX3Zjb19mcmVxKFJFRl9DTEtfSFosIHBsbC0+Y2ZnLm11bHRpcGxpZXIsCj4g KwkJCQkgICAgICAgcGxsLT5jZmcucXVvdGllbnQsIHBsbC0+Y2ZnLnJlbWFpbmRlciwKPiArCQkJ CSAgICAgICBwbGwtPmNmZy5kZW5vbWluYXRvcik7ClsgLi4uIF0KPiAraW50IG1zbV9oZG1pX3Bs bF9lbGl6YV9pbml0KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gK3sKWyAuLi4gXQo+ ICsJcGxsID0gZGV2bV9remFsbG9jKGRldiwgc2l6ZW9mKCpwbGwpLCBHRlBfS0VSTkVMKTsKWyAu Li4gXQo+ICsJcmV0ID0gZGV2bV9jbGtfaHdfcmVnaXN0ZXIoZGV2LCAmcGxsLT5jbGtfaHcpOwoK W1NldmVyaXR5OiBIaWdoXQpDYW4gdGhpcyBsZWFkIHRvIGEgZGl2aXNpb24gYnkgemVybyBkdXJp bmcgcHJvYmU/IAoKV2hlbiBkZXZtX2Nsa19od19yZWdpc3RlciBpcyBjYWxsZWQsIHRoZSBDb21t b24gQ2xvY2sgRnJhbWV3b3JrIGltbWVkaWF0ZWx5Cmludm9rZXMgcmVjYWxjX3JhdGUuIEJlY2F1 c2UgdGhlIHBsbCBzdHJ1Y3R1cmUgaXMgemVyby1hbGxvY2F0ZWQsCnBsbC0+Y2ZnLmRlbm9taW5h dG9yIGlzIHplcm8uIFRoaXMgemVybyBpcyBwYXNzZWQgaW50bwpoZG1pX2VsaXphX3BsbF92Y29f ZnJlcSwgd2hpY2ggcmVzdWx0cyBpbiBkZW4gZXZhbHVhdGluZyB0byAwIGFuZAp0cmlnZ2VyaW5n IGEga2VybmVsIHBhbmljIGluIG11bF91NjRfdTY0X2Rpdl91NjQuCgpbIC4uLiBdCj4gK3N0YXRp YyB2b2lkIGhkbWlfZWxpemFfcGh5X3R4X2xhbmVfY29uZmlnKHN0cnVjdCBoZG1pX3BoeSAqcGh5 LAo+ICsJCQkJCSAgdW5zaWduZWQgbG9uZyBwaXhjbG9jaykKPiArewo+ICsJY29uc3QgdW5zaWdu ZWQgaW50IGJwcCA9IDI0OwpbIC4uLiBdCj4gKwlpZiAocGl4Y2xvY2sgKiBicHAgPj0gSERNSV9Q SFlfTUFYX0JJVF9SQVRFKQo+ICsJCWhkbWlfcGh5X3VwZGF0ZV9iaXRzKHBoeSwgUkVHX0hETUlf RUxJWkFfUEhZX1RYX0NPTU1PTl9DT05UUk9MXzAsIEJJVCgyKSwgMCk7Cj4gKwllbHNlCgpbU2V2 ZXJpdHk6IEhpZ2hdCldpbGwgdGhpcyBjYWxjdWxhdGlvbiBvdmVyZmxvdyAzMi1iaXQgYm91bmRz IGJlZm9yZSB0aGUgY29tcGFyaXNvbj8gCgpUaGUgcGl4Y2xvY2sgcGFyYW1ldGVyIGlzIHR5cGVk IGFzIHVuc2lnbmVkIGxvbmcsIHdoaWNoIGlzIDMyLWJpdCBvbiAzMi1iaXQKa2VybmVscy4gRm9y IGhpZ2ggYmFuZHdpZHRoIGRpc3BsYXlzLCBtdWx0aXBseWluZyBhIGhpZ2ggcGl4Y2xvY2sgYnkg MjQgd2lsbApleGNlZWQgdGhlIDMyLWJpdCBpbnRlZ2VyIG1heGltdW0gb2YgNC4yOSBiaWxsaW9u LiBUaGlzIG92ZXJmbG93IHdpbGwgcmVzdWx0CmluIGEgc21hbGxlciB3cmFwcGVkIHZhbHVlLCBi cmVha2luZyB0aGUgY29uZGl0aW9uYWwgY2hlY2sgYW5kIGluY29ycmVjdGx5CnByb2dyYW1taW5n IHRoZSBQSFkgZm9yIGhpZ2gtcmVzb2x1dGlvbiBkaXNwbGF5cy4KClsgLi4uIF0KPiArc3RhdGlj IGludCBoZG1pX2VsaXphX3BoeV9yZWFkeV9wb2xsKHN0cnVjdCBoZG1pX3BoeSAqcGh5LCB1MzIg cmVnLCB1MzIgbWFzaywgdTMyIHZhbCkKPiArewo+ICsJdTMyIHN0YXRlOwo+ICsJY29uc3QgdTMy IHNsZWVwX3VzID0gMjAwMDsKPiArCWNvbnN0IHUzMiB0aW1lb3V0X3VzID0gMzAwMDAwMDsKPiAr Cj4gKwlpZiAocmVhZGxfcG9sbF90aW1lb3V0X2F0b21pYygocGh5LT5tbWlvICsgcmVnKSwgc3Rh dGUsCj4gKwkJCQkgICAgICAoKHN0YXRlICYgbWFzaykgPT0gdmFsKSwKPiArCQkJCSAgICAgIHNs ZWVwX3VzLCB0aW1lb3V0X3VzKSkgewoKW1NldmVyaXR5OiBIaWdoXQpEb2VzIHRoaXMgcHJlc2Vu dCBhIHNldmVyZSBDUFUgc29mdCBsb2NrdXAgcmlzaz8gCgpUaGUgcmVhZGxfcG9sbF90aW1lb3V0 X2F0b21pYyBtYWNybyBkaXNhYmxlcyBwcmVlbXB0aW9uIGFuZCBzcGlucyB1c2luZyBhCnVkZWxh eS4gTG9vcGluZyBhIDIwMDAgbWljcm9zZWNvbmQgZGVsYXkgZm9yIHVwIHRvIDMsMDAwLDAwMCBt aWNyb3NlY29uZHMKKDMgc2Vjb25kcykgdmlvbGF0ZXMgc2NoZWR1bGluZyBydWxlcyBhbmQgaXMg dmVyeSBsaWtlbHkgdG8gdHJpZ2dlciB3YXRjaGRvZwpsb2NrdXBzIGlmIHRoZSBoYXJkd2FyZSBm YWlscyB0byByZXNwb25kLgoKWyAuLi4gXQo+ICtzdGF0aWMgdm9pZCBoZG1pX2VsaXphX3BoeV9p bml0KHN0cnVjdCBoZG1pX3BoeSAqcGh5LAo+ICsJCQkJICAgdW5zaWduZWQgbG9uZyBwaXhjbG9j aykKPiArewpbIC4uLiBdCj4gKwloZG1pX2VsaXphX3BsbF9jb25maWd1cmVfcGxsKHBoeS0+cGxs LCAzOTYwMDAwMDAsIDE5MjAwMDAwKTsKCltTZXZlcml0eTogTWVkaXVtXQpEb2VzIHRoaXMgYnlw YXNzIHRoZSBDb21tb24gQ2xvY2sgRnJhbWV3b3JrIHN5bmNocm9uaXphdGlvbj8gCgpEaXJlY3Rs eSBpbnZva2luZyBoZG1pX2VsaXphX3BsbF9jb25maWd1cmVfcGxsIGhlcmUgZm9yY2VmdWxseSBt dXRhdGVzIHRoZQpzaGFyZWQgcGxsLT5jZmcgc3RhdGUgbG9ja2xlc3NseS4gQ0NGIGludmFyaWFu dHMgZ2VuZXJhbGx5IG1hbmRhdGUgdGhhdCAKY2xvY2sgc3RhdGUgbW9kaWZpY2F0aW9ucyBhcmUg cHJvdGVjdGVkIGJ5IHByZXBhcmVfbG9jay4gQ29uY3VycmVudGx5CnJlYWRpbmcgdGhlIGNsb2Nr IHN0YXRlIGZyb20gc3lzZnMgb3IgZGVidWdmcyBjb3VsZCBoaXQgYSBkYXRhIHJhY2UuCgotLSAK U2FzaGlrbyBBSSByZXZpZXcgwrcgaHR0cHM6Ly9zYXNoaWtvLmRldi8jL3BhdGNoc2V0LzIwMjYw ODI4LWRybS1tc20taGRtaS1lbGl6YS12MS0wLTY3ODQzMjc3ZGUxN0Bvc3MucXVhbGNvbW0uY29t P3BhcnQ9MTAKCi0tIApsaW51eC1waHkgbWFpbGluZyBsaXN0CmxpbnV4LXBoeUBsaXN0cy5pbmZy YWRlYWQub3JnCmh0dHBzOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xp bnV4LXBoeQo=