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 6E6A8CA6011 for ; Thu, 8 Oct 2026 16:33:05 +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=VZL+kqHG7GM7mz4UI6i+6zQE5JxSMIes6FUwy/S2oEs=; b=t1r4S32PNaOwnE Wy556VDslOag39BkHJEjQL9aSFr85Af2bmAlsyqN4UX8H2YhA15d++b5QcuQXm4YPVLwShFQ+Oafu TIPofOEdEIwOTK80WWBUe+FujOTCbgwmosGFcc8DTfn6tsoVKXKjeJ6TpyhKQwq+CgryWozUSIDMK Kvn+tbTwitUtbkPihiDEX+KIZbuyrf3IXbaMObjPgl/QI95eIGSr2uXZV1DnaAmT7Gdm0N96EYh/c AG6Ew6FUJ/N0FOjnrDwNFYeZt9PFG2lw+rdmc/Vqvpy8y6xdIehhOK7FER5JbN8CGyMXlAMQNqV5Z 85AR83wd4vtf4c91bw2w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1xEr3G-00000004hQw-3Zjw; Thu, 08 Oct 2026 16:33:02 +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 1xEr3C-00000004hM9-3jeh; Thu, 08 Oct 2026 16:32:59 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id 0340360AA2; Thu, 8 Oct 2026 16:32:58 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id A1BF81F00899; Thu, 8 Oct 2026 16:32:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1791477177; bh=081Z/UvAAylGQTYrX/0xuTEqlAMAWGEdnRGrQFpEPIs=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=VybfSXCweeCy7ato0AMX/vZG2zSmcMXyflRauL1nSE0XC9e+ZDyB9Pdz+Oc4XPPna Fka9aIFTTimv4243WwtSVDXvCJACyBDZAT6Z5E8g7hL3xkok8ZSYu1PT+UVwIBH8Cx 4cYmHQD3KhurYkmHpr8PmycL2eKBoeNXqxQR+dUFQgYF6Sou0Ovwd9gRWU7DE2m4Eg 2CUNExVBJ9LxTsIbrgULcSV/L1tnXdBPOqfO0IetAcG+998I1cEIVrepgKXEt0BhbD fWh9QsQMshyS/uk561PiRBtfO/uYrcXJ8aoGX89QAH6+ifjRD+to2HSmC43fvIyRPx VN9wLrFuls9sA== Subject: Re: [PATCH net-next v10 5/6] net: stmmac: dwmac-rk: add SGMII support for RK3568 From: netdev-bot+sashiko@kernel.org To: coiaprant@gmail.com Cc: kuba@kernel.org, andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@kernel.org, pabeni@redhat.com, robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, heiko@sntech.de, maxime.chevallier@bootlin.com, hkallweit1@gmail.com, linux@armlinux.org.uk, david.wu@rock-chips.com, netdev@vger.kernel.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Date: Thu, 08 Oct 2026 16:32:56 +0000 Message-ID: <179147717619.434549.6837184634225737346@kernel.org> In-Reply-To: <20261005223011.1124347-6-coiaprant@gmail.com> References: <20261005223011.1124347-6-coiaprant@gmail.com> X-sashiko-severity: High 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 NCBwb3RlbnRpYWwKaXNzdWUocykgdG8gY29uc2lkZXIuCgpDcml0aWNhbDogMCDCtyBIaWdoOiAx IMK3IE1lZGl1bTogMyAoMikgwrcgTG93OiAwCgpJZiB5b3UgYmVsaWV2ZSBub25lIG9mIHRoZSBp c3N1ZXMgYXJlIGxlZ2l0aW1hdGUsIHBsZWFzZSByZXBseSB0byBlYWNoCmlzc3VlIG9mIE1lZGl1 bSBzZXZlcml0eSBvciBoaWdoZXIgYW5kIGV4cGxhaW4gd2h5IHRoZSBBSSBpcyB3cm9uZy4KSWYg YW55IG9mIHRoZW0gYXJlIGxlZ2l0aW1hdGUgYW5kIHlvdSBwbGFuIHRvIHJlc3BpbiwgcGxlYXNl IGxldCBwYXRjaHdvcmsKa25vdyBieSBpbmNsdWRpbmcgInB3LWJvdDogY3IiIGFzIGEgc2VwYXJh dGUgbGluZSBhdCB0aGUgZW5kIG9mIHlvdXIgcmVwbHkKKG9uZSBzdWNoIHJlcGx5IHBlciBzZXJp ZXMgaXMgZW5vdWdoKS4KCi0gW0hpZ2hdIFNHTUlJIGNhbm5vdCB3b3JrIGF0IGFsbCwgYW5kIHRo ZSBYUENTIGxlYWtzIG9uIGV2ZXJ5IHByb2JlLgotIFtNZWRpdW1dIFdpdGggcGh5LW1vZGU9InNn bWlpIiwgcmtfZ21hY19wcm9iZSgpIGNsZWFycwogIHBsYXRfZGF0LT5zZXRfY2xrX3R4X3JhdGUg YW5kIHNldHMgZGVmYXVsdF9hbl9pbmJhbmQ9dHJ1ZSwgYnV0IHRoYXTigKYKLSBbTWVkaXVtXSBU aGUgY29tbWl0IG1lc3NhZ2UncyBhY2NvdW50IG9mIGluLWJhbmQgdnMgb3V0LW9mLWJhbmQgU0dN SUkKICBpcyB3cm9uZyBpbiB0aHJlZSB3YXlzLgotIFtNZWRpdW1dIHhwY3NfcmtfY3JlYXRlKCks IHdoaWNoIHRoZSBuZXcgcmtfcGNzX2luaXQoKSBjYWxscywgYXNzdW1lcwogIHRoYXQgJ3N1cHBs aWVyLT5saW5rcy5zdGF0dXMgPT0gRExfREVWX0RSSVZFUl9CT1VORCcgcmlnaHQgYWZ0ZXLigKYK ClByZS1leGlzdGluZyBpc3N1ZXM6Ci0gW01lZGl1bV0gVGhpcyBwcm9ibGVtIHdhc24ndCBpbnRy b2R1Y2VkIGJ5IHRoaXMgcGF0Y2gsIGJ1dAogIHJrX2dtYWNfZXhpdCgpIGFzc3VtZXMgZHJpdmVy IGRhdGEgYWxyZWFkeSBleGlzdHMuCi0gW01lZGl1bV0gVGhpcyBwcm9ibGVtIHdhc24ndCBpbnRy b2R1Y2VkIGJ5IHRoaXMgcGF0Y2gsIGJ1dAogIHJrX2dtYWNfcmVzdW1lKCkgaWdub3JlcyB0aGUg cmV0dXJuIHZhbHVlIG9mIHJrX2dtYWNfcG93ZXJ1cCgpIGFuZOKApgoKLS0KCm5ldDogc3RtbWFj OiBkd21hYy1yazogYWRkIFNHTUlJIHN1cHBvcnQgZm9yIFJLMzU2OAoKVGhpcyBwYXRjaCBhZGRz IFJLMzU2OCBTR01JSSBzdXBwb3J0IHRvIGR3bWFjLXJrLiBJdCBhZGRzIGEgc2V0X3RvX3NnbWlp KCkKR1JGIGNhbGxiYWNrLCBwbHVzIHBjc19pbml0L3Bjc19leGl0L3NlbGVjdF9wY3MgY2FsbGJh Y2tzIHRoYXQgY3JlYXRlIHRoZQpYUENTIHdpdGggeHBjc19ya19jcmVhdGUoKS4gRm9yIFNHTUlJ IGl0IGFsc28gZW5hYmxlcyBjbG9ja3MgZWFybGllciBpbgpya19nbWFjX3Bvd2VydXAoKSwgc2V0 cyBkZWZhdWx0X2FuX2luYmFuZCBhbmQgY2xlYXJzIHNldF9jbGtfdHhfcmF0ZS4KCkxpbms6IGh0 dHBzOi8vZGwucmFkeGEuY29tL3JvY2szL2RvY3MvaHcvZGF0YXNoZWV0L1JvY2tjaGlwJTIwUksz NTY4JTIwVFJNJTIwUGFydDElMjBWMS4xLTIwMjEwMzAxLnBkZiAoUGFnZSAzODYpCgo+IE9uIFJL MzU2OCwgdGhlIE1BQyBjbG9jayBpcyBmaXhlZCBhdCAxMjUgTUh6IGFuZCBjYW5ub3QgYmUgZHlu YW1pY2FsbHkKPiBjaGFuZ2VkIGJ5IHRoZSBzdG1tYWMgY29yZSdzIHNldF9jbGtfdHhfcmF0ZSBj YWxsYmFjay4gIEluLWJhbmQgbW9kZQo+IHdvcmtzIGJlY2F1c2UgdGhlIFBDUyBoYW5kbGVzIHJh dGUgYWRhcHRhdGlvbiBpbnRlcm5hbGx5LiAgT3V0LW9mLWJhbmQKPiBtb2RlIGRvZXMgbm90IHdv cmsgYmVjYXVzZSB0aGUgTUFDIHdvdWxkIG5lZWQgdG8gY2hhbmdlIHRoZSBjbG9jayByYXRlCj4g dG8gMTI1LzEyLjUvMS4yNSBNSHogZm9yIDEwMDAvMTAwLzEwIE1icHMgcmVzcGVjdGl2ZWx5LCBh bmQgdGhlIGNsb2NrCj4gaXMgZml4ZWQuCgpbU2V2ZXJpdHk6IE1lZGl1bV0KQXJlIHRoZXNlIHJh dGVzIGNvcnJlY3Q/IFRoZSBjbGtfdHhfaSBrZXJuZWwtZG9jIGluIGluY2x1ZGUvbGludXgvc3Rt bWFjLmgKc2F5cyAiU0dNSUkgMTI1TUh6IFNlckRlcyBjbG9jayBkaXZpZGVkIGJ5IDEsIDUsIG9y IDUwIi4gQWxzbywKcmdtaWlfY2xvY2soKSwgd2hpY2ggcmtfc2V0X2Nsa19tYWNfc3BlZWQoKSB1 c2VzLCByZXR1cm5zCjEyNS8yNS8yLjUgTUh6LgoKVGhlIHJlYXNvbiBnaXZlbiBmb3IgaW4tYmFu ZCB3b3JraW5nIGFuZCBvdXQtb2YtYmFuZCBmYWlsaW5nIGFsc28gZG9lc24ndApzZWVtIHRvIG1h dGNoIHRoZSBjb2RlOgoKLSBya19nbWFjX3Byb2JlKCkgc2V0cyBzZXRfY2xrX3R4X3JhdGUgdG8g TlVMTCBmb3IgZXZlcnkgU0dNSUkKICBjb25maWd1cmF0aW9uLCBzbyB0aGUgTUFDIGNsb2NrIGlz IGhhbmRsZWQgdGhlIHNhbWUgd2F5IGluIGJvdGggbW9kZXMuCi0gVGhlIFhQQ1MgaXMgdG9sZCB0 aGUgc3BlZWQgaW4gYm90aCBtb2RlczogdGhyb3VnaCBNQUNfQVVUT19TVyBpbgogIHhwY3NfY29u ZmlnX2FuZWdfYzM3X3NnbWlpKCkgZm9yIGluLWJhbmQsIGFuZCB0aHJvdWdoIGEgQk1DUiB3cml0 ZSBpbgogIHhwY3NfbGlua191cF9zZ21paV8xMDAwYmFzZXgoKSBmb3Igb3V0LW9mLWJhbmQuCgo+ IEVuYWJsZSBkZWZhdWx0X2FuX2luYmFuZCBmb3IgU0dNSUkgYW5kIGRpc2FibGUgdGhlIGdlbmVy aWMgc3RtbWFjCj4gc2V0X2Nsa190eF9yYXRlIGNhbGxiYWNrLgoKVGhlIGNhbGxiYWNrIHRoYXQg Z2V0cyBjbGVhcmVkIGlzIHJrX3NldF9jbGtfdHhfcmF0ZSgpLiBUaGF0IGlzIHRoZQpSb2NrY2hp cC1zcGVjaWZpYyBvbmUsIHdoaWNoIGVuZHMgdXAgaW4gcmtfc2V0X2Nsa19tYWNfc3BlZWQoKSBv biByazM1NjgsCm5vdCBhIGdlbmVyaWMgc3RtbWFjIGNhbGxiYWNrLgoKQ291bGQgdGhlIGNvbW1p dCBtZXNzYWdlIGJlIHVwZGF0ZWQgb24gdGhlc2UgcG9pbnRzPwoKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYyBiL2RyaXZlcnMvbmV0 L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMKPiBpbmRleCA3MmJkYmNiNWU4NjNh Li4zYjUwYWQzYzYwMGI5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWlj cm8vc3RtbWFjL2R3bWFjLXJrLmMKPiArKysgYi9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3Jv L3N0bW1hYy9kd21hYy1yay5jCgpbIC4uLiBdCgo+IEBAIC0xMjExLDYgKzEyMzksNDMgQEAgc3Rh dGljIHZvaWQgcmtfcGh5X3Bvd2VyZG93bihzdHJ1Y3QgcmtfcHJpdl9kYXRhICpic3BfcHJpdikK PiAgCQlkZXZfZXJyKGJzcF9wcml2LT5kZXYsICJmYWlsIHRvIGRpc2FibGUgcGh5LXN1cHBseVxu Iik7Cj4gIH0KPiAgCj4gK3N0YXRpYyBpbnQgcmtfcGNzX2luaXQoc3RydWN0IHN0bW1hY19wcml2 ICpwcml2KQo+ICt7Cj4gKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wID0gcHJpdi0+ZGV2aWNlLT5v Zl9ub2RlOwo+ICsJc3RydWN0IGRldmljZV9ub2RlICpwY3Nfbm9kZTsKPiArCXN0cnVjdCBkd194 cGNzICp4cGNzOwo+ICsKPiArCXBjc19ub2RlID0gb2ZfcGFyc2VfcGhhbmRsZShucCwgInBjcy1o YW5kbGUiLCAwKTsKPiArCWlmICghcGNzX25vZGUpCj4gKwkJcmV0dXJuIC1FTk9ERVY7Cj4gKwo+ ICsJeHBjcyA9IHhwY3NfcmtfY3JlYXRlKHByaXYtPmRldmljZSwgcGNzX25vZGUpOwoKW1NldmVy aXR5OiBNZWRpdW1dCkNhbiB4cGNzX3JrX2NyZWF0ZSgpIHJhY2Ugd2l0aCB0aGUgWFBDUyBkcml2 ZXIgYmluZGluZz8gSXQgZG9lcyB0aGlzOgoKZHJpdmVycy9uZXQvcGNzL3Bjcy14cGNzLXJrLmM6 eHBjc19ya19jcmVhdGUoKSB7CiAgICAuLi4KCWxpbmsgPSBkZXZpY2VfbGlua19hZGQoZGV2LCAm cGRldi0+ZGV2LCBETF9GTEFHX0FVVE9SRU1PVkVfQ09OU1VNRVIpOwogICAgLi4uCglpZiAoUkVB RF9PTkNFKGxpbmstPnN1cHBsaWVyLT5saW5rcy5zdGF0dXMpICE9IERMX0RFVl9EUklWRVJfQk9V TkQpIHsKICAgIC4uLgp9Cgpmd19kZXZsaW5rIGRvZXMgbm90IHBhcnNlICJwY3MtaGFuZGxlIiwg c28gbm90aGluZyBvcmRlcnMgdGhlIHN1cHBsaWVyCmFoZWFkIG9mIHRoaXMgcHJvYmUuIFN1cHBv c2UgdGhlIFhQQ1MgZGV2aWNlIGhhcyBubyBkcml2ZXIgd2hlbgpkZXZpY2VfbGlua19hZGQoKSBy dW5zOgoKLSBUaGUgbGluayBzdGFydHMgaW4gRExfU1RBVEVfRE9STUFOVC4KLSBJZiB0aGUgWFBD UyBkcml2ZXIgYmluZHMgYmVmb3JlIHRoZSBSRUFEX09OQ0UoKSBjaGVjaywKICBkZXZpY2VfbGlu a3NfZHJpdmVyX2JvdW5kKCkgbW92ZXMgdGhlIGxpbmsgdG8gRExfU1RBVEVfQVZBSUxBQkxFLCBu b3QKICBETF9TVEFURV9DT05TVU1FUl9QUk9CRS4KLSBUaGUgRExfREVWX0RSSVZFUl9CT1VORCBj aGVjayBzdGlsbCBwYXNzZXMuCgpkZXZpY2VfbGlua3NfdW5iaW5kX2NvbnN1bWVycygpIG9ubHkg d2FpdHMgZm9yIGxpbmtzIGluCkRMX1NUQVRFX0NPTlNVTUVSX1BST0JFLiBDb3VsZCBhIGNvbmN1 cnJlbnQgdW5iaW5kIG9mIHRoZSBYUENTIGRyaXZlciB0aGVuCmZyZWUgdGhlIGRldm0tbWFuYWdl ZCBweHBjcyBhbmQgbWlpX2J1cyB3aGlsZSB4cGNzX2NyZWF0ZV9tZGlvZGV2KCkgaXMKc3RpbGwg dXNpbmcgdGhlbT8KCkFsc28sIGlmIHRoZSBzdG1tYWMgcHJvYmUgdGhlbiBzdWNjZWVkcywgd291 bGRuJ3QKZGV2aWNlX2xpbmtzX2RyaXZlcl9ib3VuZCgpIGZvciB0aGUgY29uc3VtZXIgaGl0CldB Uk5fT04obGluay0+c3RhdHVzICE9IERMX1NUQVRFX0NPTlNVTUVSX1BST0JFKT8KCj4gKwlvZl9u b2RlX3B1dChwY3Nfbm9kZSk7Cj4gKwlpZiAoSVNfRVJSKHhwY3MpKQo+ICsJCXJldHVybiBQVFJf RVJSKHhwY3MpOwo+ICsKPiArCXByaXYtPmh3LT54cGNzID0geHBjczsKCltTZXZlcml0eTogSGln aF0KRG9lcyB0aGlzIFhQQ1MgcG9pbnRlciBzdXJ2aXZlIGFmdGVyIHRoZSBjYWxsYmFjayByZXR1 cm5zPyBPbiB0aGUgcGNzX2luaXQKYnJhbmNoLCBzdG1tYWNfcGNzX3NldHVwKCkgbmV2ZXIgc2V0 cyBpdHMgbG9jYWwgeHBjcywgYW5kIHRoZW4gd3JpdGVzIGl0CmJhY2sgdW5jb25kaXRpb25hbGx5 OgoKZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvc3RtbWFjX21kaW8uYzpzdG1t YWNfcGNzX3NldHVwKCkgewoJc3RydWN0IGR3X3hwY3MgKnhwY3MgPSBOVUxMOwoJLi4uCglpZiAo cHJpdi0+cGxhdC0+cGNzX2luaXQpIHsKCQlyZXQgPSBwcml2LT5wbGF0LT5wY3NfaW5pdChwcml2 KTsKCX0gZWxzZSBpZiAoZndub2RlX3Byb3BlcnR5X3ByZXNlbnQoZGV2bm9kZSwgInBjcy1oYW5k bGUiKSkgewoJLi4uCglwcml2LT5ody0+eHBjcyA9IHhwY3M7CgoJcmV0dXJuIDA7Cn0KClNvIG9u Y2UgcmtfcGNzX2luaXQoKSByZXR1cm5zLCBwcml2LT5ody0+eHBjcyBpcyBOVUxMIGFnYWluLgoK SW4gc3RtbWFjX3BoeWxpbmtfc2V0dXAoKSwgcHJpdi0+aHctPnhwY3MgYW5kIHByaXYtPmh3LT5w aHlsaW5rX3BjcyBhcmUKdGhlbiBib3RoIE5VTEwsIHNvIHRoZSBYUENTIHN1cHBvcnRlZF9pbnRl cmZhY2VzIGFyZSBuZXZlciBtZXJnZWQuCnJrX2dldF9pbnRlcmZhY2VzKCkgaGFzIGFscmVhZHkg c2V0IHRoZSBSR01JSSBhbmQgUk1JSSBiaXRzIGZvciByazM1NjgsCnNvIFBIWV9JTlRFUkZBQ0Vf TU9ERV9TR01JSSBuZXZlciBlbmRzIHVwIGluIHN1cHBvcnRlZF9pbnRlcmZhY2VzLgoKV2l0aCBk ZWZhdWx0X2FuX2luYmFuZCBzZXQsIHBoeWxpbmtfcGFyc2VfbW9kZSgpIHRha2VzIHRoZSBpbi1i YW5kIHBhdGgKYW5kIHBoeWxpbmtfdmFsaWRhdGUoKSBmYWlscy4gRG9lc24ndCB0aGF0IG1ha2Ug cGh5bGlua19jcmVhdGUoKSwgYW5kIHNvCnRoZSB3aG9sZSBwcm9iZSwgZmFpbCB3aXRoIC1FSU5W QUwgb24gZXZlcnkgcGh5LW1vZGUgPSAic2dtaWkiIGJvYXJkPwoKRXZlbiBpZiBwcm9iZSBnb3Qg cGFzdCB0aGF0LCBya19zZWxlY3RfcGNzKCkgd291bGQgcmV0dXJuIE5VTEwuIEFsc28sCnJrX3Bj c19leGl0KCkgYW5kIHN0bW1hY19wY3NfY2xlYW4oKSBib3RoIHJldHVybiBlYXJseSB3aGVuCnBy aXYtPmh3LT54cGNzIGlzIE5VTEwsIHNvIHhwY3NfZGVzdHJveSgpIG5ldmVyIHJ1bnMuIElzIHRo ZSBkd194cGNzLAp0b2dldGhlciB3aXRoIGl0cyBtZGlvX2RldmljZSByZWZlcmVuY2UgYW5kIGNs b2NrcywgbGVha2VkIG9uIGV2ZXJ5IHByb2JlCmF0dGVtcHQ/CgpUaGUgb3RoZXIgcGNzX2luaXQg dXNlcnMgKHNvY2ZwZ2EsIHJ6bjEsIHJlbmVzYXMpIGF2b2lkIHRoaXMgYnkgc3RvcmluZwp0aGVp ciBQQ1MgaW4gcHJpdi0+aHctPnBoeWxpbmtfcGNzLgoKQmVjYXVzZSBvZiB0aGlzLCB0aGUgY29t bWl0IG1lc3NhZ2Ugc3RhdGVtZW50IHRoYXQgU0dNSUkgImNvbWVzIGZyb20gdGhlClhQQ1MncyBv d24gc3VwcG9ydGVkX2ludGVyZmFjZXMsIG1lcmdlZCBieSBzdG1tYWNfcGh5bGlua19zZXR1cCgp IiBkb2VzCm5vdCBjdXJyZW50bHkgaG9sZC4KCj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiArc3Rh dGljIHZvaWQgcmtfcGNzX2V4aXQoc3RydWN0IHN0bW1hY19wcml2ICpwcml2KQo+ICt7Cj4gKwlp ZiAoIXByaXYtPmh3LT54cGNzKQo+ICsJCXJldHVybjsKPiArCj4gKwl4cGNzX2Rlc3Ryb3kocHJp di0+aHctPnhwY3MpOwo+ICsJcHJpdi0+aHctPnhwY3MgPSBOVUxMOwo+ICt9Cj4gKwo+ICtzdGF0 aWMgc3RydWN0IHBoeWxpbmtfcGNzICpya19zZWxlY3RfcGNzKHN0cnVjdCBzdG1tYWNfcHJpdiAq cHJpdiwKPiArCQkJCQkgcGh5X2ludGVyZmFjZV90IGludGVyZmFjZSkKPiArewo+ICsJaWYgKCFw cml2LT5ody0+eHBjcykKPiArCQlyZXR1cm4gTlVMTDsKPiArCj4gKwlyZXR1cm4geHBjc190b19w aHlsaW5rX3Bjcyhwcml2LT5ody0+eHBjcyk7Cj4gK30KClsgLi4uIF0KCj4gQEAgLTE0NjYsNiAr MTU0MSwxMCBAQCBzdGF0aWMgaW50IHJrX2dtYWNfcG93ZXJ1cChzdHJ1Y3QgcmtfcHJpdl9kYXRh ICpic3BfcHJpdikKPiAgCQlic3BfcHJpdi0+b3BzLT5pbnRlZ3JhdGVkX3BoeV9wb3dlcnVwKGJz cF9wcml2KTsKPiAgCj4gIAlyZXR1cm4gMDsKPiArCj4gK2Nsa19kaXNhYmxlOgo+ICsJZ21hY19j bGtfZW5hYmxlKGJzcF9wcml2LCBmYWxzZSk7Cj4gKwlyZXR1cm4gcmV0Owo+ICB9CgpbU2V2ZXJp dHk6IE1lZGl1bV0KVGhpcyBpc24ndCBhIGJ1ZyBpbnRyb2R1Y2VkIGJ5IHRoaXMgcGF0Y2gsIGJ1 dCBya19nbWFjX3Jlc3VtZSgpIGlnbm9yZXMKdGhlIGVycm9yIHJldHVybmVkIGhlcmU6Cgpkcml2 ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jOnJrX2dtYWNfcmVzdW1l KCkgewoJLi4uCglpZiAoIWRldmljZV9tYXlfd2FrZXVwKGRldikpCgkJcmtfZ21hY19wb3dlcnVw KGJzcF9wcml2KTsKCglyZXR1cm4gMDsKfQoKSWYgdGhlIGNsb2NrIGVuYWJsZSwgYSBHUkYgd3Jp dGUgb3IgdGhlIHBoeSByZWd1bGF0b3IgZmFpbHMgZHVyaW5nCnJlc3VtZSwgcmtfZ21hY19wb3dl cnVwKCkgcmV0dXJucyBhbiBlcnJvciBhbmQgdGhlIGNsb2NrcyBhcmUgZGlzYWJsZWQuCgpXb24n dCBzdG1tYWNfcmVzdW1lKCkgdGhlbiBnbyBvbiB0byByZWluaXRpYWxpc2UgdGhlIE1BQyB3aXRo IGl0cyBjbG9ja3MKb2ZmPwoKWyAuLi4gXQoKPiBAQCAtMTYwNSw2ICsxNjg0LDE3IEBAIHN0YXRp YyBpbnQgcmtfZ21hY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICAJcGxh dF9kYXQtPnN1c3BlbmQgPSBya19nbWFjX3N1c3BlbmQ7Cj4gIAlwbGF0X2RhdC0+cmVzdW1lID0g cmtfZ21hY19yZXN1bWU7Cj4gIAo+ICsJaWYgKHBsYXRfZGF0LT5waHlfaW50ZXJmYWNlID09IFBI WV9JTlRFUkZBQ0VfTU9ERV9TR01JSSkgewo+ICsJCS8qIFNHTUlJIGNsb2NrIGFsd2F5cyBydW5z IGF0IDEyNSBNSHogKi8KPiArCQlwbGF0X2RhdC0+c2V0X2Nsa190eF9yYXRlID0gTlVMTDsKPiAr Cj4gKwkJLyogU0dNSUkgcmVxdWlyZXMgYSBQQ1MgKi8KPiArCQlwbGF0X2RhdC0+ZGVmYXVsdF9h bl9pbmJhbmQgPSB0cnVlOwoKW1NldmVyaXR5OiBNZWRpdW1dCmRlZmF1bHRfYW5faW5iYW5kIG9u bHkgcGlja3MgdGhlIGRlZmF1bHQuIERvZXMgYW55dGhpbmcgc3RvcCBwaHlsaW5rIGZyb20KcnVu bmluZyB0aGlzIGxpbmsgb3V0LW9mLWJhbmQ/CgotIEEgZml4ZWQtbGluayBub2RlIGdpdmVzIE1M T19BTl9GSVhFRC4KLSBJZiB0aGUgUEhZIHJlcG9ydHMgb25seSBMSU5LX0lOQkFORF9ESVNBQkxF OiB4cGNzX2luYmFuZF9jYXBzKCkgcmV0dXJucwogIExJTktfSU5CQU5EX0RJU0FCTEUgfCBMSU5L X0lOQkFORF9FTkFCTEUgZm9yIFNHTUlJLCBzbwogIHBoeWxpbmtfcGNzX25lZ19tb2RlKCkgc2Vs ZWN0cyBQSFlMSU5LX1BDU19ORUdfT1VUQkFORC4KCnJrX3NlbGVjdF9wY3MoKSByZXR1cm5zIHRo ZSBYUENTIHdoYXRldmVyIHRoZSBuZWdfbW9kZSBpcy4gV2l0aApzZXRfY2xrX3R4X3JhdGUgY2xl YXJlZCwgdGhlIE1BQyBjbG9jayBzdGF5cyBhdCAxMjUgTUh6LgoKQWNjb3JkaW5nIHRvIHRoZSBj b21taXQgbWVzc2FnZSwgMTAvMTAwIE1icHMgd291bGQgdGhlbiBoYXZlIHdvcmtpbmcgVFgKYW5k IGZhaWxpbmcgUlguIFRoZSBsaW5rIHdvdWxkIHN0aWxsIGJlIHJlcG9ydGVkIHVwLCBhbmQgbm90 aGluZyB3b3VsZCBiZQpsb2dnZWQuCgpDb3VsZCB0aGUgZHJpdmVyIHJlamVjdCB0aGlzIG9yIHdh cm4gYWJvdXQgaXQsIGZvciBleGFtcGxlIGJ5IGNoZWNraW5nIHRoZQpuZWdfbW9kZSBvciBsaW1p dGluZyB0aGUgTUFDIGNhcGFiaWxpdGllcz8gUmlnaHQgbm93IGl0IGlzIG9ubHkgZG9jdW1lbnRl ZAppbiB0aGUgY29tbWl0IG1lc3NhZ2UuCgo+ICsJCXBsYXRfZGF0LT5wY3NfaW5pdCA9IHJrX3Bj c19pbml0Owo+ICsJCXBsYXRfZGF0LT5wY3NfZXhpdCA9IHJrX3Bjc19leGl0Owo+ICsJCXBsYXRf ZGF0LT5zZWxlY3RfcGNzID0gcmtfc2VsZWN0X3BjczsKPiArCX0KPiArCj4gIAlwbGF0X2RhdC0+ YnNwX3ByaXYgPSBya19nbWFjX3NldHVwKHBkZXYsIHBsYXRfZGF0LCBkYXRhKTsKPiAgCWlmIChJ U19FUlIocGxhdF9kYXQtPmJzcF9wcml2KSkKPiAgCQlyZXR1cm4gUFRSX0VSUihwbGF0X2RhdC0+ YnNwX3ByaXYpOwoKW1NldmVyaXR5OiBNZWRpdW1dClRoaXMgaXMgYSBwcmUtZXhpc3RpbmcgaXNz dWUsIGJ1dCBya19nbWFjX2V4aXQoKSwgd2hpY2ggaXMgaW5zdGFsbGVkIGFzCnBsYXRfZGF0LT5l eGl0IGluIHRoaXMgZnVuY3Rpb24sIGFzc3VtZXMgdGhlIGRyaXZlciBkYXRhIGhhcyBhbHJlYWR5 IGJlZW4Kc2V0OgoKZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsu Yzpya19nbWFjX2V4aXQoKSB7CglzdHJ1Y3Qgc3RtbWFjX3ByaXYgKnByaXYgPSBuZXRkZXZfcHJp dihkZXZfZ2V0X2RydmRhdGEoZGV2KSk7CgkuLi4KCWlmIChwcml2LT5wbGF0LT5waHlfbm9kZSAm JiBic3BfcHJpdi0+aW50ZWdyYXRlZF9waHkpCgkuLi4KfQoKc3RtbWFjX2R2cl9wcm9iZSgpIGNh bGxzIHBsYXQtPmluaXQgYmVmb3JlIF9fc3RtbWFjX2R2cl9wcm9iZSgpLCBhbmQKY2FsbHMgcGxh dC0+ZXhpdCBpZiBhbnl0aGluZyBmYWlscyBhZnRlcndhcmRzLgoKU3VwcG9zZSBfX3N0bW1hY19k dnJfcHJvYmUoKSBmYWlscyBiZWZvcmUgZGV2X3NldF9kcnZkYXRhKCksIGZvciBleGFtcGxlCmJl Y2F1c2UgZGV2bV9hbGxvY19ldGhlcmRldl9tcXMoKSByZXR1cm5zIE5VTEwuIFdvdWxkIHJrX2dt YWNfZXhpdCgpIHRoZW4KZGVyZWZlcmVuY2UgYSBwcml2IGRlcml2ZWQgZnJvbSBhIE5VTEwgbmV0 X2RldmljZT8KCi0tIApTYXNoaWtvIEFJIHJldmlldyDCtyBodHRwczovL25ldGRldi1haS5ib3Rz LmxpbnV4LmRldi9zYXNoaWtvLyMvcGF0Y2hzZXQvMjAyNjEwMDUyMjMwMTEuMTEyNDM0Ny0xLWNv aWFwcmFudCU0MGdtYWlsLmNvbQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KTGludXgtcm9ja2NoaXAgbWFpbGluZyBsaXN0CkxpbnV4LXJvY2tjaGlwQGxp c3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0 aW5mby9saW51eC1yb2NrY2hpcAo=