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 C6F23C88E7F for ; Tue, 15 Sep 2026 15:46:18 +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=KG8tfa0h6EKXYdLayv4t2vselrXtPCzMrSP/6wXevBM=; b=AXkvBAAbSjRJHF xnoMCWX9ILk/bmdp//YNut50U00xEBxOVRg9W8tCzWT/KInZUQ1O3cQ8qwN8JnqhMlzFruxm3kG/s +jrTLjo59ARzMB+GKcJcB+XkFK4CTnRP3zPTq9dkph4C/2t8dvvPCPfCU+CjHeOXCYmtKu5vuAXRn APp5luZXlHuSsgt+30B9mtG09mMTgP/hDF8lRAD92hbelogN04UI11yVWONW7igdadmUuO60Y7WqC VyUI/3XIY3zHi3si8VlU7ekL/k6XmldcQH2vTMRqlobhWLIV7kl6lrW6hgG/sd97M2XPo9guE4YIe u9AxTkuRwTQbhWbZ5QOA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x6VMQ-00000007HGS-28SJ; Tue, 15 Sep 2026 15:46:18 +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 1x6VMP-00000007HGE-4BIe for linux-phy@lists.infradead.org; Tue, 15 Sep 2026 15:46:18 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id 6FA93600C8; Tue, 15 Sep 2026 15:46:17 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id B1D171F000FF; Tue, 15 Sep 2026 15:46:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1789487177; bh=mjVSAPDqPKP4DItjJf1WRLNRKD0I+SD0o8c0mchPH3U=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=Vi7apQxczYynDIBLO65dXI6QHAkCcrqLXH7OW3PXQzj8b4GDy1gviRnGjulpMMVVn AZ/9GNPdOqaM2D1vtzBdQbmYT29IYJwGKXADhSbIctOOK965blDkGfZ4RS4GQ7h2nL FB06xbZC/q2U2zsS7irF4MgdsSTw/+1pfPBjVI3fxFTWCPo8eRnMeOSjkDcHpcoX3n zb/4U5V1bcEK6yM4NpezS9bCd5pPyVzCJKXfR/sKo6CGCT9b2zvyQBzg8dmzLKPL4N cHwuEg5FDmZqYwFcQfkj153q2TE/rhTDkp7T1/l2qXOUizc1gAFPA+Zlutrtjhn78e lIkvx1zC3teKg== From: sashiko-bot@kernel.org Subject: Re: [PATCH v4 18/20] phy: starfive: Add jh7110-inno-hdmi-phy driver To: "Michal Wilczynski" Cc: vkoul@kernel.org, robh@kernel.org, olteanv@gmail.com, linux-phy@lists.infradead.org, lee@kernel.org, mfd@lists.linux.dev, conor+dt@kernel.org, dri-devel@lists.freedesktop.org, linux-clk@vger.kernel.org, neil.armstrong@linaro.org, devicetree@vger.kernel.org In-Reply-To: <20260915-jh7110-clean-send-v4-18-f0e4fd6f2cc8@samsung.com> References: <20260915-jh7110-clean-send-v4-0-f0e4fd6f2cc8@samsung.com> <20260915-jh7110-clean-send-v4-18-f0e4fd6f2cc8@samsung.com> Date: Tue, 15 Sep 2026 15:46:16 +0000 Message-Id: <20260915154616.B1D171F000FF@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 NCBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW0hpZ2hdIGNsazogc3RhcmZpdmU6 IFVuc2FmZSBoYXJkd2FyZSBhY2Nlc3MgaW4gLnNldF9yYXRlIGNhdXNlcyBDUFUgc3RhbGwgZHVy aW5nIHByb2JlCi0gW01lZGl1bV0gY2xrOiBzdGFyZml2ZTogUHJlLVBMTCBpcyB1bmNvbmRpdGlv bmFsbHkgcG93ZXJlZCBvbiBpbiAuc2V0X3JhdGUgY2F1c2luZyBhIHBvd2VyIGxlYWsKLSBbTWVk aXVtXSBjbGs6IHN0YXJmaXZlOiBSZXNvdXJjZSBsaWZlY3ljbGUgaW52ZXJzaW9uIHdpdGggcmVm b2NsayBhbmQgZGV2cmVzIGNsb2NrIHByb3ZpZGVyCi0gW01lZGl1bV0gY2xrOiBzdGFyZml2ZTog RGF0YSByYWNlIG9uIGNhY2hlZCBjbG9jayBzdGF0ZSB2YXJpYWJsZXMgYmV0d2VlbiBDQ0YgYW5k IFBIWSBmcmFtZXdvcmtzCi0tCgpjb21taXQgNTQ2OWI3OTA5YWE5YmI4NjkwZWU5ZmJmZTE4ZWY1 N2Y0YzJkNTgyMApBdXRob3I6IE1pY2hhbCBXaWxjenluc2tpIDxtLndpbGN6eW5za2lAc2Ftc3Vu Zy5jb20+CgpwaHk6IHN0YXJmaXZlOiBBZGQgamg3MTEwLWlubm8taGRtaS1waHkgZHJpdmVyCgpB ZGQgdGhlIEhETUkgUEhZIGRyaXZlciBmb3IgdGhlIFN0YXJGaXZlIEpINzExMC4KCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvcGh5L3N0YXJmaXZlL3BoeS1qaDcxMTAtaW5uby1oZG1pLmMgYi9kcml2 ZXJzL3BoeS9zdGFyZml2ZS9waHktamg3MTEwLWlubm8taGRtaS5jCj4gbmV3IGZpbGUgbW9kZSAx MDA2NDQKPiBpbmRleCAwMDAwMDAwMDAwMDAwLi4yNTc1Y2I1ZWQ2MjRhCj4gLS0tIC9kZXYvbnVs bAo+ICsrKyBiL2RyaXZlcnMvcGh5L3N0YXJmaXZlL3BoeS1qaDcxMTAtaW5uby1oZG1pLmMKPiBA QCAtMCwwICsxLDU3OSBAQAoKWyAuLi4gXQoKPiArc3RhdGljIGludCBzdGFyZml2ZV9oZG1pX3Bo eV9jbGtfc2V0X3JhdGUoc3RydWN0IGNsa19odyAqaHcsIHVuc2lnbmVkIGxvbmcgcmF0ZSwKPiAr CQkJCQkgIHVuc2lnbmVkIGxvbmcgcGFyZW50X3JhdGUpCj4gK3sKPiArCXN0cnVjdCBzdGFyZml2 ZV9oZG1pX3BoeSAqaW5ubyA9IHRvX3N0YXJmaXZlX2hkbWlfcGh5KGh3KTsKPiArCWNvbnN0IHN0 cnVjdCBpbm5vX2hkbWlfcGh5X3ByZV9wbGxfY29uZmlnICpjZmc7Cj4gKwo+ICsJLyoKPiArCSAq IFRoZSBKSDcxMTAgb25seSBkcml2ZXMgOGJwYywgc28gdGhlIFRNRFMgY2xvY2sgYWx3YXlzIG1h dGNoZXMgdGhlCj4gKwkgKiBwaXhlbCBjbG9jay4KPiArCSAqLwo+ICsJY2ZnID0gaW5ub19oZG1p X3BoeV9wcmVfcGxsX2xvb2t1cCgmaW5uby0+cHJlX3BsbCwgcmF0ZSwgcmF0ZSk7Cj4gKwlpZiAo SVNfRVJSKGNmZykpCj4gKwkJcmV0dXJuIFBUUl9FUlIoY2ZnKTsKPiArCj4gKwlkZXZfZGJnKGlu bm8tPmRldiwgIiVzIHJhdGUgJWx1IHRtZHNjbGsgJWx1XG4iLAo+ICsJCV9fZnVuY19fLCByYXRl LCBjZmctPnRtZHNjbG9jayk7Cj4gKwo+ICsJaWYgKGlubm8tPnBpeGNsb2NrID09IHJhdGUgJiYg aW5uby0+dG1kc2Nsb2NrID09IGNmZy0+dG1kc2Nsb2NrKQo+ICsJCXJldHVybiAwOwo+ICsKPiAr CWlubm9fdXBkYXRlX2JpdHMoaW5ubywgU1RGX0lOTk9fQklBU19DT05UUk9MLAo+ICsJCQkgU1RG X0lOTk9fQklBU19FTkFCTEUsIFNURl9JTk5PX0JJQVNfRU5BQkxFKTsKCltTZXZlcml0eTogSGln aF0KRG9lcyB0aGlzIGV4ZWN1dGUgYW4gdW5jbG9ja2VkIGhhcmR3YXJlIGFjY2VzcyBpZiB0aGUg Y2xvY2sgaXMgZ2F0ZWQ/CgpUaGUgY29tbWl0IG1lc3NhZ2Ugbm90ZXMgdGhhdCBhY2Nlc3Npbmcg dGhlIFBIWSByZWdpc3RlcnMgd2hpbGUgdGhlIEhETUkKY29udHJvbGxlcidzIHN5c3RlbSBjbG9j ayBpcyBnYXRlZCB3ZWRnZXMgdGhlIENQVS4gQmVjYXVzZQpzdGFyZml2ZV9oZG1pX3BoeV9wcm9i ZSgpIHVuY29uZGl0aW9uYWxseSBjYWxscyBjbGtfc2V0X3JhdGUoKSBiZWZvcmUgdGhlCnNpYmxp bmcgSERNSSBicmlkZ2UgZHJpdmVyIGhhcyBib3VuZCBhbmQgZW5hYmxlZCB0aGUgc2hhcmVkIHN5 c3RlbSBjbG9jaywgdGhlCmhhcmR3YXJlIGlzIGdhdGVkLgoKQ291bGQgYSBjbGtfaHdfaXNfcHJl cGFyZWQoaHcpIGNoZWNrIGJlIGFkZGVkIGhlcmUgc2ltaWxhcmx5IHRvIGhvdyBpdCB3YXMKdXNl ZCBpbiAucmVjYWxjX3JhdGU/Cgo+ICsJaW5ub193cml0ZShpbm5vLCBTVEZfSU5OT19SWF9DT05U Uk9MLCBTVEZfSU5OT19SWF9FTkFCTEUpOwo+ICsKPiArCWlubm9faGRtaV9waHlfcHJlX3BsbF9w b3dlcl9kb3duKCZpbm5vLT5wcmVfcGxsLCB0cnVlKTsKPiArCWlubm9faGRtaV9waHlfcHJlX3Bs bF9jb25maWd1cmUoJmlubm8tPnByZV9wbGwsIGNmZyk7Cj4gKwlpbm5vX2hkbWlfcGh5X3ByZV9w bGxfcG93ZXJfZG93bigmaW5uby0+cHJlX3BsbCwgZmFsc2UpOwoKW1NldmVyaXR5OiBNZWRpdW1d CldpbGwgdGhlIFByZS1QTEwgcmVtYWluIHBvd2VyZWQgb24gaW5kZWZpbml0ZWx5IGlmIHRoZSBj bG9jayBpc24ndCBwcmVwYXJlZD8KClNpbmNlIC5zZXRfcmF0ZSB0dXJucyB0aGUgUHJlLVBMTCBv biwgYW5kIHRoZSBkcml2ZXIgb21pdHMgdGhlIC5pc19wcmVwYXJlZApjYWxsYmFjayBpbiBzdGFy Zml2ZV9oZG1pX3BoeV9jbGtfb3BzLCB0aGUgQ0NGIHJlbGllcyBvbiB0aGUgc29mdHdhcmUgcHJl cGFyZQpjb3VudCAod2hpY2ggaXMgMCkuIFdoZW4gY2xrX2Rpc2FibGVfdW51c2VkKCkgcnVucywg aXQgc2tpcHMgdW5wcmVwYXJlZCBjbG9ja3MKd2l0aCBhIDAgY291bnQsIG1lYW5pbmcgLnVucHJl cGFyZSgpIHdvbid0IGJlIGludm9rZWQgdG8gdHVybiB0aGUgUExMIG9mZi4KCj4gKwo+ICsJaW5u by0+cGl4Y2xvY2sgPSByYXRlOwo+ICsJaW5uby0+dG1kc2Nsb2NrID0gY2ZnLT50bWRzY2xvY2s7 CgpbU2V2ZXJpdHk6IE1lZGl1bV0KQ291bGQgdGhlcmUgYmUgYSBkYXRhIHJhY2Ugb24gaW5uby0+ cGl4Y2xvY2sgYW5kIGlubm8tPnRtZHNjbG9jayBiZXR3ZWVuIHRoZQpDQ0YgYW5kIFBIWSBmcmFt ZXdvcmtzPwoKVGhlIENDRiBjYWxsYmFja3MgKHN1Y2ggYXMgLnNldF9yYXRlIGFuZCAucmVjYWxj X3JhdGUpIHJlYWQgYW5kIHdyaXRlCmlubm8tPnBpeGNsb2NrIGFuZCBpbm5vLT50bWRzY2xvY2sg dW5kZXIgdGhlIENDRiBjb3JlJ3MgcHJlcGFyZV9sb2NrLgpDb25jdXJyZW50bHksIHRoZSBQSFkg ZnJhbWV3b3JrIG9wZXJhdGlvbnMgKHN1Y2ggYXMgLnBvd2VyX29mZiBjYWxsaW5nCnN0YXJmaXZl X2hkbWlfcGh5X3Bvd2VyX2Rvd24oKSkgd3JpdGUgdG8gdGhlc2UgZXhhY3Qgc2FtZSB2YXJpYWJs ZXMgdW5kZXIgdGhlClBIWSBmcmFtZXdvcmsncyBpbnRlcm5hbCBwaHktPm11dGV4LgoKSWYgdXNl cnNwYWNlIHRyaWdnZXJzIGEgc3lzZnMgY2xvY2sgc3VtbWFyeSByZWFkICh0cmlnZ2VyaW5nIC5y ZWNhbGNfcmF0ZSkKY29uY3VycmVudGx5IHdpdGggYSBEUk0gZGlzcGxheSBtb2Rlc2V0IG9yIHBv d2VyIGRvd24gc2VxdWVuY2UsIGNvdWxkCi5yZWNhbGNfcmF0ZSBvdmVyd3JpdGUgdGhlIDAgc2V0 IGJ5IHBvd2VyX2Rvd24gd2l0aCBzdGFsZSBoYXJkd2FyZSB2YWx1ZXM/ClRoaXMgbWlnaHQgcHJl dmVudCBhIHN1YnNlcXVlbnQgc2V0X3JhdGUgZnJvbSBhcHBseWluZyB0aGUgY29ycmVjdCBzZXR0 aW5ncy4KCj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRpYyBjb25zdCBzdHJ1Y3Qg Y2xrX29wcyBzdGFyZml2ZV9oZG1pX3BoeV9jbGtfb3BzID0gewo+ICsJLnByZXBhcmUgPSBzdGFy Zml2ZV9oZG1pX3BoeV9jbGtfcHJlcGFyZSwKPiArCS51bnByZXBhcmUgPSBzdGFyZml2ZV9oZG1p X3BoeV9jbGtfdW5wcmVwYXJlLAo+ICsJLnJlY2FsY19yYXRlID0gc3RhcmZpdmVfaGRtaV9waHlf Y2xrX3JlY2FsY19yYXRlLAo+ICsJLmRldGVybWluZV9yYXRlID0gc3RhcmZpdmVfaGRtaV9waHlf Y2xrX2RldGVybWluZV9yYXRlLAo+ICsJLnNldF9yYXRlID0gc3RhcmZpdmVfaGRtaV9waHlfY2xr X3NldF9yYXRlLAo+ICt9OwoKW1NldmVyaXR5OiBNZWRpdW1dClRoZSBvbWlzc2lvbiBvZiB0aGUg LmlzX3ByZXBhcmVkIGNhbGxiYWNrIGhlcmUgaXMgd2hhdCBjYXVzZXMKY2xrX2Rpc2FibGVfdW51 c2VkKCkgdG8gYXNzdW1lIHRoZSBjbG9jayBpcyBhbHJlYWR5IHBoeXNpY2FsbHkgZGlzYWJsZWQs CmxlYWRpbmcgdG8gdGhlIHBvd2VyIGxlYWsgbWVudGlvbmVkIGluIC5zZXRfcmF0ZS4KCj4gKwo+ ICtzdGF0aWMgdm9pZCBzdGFyZml2ZV9oZG1pX3BoeV9wb3dlcl9kb3duKHN0cnVjdCBzdGFyZml2 ZV9oZG1pX3BoeSAqaW5ubykKPiArewo+ICsJaW5ub193cml0ZShpbm5vLCBTVEZfSU5OT19UTURT X0NPTlRST0wsIDB4MDApOwo+ICsJaW5ub193cml0ZShpbm5vLCBTVEZfSU5OT19TRVJJQUxJRVJf Q09OVFJPTCwgMHgwMCk7Cj4gKwlpbm5vX3dyaXRlKGlubm8sIFNURl9JTk5PX0xET19DT05UUk9M LCAweDAwKTsKPiArCWlubm9fdXBkYXRlX2JpdHMoaW5ubywgU1RGX0lOTk9fQklBU19DT05UUk9M LAo+ICsJCQkgU1RGX0lOTk9fQklBU19FTkFCTEUsIDB4MDApOwo+ICsJaW5ub193cml0ZShpbm5v LCBTVEZfSU5OT19SWF9DT05UUk9MLCAweDAwKTsKPiArCj4gKwkvKiBQb3dlciBkb3duIFBvc3Qt UExMICovCj4gKwlpbm5vX3VwZGF0ZV9iaXRzKGlubm8sIFNURl9JTk5PX1BPU1RfUExMX0RJVl8x LAo+ICsJCQkgU1RGX0lOTk9fUE9TVF9QTExfUE9XRVJfRE9XTiwKPiArCQkJIFNURl9JTk5PX1BP U1RfUExMX1BPV0VSX0RPV04pOwo+ICsKPiArCWlubm8tPnRtZHNjbG9jayA9IDA7Cj4gKwlpbm5v LT5waXhjbG9jayA9IDA7CgpbU2V2ZXJpdHk6IE1lZGl1bV0KVGhpcyBpcyB3aGVyZSB0aGUgY29u Y3VycmVudCB3cml0ZXMgZnJvbSB0aGUgUEhZIGZyYW1ld29yayBoYXBwZW4sIGFzIG5vdGVkCmlu IHRoZSBwcmV2aW91cyBjb21tZW50IGFib3V0IHRoZSBkYXRhIHJhY2Ugd2l0aCB0aGUgQ0NGIGNh bGxiYWNrcy4KCj4gK30KClsgLi4uIF0KCj4gK3N0YXRpYyBpbnQgc3RhcmZpdmVfaGRtaV9waHlf cHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiArewoKWyAuLi4gXQoKPiArCXJl dCA9IG9mX2Nsa19hZGRfcHJvdmlkZXIoZGV2LT5vZl9ub2RlLCBvZl9jbGtfc3JjX3NpbXBsZV9n ZXQsIGlubm8tPnBoeWNsayk7Cj4gKwlpZiAocmV0KSB7Cj4gKwkJZGV2X2VycihkZXYsICJGYWls ZWQgdG8gYWRkIGNsb2NrIHByb3ZpZGVyOiAlZFxuIiwgcmV0KTsKPiArCQlnb3RvIGVycl9kaXNh YmxlX3JlZm9jbGs7Cj4gKwl9Cj4gKwo+ICsJcmV0ID0gY2xrX3NldF9yYXRlKGlubm8tPnBoeWNs aywgMjk3MDAwMDAwKTsKCltTZXZlcml0eTogSGlnaF0KVGhpcyB1bmNvbmRpdGlvbmFsbHkgdHJp Z2dlcnMgYSByYXRlIGNoYW5nZSBkdXJpbmcgcHJvYmUsIHdoaWNoIGxlYWRzIHRvIHRoZQp1bnNh ZmUgaGFyZHdhcmUgYWNjZXNzIGluIC5zZXRfcmF0ZSBkZXNjcmliZWQgZWFybGllciwgc2luY2Ug dGhlIHNpYmxpbmcgYnJpZGdlCmRyaXZlciBpcyBub3QgZ3VhcmFudGVlZCB0byBoYXZlIGVuYWJs ZWQgdGhlIHNoYXJlZCBzeXN0ZW0gY2xvY2sgeWV0LgoKPiArCWlmIChyZXQpIHsKPiArCQlkZXZf ZXJyKGRldiwgIkZhaWxlZCB0byBzZXQgZGVmYXVsdCByYXRlOiAlZFxuIiwgcmV0KTsKPiArCQln b3RvIGVycl9kZWxfY2xrX3Byb3ZpZGVyOwo+ICsJfQo+ICsKPiArCS8qIENyZWF0ZSBhbmQgcmVn aXN0ZXIgdGhlIFBIWSBwcm92aWRlciAqLwo+ICsJaW5uby0+cGh5ID0gZGV2bV9waHlfY3JlYXRl KGlubm8tPmRldiwgTlVMTCwgJnN0YXJmaXZlX2hkbWlfcGh5X29wcyk7Cj4gKwlpZiAoSVNfRVJS KGlubm8tPnBoeSkpIHsKPiArCQlyZXQgPSBQVFJfRVJSKGlubm8tPnBoeSk7Cj4gKwkJZGV2X2Vy cihpbm5vLT5kZXYsICJmYWlsZWQgdG8gY3JlYXRlIEhETUkgUEhZOiAlZFxuIiwgcmV0KTsKPiAr CQlnb3RvIGVycl9kZWxfY2xrX3Byb3ZpZGVyOwo+ICsJfQo+ICsKPiArCXBoeV9zZXRfZHJ2ZGF0 YShpbm5vLT5waHksIGlubm8pOwo+ICsKPiArCXBoeV9wcm92aWRlciA9IGRldm1fb2ZfcGh5X3By b3ZpZGVyX3JlZ2lzdGVyKGlubm8tPmRldiwKPiArCQkJCQkJICAgICBvZl9waHlfc2ltcGxlX3hs YXRlKTsKPiArCXJldCA9IFBUUl9FUlJfT1JfWkVSTyhwaHlfcHJvdmlkZXIpOwo+ICsJaWYgKHJl dCkKPiArCQlnb3RvIGVycl9kZWxfY2xrX3Byb3ZpZGVyOwo+ICsKPiArCXJldHVybiAwOwo+ICsK PiArZXJyX2RlbF9jbGtfcHJvdmlkZXI6Cj4gKwlvZl9jbGtfZGVsX3Byb3ZpZGVyKGRldi0+b2Zf bm9kZSk7Cj4gK2Vycl9kaXNhYmxlX3JlZm9jbGs6Cj4gKwljbGtfZGlzYWJsZV91bnByZXBhcmUo aW5uby0+cmVmb2Nsayk7Cj4gKwlyZXR1cm4gcmV0OwoKW1NldmVyaXR5OiBNZWRpdW1dCklzIGl0 IHNhZmUgdG8gbWFudWFsbHkgZGlzYWJsZSB0aGUgcmVmZXJlbmNlIGNsb2NrIGhlcmUgYmVmb3Jl IGRldnJlcwp1bnJlZ2lzdGVycyB0aGUgY2xvY2sgYW5kIFBIWSBwcm92aWRlcnM/CgpUaGUgY2xv Y2sgYW5kIFBIWSBwcm92aWRlcnMgYXJlIHJlZ2lzdGVyZWQgdXNpbmcgZGV2bV9jbGtfcmVnaXN0 ZXIoKSBhbmQKZGV2bV9vZl9waHlfcHJvdmlkZXJfcmVnaXN0ZXIoKS4gRGlzYWJsaW5nIHJlZm9j bGsgbWFudWFsbHkgaGVyZSAoYW5kIGluCnJlbW92ZSkgY3JlYXRlcyBhIHdpbmRvdyB3aGVyZSBv cGVyYXRpb25zIGNvdWxkIGV4ZWN1dGUgd2l0aCBhIGRpc2FibGVkIHBhcmVudApjbG9jayBpZiBh IGNvbnN1bWVyIHRyaWdnZXJzIGEgY2xvY2sgb3IgUEhZIG9wZXJhdGlvbiBiZWZvcmUgZGV2cmVz IGNsZWFucyB1cAp0aGUgcHJvdmlkZXJzLgoKV291bGQgaXQgYmUgYmV0dGVyIHRvIGJpbmQgdGhl IHJlZm9jbGsgZW5hYmxlIHN0YXRlIHRvIGRldnJlcyB2aWEKZGV2bV9jbGtfZ2V0X2VuYWJsZWQo KSBvciBkZXZtX2FkZF9hY3Rpb25fb3JfcmVzZXQoKT8KCj4gK30KPiArCj4gK3N0YXRpYyB2b2lk IHN0YXJmaXZlX2hkbWlfcGh5X3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ ICt7Cj4gKwlzdHJ1Y3Qgc3RhcmZpdmVfaGRtaV9waHkgKmlubm8gPSBwbGF0Zm9ybV9nZXRfZHJ2 ZGF0YShwZGV2KTsKPiArCj4gKwlvZl9jbGtfZGVsX3Byb3ZpZGVyKHBkZXYtPmRldi5vZl9ub2Rl KTsKPiArCWNsa19kaXNhYmxlX3VucHJlcGFyZShpbm5vLT5yZWZvY2xrKTsKCltTZXZlcml0eTog TWVkaXVtXQpBcyBpbiB0aGUgcHJvYmUgZXJyb3IgcGF0aCwgbWFudWFsbHkgZGlzYWJsaW5nIHRo ZSByZWZlcmVuY2UgY2xvY2sgYmVmb3JlCmRldnJlcyB1bnJlZ2lzdGVycyB0aGUgcHJvdmlkZXJz IGNyZWF0ZXMgYSB1c2UtYWZ0ZXItZGlzYWJsZSB3aW5kb3cuCgo+ICt9CgotLSAKU2FzaGlrbyBB SSByZXZpZXcgwrcgaHR0cHM6Ly9zYXNoaWtvLmRldi8jL3BhdGNoc2V0LzIwMjYwOTE1LWpoNzEx MC1jbGVhbi1zZW5kLXY0LTAtZjBlNGZkNmYyY2M4QHNhbXN1bmcuY29tP3BhcnQ9MTgKCi0tIAps aW51eC1waHkgbWFpbGluZyBsaXN0CmxpbnV4LXBoeUBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHBz Oi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXBoeQo=