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 C364BC98318 for ; Fri, 25 Sep 2026 02:04:39 +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:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Cc:To:From:Subject:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=MJfniMOl06pSQ3fRD1Ty8lEylmtsd/L7fjw0y8moCHA=; b=lav/ORaUV5fa2x MUuUrQ8+55u0mE2HeY4DrCVLu40RdOJ5oXrTwSuLOPqE5QQ2vBMomw4WDHlk0xJ0j4La637Ig+3MB cgZ0RLeLIwY5a3ZeNjUhQ4SjSfaZX4ROmMQsWcJDtsvIN0A1xFhczA84q6MjzWCNiX8sYqqq7zxBl lXhTC+H/CzbwOhoKDbJfLRKy/b9hR0ijbrXgZW9HHUk5UMBCqYCSDwuUgYH1gQzIc6G2jgNZJIt5v U2lF1v5FQDf6jvTuavrRXbP1hfC2VdbB/CmVYX4PHK01PUtCEl4d3PJKB8peZNuINFq+81h4ekuOJ oDzrgw2i1yTzK9xQkRLQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x9vIj-0000000CWFh-1FrF; Fri, 25 Sep 2026 02:04:37 +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 1x9vHw-0000000CVml-3JEn; Fri, 25 Sep 2026 02:03:48 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id 3C74A602CC; Fri, 25 Sep 2026 02:03:48 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 74E861F00893; Fri, 25 Sep 2026 02:03:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1790301828; bh=AKeAUPt7DWxVIU4HGrAE1P8lK23xmc1gipQ4Q8H4QxM=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=PrZycPLlVqg2IuP7WqFFOgVm4B1Aq5VrFSkGPKr3we7KKYbpEGauYc5cw+RJvFWyH zDP3urrTZxFKbfBbbZ8dHoyXfpSLUjhx/v5JigI264dNCR043Hiwdn+vn81UksRASK SZdWionNcQif3LfaJ1J/jPmnhB0xJgwEa7MUTtbaCiE1k03/MuI8MHtS4a/U952IYZ VBcy5/Rzfik2YRkmwGcCkxX/Q31yaElvDGLBTj2WG6zKRoOIfBxmJmSWHoBZ+rFD6o wt1uqfMbVHN7EBOuRFoN3kkiPbCveNQWGyPoQ2W2jG3bgojui2fBVM1Z72N/4KvaTZ L4yNu9vmrmj2w== Subject: Re: [PATCH net-next v10 09/11] net: stmmac: dwmac-rk: add SGMII support for RK3568 From: netdev-bot+sashiko@kernel.org To: coiaprant@gmail.com Cc: andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@google.com, kuba@kernel.org, pabeni@redhat.com, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, heiko@sntech.de, vkoul@kernel.org, maxime.chevallier@bootlin.com, mcoquelin.stm32@gmail.com, alexandre.torgue@foss.st.com, prabhakar.mahadev-lad.rj@bp.renesas.com, romain.gantois@bootlin.com, hkallweit1@gmail.com, neil.armstrong@linaro.org, linux@armlinux.org.uk, shawn.lin@rock-chips.com, david@ixit.cz, netdev@vger.kernel.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-phy@lists.infradead.org, linux-renesas-soc@vger.kernel.org Date: Fri, 25 Sep 2026 02:03:46 +0000 Message-ID: <179030182602.2160803.7636364487893366164@kernel.org> In-Reply-To: <20260922200336.2201212-10-coiaprant@gmail.com> References: <20260922200336.2201212-10-coiaprant@gmail.com> X-sashiko-severity: Medium MIME-Version: 1.0 X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg MiBwb3RlbnRpYWwKaXNzdWUocykgdG8gY29uc2lkZXIuCgpDcml0aWNhbDogMCDCtyBIaWdoOiAw IMK3IE1lZGl1bTogMiAoMykgwrcgTG93OiAwCgpJZiB5b3UgYmVsaWV2ZSBub25lIG9mIHRoZSBp c3N1ZXMgYXJlIGxlZ2l0aW1hdGUsIHBsZWFzZSByZXBseSB0byBlYWNoCmlzc3VlIG9mIE1lZGl1 bSBzZXZlcml0eSBvciBoaWdoZXIgYW5kIGV4cGxhaW4gd2h5IHRoZSBBSSBpcyB3cm9uZy4KSWYg YW55IG9mIHRoZW0gYXJlIGxlZ2l0aW1hdGUgYW5kIHlvdSBwbGFuIHRvIHJlc3BpbiwgcGxlYXNl IGxldCBwYXRjaHdvcmsKa25vdyBieSBpbmNsdWRpbmcgInB3LWJvdDogY3IiIGFzIGEgc2VwYXJh dGUgbGluZSBhdCB0aGUgZW5kIG9mIHlvdXIgcmVwbHkKKG9uZSBzdWNoIHJlcGx5IHBlciBzZXJp ZXMgaXMgZW5vdWdoKS4KCi0gW01lZGl1bV0gSW4gU0dNSUkgbW9kZSwgdGhlIFJLMzU2OCBnbHVl IHRlbGxzIHBoeWxpbmsgaXQgc3VwcG9ydHMKICBpbnRlcmZhY2UgbW9kZXMgdGhhdCB0aGUgaGFy ZHdhcmUgY2Fubm90IHJ1biBhbmQgdGhhdCB0aGUgZ2x1ZSBuZXZlcuKApgotIFtNZWRpdW1dIFRo ZSBjb21taXQncyBleHBsYW5hdGlvbiBvZiB0aGUgU0dNSUkgaW4tYmFuZCB2cyBvdXQtb2YtYmFu ZAogIHByb2JsZW0gZG9lcyBub3QgbWF0Y2ggdGhlIGNvZGUsIGFuZCB0aGUgZHJpdmVyIGRvZXMg bm90aGluZyB0byByZWplY3TigKYKClByZS1leGlzdGluZyBpc3N1ZXM6Ci0gW01lZGl1bV0gcmtf Z21hY19yZXN1bWUoKSAoZHdtYWMtcmsuYzoxNjE4LTE2MjcpIGNhbGxzCiAgcmtfZ21hY19wb3dl cnVwKCkgYW5kIHRocm93cyBhd2F5IGl0cyByZXR1cm4gdmFsdWUsIHRoZW4gYWx3YXlz4oCmCi0g W01lZGl1bV0gZ21hY19jbGtfZW5hYmxlKGJzcF9wcml2LCB0cnVlKSAoZHdtYWMtcmsuYzoxMTgx LTEyMDApIGZpcnN0CiAgZW5hYmxlcyB0aGUgYnVsayBjbG9ja3Mgd2l0aCBjbGtfYnVsa19wcmVw YXJlX2VuYWJsZSgpIChsaW5lIDExODcpLgotIFtNZWRpdW1dIF9fc3RtbWFjX2R2cl9wcm9iZSgp IGNhbGxzIHBtX3J1bnRpbWVfZ2V0X25vcmVzdW1lKGRldmljZSkgYW5kCiAgZW5hYmxlcyBydW50 aW1lIFBNIChzdG1tYWNfbWFpbi5jOjgxMTItODExNSkgYmVmb3JlIGNhbGxpbmfigKYKCi0tCgpu ZXQ6IHN0bW1hYzogZHdtYWMtcms6IGFkZCBTR01JSSBzdXBwb3J0IGZvciBSSzM1NjgKClRoaXMg YWRkcyBTR01JSSBzdXBwb3J0IGZvciB0aGUgUkszNTY4IEdNQUNzLiBJdCBzZXRzIEdSRiBiaXQg NyBhbmQKaG9va3MgdXAgdGhlIFJvY2tjaGlwIFhQQ1MgdGhyb3VnaCB0aGUgcGNzX2luaXQsIHBj c19leGl0IGFuZCBzZWxlY3RfcGNzCmNhbGxiYWNrcy4gSXQgYWxzbyBtb3ZlcyB0aGUgY2xvY2sg ZW5hYmxlIGluIHJrX2dtYWNfcG93ZXJ1cCgpIGVhcmxpZXIsCnVuaWZpZXMgaXRzIGVycm9yIHVu d2luZGluZywgYW5kIGZvciBTR01JSSBjbGVhcnMgc2V0X2Nsa190eF9yYXRlIGFuZApzZXRzIGRl ZmF1bHRfYW5faW5iYW5kLgoKTGluazogaHR0cHM6Ly9kbC5yYWR4YS5jb20vcm9jazMvZG9jcy9o dy9kYXRhc2hlZXQvUm9ja2NoaXAlMjBSSzM1NjglMjBUUk0lMjBQYXJ0MSUyMFYxLjEtMjAyMTAz MDEucGRmIChQYWdlIDM4NikKCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0 bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0 bW1hYy9kd21hYy1yay5jCj4gaW5kZXggOGQ3MDQyZTY4OTI2MS4uODhmMDkwMTRlM2E2OSAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5j Cj4gKysrIGIvZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYwoK WyAuLi4gXQoKPiBAQCAtMTIwOCw2ICsxMjM2LDQzIEBAIHN0YXRpYyB2b2lkIHJrX3BoeV9wb3dl cmRvd24oc3RydWN0IHJrX3ByaXZfZGF0YSAqYnNwX3ByaXYpCj4gIAkJZGV2X2Vycihic3BfcHJp di0+ZGV2LCAiZmFpbCB0byBkaXNhYmxlIHBoeS1zdXBwbHlcbiIpOwo+ICB9Cj4gIAo+ICtzdGF0 aWMgaW50IHJrX3Bjc19pbml0KHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdikKPiArewo+ICsJc3Ry dWN0IGRldmljZV9ub2RlICpucCA9IHByaXYtPmRldmljZS0+b2Zfbm9kZTsKPiArCXN0cnVjdCBk ZXZpY2Vfbm9kZSAqcGNzX25vZGU7Cj4gKwlzdHJ1Y3QgZHdfeHBjcyAqeHBjczsKPiArCj4gKwlw Y3Nfbm9kZSA9IG9mX3BhcnNlX3BoYW5kbGUobnAsICJwY3MtaGFuZGxlIiwgMCk7Cj4gKwlpZiAo IXBjc19ub2RlKQo+ICsJCXJldHVybiAtRU5PREVWOwo+ICsKPiArCXhwY3MgPSB4cGNzX3JrX2Ny ZWF0ZShwcml2LT5kZXZpY2UsIHBjc19ub2RlKTsKPiArCW9mX25vZGVfcHV0KHBjc19ub2RlKTsK PiArCWlmIChJU19FUlIoeHBjcykpCj4gKwkJcmV0dXJuIFBUUl9FUlIoeHBjcyk7CgpbU2V2ZXJp dHk6IE1lZGl1bV0KVGhpcyBpcyBhIHByZS1leGlzdGluZyBpc3N1ZSBpbiB0aGUgc3RtbWFjIGNv cmUsIGJ1dCB0aGlzIHBhdGNoIG1ha2VzIGl0Cm11Y2ggZWFzaWVyIHRvIGhpdC4gcmtfcGNzX2lu aXQoKSByZXR1cm5zIC1FUFJPQkVfREVGRVIgZnJvbQp4cGNzX3JrX2NyZWF0ZSgpIHdoZW5ldmVy IHRoZSBYUENTIGRldmljZSBpc24ndCBib3VuZCB5ZXQuIERvZXMgZWFjaCBvZgp0aG9zZSBkZWZl cnJhbHMgbGVhayBhIHJ1bnRpbWUgUE0gdXNhZ2UgY291bnQ/CgpfX3N0bW1hY19kdnJfcHJvYmUo KSB0YWtlcyB0aGUgcmVmZXJlbmNlIGJlZm9yZSBQQ1Mgc2V0dXA6CgogICAgcG1fcnVudGltZV9n ZXRfbm9yZXN1bWUoZGV2aWNlKTsKICAgIHBtX3J1bnRpbWVfc2V0X2FjdGl2ZShkZXZpY2UpOwog ICAgaWYgKCFwbV9ydW50aW1lX2VuYWJsZWQoZGV2aWNlKSkKICAgICAgICBwbV9ydW50aW1lX2Vu YWJsZShkZXZpY2UpOwogICAgLi4uCmVycm9yX3Bjc19zZXR1cDoKICAgIHN0bW1hY19tZGlvX3Vu cmVnaXN0ZXIobmRldik7CmVycm9yX21kaW9fcmVnaXN0ZXI6CiAgICBzdG1tYWNfbmFwaV9kZWwo bmRldik7CgpOb25lIG9mIHRoZSBlcnJvciBsYWJlbHMgZHJvcCB0aGF0IGNvdW50IG9yIGRpc2Fi bGUgcnVudGltZSBQTS4KcG1fcnVudGltZV9yZWluaXQoKSByZXR1cm5zIGVhcmx5IHdoaWxlIHJ1 bnRpbWUgUE0gaXMgZW5hYmxlZCwgc28KdXNhZ2VfY291bnQgaXMgbmV2ZXIgcmVzZXQuCgpmd19k ZXZsaW5rIGRvZXNuJ3QgcGFyc2UgcGNzLWhhbmRsZSwgc28gdGhlIEdNQUMgY2FuIHByb2JlIGJl Zm9yZSB0aGUKWFBDUy4gQWZ0ZXIgdGhlIHByb2JlIGZpbmFsbHkgc3VjY2VlZHMsIHRoZSBjb3Vu dCBjYW4ndCByZWFjaCB6ZXJvLCBzbwp0aGUgTUFDIHdvdWxkIG5ldmVyIHJ1bnRpbWUgc3VzcGVu ZC4KCkRlZmVycmFsIGZyb20gc3RtbWFjX21kaW9fcmVnaXN0ZXIoKSBhbHJlYWR5IGhpdCB0aGlz IHBhdGggYmVmb3JlIHRoZQpwYXRjaCwgYnV0IGRlZmVycmFsIGlzIG5vdyBsaWtlbHkgb24gUksz NTY4IFNHTUlJIGJvYXJkcy4KCj4gKwo+ICsJcHJpdi0+aHctPnhwY3MgPSB4cGNzOwo+ICsJcmV0 dXJuIDA7Cj4gK30KPiArCgpbIC4uLiBdCgo+ICtzdGF0aWMgc3RydWN0IHBoeWxpbmtfcGNzICpy a19zZWxlY3RfcGNzKHN0cnVjdCBzdG1tYWNfcHJpdiAqcHJpdiwKPiArCQkJCQkgcGh5X2ludGVy ZmFjZV90IGludGVyZmFjZSkKPiArewo+ICsJaWYgKCFwcml2LT5ody0+eHBjcykKPiArCQlyZXR1 cm4gTlVMTDsKPiArCj4gKwlyZXR1cm4geHBjc190b19waHlsaW5rX3Bjcyhwcml2LT5ody0+eHBj cyk7Cj4gK30KCltTZXZlcml0eTogTWVkaXVtXQpEb2VzIHRoaXMgZ2l2ZSBwaHlsaW5rIGludGVy ZmFjZSBtb2RlcyB0aGF0IHRoZSBSSzM1NjggaGFyZHdhcmUgY2FuJ3QKcnVuPwoKcmtfZ2V0X2lu dGVyZmFjZXMoKSBzdGlsbCBzZXRzIFJHTUlJIGFuZCBSTUlJLCBiZWNhdXNlIHJrMzU2OF9vcHMg bm93CmhhcyBib3RoIHNldF90b19yZ21paSBhbmQgc2V0X3RvX3JtaWkuIFNHTUlJIGNvbWVzIGZy b20gdGhlIFhQQ1MgdGhyb3VnaApzdG1tYWNfcGh5bGlua19zZXR1cCgpOgoKICAgIGlmIChwY3Mp CiAgICAgICAgcGh5X2ludGVyZmFjZV9vcihjb25maWctPnN1cHBvcnRlZF9pbnRlcmZhY2VzLAog ICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnLT5zdXBwb3J0ZWRfaW50ZXJmYWNlcywKICAg ICAgICAgICAgICAgICAgICAgICAgIHBjcy0+c3VwcG9ydGVkX2ludGVyZmFjZXMpOwoKeHBjc19y a19jcmVhdGUoKSB1c2VzIHRoZSBwbGFpbiB4cGNzX2NyZWF0ZV9tZGlvZGV2KCkgYW5kIG5ldmVy IG5hcnJvd3MKcGNzLnN1cHBvcnRlZF9pbnRlcmZhY2VzLiBUaGUgc2V0IGlzIHRoZXJlZm9yZSBm aWxsZWQgZnJvbSB0aGUgZ2VuZXJpYwpzeW5vcHN5c194cGNzX2NvbXBhdFtdIHRhYmxlOiBVU1hH TUlJLCAxMEdLUiwgMjVHQkFTRVIsIFhMR01JSSwKNTBHQkFTRVIsIExBVUksIDEwMEdCQVNFUCwg MTBHQkFTRVIsIFNHTUlJLCAxMDAwQkFTRVggYW5kIDI1MDBCQVNFWC4KClRoZSByb2NrY2hpcCxy azM1NjgteHBjcy55YW1sIGJpbmRpbmcgaW4gdGhpcyBzZXJpZXMgc2F5cyB0aGUgaGFyZHdhcmUK c3VwcG9ydHMgb25seSAxMDAwQkFTRS1YLCBTR01JSSBhbmQgUVNHTUlJLiBUaGUgZHdtYWM0IE1B QyBjYXBzIGluY2x1ZGUKTUFDXzI1MDBGRCwgc28gcGh5bGluayBrZWVwcyAyNTAwQkFTRS1YIGFu ZCBVU1hHTUlJIGFzIHZhbGlkIGNob2ljZXMuCgpya19zZWxlY3RfcGNzKCkgYWxzbyBpZ25vcmVz IGl0cyBpbnRlcmZhY2UgYXJndW1lbnQgYW5kIHJldHVybnMgdGhlIFhQQ1MKZm9yIGV2ZXJ5IG1v ZGUuIE5laXRoZXIgdGhlIEdSRiBub3IgdGhlIGNvbWJwaHkgaXMgcmVwcm9ncmFtbWVkIHdoZW4g dGhlCmludGVyZmFjZSBjaGFuZ2VzOiBzZXRfdG9fc2dtaWkoKSBydW5zIG9uY2UgZnJvbSB0aGUg RFQgcGh5LW1vZGUsIGFuZAp0aGUgY29tYnBoeSBpcyBmaXhlZCB0byBQSFlfVFlQRV9TR01JSS4K Ck5vdyB0YWtlIGFuIFNGUCBjYWdlLCBvciBhIFBIWSB0aGF0IHN3aXRjaGVzIGhvc3QgaW50ZXJm YWNlLCBzdWNoIGFzIGEKMi41RyBQSFkgbW92aW5nIGJldHdlZW4gU0dNSUkgYW5kIDI1MDBCQVNF LVguIENvdWxkIHBoeWxpbmsgcGljawoyNTAwQkFTRS1YIG9yIFVTWEdNSUksIGFuZCB4cGNzX2Nv bmZpZygpIHRoZW4gcHJvZ3JhbSBhIG1vZGUgdGhlIFNlckRlcwphbmQgTUFDIGNsb2NraW5nIGNh bid0IGNhcnJ5PwoKVGhlIHNhbWUgc2V0IGlzIGFsc28gY29waWVkIGludG8gbHBpX2ludGVyZmFj ZXMgZm9yIEVFRS4KClRoZSBpbi10cmVlIFBob3RvbmljYXQgYm9hcmQgdXNlcyBhIDFHIFBIWSB3 aXRoIGEgZml4ZWQgU0dNSUkgaW50ZXJmYWNlLApzbyBpdCBpc24ndCBhZmZlY3RlZC4KCkNvdWxk IHRoZSBSSzM1NjggWFBDUyBzdXBwb3J0ZWRfaW50ZXJmYWNlcyBiZSByZXN0cmljdGVkLCBhbmQK cmtfc2VsZWN0X3BjcygpIHJldHVybiB0aGUgUENTIG9ubHkgZm9yIFNHTUlJPwoKWyAuLi4gXQoK PiBAQCAtMTM3OSwxNiArMTQ0OSwxOSBAQCBzdGF0aWMgaW50IHJrX2dtYWNfcG93ZXJ1cChzdHJ1 Y3QgcmtfcHJpdl9kYXRhICpic3BfcHJpdikKPiAgCWlmIChyZXQpCj4gIAkJcmV0dXJuIHJldDsK PiAgCj4gKwlyZXQgPSBnbWFjX2Nsa19lbmFibGUoYnNwX3ByaXYsIHRydWUpOwo+ICsJaWYgKHJl dCkKPiArCQlyZXR1cm4gcmV0Owo+ICsKCltTZXZlcml0eTogTWVkaXVtXQpUaGlzIGlzbid0IGEg YnVnIGludHJvZHVjZWQgYnkgdGhpcyBwYXRjaCwgYnV0IHRoZSBkaXJlY3QgcmV0dXJuIGhlcmUK b25seSB3b3JrcyBpZiBnbWFjX2Nsa19lbmFibGUoKSBjbGVhbnMgdXAgYWZ0ZXIgaXRzZWxmLiBE b2VzIGl0PwoKZ21hY19jbGtfZW5hYmxlKCkgewogICAgLi4uCiAgICAgICAgcmV0ID0gY2xrX2J1 bGtfcHJlcGFyZV9lbmFibGUoYnNwX3ByaXYtPm51bV9jbGtzLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGJzcF9wcml2LT5jbGtzKTsKICAgICAgICBpZiAocmV0KQogICAg ICAgICAgICByZXR1cm4gcmV0OwoKICAgICAgICByZXQgPSBjbGtfcHJlcGFyZV9lbmFibGUoYnNw X3ByaXYtPmNsa19waHkpOwogICAgICAgIGlmIChyZXQpCiAgICAgICAgICAgIHJldHVybiByZXQ7 CiAgICAuLi4KfQoKSWYgY2xrX3ByZXBhcmVfZW5hYmxlKGJzcF9wcml2LT5jbGtfcGh5KSBmYWls cywgdGhlIGJ1bGsgY2xvY2tzIHN0YXkKZW5hYmxlZCBhbmQgY2xrX2VuYWJsZWQgc3RheXMgZmFs c2UuCgpFdmVyeSBsYXRlciBnbWFjX2Nsa19lbmFibGUoYnNwX3ByaXYsIGZhbHNlKSB0aGVuIHJl dHVybnMgZWFybHkgb24gdGhlCmNsa19lbmFibGVkIGNoZWNrLiBUaGF0IGluY2x1ZGVzIHRoZSBu ZXcgY2xrX2Rpc2FibGUgbGFiZWwgYW5kCnJrX2dtYWNfcG93ZXJkb3duKCkuIERvZXMgdGhpcyBs ZWFrIHRoZSBlbmFibGUgY291bnRzIG9mIHRoZSBidWxrCmNsb2Nrcz8KClRoaXMgb25seSBhcHBs aWVzIHdpdGggYW4gaW50ZWdyYXRlZCBQSFksIGJlY2F1c2UgY2xrX3BoeSBpcyBOVUxMCm90aGVy d2lzZS4KClsgLi4uIF0KCj4gQEAgLTE0NDcsMTUgKzE1MTcsMjAgQEAgc3RhdGljIGludCBya19n bWFjX3Bvd2VydXAoc3RydWN0IHJrX3ByaXZfZGF0YSAqYnNwX3ByaXYpCgpbIC4uLiBdCgo+ICAJ cmV0ID0gcmtfcGh5X3Bvd2VydXAoYnNwX3ByaXYpOwo+IC0JaWYgKHJldCkgewo+IC0JCWdtYWNf Y2xrX2VuYWJsZShic3BfcHJpdiwgZmFsc2UpOwo+IC0JCXJldHVybiByZXQ7Cj4gLQl9Cj4gKwlp ZiAocmV0KQo+ICsJCWdvdG8gY2xrX2Rpc2FibGU7Cj4gIAo+ICAJcG1fcnVudGltZV9nZXRfc3lu YyhkZXYpOwo+ICAKPiBAQCAtMTQ2Myw2ICsxNTM4LDEwIEBAIHN0YXRpYyBpbnQgcmtfZ21hY19w b3dlcnVwKHN0cnVjdCBya19wcml2X2RhdGEgKmJzcF9wcml2KQo+ICAJCWJzcF9wcml2LT5vcHMt PmludGVncmF0ZWRfcGh5X3Bvd2VydXAoYnNwX3ByaXYpOwo+ICAKPiAgCXJldHVybiAwOwo+ICsK PiArY2xrX2Rpc2FibGU6Cj4gKwlnbWFjX2Nsa19lbmFibGUoYnNwX3ByaXYsIGZhbHNlKTsKPiAr CXJldHVybiByZXQ7Cj4gIH0KCltTZXZlcml0eTogTWVkaXVtXQpUaGlzIGlzIGEgcHJlLWV4aXN0 aW5nIGlzc3VlLCBidXQgcmtfZ21hY19yZXN1bWUoKSB0aHJvd3MgYXdheSB0aGUgZXJyb3IKdGhh dCB0aGlzIHBhdGggcmV0dXJuczoKCiAgICBpZiAoIWRldmljZV9tYXlfd2FrZXVwKGRldikpCiAg ICAgICAgcmtfZ21hY19wb3dlcnVwKGJzcF9wcml2KTsKCiAgICByZXR1cm4gMDsKCk9uIHRoZSBu b24tV29MIHJlc3VtZSBwYXRoLCBhIGZhaWx1cmUgaW4gcmtfcGh5X3Bvd2VydXAoKSB0YWtlcyB0 aGUKY2xrX2Rpc2FibGUgbGFiZWwsIGdhdGVzIHRoZSBHTUFDIGNsb2NrcyBhbmQgcmV0dXJucyBh biBlcnJvci4gTm90aGluZwpzZWVzIHRoYXQgZXJyb3IuCgpzdG1tYWNfcmVzdW1lKCkgY2hlY2tz IHRoZSBwbGF0LT5yZXN1bWUgcmV0dXJuIHZhbHVlLCBidXQgZ2V0cyAwIGhlcmUuCkNhbiBpdCB0 aGVuIGdvIG9uIHRvIE1ESU8gYW5kIE1BQy9ETUEgc2V0dXAgd2l0aCBwY2xrX21hYyBhbmQgYWNs a19tYWMKZGlzYWJsZWQ/CgpbIC4uLiBdCgo+IEBAIC0xNjAyLDYgKzE2ODEsMTcgQEAgc3RhdGlj IGludCBya19nbWFjX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gIAlwbGF0 X2RhdC0+c3VzcGVuZCA9IHJrX2dtYWNfc3VzcGVuZDsKPiAgCXBsYXRfZGF0LT5yZXN1bWUgPSBy a19nbWFjX3Jlc3VtZTsKPiAgCj4gKwlpZiAocGxhdF9kYXQtPnBoeV9pbnRlcmZhY2UgPT0gUEhZ X0lOVEVSRkFDRV9NT0RFX1NHTUlJKSB7Cj4gKwkJLyogU0dNSUkgY2xvY2sgYWx3YXlzIHJ1bnMg YXQgMTI1IE1IeiAqLwo+ICsJCXBsYXRfZGF0LT5zZXRfY2xrX3R4X3JhdGUgPSBOVUxMOwo+ICsK PiArCQkvKiBTR01JSSByZXF1aXJlcyBhIFBDUyAqLwo+ICsJCXBsYXRfZGF0LT5kZWZhdWx0X2Fu X2luYmFuZCA9IHRydWU7CgpbU2V2ZXJpdHk6IE1lZGl1bV0KRG9lcyB0aGUgY29tbWl0IG1lc3Nh Z2UncyBleHBsYW5hdGlvbiBvZiB0aGUgaW4tYmFuZCB2cyBvdXQtb2YtYmFuZApwcm9ibGVtIG1h dGNoIHRoZSBjb2RlPyBJdCBzYXlzOgoKICAgIE91dC1vZi1iYW5kIG1vZGUgZG9lcyBub3Qgd29y ayBiZWNhdXNlIHRoZSBNQUMgd291bGQgbmVlZCB0byBjaGFuZ2UKICAgIHRoZSBjbG9jayByYXRl IHRvIDEyNS8xMi41LzEuMjUgTUh6IGZvciAxMDAwLzEwMC8xMCBNYnBzCiAgICByZXNwZWN0aXZl bHksIGFuZCB0aGUgY2xvY2sgaXMgZml4ZWQuCgpUaGUgY2xrX3R4X2kgY29tbWVudCBpbiBpbmNs dWRlL2xpbnV4L3N0bW1hYy5oIGFuZApzdG1tYWNfc2V0X2Nsa190eF9yYXRlKCkgYm90aCBnaXZl IDEyNS8yNS8yLjUgTUh6IGZvciAxMDAwLzEwMC8xMC4KCkluIHN0bW1hY19tYWNfbGlua191cCgp LCB0aGUgbmVnb3RpYXRpb24gbW9kZSBpcyBwYXNzZWQgb25seSB0bwpwbGF0LT5maXhfbWFjX3Nw ZWVkLCB3aGljaCBkd21hYy1yayBkb2Vzbid0IHNldC4gVGhlIE1BQyBzcGVlZApwcm9ncmFtbWlu ZyBhbmQgdGhlIG5vdy1OVUxMIHNldF9jbGtfdHhfcmF0ZSBjYWxsIGFyZSB0aGUgc2FtZSBpbiBi b3RoCm1vZGVzLiBUaGUgTUFDIHRoZXJlZm9yZSBzZWVzIHRoZSBzYW1lIGZpeGVkIDEyNSBNSHog Y2xvY2sgd2hldGhlcgppbi1iYW5kIG9yIG91dC1vZi1iYW5kIGlzIHVzZWQuCgpUaGUgZGlmZmVy ZW5jZSBiZXR3ZWVuIHRoZSBtb2RlcyBzZWVtcyB0byBiZSBvbiB0aGUgWFBDUyBzaWRlOiBBTiBp bgp4cGNzX2NvbmZpZ19hbmVnX2MzN19zZ21paSgpLCB2ZXJzdXMgdGhlIGZpeGVkIEJNQ1Igd3Jp dGUgaW4KeHBjc19saW5rX3VwX3NnbWlpXzEwMDBiYXNleCgpOgoKICAgIGlmIChuZWdfbW9kZSA9 PSBQSFlMSU5LX1BDU19ORUdfSU5CQU5EX0VOQUJMRUQpCiAgICAgICAgcmV0dXJuOwogICAgLi4u CiAgICByZXQgPSB4cGNzX3dyaXRlKHhwY3MsIE1ESU9fTU1EX1ZFTkQyLCBNSUlfQk1DUiwKICAg ICAgICAgICAgICAgICAgICAgbWlpX2JtY3JfZW5jb2RlX2ZpeGVkKHNwZWVkLCBkdXBsZXgpKTsK ClRoZSBjb21taXQgbWVzc2FnZSBhbHNvIHNheXMgdGhhdCBmaXhlZC1saW5rIG5vZGVzLCBhbmQg UEhZcyB3aXRob3V0CmluLWJhbmQgc3VwcG9ydCwgY2FuIHN0aWxsIGVuZCB1cCBpbiBvdXQtb2Yt YmFuZCBTR01JSS4gVFggdGhlbiB3b3JrcwpidXQgUlggZmFpbHMgYXQgMTAvMTAwLgoKeHBjc19p bmJhbmRfY2FwcygpIHJldHVybnMgdGhpcyBmb3IgU0dNSUk6CgogICAgY2FzZSBEV19BTl9DMzdf U0dNSUk6CiAgICBjYXNlIERXX0FOX0MzN18xMDAwQkFTRVg6CiAgICAgICAgcmV0dXJuIExJTktf SU5CQU5EX0RJU0FCTEUgfCBMSU5LX0lOQkFORF9FTkFCTEU7CgpTbyBwaHlsaW5rIHdpbGwgYWNj ZXB0IG91dC1vZi1iYW5kIG1vZGUsIGFuZCB0aGUgZ2x1ZSBuZWl0aGVyIHJlamVjdHMKbm9yIHJl cG9ydHMgaXQuIFNob3VsZCBya19nbWFjX3Byb2JlKCkgcmVmdXNlLCBvciBhdCBsZWFzdCB3YXJu IGFib3V0LCBhCmZpeGVkLWxpbmsgb3Igb3V0LW9mLWJhbmQgU0dNSUkgc2V0dXAsIHJhdGhlciB0 aGFuIGJyaW5nIHRoZSBsaW5rIHVwCndpdGggUlggbm90IHdvcmtpbmc/Cgo+ICsJCXBsYXRfZGF0 LT5wY3NfaW5pdCA9IHJrX3Bjc19pbml0Owo+ICsJCXBsYXRfZGF0LT5wY3NfZXhpdCA9IHJrX3Bj c19leGl0Owo+ICsJCXBsYXRfZGF0LT5zZWxlY3RfcGNzID0gcmtfc2VsZWN0X3BjczsKPiArCX0K PiArCgpbIC4uLiBdCgotLSAKU2FzaGlrbyBBSSByZXZpZXcgwrcgaHR0cHM6Ly9uZXRkZXYtYWku Ym90cy5saW51eC5kZXYvc2FzaGlrby8jL3BhdGNoc2V0LzIwMjYwOTIyMjAwMzM2LjIyMDEyMTIt MS1jb2lhcHJhbnQlNDBnbWFpbC5jb20KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkxpbnV4LXJvY2tjaGlwIG1haWxpbmcgbGlzdApMaW51eC1yb2NrY2hp cEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4v bGlzdGluZm8vbGludXgtcm9ja2NoaXAK