[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210602162019.2201925-1-olteanv@gmail.com>
Date: Wed, 2 Jun 2021 19:20:10 +0300
From: Vladimir Oltean <olteanv@...il.com>
To: Jakub Kicinski <kuba@...nel.org>,
"David S. Miller" <davem@...emloft.net>, netdev@...r.kernel.org
Cc: Wong Vee Khee <vee.khee.wong@...ux.intel.com>,
Ong Boon Leong <boon.leong.ong@...el.com>,
Michael Sit Wei Hong <michael.wei.hong.sit@...el.com>,
Giuseppe Cavallaro <peppe.cavallaro@...com>,
Alexandre Torgue <alexandre.torgue@...s.st.com>,
Jose Abreu <joabreu@...opsys.com>,
Jose Abreu <Jose.Abreu@...opsys.com>,
Maxime Coquelin <mcoquelin.stm32@...il.com>,
Heiner Kallweit <hkallweit1@...il.com>,
Russell King - ARM Linux admin <linux@...linux.org.uk>,
Florian Fainelli <f.fainelli@...il.com>,
Andrew Lunn <andrew@...n.ch>,
Vladimir Oltean <vladimir.oltean@....com>
Subject: [PATCH v3 net-next 0/9] Convert xpcs to phylink_pcs_ops
From: Vladimir Oltean <vladimir.oltean@....com>
Background: the sja1105 DSA driver currently drives a Designware XPCS
for SGMII and 2500base-X, and it would be nice to reuse some code with
the xpcs module. This would also help consolidate the phylink_pcs_ops,
since the only other dedicated PCS driver, currently, is the lynx_pcs.
Therefore, this series makes the xpcs expose the same kind of API that
the lynx_pcs module does. The main changes are getting rid of struct
mdio_xpcs_ops, being compatible with struct phylink_pcs_ops and being
less reliant on the phy_interface_t passed to xpcs_probe (now renamed to
xpcs_create).
This patch series is partially tested (some code paths have been covered
on the NXP SJA1105 and some others with the help of Vee Khee Wong on
Intel Tiger Lake / stmmac) but further testing on 10G setups would be
appreciated, if possible.
Vladimir Oltean (9):
net: pcs: xpcs: delete shim definition for mdio_xpcs_get_ops()
net: pcs: xpcs: there is only one PHY ID
net: pcs: xpcs: make the checks related to the PHY interface mode
stateless
net: pcs: xpcs: export xpcs_validate
net: pcs: xpcs: export xpcs_config_eee
net: pcs: xpcs: export xpcs_probe
net: pcs: xpcs: use mdiobus_c45_addr in xpcs_{read,write}
net: pcs: xpcs: convert to mdio_device
net: pcs: xpcs: convert to phylink_pcs_ops
drivers/net/ethernet/stmicro/stmmac/common.h | 3 +-
drivers/net/ethernet/stmicro/stmmac/hwif.h | 14 -
.../ethernet/stmicro/stmmac/stmmac_ethtool.c | 12 +-
.../net/ethernet/stmicro/stmmac/stmmac_main.c | 39 +-
.../net/ethernet/stmicro/stmmac/stmmac_mdio.c | 47 +--
drivers/net/pcs/pcs-xpcs.c | 395 ++++++++++++------
include/linux/pcs/pcs-xpcs.h | 40 +-
7 files changed, 319 insertions(+), 231 deletions(-)
--
2.25.1
Powered by blists - more mailing lists