mbox series

[net-next,0/9] net: dsa: vsc73xx: fix MDIO bus access and PHY operations

Message ID 20240729210615.279952-1-paweldembicki@gmail.com (mailing list archive)
Headers show
Series net: dsa: vsc73xx: fix MDIO bus access and PHY operations | expand

Message

Paweł Dembicki July 29, 2024, 9:06 p.m. UTC
The VSC73xx driver has issues with PHY configuration. This patch series
fixes most of them.

The first patch fixes the phylink capabilities, because the MAC in the
vsc73xx family doesn't handle 1000BASE HD mode.

The second patch synchronizes the register configuration routine with the
datasheet recommendations.

Patches 3-5 restore proper communication on the MDIO bus. Currently,
the write value isn't sent to the MDIO register, and without a mutex,
communication with the PHY can be interrupted. This causes the PHY to
receive improper configuration and autonegotiation could fail.

The sixth patch speeds up the internal MDIO bus to the maximum value
allowed by the datasheet.

The seventh patch removes the PHY reset blockade, as it is no longer
required.

After fixing the MDIO operations, autonegotiation became possible.
The eighth patch removes the blockade, which became unnecessary after
the MDIO operations fix. It also enables the MDI-X feature, which is
disabled by default in forced 100BASE-TX mode like other Vitesse PHYs.

The last patch implements the downshift feature and enables it by default.

Pawel Dembicki (9):
  net: dsa: vsc73xx: fix phylink capabilities
  net: dsa: vsc73xx: fix port MAC configuration in full duplex mode
  net: dsa: vsc73xx: pass value in phy_write operation
  net: dsa: vsc73xx: use defined values in phy operations
  net: dsa: vsc73xx: use mutex to mdio operations
  net: dsa: vsc73xx: speed up mdio bus to max allowed value
  net: dsa: vsc73xx: allow phy resetting
  net: phy: vitesse: repair vsc73xx autonegotiation
  net: phy: vitesse: implement downshift in vsc73xx phys

 drivers/net/dsa/vitesse-vsc73xx-core.c | 132 ++++++++++++++++++-------
 drivers/net/dsa/vitesse-vsc73xx.h      |   2 +
 drivers/net/phy/vitesse.c              | 125 +++++++++++++++++++++--
 3 files changed, 219 insertions(+), 40 deletions(-)

Comments

Andrew Lunn July 29, 2024, 10:53 p.m. UTC | #1
On Mon, Jul 29, 2024 at 11:06:06PM +0200, Pawel Dembicki wrote:
> The VSC73xx driver has issues with PHY configuration. This patch series
> fixes most of them.
> 
> The first patch fixes the phylink capabilities, because the MAC in the
> vsc73xx family doesn't handle 1000BASE HD mode.
> 
> The second patch synchronizes the register configuration routine with the
> datasheet recommendations.
> 
> Patches 3-5 restore proper communication on the MDIO bus. Currently,
> the write value isn't sent to the MDIO register, and without a mutex,
> communication with the PHY can be interrupted. This causes the PHY to
> receive improper configuration and autonegotiation could fail.
> 
> The sixth patch speeds up the internal MDIO bus to the maximum value
> allowed by the datasheet.
> 
> The seventh patch removes the PHY reset blockade, as it is no longer
> required.
> 
> After fixing the MDIO operations, autonegotiation became possible.
> The eighth patch removes the blockade, which became unnecessary after
> the MDIO operations fix. It also enables the MDI-X feature, which is
> disabled by default in forced 100BASE-TX mode like other Vitesse PHYs.
> 
> The last patch implements the downshift feature and enables it by default.

Please separate fixes from new development. Fixed should target net,
while new features should be for net-next.

      Andrew