]> git.baikalelectronics.ru Git - kernel.git/commit
net: phy: prepare phylib to deal with PHY's extending Clause 22
authorHeiner Kallweit <hkallweit1@gmail.com>
Fri, 9 Aug 2019 18:43:50 +0000 (20:43 +0200)
committerDavid S. Miller <davem@davemloft.net>
Mon, 12 Aug 2019 04:24:32 +0000 (21:24 -0700)
commit0d18995dc60f625dd7cb09383098bca174a32f19
tree943918e8d6d99d2ad989d17e8ff790c668c279ac
parent26af34befccad5a825602e6c2d64de3ac0420105
net: phy: prepare phylib to deal with PHY's extending Clause 22

The integrated PHY in 2.5Gbps chip RTL8125 is the first (known to me)
PHY that uses standard Clause 22 for all modes up to 1Gbps and adds
2.5Gbps control using vendor-specific registers. To use phylib for
the standard part little extensions are needed:
- Move most of genphy_config_aneg to a new function
  __genphy_config_aneg that takes a parameter whether restarting
  auto-negotiation is needed (depending on whether content of
  vendor-specific advertisement register changed).
- Don't clear phydev->lp_advertising in genphy_read_status so that
  we can set non-C22 mode flags before.

Basically both changes mimic the behavior of the equivalent Clause 45
functions.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/phy_device.c
include/linux/phy.h