[PATCH net-next 08/10] net: stmmac: move xgmac specific phylink caps to dwxgmac2 core
Serge Semin
fancer.lancer at gmail.com
Sat Aug 26 06:36:46 PDT 2023
On Thu, Aug 24, 2023 at 02:38:29PM +0100, Russell King (Oracle) wrote:
> Move the xgmac specific phylink capabilities to the dwxgmac2 support
> core.
>
> Signed-off-by: Russell King (Oracle) <rmk+kernel at armlinux.org.uk>
> ---
> drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c | 10 ++++++++++
> drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 10 ----------
> 2 files changed, 10 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c
> index 34e1b0c3f346..f352be269deb 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/dwxgmac2_core.c
> @@ -47,6 +47,14 @@ static void dwxgmac2_core_init(struct mac_device_info *hw,
> writel(XGMAC_INT_DEFAULT_EN, ioaddr + XGMAC_INT_EN);
> }
>
> +static void xgmac_phylink_get_caps(struct stmmac_priv *priv)
Also after splitting this method up into DW XGMAC v2.x and DW XLGMAC
v2.x specific functions please preserve the local naming convention:
use dwxgmac2_ and dwxlgmac2_ prefixes.
-Serge(y)
> +{
> + priv->phylink_config.mac_capabilities |= MAC_2500FD | MAC_5000FD |
> + MAC_10000FD | MAC_25000FD |
> + MAC_40000FD | MAC_50000FD |
> + MAC_100000FD;
> +}
> +
> static void dwxgmac2_set_mac(void __iomem *ioaddr, bool enable)
> {
> u32 tx = readl(ioaddr + XGMAC_TX_CONFIG);
> @@ -1490,6 +1498,7 @@ static void dwxgmac3_fpe_configure(void __iomem *ioaddr, u32 num_txq,
>
> const struct stmmac_ops dwxgmac210_ops = {
> .core_init = dwxgmac2_core_init,
> + .phylink_get_caps = xgmac_phylink_get_caps,
> .set_mac = dwxgmac2_set_mac,
> .rx_ipc = dwxgmac2_rx_ipc,
> .rx_queue_enable = dwxgmac2_rx_queue_enable,
> @@ -1551,6 +1560,7 @@ static void dwxlgmac2_rx_queue_enable(struct mac_device_info *hw, u8 mode,
>
> const struct stmmac_ops dwxlgmac2_ops = {
> .core_init = dwxgmac2_core_init,
> + .phylink_get_caps = xgmac_phylink_get_caps,
> .set_mac = dwxgmac2_set_mac,
> .rx_ipc = dwxgmac2_rx_ipc,
> .rx_queue_enable = dwxlgmac2_rx_queue_enable,
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> index 0b02845e7e9d..5cf8304564c6 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> @@ -1227,16 +1227,6 @@ static int stmmac_phy_setup(struct stmmac_priv *priv)
> /* Get the MAC specific capabilities */
> stmmac_mac_phylink_get_caps(priv);
>
> - if (priv->plat->has_xgmac) {
> - priv->phylink_config.mac_capabilities |= MAC_2500FD;
> - priv->phylink_config.mac_capabilities |= MAC_5000FD;
> - priv->phylink_config.mac_capabilities |= MAC_10000FD;
> - priv->phylink_config.mac_capabilities |= MAC_25000FD;
> - priv->phylink_config.mac_capabilities |= MAC_40000FD;
> - priv->phylink_config.mac_capabilities |= MAC_50000FD;
> - priv->phylink_config.mac_capabilities |= MAC_100000FD;
> - }
> -
> /* Half-Duplex can only work with single queue */
> if (priv->plat->tx_queues_to_use > 1)
> priv->phylink_config.mac_capabilities &=
> --
> 2.30.2
>
>
More information about the linux-arm-kernel
mailing list