]> Gentwo Git Trees - linux/.git/commit
net: phy: dp83867: implement configurability for SGMII in-band auto-negotiation
authorVladimir Oltean <vladimir.oltean@nxp.com>
Sat, 22 Nov 2025 11:04:27 +0000 (13:04 +0200)
committerJakub Kicinski <kuba@kernel.org>
Thu, 27 Nov 2025 02:04:17 +0000 (18:04 -0800)
commit002373a8b01df23be072bb91741c2e8b2b70ccc1
tree5d4b8f8f3169d72ded84d0b20e2d461df32a3748
parent308b7dee3e5c767e88bbecceff3883c8b17c55b6
net: phy: dp83867: implement configurability for SGMII in-band auto-negotiation

Implement the inband_caps() and config_inband() PHY driver methods, to
allow working with PCS devices that do not support or want in-band to be
used.

There is a complication due to existing logic from commit c76acfb7e19d
("net: phy: dp83867: retrigger SGMII AN when link change") which might
re-enable what dp83867_config_inband() has disabled. So we need to
modify dp83867_link_change_notify() to use phy_modify_changed() when
temporarily disabling in-band autoneg. If the return code is 0, it means
the original in-band was disabled and we need to keep it disabled.
If the return code is 1, the original was enabled and we need to
re-enable it. If negative, there was an error, which was silent before,
and remains silent now.

dp83867_config_inband() and dp83867_link_change_notify() are serialized
by the phydev->lock.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Link: https://patch.msgid.link/20251122110427.133035-1-vladimir.oltean@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/phy/dp83867.c