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 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 865D4C98318 for ; Fri, 25 Sep 2026 02:04:36 +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=xHtF+vv3miTQKtJuW4TDA2HXS/QQ3dbHlxYuyQ1Juzo=; b=cQ7KBtIEKKbhsD 1Cy96TgLcf0We+x3haTdqLKPyMUWw8A8VVyHdiy+goA4R+VfpTQKOV//TC1YO6WYQfwMCsf7oOjZB VQeHUoeGoe298RZDVsorhnUDSFAdtwy8e447CjWVbQE3MJ2ATm1ZOcfKuHpUuFb2k1nyTT5eqjdFB /z1Ezkr1x2exf1F4OpmdSD9s5Bcpbpo3TF/Vm5QraJddIl6iX+z9H+pjBDYQIbbrlj3d0JY77tY0t jpwlKmSr2ekpMZCe/R09N5NoxW+IOeSr3ufrnaG/0rcnPHf8cMStd6HJuGVjUWk6uQELp8RrUc8jD o+P37YakmII5tbohnfnw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1x9vIi-0000000CWEQ-0wV9; Fri, 25 Sep 2026 02:04:36 +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-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: , 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 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 MS1jb2lhcHJhbnQlNDBnbWFpbC5jb20KCi0tIApsaW51eC1waHkgbWFpbGluZyBsaXN0CmxpbnV4 LXBoeUBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHBzOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWls bWFuL2xpc3RpbmZvL2xpbnV4LXBoeQo= From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A034F3822A1; Fri, 25 Sep 2026 02:03:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790301830; cv=none; b=gwQZjputP/FIp24a5u0R0+YFHqy3osqGk6viFqiI/8BVhXh+vqz/NLVofHkG/Au+WcYp5fdSL0RyFqCn+zjeVaW2Gm2VtJseMaZLPENhMSj0PjuOsRC2tnH/+CorxEZ8p2Ep5o2+y1cRGHkmG8K6zZrORKSS4bHz/e5txiuqpfw= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790301830; c=relaxed/simple; bh=zhL7hF0bSF87fzhSKsFCpqWkLQyTR1/4ldpfM6gwJC4=; h=Subject:From:To:Cc:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=m44OYHDffzmSf4R5zLdxmA7sHz/fTDLu3Ybgp01jZdNO2To8vf0AcovZnMpvZC4LnP/n17uTf1Mft3jgzaH0PYWFRvTIl/4Kz9RN1mK0bsPJrVzG3Cyg8gYyqprH9ue8rgnZ1RgCwCv5nR/TKhqm3b3kEjnJVZ15SJmVHnHmyUU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=PrZycPLl; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="PrZycPLl" 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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider. Critical: 0 · High: 0 · Medium: 2 (3) · Low: 0 If you believe none of the issues are legitimate, please reply to each issue of Medium severity or higher and explain why the AI is wrong. If any of them are legitimate and you plan to respin, please let patchwork know by including "pw-bot: cr" as a separate line at the end of your reply (one such reply per series is enough). - [Medium] In SGMII mode, the RK3568 glue tells phylink it supports interface modes that the hardware cannot run and that the glue never… - [Medium] The commit's explanation of the SGMII in-band vs out-of-band problem does not match the code, and the driver does nothing to reject… Pre-existing issues: - [Medium] rk_gmac_resume() (dwmac-rk.c:1618-1627) calls rk_gmac_powerup() and throws away its return value, then always… - [Medium] gmac_clk_enable(bsp_priv, true) (dwmac-rk.c:1181-1200) first enables the bulk clocks with clk_bulk_prepare_enable() (line 1187). - [Medium] __stmmac_dvr_probe() calls pm_runtime_get_noresume(device) and enables runtime PM (stmmac_main.c:8112-8115) before calling… -- net: stmmac: dwmac-rk: add SGMII support for RK3568 This adds SGMII support for the RK3568 GMACs. It sets GRF bit 7 and hooks up the Rockchip XPCS through the pcs_init, pcs_exit and select_pcs callbacks. It also moves the clock enable in rk_gmac_powerup() earlier, unifies its error unwinding, and for SGMII clears set_clk_tx_rate and sets default_an_inband. Link: https://dl.radxa.com/rock3/docs/hw/datasheet/Rockchip%20RK3568%20TRM%20Part1%20V1.1-20210301.pdf (Page 386) > diff --git a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c > index 8d7042e689261..88f09014e3a69 100644 > --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c > +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c [ ... ] > @@ -1208,6 +1236,43 @@ static void rk_phy_powerdown(struct rk_priv_data *bsp_priv) > dev_err(bsp_priv->dev, "fail to disable phy-supply\n"); > } > > +static int rk_pcs_init(struct stmmac_priv *priv) > +{ > + struct device_node *np = priv->device->of_node; > + struct device_node *pcs_node; > + struct dw_xpcs *xpcs; > + > + pcs_node = of_parse_phandle(np, "pcs-handle", 0); > + if (!pcs_node) > + return -ENODEV; > + > + xpcs = xpcs_rk_create(priv->device, pcs_node); > + of_node_put(pcs_node); > + if (IS_ERR(xpcs)) > + return PTR_ERR(xpcs); [Severity: Medium] This is a pre-existing issue in the stmmac core, but this patch makes it much easier to hit. rk_pcs_init() returns -EPROBE_DEFER from xpcs_rk_create() whenever the XPCS device isn't bound yet. Does each of those deferrals leak a runtime PM usage count? __stmmac_dvr_probe() takes the reference before PCS setup: pm_runtime_get_noresume(device); pm_runtime_set_active(device); if (!pm_runtime_enabled(device)) pm_runtime_enable(device); ... error_pcs_setup: stmmac_mdio_unregister(ndev); error_mdio_register: stmmac_napi_del(ndev); None of the error labels drop that count or disable runtime PM. pm_runtime_reinit() returns early while runtime PM is enabled, so usage_count is never reset. fw_devlink doesn't parse pcs-handle, so the GMAC can probe before the XPCS. After the probe finally succeeds, the count can't reach zero, so the MAC would never runtime suspend. Deferral from stmmac_mdio_register() already hit this path before the patch, but deferral is now likely on RK3568 SGMII boards. > + > + priv->hw->xpcs = xpcs; > + return 0; > +} > + [ ... ] > +static struct phylink_pcs *rk_select_pcs(struct stmmac_priv *priv, > + phy_interface_t interface) > +{ > + if (!priv->hw->xpcs) > + return NULL; > + > + return xpcs_to_phylink_pcs(priv->hw->xpcs); > +} [Severity: Medium] Does this give phylink interface modes that the RK3568 hardware can't run? rk_get_interfaces() still sets RGMII and RMII, because rk3568_ops now has both set_to_rgmii and set_to_rmii. SGMII comes from the XPCS through stmmac_phylink_setup(): if (pcs) phy_interface_or(config->supported_interfaces, config->supported_interfaces, pcs->supported_interfaces); xpcs_rk_create() uses the plain xpcs_create_mdiodev() and never narrows pcs.supported_interfaces. The set is therefore filled from the generic synopsys_xpcs_compat[] table: USXGMII, 10GKR, 25GBASER, XLGMII, 50GBASER, LAUI, 100GBASEP, 10GBASER, SGMII, 1000BASEX and 2500BASEX. The rockchip,rk3568-xpcs.yaml binding in this series says the hardware supports only 1000BASE-X, SGMII and QSGMII. The dwmac4 MAC caps include MAC_2500FD, so phylink keeps 2500BASE-X and USXGMII as valid choices. rk_select_pcs() also ignores its interface argument and returns the XPCS for every mode. Neither the GRF nor the combphy is reprogrammed when the interface changes: set_to_sgmii() runs once from the DT phy-mode, and the combphy is fixed to PHY_TYPE_SGMII. Now take an SFP cage, or a PHY that switches host interface, such as a 2.5G PHY moving between SGMII and 2500BASE-X. Could phylink pick 2500BASE-X or USXGMII, and xpcs_config() then program a mode the SerDes and MAC clocking can't carry? The same set is also copied into lpi_interfaces for EEE. The in-tree Photonicat board uses a 1G PHY with a fixed SGMII interface, so it isn't affected. Could the RK3568 XPCS supported_interfaces be restricted, and rk_select_pcs() return the PCS only for SGMII? [ ... ] > @@ -1379,16 +1449,19 @@ static int rk_gmac_powerup(struct rk_priv_data *bsp_priv) > if (ret) > return ret; > > + ret = gmac_clk_enable(bsp_priv, true); > + if (ret) > + return ret; > + [Severity: Medium] This isn't a bug introduced by this patch, but the direct return here only works if gmac_clk_enable() cleans up after itself. Does it? gmac_clk_enable() { ... ret = clk_bulk_prepare_enable(bsp_priv->num_clks, bsp_priv->clks); if (ret) return ret; ret = clk_prepare_enable(bsp_priv->clk_phy); if (ret) return ret; ... } If clk_prepare_enable(bsp_priv->clk_phy) fails, the bulk clocks stay enabled and clk_enabled stays false. Every later gmac_clk_enable(bsp_priv, false) then returns early on the clk_enabled check. That includes the new clk_disable label and rk_gmac_powerdown(). Does this leak the enable counts of the bulk clocks? This only applies with an integrated PHY, because clk_phy is NULL otherwise. [ ... ] > @@ -1447,15 +1517,20 @@ static int rk_gmac_powerup(struct rk_priv_data *bsp_priv) [ ... ] > ret = rk_phy_powerup(bsp_priv); > - if (ret) { > - gmac_clk_enable(bsp_priv, false); > - return ret; > - } > + if (ret) > + goto clk_disable; > > pm_runtime_get_sync(dev); > > @@ -1463,6 +1538,10 @@ static int rk_gmac_powerup(struct rk_priv_data *bsp_priv) > bsp_priv->ops->integrated_phy_powerup(bsp_priv); > > return 0; > + > +clk_disable: > + gmac_clk_enable(bsp_priv, false); > + return ret; > } [Severity: Medium] This is a pre-existing issue, but rk_gmac_resume() throws away the error that this path returns: if (!device_may_wakeup(dev)) rk_gmac_powerup(bsp_priv); return 0; On the non-WoL resume path, a failure in rk_phy_powerup() takes the clk_disable label, gates the GMAC clocks and returns an error. Nothing sees that error. stmmac_resume() checks the plat->resume return value, but gets 0 here. Can it then go on to MDIO and MAC/DMA setup with pclk_mac and aclk_mac disabled? [ ... ] > @@ -1602,6 +1681,17 @@ static int rk_gmac_probe(struct platform_device *pdev) > plat_dat->suspend = rk_gmac_suspend; > plat_dat->resume = rk_gmac_resume; > > + if (plat_dat->phy_interface == PHY_INTERFACE_MODE_SGMII) { > + /* SGMII clock always runs at 125 MHz */ > + plat_dat->set_clk_tx_rate = NULL; > + > + /* SGMII requires a PCS */ > + plat_dat->default_an_inband = true; [Severity: Medium] Does the commit message's explanation of the in-band vs out-of-band problem match the code? It says: Out-of-band mode does not work because the MAC would need to change the clock rate to 125/12.5/1.25 MHz for 1000/100/10 Mbps respectively, and the clock is fixed. The clk_tx_i comment in include/linux/stmmac.h and stmmac_set_clk_tx_rate() both give 125/25/2.5 MHz for 1000/100/10. In stmmac_mac_link_up(), the negotiation mode is passed only to plat->fix_mac_speed, which dwmac-rk doesn't set. The MAC speed programming and the now-NULL set_clk_tx_rate call are the same in both modes. The MAC therefore sees the same fixed 125 MHz clock whether in-band or out-of-band is used. The difference between the modes seems to be on the XPCS side: AN in xpcs_config_aneg_c37_sgmii(), versus the fixed BMCR write in xpcs_link_up_sgmii_1000basex(): if (neg_mode == PHYLINK_PCS_NEG_INBAND_ENABLED) return; ... ret = xpcs_write(xpcs, MDIO_MMD_VEND2, MII_BMCR, mii_bmcr_encode_fixed(speed, duplex)); The commit message also says that fixed-link nodes, and PHYs without in-band support, can still end up in out-of-band SGMII. TX then works but RX fails at 10/100. xpcs_inband_caps() returns this for SGMII: case DW_AN_C37_SGMII: case DW_AN_C37_1000BASEX: return LINK_INBAND_DISABLE | LINK_INBAND_ENABLE; So phylink will accept out-of-band mode, and the glue neither rejects nor reports it. Should rk_gmac_probe() refuse, or at least warn about, a fixed-link or out-of-band SGMII setup, rather than bring the link up with RX not working? > + plat_dat->pcs_init = rk_pcs_init; > + plat_dat->pcs_exit = rk_pcs_exit; > + plat_dat->select_pcs = rk_select_pcs; > + } > + [ ... ] -- Sashiko AI review · https://netdev-ai.bots.linux.dev/sashiko/#/patchset/20260922200336.2201212-1-coiaprant%40gmail.com