From: netdev-bot+sashiko@kernel.org
To: Selvamani.Rajagopal@onsemi.com
Cc: andrew+netdev@lunn.ch, davem@davemloft.net, kuba@kernel.org,
pabeni@redhat.com, robh@kernel.org, krzk+dt@kernel.org,
conor+dt@kernel.org, parthiban.veerasooran@microchip.com,
horms@kernel.org, corbet@lwn.net, skhan@linuxfoundation.org,
rdunlap@infradead.org, richardcochran@gmail.com, andrew@lunn.ch,
hkallweit1@gmail.com, linux@armlinux.org.uk, edumazet@kernel.org,
piergiorgio.beruto@gmail.com, netdev@vger.kernel.org,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-doc@vger.kernel.org, jerry.ray@microchip.com,
ciprian.regus@analog.com
Subject: Re: [PATCH net-next v9 10/11] net: phy: ncn26000: Support for onsemi's S2500 internal phy
Date: Sat, 10 Oct 2026 19:40:26 +0000 [thread overview]
Message-ID: <179166122697.434549.4781991463001466231@kernel.org> (raw)
In-Reply-To: <20261009-s2500-mac-phy-support-v9-10-dcefe1d0bf0d@onsemi.com>
Thank you for your contribution! Sashiko AI review found more severe
issue(s) in other patches of this series. This mail is only an FYI, in case
you want to address the nit picks below when you respin.
Low priority / nit picks for your consideration:
- [Low] In this patch, the new S2500 entry in ncn26000_driver[]
(drivers/net/phy/ncn26000.c, lines 172-191) has no .set_loopback…
- [Low] The help text for the NCN26000_PHY Kconfig option
(drivers/net/phy/Kconfig, lines 393-398) still says "Currently…
--
net: phy: ncn26000: Support for onsemi's S2500 internal phy
This patch adds a phy_driver entry for the internal PHY of the onsemi
S2500 MAC-PHY to the ncn26000 driver. The NCN26000 PLCA TO_TIMER
workaround in ncn26000_config_init() now runs only for the NCN26000
model.
> diff --git a/drivers/net/phy/ncn26000.c b/drivers/net/phy/ncn26000.c
> index 6d433f4e2c45d..a33ebb2a7ecef 100644
> --- a/drivers/net/phy/ncn26000.c
> +++ b/drivers/net/phy/ncn26000.c
[ ... ]
> @@ -163,6 +169,26 @@ static int ncn26000_config_intr(struct phy_device *phydev)
> }
>
> static struct phy_driver ncn26000_driver[] = {
> + {
> + PHY_ID_MATCH_MODEL(PHY_ID_S2500),
> + .name = "S2500",
> + .features = PHY_BASIC_T1S_P2MP_FEATURES,
> + .config_init = ncn26000_config_init,
> + .config_intr = ncn26000_config_intr,
> + .config_aneg = ncn26000_config_aneg,
> + .read_status = ncn26000_read_status,
> + .handle_interrupt = ncn26000_handle_interrupt,
> + .set_plca_cfg = ncn26000_c45_plca_set_cfg,
> + .get_plca_cfg = genphy_c45_plca_get_cfg,
> + .get_plca_status = genphy_c45_plca_get_status,
> + .soft_reset = genphy_soft_reset,
> + .get_sqi = genphy_c45_oatc14_get_sqi,
> + .get_sqi_max = genphy_c45_oatc14_get_sqi_max,
> + .read_mmd = genphy_read_mmd_c45,
> + .write_mmd = genphy_write_mmd_c45,
> + .cable_test_get_status = genphy_c45_oatc14_cable_test_get_status,
> + .cable_test_start = genphy_c45_oatc14_cable_test_start,
> + },
[Severity: Low]
The S2500 entry has no .set_loopback callback, so phy_loopback() falls
back to genphy_loopback(). That function overwrites all of BMCR:
drivers/net/phy/phy_device.c:genphy_loopback() {
...
phy_modify(phydev, MII_BMCR, ~0, ctl);
ret = phy_read_poll_timeout(phydev, MII_BMSR, val,
val & BMSR_LSTATUS,
5000, 500000, true);
...
}
This driver uses that BMCR bit for link control:
#define NCN26000_BCMR_LINK_CTRL_BIT BMCR_ANENABLE
At this commit, does the PHY loopback selftest from "onsemi: s2500: Added
selftest support to onsemi's S2500 driver" fail on S2500? The path is
ethtool -t -> net_selftest -> phy_loopback() -> genphy_loopback().
This is not a regression against the pre-patch state. Before this patch
the generic PHY driver bound to 0x180FF411 and used the same fallback.
The later patch in this series, "net: phy: ncn26000: Support for
loopback", adds genphy_loopback_no_speed() and sets it as .set_loopback
on the S2500 entry. That fixes this by the end of the series.
[ ... ]
> static const struct mdio_device_id __maybe_unused ncn26000_tbl[] = {
> { PHY_ID_MATCH_MODEL(PHY_ID_NCN26000) },
> + { PHY_ID_MATCH_MODEL(PHY_ID_S2500) },
> { }
> };
[Severity: Low]
Should the NCN26000_PHY help text in drivers/net/phy/Kconfig be updated
as well? It still reads:
Currently supports the NCN26000 10BASE-T1S Industrial PHY
with MII interface.
With this patch the driver also binds the S2500 internal PHY. That PHY
is not a discrete MII-attached part; it is reached over the OA TC6 MDIO
bus with C45 accessors.
No later patch in the series changes Kconfig.
--
Sashiko AI review · https://netdev-ai.bots.linux.dev/sashiko/#/patchset/20261009-s2500-mac-phy-support-v9-0-dcefe1d0bf0d%40onsemi.com
next prev parent reply other threads:[~2026-10-10 19:40 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-09 17:12 [PATCH net-next v9 00/11] Support for onsemi's S2500 10Base-T1S MAC-PHY Selvamani Rajagopal via B4 Relay
2026-10-09 17:12 ` [PATCH net-next v9 01/11] dt-bindings: net: add onsemi's S2500 Selvamani Rajagopal via B4 Relay
2026-10-09 17:12 ` [PATCH net-next v9 02/11] Documentation: networking: Add timestamp related APIs to OA TC6 framework Selvamani Rajagopal via B4 Relay
2026-10-10 19:40 ` netdev-bot+sashiko
2026-10-09 17:12 ` [PATCH net-next v9 03/11] net: ethernet: oa_tc6: Move oa_tc6.c to its own directory Selvamani Rajagopal via B4 Relay
2026-10-09 18:40 ` Selvamani Rajagopal
2026-10-10 19:40 ` netdev-bot+sashiko
2026-10-09 17:12 ` [PATCH net-next v9 04/11] net: ethernet: oa_tc6: Move constant definitions to header file Selvamani Rajagopal via B4 Relay
2026-10-10 19:40 ` netdev-bot+sashiko
2026-10-09 17:12 ` [PATCH net-next v9 05/11] net: ethernet: oa_tc6: Support for hardware timestamp Selvamani Rajagopal via B4 Relay
2026-10-10 19:40 ` netdev-bot+sashiko
2026-10-09 17:12 ` [PATCH net-next v9 06/11] net: ethernet: oa_tc6: Support for vendor specific MMS Selvamani Rajagopal via B4 Relay
2026-10-09 18:43 ` Selvamani Rajagopal
2026-10-10 19:40 ` netdev-bot+sashiko
2026-10-09 17:12 ` [PATCH net-next v9 07/11] net: phy: ncn26000: Enable enhanced noise immunity Selvamani Rajagopal via B4 Relay
2026-10-10 19:40 ` netdev-bot+sashiko
2026-10-09 17:12 ` [PATCH net-next v9 08/11] onsemi: s2500: Add driver support for S2500 MAC-PHY Selvamani Rajagopal via B4 Relay
2026-10-09 23:02 ` Randy Dunlap
2026-10-10 19:40 ` netdev-bot+sashiko
2026-10-09 17:12 ` [PATCH net-next v9 09/11] onsemi: s2500: Added selftest support to onsemi's S2500 driver Selvamani Rajagopal via B4 Relay
2026-10-10 19:40 ` netdev-bot+sashiko
2026-10-09 17:12 ` [PATCH net-next v9 10/11] net: phy: ncn26000: Support for onsemi's S2500 internal phy Selvamani Rajagopal via B4 Relay
2026-10-10 19:40 ` netdev-bot+sashiko [this message]
2026-10-09 17:12 ` [PATCH net-next v9 11/11] net: phy: ncn26000: Support for loopback Selvamani Rajagopal via B4 Relay
2026-10-10 19:40 ` netdev-bot+sashiko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=179166122697.434549.4781991463001466231@kernel.org \
--to=netdev-bot+sashiko@kernel.org \
--cc=Selvamani.Rajagopal@onsemi.com \
--cc=andrew+netdev@lunn.ch \
--cc=andrew@lunn.ch \
--cc=ciprian.regus@analog.com \
--cc=conor+dt@kernel.org \
--cc=corbet@lwn.net \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@kernel.org \
--cc=hkallweit1@gmail.com \
--cc=horms@kernel.org \
--cc=jerry.ray@microchip.com \
--cc=krzk+dt@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=parthiban.veerasooran@microchip.com \
--cc=piergiorgio.beruto@gmail.com \
--cc=rdunlap@infradead.org \
--cc=richardcochran@gmail.com \
--cc=robh@kernel.org \
--cc=skhan@linuxfoundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®