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 6652ECCF2D3 for ; Sun, 18 Oct 2026 06:45:53 +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=WznxtOEMy3mUe47E0/K5vDYMItuUSBvjMb3O+gDdBX4=; b=b1mWiR1+QdjjPn QSOgvAB7lTkx70RNhvxF9hNwx2Xw6oYo9VJfE+XLRGxwhwZz92qr78ewFwwSKETtSIxmZYgnStUwj oSy63gKeup/hNx5wXtSdRxJ7ZE/WUWJu+Sy3NAFKlQeGMplRktmpvVo2KoTx0t3kmpFXWjvl+GQpb 3SInCwqedBFd4B+RU6o1Xb461mE4hqcfLEbfmKeP/s2Oe6BGRufUc88eLaYimp9KymTWYE0vO5jsJ csmIK/vC05Hb8Bup5C2e/Dg0SkqgqjgllXkYspOYoccer3aVpG/NHdSJh6g5pOVIP/VRjXmkf5DHF KXaj1XjF2mjC4rBkmaUg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1xIKeO-00000005dpP-2fo4; Sun, 18 Oct 2026 06:45:44 +0000 Received: from sea.source.kernel.org ([2600:3c0a:e001:78e:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1xIKeF-00000005djR-2HZL; Sun, 18 Oct 2026 06:45:35 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id 4D8634451E; Sun, 18 Oct 2026 06:45:35 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 286E31F000C4; Sun, 18 Oct 2026 06:45:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1792305935; bh=5fOP/bMQXaA7taKz4VSpGw2+M+edO4QsSogcgYJEQgU=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=l7TiaQovMwgw7yDhFnQaELZKPzPGjLxyK8FRg14brB/pN2QmUhPhndHIcTHYH+ISD ft2+aqncxJLOiYtHWQgN0dMCbw3/oziWmdokHhJt2y9lIfwTn/CSOs3DqHXAxkSO2G tF/GVW0ywVDqH72/TDDyMxra6aO6kHRbY/TwoIBfO45WkBaHjMpMd0tlR2bcLckplH iqh9L+BXyJVzBlBJ/Nxtijjm5zamPc2wMfmWjXvKen5zBmGhDFZaeAqcsnfbOaCUK4 CJ66hf0Coit5bYZCQAsvq7UI5Bvnv5HlrlJ3p+ygvdHFL6n3KPmQOBdCEtIZfVBhSE 56+Jf0R1HUTHQ== Subject: Re: [PATCH net-next v12 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, netdev@vger.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, mcoquelin.stm32@gmail.com, alexandre.torgue@foss.st.com, hkallweit1@gmail.com, linux@armlinux.org.uk, david.wu@rock-chips.com, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Date: Sun, 18 Oct 2026 06:45:33 +0000 Message-ID: <179230593374.3135.1162107426363265471@kernel.org> In-Reply-To: <20261017054406.1828061-6-coiaprant@gmail.com> References: <20261017054406.1828061-6-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 MyBwb3RlbnRpYWwKaXNzdWUocykgdG8gY29uc2lkZXIuCgpDcml0aWNhbDogMCDCtyBIaWdoOiAw IMK3IE1lZGl1bTogMyAoMikgwrcgTG93OiAwCgpJZiB5b3UgYmVsaWV2ZSBub25lIG9mIHRoZSBp c3N1ZXMgYXJlIGxlZ2l0aW1hdGUsIHBsZWFzZSByZXBseSB0byBlYWNoCmlzc3VlIG9mIE1lZGl1 bSBzZXZlcml0eSBvciBoaWdoZXIgYW5kIGV4cGxhaW4gd2h5IHRoZSBBSSBpcyB3cm9uZy4KSWYg YW55IG9mIHRoZW0gYXJlIGxlZ2l0aW1hdGUgYW5kIHlvdSBwbGFuIHRvIHJlc3BpbiwgcGxlYXNl IGxldCBwYXRjaHdvcmsKa25vdyBieSBpbmNsdWRpbmcgInB3LWJvdDogY3IiIGFzIGEgc2VwYXJh dGUgbGluZSBhdCB0aGUgZW5kIG9mIHlvdXIgcmVwbHkKKG9uZSBzdWNoIHJlcGx5IHBlciBzZXJp ZXMgaXMgZW5vdWdoKS4KCi0gW01lZGl1bV0gT24gU0dNSUksIHBoeWxpbmsgaXMgb2ZmZXJlZCBt b3JlIGludGVyZmFjZSBtb2RlcyB0aGFuIHRoZQogIFJLMzU2OCBnbHVlIGNhbiBjb25maWd1cmUu Ci0gW01lZGl1bV0gVGhlIGNvbW1pdCBtZXNzYWdlIHNheXMgb3V0LW9mLWJhbmQgU0dNSUkgYXQg MTAvMTAwIGdpdmVzCiAgd29ya2luZyBUWCBhbmQgZmFpbGluZyBSWCBvbiBSSzM1NjgsIGJlY2F1 c2UgdGhlIE1BQyBjbG9jayBpcyBmaXhlZCBhdOKApgotIFtNZWRpdW1dIFRoZSBuZXcgU0dNSUkg cGF0aCBjYW5ub3Qgb3BlbiBhIFBIWS1sZXNzIGluLWJhbmQgbGluaywgc3VjaAogIGFzIGEgZGly ZWN0IFNHTUlJIGNvbm5lY3Rpb24gdG8gYSBzd2l0Y2ggd2l0aCBtYW5hZ2VkID0gImluLWJhbmQt 4oCmCgpQcmUtZXhpc3RpbmcgaXNzdWVzOgotIFtNZWRpdW1dIFRoaXMgcHJvYmxlbSB3YXNuJ3Qg aW50cm9kdWNlZCBieSB0aGlzIHBhdGNoLCBidXQKICBya19nbWFjX3Jlc3VtZSgpIHRocm93cyBh d2F5IHRoZSByZXR1cm4gdmFsdWUgb2YgcmtfZ21hY19wb3dlcnVwKCkgYW5k4oCmCi0gW01lZGl1 bV0gVGhpcyBwcm9ibGVtIHdhc24ndCBpbnRyb2R1Y2VkIGJ5IHRoaXMgcGF0Y2gsIGJ1dAogIF9f c3RtbWFjX2R2cl9wcm9iZSgpIGNhbGxzIHBtX3J1bnRpbWVfZ2V0X25vcmVzdW1lKCks4oCmCgot LQoKbmV0OiBzdG1tYWM6IGR3bWFjLXJrOiBhZGQgU0dNSUkgc3VwcG9ydCBmb3IgUkszNTY4CgpU aGlzIHBhdGNoIGFkZHMgU0dNSUkgc3VwcG9ydCB0byB0aGUgUkszNTY4IGR3bWFjLXJrIGdsdWUu IEl0IHNldHMgdGhlCkdSRiBtb2RlIGJpdCBhbmQgY3JlYXRlcyB0aGUgUm9ja2NoaXAgWFBDUyB0 aHJvdWdoIHhwY3NfcmtfY3JlYXRlKCkgaW4KbmV3IHBjc19pbml0L3Bjc19leGl0L3NlbGVjdF9w Y3MgY2FsbGJhY2tzLCBhbmQgaXQgYXNrcyBmb3IgaW4tYmFuZCBtb2RlCnZpYSBkZWZhdWx0X2Fu X2luYmFuZC4gSXQgYWxzbyByZW9yZGVycyBya19nbWFjX3Bvd2VydXAoKSBzbyB0aGUgY2xvY2tz CmFyZSBlbmFibGVkIGJlZm9yZSB0aGUgU0dNSUkgY2hlY2ssIGFuZCBpdCBtZXJnZXMgdGhlIGVy cm9yIHVud2luZGluZwppbnRvIG9uZSBjbGtfZGlzYWJsZSBsYWJlbC4KCkxpbms6IGh0dHBzOi8v ZGwucmFkeGEuY29tL3JvY2szL2RvY3MvaHcvZGF0YXNoZWV0L1JvY2tjaGlwJTIwUkszNTY4JTIw VFJNJTIwUGFydDElMjBWMS4xLTIwMjEwMzAxLnBkZiAoUGFnZSAzODYpCgo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1pY3JvL3N0bW1hYy9kd21hYy1yay5jIGIvZHJpdmVy cy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYwo+IGluZGV4IDcyYmRiY2I1 ZTg2M2EuLmM0ZGI5MTllYzE2NDAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9uZXQvZXRoZXJuZXQv c3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYwo+ICsrKyBiL2RyaXZlcnMvbmV0L2V0aGVybmV0L3N0 bWljcm8vc3RtbWFjL2R3bWFjLXJrLmMKClsgLi4uIF0KCj4gQEAgLTEyMTEsNiArMTIzOSw0NCBA QCBzdGF0aWMgdm9pZCBya19waHlfcG93ZXJkb3duKHN0cnVjdCBya19wcml2X2RhdGEgKmJzcF9w cml2KQo+ICAJCWRldl9lcnIoYnNwX3ByaXYtPmRldiwgImZhaWwgdG8gZGlzYWJsZSBwaHktc3Vw cGx5XG4iKTsKPiAgfQo+ICAKPiArc3RhdGljIGludCBya19wY3NfaW5pdChzdHJ1Y3Qgc3RtbWFj X3ByaXYgKnByaXYpCj4gK3sKPiArCXN0cnVjdCBya19wcml2X2RhdGEgKmJzcF9wcml2ID0gcHJp di0+cGxhdC0+YnNwX3ByaXY7Cj4gKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUgPSBwcml2LT5k ZXZpY2UtPm9mX25vZGU7Cj4gKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKnBjc19ub2RlOwo+ICsJc3Ry dWN0IGR3X3hwY3MgKnhwY3M7Cj4gKwo+ICsJcGNzX25vZGUgPSBvZl9wYXJzZV9waGFuZGxlKG5v ZGUsICJwY3MtaGFuZGxlIiwgMCk7Cj4gKwlpZiAoIXBjc19ub2RlKQo+ICsJCXJldHVybiAtRU5P REVWOwo+ICsKPiArCXhwY3MgPSB4cGNzX3JrX2NyZWF0ZShwcml2LT5kZXZpY2UsIHBjc19ub2Rl LCBic3BfcHJpdi0+aWQpOwo+ICsJb2Zfbm9kZV9wdXQocGNzX25vZGUpOwo+ICsJaWYgKElTX0VS Uih4cGNzKSkKPiArCQlyZXR1cm4gUFRSX0VSUih4cGNzKTsKCltTZXZlcml0eTogTWVkaXVtXQpU aGlzIGlzIGEgcHJlLWV4aXN0aW5nIGlzc3VlIGluIHRoZSBzdG1tYWMgY29yZSwgYnV0IHRoaXMg bmV3IHBhdGggc2VlbXMKdG8gbWFrZSBpdCBtdWNoIGVhc2llciB0byBoaXQuIHhwY3NfcmtfY3Jl YXRlKCkgcmV0dXJucyAtRVBST0JFX0RFRkVSCnVudGlsIHRoZSBYUENTIGlzIGJvdW5kLiBmd19k ZXZsaW5rIGRvZXMgbm90IGFwcGVhciB0byB0cmFjayBwY3MtaGFuZGxlLApzbyB0aGUgTUFDIGNh biBwcm9iZSBmaXJzdC4KCl9fc3RtbWFjX2R2cl9wcm9iZSgpIHRha2VzIGEgcnVudGltZSBQTSBy ZWZlcmVuY2UgYmVmb3JlCnN0bW1hY19wY3Nfc2V0dXAoKToKCmRyaXZlcnMvbmV0L2V0aGVybmV0 L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tYWluLmM6X19zdG1tYWNfZHZyX3Byb2JlKCkgewogICAg Li4uCglwbV9ydW50aW1lX2dldF9ub3Jlc3VtZShkZXZpY2UpOwoJcG1fcnVudGltZV9zZXRfYWN0 aXZlKGRldmljZSk7CglpZiAoIXBtX3J1bnRpbWVfZW5hYmxlZChkZXZpY2UpKQoJCXBtX3J1bnRp bWVfZW5hYmxlKGRldmljZSk7CiAgICAuLi4KZXJyb3JfcGNzX3NldHVwOgoJc3RtbWFjX21kaW9f dW5yZWdpc3RlcihuZGV2KTsKICAgIC4uLgp9CgpUaGUgdW53aW5kIGxhYmVscyBuZXZlciBkcm9w IHRoYXQgcmVmZXJlbmNlIGFuZCBuZXZlciBkaXNhYmxlIHJ1bnRpbWUgUE0uCgpEb2VzIGVhY2gg ZGVmZXJyZWQgcHJvYmUgYXR0ZW1wdCBsZWFrIG9uZSB1c2FnZSBjb3VudCBvbiB0aGUgR01BQyBk ZXZpY2U/ClJ1bnRpbWUgUE0gaXMgbGVmdCBlbmFibGVkLCBzbyBwbV9ydW50aW1lX3JlaW5pdCgp IHdvdWxkIG5vdCByZXNldCB0aGUKY291bnQuIEFmdGVyIHRoZSBldmVudHVhbCBzdWNjZXNzZnVs IHByb2JlLCB0aGUgR01BQyB3b3VsZCB0aGVuIG5ldmVyCnJ1bnRpbWUgc3VzcGVuZCBhbmQgaXRz IGNsb2NrcyB3b3VsZCBzdGF5IG9uLgoKPiArCj4gKwlwcml2LT5ody0+eHBjcyA9IHhwY3M7Cj4g KwlyZXR1cm4gMDsKPiArfQoKW1NldmVyaXR5OiBNZWRpdW1dCkRvZXMgdGhpcyB3b3JrIGZvciBh IFBIWS1sZXNzIGluLWJhbmQgbGluaz8gQW4gZXhhbXBsZSB3b3VsZCBiZQpwaHktbW9kZSA9ICJz Z21paSIgd2l0aCBtYW5hZ2VkID0gImluLWJhbmQtc3RhdHVzIiwgYSBwY3MtaGFuZGxlIGFuZCBu bwpwaHktaGFuZGxlLgoKVGhlIFBDUyBpcyBvbmx5IHN0b3JlZCBpbiBwcml2LT5ody0+eHBjcywg c28gaHctPnBoeWxpbmtfcGNzIHN0YXlzIE5VTEwuCkluIHN0bW1hY19pbml0X3BoeSgpLCBwaHls aW5rX2V4cGVjdHNfcGh5KCkgaXMgdHJ1ZSBmb3IgTUxPX0FOX0lOQkFORCwKYW5kIHRoZSB4cGNz IGJ5cGFzcyBvbmx5IGNvdmVycyBjbGF1c2UgNzM6Cgpkcml2ZXJzL25ldC9ldGhlcm5ldC9zdG1p Y3JvL3N0bW1hYy9zdG1tYWNfbWFpbi5jOnN0bW1hY19pbml0X3BoeSgpIHsKICAgIC4uLgoJaWYg KHByaXYtPmh3LT54cGNzICYmCgkgICAgeHBjc19nZXRfYW5fbW9kZShwcml2LT5ody0+eHBjcywg bW9kZSkgPT0gRFdfQU5fQzczKQoJCXJldHVybiAwOwogICAgLi4uCgkJaWYgKGFkZHIgPCAwKSB7 CgkJCS8qIElmIGEgY3VzdG9tIFBDUyBpcyBpbiB1c2UsIG5vIFBIWSBpcyBuZWVkZWQgKi8KCQkJ aWYgKHByaXYtPmh3LT5waHlsaW5rX3BjcykKCQkJCXJldHVybiAwOwoKCQkJbmV0ZGV2X2Vycihw cml2LT5kZXYsICJubyBwaHkgZm91bmRcbiIpOwoJCQlyZXR1cm4gLUVOT0RFVjsKICAgIC4uLgp9 CgpTR01JSSB1c2VzIERXX0FOX0MzN19TR01JSS4gV2l0aCBwbGF0LT5waHlfYWRkciA9PSAtMSwg dGhpcyB3b3VsZCBsb2cKIm5vIHBoeSBmb3VuZCIgYW5kIHN0bW1hY19vcGVuKCkgd291bGQgZmFp bCB3aXRoIC1FTk9ERVYuCgpJZiB0aGUgRFQgaGFzIG5vIG1kaW8gc3Vibm9kZSwgdGhlIGxlZ2Fj eSBNRElPIHNjYW4gaW4Kc3RtbWFjX21kaW9fcmVnaXN0ZXIoKSB3b3VsZCBpbnN0ZWFkIGZhaWwg cHJvYmUgd2l0aCAiTm8gUEhZIGZvdW5kIi4KClRoZSBjb21taXQgbWVzc2FnZSByZWNvbW1lbmRz IG1hbmFnZWQgPSAiaW4tYmFuZC1zdGF0dXMiLCBzbyBpcyB0aGlzCmNvbmZpZ3VyYXRpb24gZXhw ZWN0ZWQgdG8gd29yaz8KCj4gKwo+ICtzdGF0aWMgdm9pZCBya19wY3NfZXhpdChzdHJ1Y3Qgc3Rt bWFjX3ByaXYgKnByaXYpCj4gK3sKPiArCWlmICghcHJpdi0+aHctPnhwY3MpCj4gKwkJcmV0dXJu Owo+ICsKPiArCXhwY3NfZGVzdHJveShwcml2LT5ody0+eHBjcyk7Cj4gKwlwcml2LT5ody0+eHBj cyA9IE5VTEw7Cj4gK30KPiArCj4gK3N0YXRpYyBzdHJ1Y3QgcGh5bGlua19wY3MgKnJrX3NlbGVj dF9wY3Moc3RydWN0IHN0bW1hY19wcml2ICpwcml2LAo+ICsJCQkJCSBwaHlfaW50ZXJmYWNlX3Qg aW50ZXJmYWNlKQo+ICt7Cj4gKwlpZiAoIXByaXYtPmh3LT54cGNzKQo+ICsJCXJldHVybiBOVUxM Owo+ICsKPiArCXJldHVybiB4cGNzX3RvX3BoeWxpbmtfcGNzKHByaXYtPmh3LT54cGNzKTsKPiAr fQoKW1NldmVyaXR5OiBNZWRpdW1dCkNhbiBwaHlsaW5rIHNlbGVjdCBhbiBpbnRlcmZhY2UgbW9k ZSBoZXJlIHRoYXQgdGhlIGdsdWUgbmV2ZXIgc2V0IHVwPwoKcmtfc2VsZWN0X3BjcygpIGlnbm9y ZXMgdGhlIGludGVyZmFjZSBhcmd1bWVudCBhbmQgcmV0dXJucyB0aGUgWFBDUyBmb3IKZXZlcnkg bW9kZS4gc3RtbWFjX3BoeWxpbmtfc2V0dXAoKSBhZGRzIHRoZSBYUENTIHN1cHBvcnRlZF9pbnRl cmZhY2VzIHRvCnBoeWxpbmsncyBzZXQsIGFuZCB0aGUgZ2x1ZSBkb2VzIG5vdCBmaWx0ZXIgdGhl bToKCmRyaXZlcnMvbmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL3N0bW1hY19tYWluLmM6c3Rt bWFjX3BoeWxpbmtfc2V0dXAoKSB7CiAgICAuLi4KCWlmIChwcml2LT5ody0+eHBjcykKCQlwY3Mg PSB4cGNzX3RvX3BoeWxpbmtfcGNzKHByaXYtPmh3LT54cGNzKTsKICAgIC4uLgoJCXBoeV9pbnRl cmZhY2Vfb3IoY29uZmlnLT5zdXBwb3J0ZWRfaW50ZXJmYWNlcywKCQkJCSBjb25maWctPnN1cHBv cnRlZF9pbnRlcmZhY2VzLAoJCQkJIHBjcy0+c3VwcG9ydGVkX2ludGVyZmFjZXMpOwogICAgLi4u Cn0KCklmIHRoZSBYUENTIHVzZXMgdGhlIGdlbmVyaWMgc3lub3BzeXNfeHBjc19jb21wYXQgdGFi bGUsCnhwY3NfZ2V0X2ludGVyZmFjZXMoKSBhZHZlcnRpc2VzIDEwMDBCQVNFLVgsIDI1MDBCQVNF LVggYW5kIHRoZSAxMEcrCm1vZGVzIGFsb25nc2lkZSBTR01JSS4gVGhlIEdNQUM0IE1BQyBjYXBh YmlsaXRpZXMgKE1BQ18xMCB8IE1BQ18xMDAgfApNQUNfMTAwMCB8IE1BQ18yNTAwRkQpIGRvIG5v dCBydWxlIG91dCAxMDAwQkFTRS1YIG9yIDI1MDBCQVNFLVgsIHNvIGJvdGgKd291bGQgcGFzcyBw aHlsaW5rIHZhbGlkYXRpb24uCgpUaGUgZ2x1ZSBvbmx5IHByb2dyYW1zIFNHTUlJLCB0aG91Z2gu IHJrX2dtYWNfY2hlY2tfb3BzKCksIHRoZQpya19nbWFjX3Bvd2VydXAoKSBzd2l0Y2ggYW5kIHJr MzU2OF9zZXRfdG9fc2dtaWkoKSBlYWNoIGFjdCBvbmNlLCBvbiB0aGUKcGh5LW1vZGUgZnJvbSBE VC4KClRha2UgYW4gU0ZQIGNhZ2UsIG9yIGEgUEhZIHdob3NlIHBvc3NpYmxlX2ludGVyZmFjZXMg aW5jbHVkZXMgMjUwMEJBU0UtWC4KV291bGQgcGh5bGluayB0aGVuIG1vdmUgdGhlIFhQQ1MgaW50 byBhIG1vZGUgdGhhdCB0aGUgR1JGLCBTZXJEZXMgYW5kCk1BQyBwYXRoIHdlcmUgbmV2ZXIgY29u ZmlndXJlZCBmb3I/CgpUaGlzIGFsc28gc2VlbXMgdG8gY29uZmxpY3Qgd2l0aCB0aGUgY29tbWl0 IG1lc3NhZ2U6CgogICAgMTAwMEJBU0UtWCBpcyBub3QgZW5hYmxlZCBieSB0aGlzIHNlcmllczsg aXQgbWF5IGJlIGFkZGVkIGxhdGVyIGlmCiAgICB0aGVyZSBpcyBhIHVzZXIgZm9yIGl0LgoKU2hv dWxkIHJrX3NlbGVjdF9wY3MoKSByZWplY3QgYW55dGhpbmcgb3RoZXIgdGhhbgpQSFlfSU5URVJG QUNFX01PREVfU0dNSUksIG9yIHNob3VsZCB0aGUgc3VwcG9ydGVkIGludGVyZmFjZXMgYmUgbWFz a2VkCmRvd24gdG8gU0dNSUk/CgpbIC4uLiBdCgo+IEBAIC0xNDUwLDE1ICsxNTIxLDIwIEBAIHN0 YXRpYyBpbnQgcmtfZ21hY19wb3dlcnVwKHN0cnVjdCBya19wcml2X2RhdGEgKmJzcF9wcml2KQoK WyAuLi4gXQoKPiAgCXJldCA9IHJrX3BoeV9wb3dlcnVwKGJzcF9wcml2KTsKPiAtCWlmIChyZXQp IHsKPiAtCQlnbWFjX2Nsa19lbmFibGUoYnNwX3ByaXYsIGZhbHNlKTsKPiAtCQlyZXR1cm4gcmV0 Owo+IC0JfQo+ICsJaWYgKHJldCkKPiArCQlnb3RvIGNsa19kaXNhYmxlOwo+ICAKPiAgCXBtX3J1 bnRpbWVfZ2V0X3N5bmMoZGV2KTsKPiAgCj4gQEAgLTE0NjYsNiArMTU0MiwxMCBAQCBzdGF0aWMg aW50IHJrX2dtYWNfcG93ZXJ1cChzdHJ1Y3QgcmtfcHJpdl9kYXRhICpic3BfcHJpdikKPiAgCQli c3BfcHJpdi0+b3BzLT5pbnRlZ3JhdGVkX3BoeV9wb3dlcnVwKGJzcF9wcml2KTsKPiAgCj4gIAly ZXR1cm4gMDsKPiArCj4gK2Nsa19kaXNhYmxlOgo+ICsJZ21hY19jbGtfZW5hYmxlKGJzcF9wcml2 LCBmYWxzZSk7Cj4gKwlyZXR1cm4gcmV0Owo+ICB9CgpbU2V2ZXJpdHk6IE1lZGl1bV0KVGhpcyBi dWcgd2FzIG5vdCBpbnRyb2R1Y2VkIGJ5IHRoaXMgcGF0Y2gsIGJ1dCBya19nbWFjX3Jlc3VtZSgp IGlnbm9yZXMKdGhlIHJldHVybiB2YWx1ZSBvZiBya19nbWFjX3Bvd2VydXAoKToKCmRyaXZlcnMv bmV0L2V0aGVybmV0L3N0bWljcm8vc3RtbWFjL2R3bWFjLXJrLmM6cmtfZ21hY19yZXN1bWUoKSB7 CiAgICAuLi4KCWlmICghZGV2aWNlX21heV93YWtldXAoZGV2KSkKCQlya19nbWFjX3Bvd2VydXAo YnNwX3ByaXYpOwoKCXJldHVybiAwOwp9CgpXaGVuIHJrX2dtYWNfcG93ZXJ1cCgpIGZhaWxzLCB0 aGUgY2xrX2Rpc2FibGUgZXhpdCBydW5zIGJlZm9yZQpya19waHlfcG93ZXJ1cCgpIGFuZCBwbV9y dW50aW1lX2dldF9zeW5jKCkgaGF2ZSBiZWVuIGNhbGxlZC4gQSBsYXRlcgpya19nbWFjX3N1c3Bl bmQoKSBvciBya19nbWFjX2V4aXQoKSBzdGlsbCBjYWxscyBya19nbWFjX3Bvd2VyZG93bigpOgoK ZHJpdmVycy9uZXQvZXRoZXJuZXQvc3RtaWNyby9zdG1tYWMvZHdtYWMtcmsuYzpya19nbWFjX3Bv d2VyZG93bigpIHsKICAgIC4uLgoJcG1fcnVudGltZV9wdXRfc3luYyhnbWFjLT5kZXYpOwoKCXJr X3BoeV9wb3dlcmRvd24oZ21hYyk7CglnbWFjX2Nsa19lbmFibGUoZ21hYywgZmFsc2UpOwp9CgpX b3VsZCBhIGZhaWxlZCByZXN1bWUgbGVhdmUgdGhlIHJ1bnRpbWUgUE0gdXNhZ2UgY291bnQgYW5k IHRoZQpwaHktc3VwcGx5IHJlZ3VsYXRvciBlbmFibGUgY291bnQgdW5iYWxhbmNlZD8KClRoZSBu ZXcgZXhpdHMgYWRkZWQgaGVyZSAodGhlIHJrX2dldF9waHlfaW50Zl9zZWwoKSBmYWlsdXJlIGFu ZCB0aGUKZGVmYXVsdCBjYXNlKSBzaG91bGQgbm90IGJlIHJlYWNoYWJsZSBhdCByZXN1bWUsIGJl Y2F1c2UgcHJvYmUgaGFzCmFscmVhZHkgdmFsaWRhdGVkIHRoZSBpbnRlcmZhY2UuIFRoZSBjbG9j ayBlbmFibGUsIEdSRiB3cml0ZSBhbmQKcmVndWxhdG9yIGVuYWJsZSBmYWlsdXJlcyBjYW4gc3Rp bGwgaGFwcGVuLgoKWyAuLi4gXQoKPiBAQCAtMTYwNSw2ICsxNjg1LDE3IEBAIHN0YXRpYyBpbnQg cmtfZ21hY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ICAJcGxhdF9kYXQt PnN1c3BlbmQgPSBya19nbWFjX3N1c3BlbmQ7Cj4gIAlwbGF0X2RhdC0+cmVzdW1lID0gcmtfZ21h Y19yZXN1bWU7Cj4gIAo+ICsJaWYgKHBsYXRfZGF0LT5waHlfaW50ZXJmYWNlID09IFBIWV9JTlRF UkZBQ0VfTU9ERV9TR01JSSkgewo+ICsJCS8qIFNHTUlJIGNsb2NrIGFsd2F5cyBydW5zIGF0IDEy NSBNSHogKi8KPiArCQlwbGF0X2RhdC0+c2V0X2Nsa190eF9yYXRlID0gTlVMTDsKPiArCj4gKwkJ LyogU0dNSUkgcmVxdWlyZXMgYSBQQ1MgKi8KPiArCQlwbGF0X2RhdC0+ZGVmYXVsdF9hbl9pbmJh bmQgPSB0cnVlOwoKW1NldmVyaXR5OiBNZWRpdW1dClRoZSBjb21taXQgbWVzc2FnZSBzYXlzIG91 dC1vZi1iYW5kIFNHTUlJIGF0IDEwLzEwMCBnaXZlcyB3b3JraW5nIFRYIGFuZApmYWlsaW5nIFJY LCBiZWNhdXNlIHRoZSBNQUMgY2xvY2sgaXMgZml4ZWQgYXQgMTI1IE1Iei4gRG9lcyBhbnl0aGlu ZyBpbgp0aGUgZHJpdmVyIGVuZm9yY2Ugb3IgcmVwb3J0IHRoYXQgbGltaXQ/CgpkZWZhdWx0X2Fu X2luYmFuZCBvbmx5IHN0YXRlcyBhIHByZWZlcmVuY2UuIHBoeWxpbmtfcGFyc2VfbW9kZSgpIHR1 cm5zIGEKZml4ZWQtbGluayBub2RlIGludG8gTUxPX0FOX0ZJWEVELiBBIFBIWSB3aG9zZSBwaHlf aW5iYW5kX2NhcHMoKSByZXBvcnRzCm9ubHkgTElOS19JTkJBTkRfRElTQUJMRSBtYWtlcyBwaHls aW5rX3Bjc19uZWdfbW9kZSgpIGZhbGwgYmFjazoKCmRyaXZlcnMvbmV0L3BoeS9waHlsaW5rLmM6 cGh5bGlua19wY3NfbmVnX21vZGUoKSB7CiAgICAuLi4KCQkJbmVnX21vZGUgPSBQSFlMSU5LX1BD U19ORUdfT1VUQkFORDsKCQkJaWYgKHBsLT5waHlkZXYpCgkJCQltb2RlID0gTUxPX0FOX1BIWTsK ICAgIC4uLgp9CgpGb3IgU0dNSUksIHhwY3NfaW5iYW5kX2NhcHMoKSByZXR1cm5zIExJTktfSU5C QU5EX0RJU0FCTEUgfApMSU5LX0lOQkFORF9FTkFCTEUsIHNvIHRoZSBQQ1MgYWNjZXB0cyB0aGUg b3V0LW9mLWJhbmQgZmFsbGJhY2suCgpzdG1tYWNfbWFjX2xpbmtfdXAoKSB0aGVuIHNldHMgdGhl IE1BQyB0byAxMC8xMDAsIGFuZAp4cGNzX2xpbmtfdXBfc2dtaWlfMTAwMGJhc2V4KCkgd3JpdGVz IHRoZSBzcGVlZCBpbnRvIEJNQ1IsIGJ1dCB0aGUgY2xvY2sKc3RheXMgYXQgMTI1IE1Iei4gV291 bGQgdGhlIGxpbmsgdGhlbiByZXBvcnQgdXAgd2hpbGUgUlggc2lsZW50bHkgZG9lcwpub3Qgd29y az8KCkNvdWxkIHRoZSBkcml2ZXIgcmVqZWN0IG91dC1vZi1iYW5kIFNHTUlJIGJlbG93IDEwMDAg TWJwcywgb3IgYXQgbGVhc3QKd2FybiBhYm91dCBpdD8gZml4X21hY19zcGVlZCgpIHJlY2VpdmVz IHRoZSBtb2RlIGFuZCBjb3VsZCBkbyB0aGlzLCBvcgp0aGUgTUFDIGNhcGFiaWxpdGllcyBjb3Vs ZCBiZSBsaW1pdGVkLgoKPiArCQlwbGF0X2RhdC0+cGNzX2luaXQgPSBya19wY3NfaW5pdDsKPiAr CQlwbGF0X2RhdC0+cGNzX2V4aXQgPSBya19wY3NfZXhpdDsKPiArCQlwbGF0X2RhdC0+c2VsZWN0 X3BjcyA9IHJrX3NlbGVjdF9wY3M7Cj4gKwl9CgpbIC4uLiBdCgotLSAKU2FzaGlrbyBBSSByZXZp ZXcgwrcgaHR0cHM6Ly9uZXRkZXYtYWkuYm90cy5saW51eC5kZXYvc2FzaGlrby8jL3BhdGNoc2V0 LzIwMjYxMDE3MDU0NDA2LjE4MjgwNjEtMS1jb2lhcHJhbnQlNDBnbWFpbC5jb20KCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkxpbnV4LXJvY2tjaGlwIG1h aWxpbmcgbGlzdApMaW51eC1yb2NrY2hpcEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0 cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtcm9ja2NoaXAK 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 977FE442118; Sun, 18 Oct 2026 06:45:35 +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=1792305947; cv=none; b=AN51+Dr6X+pvlF9xLW53ih6p/BIh+6NbFK7DlEKuu2sCTz2MWdA7A3R+6KhJZwx20J9a3DrcDZ3fsj8Jc1qYZ8J4NeGTIlFNErB2Hs+YzOdj2EtnVZhHNmJr8WGpj/5cV8pl5wxfQ6UE9UO6Ohw/LYsFkEZF0VSFTwmEvXB8DLM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792305947; c=relaxed/simple; bh=Wo56oYlwkbZsDOrAr4k9FFTv5l+veJH2vxDuLXkRdcE=; h=Subject:From:To:Cc:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=QWAk4ThS0DGJ1HtlSqPkQN1kZXJI7LX4o112xezjrLqvSdITW7MWlYAAkVHoG9tk9jqFWYnP0MajVcabX+O97GHYw+Rder/y8AKsBmaqBzE6DNETN+U+Er+ARIgIW/QvKlylyf/jizpdphFnBFsT1g0oFM2uqHRs8pmx06YRmso= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=l7TiaQov; 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="l7TiaQov" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 286E31F000C4; Sun, 18 Oct 2026 06:45:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1792305935; bh=5fOP/bMQXaA7taKz4VSpGw2+M+edO4QsSogcgYJEQgU=; h=Subject:From:To:Cc:Date:In-Reply-To:References; b=l7TiaQovMwgw7yDhFnQaELZKPzPGjLxyK8FRg14brB/pN2QmUhPhndHIcTHYH+ISD ft2+aqncxJLOiYtHWQgN0dMCbw3/oziWmdokHhJt2y9lIfwTn/CSOs3DqHXAxkSO2G tF/GVW0ywVDqH72/TDDyMxra6aO6kHRbY/TwoIBfO45WkBaHjMpMd0tlR2bcLckplH iqh9L+BXyJVzBlBJ/Nxtijjm5zamPc2wMfmWjXvKen5zBmGhDFZaeAqcsnfbOaCUK4 CJ66hf0Coit5bYZCQAsvq7UI5Bvnv5HlrlJ3p+ygvdHFL6n3KPmQOBdCEtIZfVBhSE 56+Jf0R1HUTHQ== Subject: Re: [PATCH net-next v12 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, netdev@vger.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, mcoquelin.stm32@gmail.com, alexandre.torgue@foss.st.com, hkallweit1@gmail.com, linux@armlinux.org.uk, david.wu@rock-chips.com, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Date: Sun, 18 Oct 2026 06:45:33 +0000 Message-ID: <179230593374.3135.1162107426363265471@kernel.org> In-Reply-To: <20261017054406.1828061-6-coiaprant@gmail.com> References: <20261017054406.1828061-6-coiaprant@gmail.com> X-sashiko-severity: Medium Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider. Critical: 0 · High: 0 · Medium: 3 (2) · 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] On SGMII, phylink is offered more interface modes than the RK3568 glue can configure. - [Medium] The commit message says out-of-band SGMII at 10/100 gives working TX and failing RX on RK3568, because the MAC clock is fixed at… - [Medium] The new SGMII path cannot open a PHY-less in-band link, such as a direct SGMII connection to a switch with managed = "in-band-… Pre-existing issues: - [Medium] This problem wasn't introduced by this patch, but rk_gmac_resume() throws away the return value of rk_gmac_powerup() and… - [Medium] This problem wasn't introduced by this patch, but __stmmac_dvr_probe() calls pm_runtime_get_noresume(),… -- net: stmmac: dwmac-rk: add SGMII support for RK3568 This patch adds SGMII support to the RK3568 dwmac-rk glue. It sets the GRF mode bit and creates the Rockchip XPCS through xpcs_rk_create() in new pcs_init/pcs_exit/select_pcs callbacks, and it asks for in-band mode via default_an_inband. It also reorders rk_gmac_powerup() so the clocks are enabled before the SGMII check, and it merges the error unwinding into one clk_disable label. 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 72bdbcb5e863a..c4db919ec1640 100644 > --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c > +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c [ ... ] > @@ -1211,6 +1239,44 @@ 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 rk_priv_data *bsp_priv = priv->plat->bsp_priv; > + struct device_node *node = priv->device->of_node; > + struct device_node *pcs_node; > + struct dw_xpcs *xpcs; > + > + pcs_node = of_parse_phandle(node, "pcs-handle", 0); > + if (!pcs_node) > + return -ENODEV; > + > + xpcs = xpcs_rk_create(priv->device, pcs_node, bsp_priv->id); > + 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 new path seems to make it much easier to hit. xpcs_rk_create() returns -EPROBE_DEFER until the XPCS is bound. fw_devlink does not appear to track pcs-handle, so the MAC can probe first. __stmmac_dvr_probe() takes a runtime PM reference before stmmac_pcs_setup(): drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:__stmmac_dvr_probe() { ... 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); ... } The unwind labels never drop that reference and never disable runtime PM. Does each deferred probe attempt leak one usage count on the GMAC device? Runtime PM is left enabled, so pm_runtime_reinit() would not reset the count. After the eventual successful probe, the GMAC would then never runtime suspend and its clocks would stay on. > + > + priv->hw->xpcs = xpcs; > + return 0; > +} [Severity: Medium] Does this work for a PHY-less in-band link? An example would be phy-mode = "sgmii" with managed = "in-band-status", a pcs-handle and no phy-handle. The PCS is only stored in priv->hw->xpcs, so hw->phylink_pcs stays NULL. In stmmac_init_phy(), phylink_expects_phy() is true for MLO_AN_INBAND, and the xpcs bypass only covers clause 73: drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:stmmac_init_phy() { ... if (priv->hw->xpcs && xpcs_get_an_mode(priv->hw->xpcs, mode) == DW_AN_C73) return 0; ... if (addr < 0) { /* If a custom PCS is in use, no PHY is needed */ if (priv->hw->phylink_pcs) return 0; netdev_err(priv->dev, "no phy found\n"); return -ENODEV; ... } SGMII uses DW_AN_C37_SGMII. With plat->phy_addr == -1, this would log "no phy found" and stmmac_open() would fail with -ENODEV. If the DT has no mdio subnode, the legacy MDIO scan in stmmac_mdio_register() would instead fail probe with "No PHY found". The commit message recommends managed = "in-band-status", so is this configuration expected to work? > + > +static void rk_pcs_exit(struct stmmac_priv *priv) > +{ > + if (!priv->hw->xpcs) > + return; > + > + xpcs_destroy(priv->hw->xpcs); > + priv->hw->xpcs = NULL; > +} > + > +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] Can phylink select an interface mode here that the glue never set up? rk_select_pcs() ignores the interface argument and returns the XPCS for every mode. stmmac_phylink_setup() adds the XPCS supported_interfaces to phylink's set, and the glue does not filter them: drivers/net/ethernet/stmicro/stmmac/stmmac_main.c:stmmac_phylink_setup() { ... if (priv->hw->xpcs) pcs = xpcs_to_phylink_pcs(priv->hw->xpcs); ... phy_interface_or(config->supported_interfaces, config->supported_interfaces, pcs->supported_interfaces); ... } If the XPCS uses the generic synopsys_xpcs_compat table, xpcs_get_interfaces() advertises 1000BASE-X, 2500BASE-X and the 10G+ modes alongside SGMII. The GMAC4 MAC capabilities (MAC_10 | MAC_100 | MAC_1000 | MAC_2500FD) do not rule out 1000BASE-X or 2500BASE-X, so both would pass phylink validation. The glue only programs SGMII, though. rk_gmac_check_ops(), the rk_gmac_powerup() switch and rk3568_set_to_sgmii() each act once, on the phy-mode from DT. Take an SFP cage, or a PHY whose possible_interfaces includes 2500BASE-X. Would phylink then move the XPCS into a mode that the GRF, SerDes and MAC path were never configured for? This also seems to conflict with the commit message: 1000BASE-X is not enabled by this series; it may be added later if there is a user for it. Should rk_select_pcs() reject anything other than PHY_INTERFACE_MODE_SGMII, or should the supported interfaces be masked down to SGMII? [ ... ] > @@ -1450,15 +1521,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); > > @@ -1466,6 +1542,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 bug was not introduced by this patch, but rk_gmac_resume() ignores the return value of rk_gmac_powerup(): drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c:rk_gmac_resume() { ... if (!device_may_wakeup(dev)) rk_gmac_powerup(bsp_priv); return 0; } When rk_gmac_powerup() fails, the clk_disable exit runs before rk_phy_powerup() and pm_runtime_get_sync() have been called. A later rk_gmac_suspend() or rk_gmac_exit() still calls rk_gmac_powerdown(): drivers/net/ethernet/stmicro/stmmac/dwmac-rk.c:rk_gmac_powerdown() { ... pm_runtime_put_sync(gmac->dev); rk_phy_powerdown(gmac); gmac_clk_enable(gmac, false); } Would a failed resume leave the runtime PM usage count and the phy-supply regulator enable count unbalanced? The new exits added here (the rk_get_phy_intf_sel() failure and the default case) should not be reachable at resume, because probe has already validated the interface. The clock enable, GRF write and regulator enable failures can still happen. [ ... ] > @@ -1605,6 +1685,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] The commit message says out-of-band SGMII at 10/100 gives working TX and failing RX, because the MAC clock is fixed at 125 MHz. Does anything in the driver enforce or report that limit? default_an_inband only states a preference. phylink_parse_mode() turns a fixed-link node into MLO_AN_FIXED. A PHY whose phy_inband_caps() reports only LINK_INBAND_DISABLE makes phylink_pcs_neg_mode() fall back: drivers/net/phy/phylink.c:phylink_pcs_neg_mode() { ... neg_mode = PHYLINK_PCS_NEG_OUTBAND; if (pl->phydev) mode = MLO_AN_PHY; ... } For SGMII, xpcs_inband_caps() returns LINK_INBAND_DISABLE | LINK_INBAND_ENABLE, so the PCS accepts the out-of-band fallback. stmmac_mac_link_up() then sets the MAC to 10/100, and xpcs_link_up_sgmii_1000basex() writes the speed into BMCR, but the clock stays at 125 MHz. Would the link then report up while RX silently does not work? Could the driver reject out-of-band SGMII below 1000 Mbps, or at least warn about it? fix_mac_speed() receives the mode and could do this, or the MAC capabilities could be limited. > + 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/20261017054406.1828061-1-coiaprant%40gmail.com