[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <rpwsyyjdzeixx3f7o3pxeslyff7yc3fuutm436ygjggoyiwjcb@7s3skg627mid>
Date: Sat, 26 Aug 2023 16:32:15 +0300
From: Serge Semin <fancer.lancer@...il.com>
To: "Russell King (Oracle)" <rmk+kernel@...linux.org.uk>
Cc: Alexandre Torgue <alexandre.torgue@...s.st.com>,
Jose Abreu <joabreu@...opsys.com>, Andrew Lunn <andrew@...n.ch>,
"David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
Feiyang Chen <chenfeiyang@...ngson.cn>, Heiner Kallweit <hkallweit1@...il.com>,
Jakub Kicinski <kuba@...nel.org>, linux-arm-kernel@...ts.infradead.org,
linux-stm32@...md-mailman.stormreply.com, Maxime Coquelin <mcoquelin.stm32@...il.com>,
netdev@...r.kernel.org, Paolo Abeni <pabeni@...hat.com>
Subject: Re: [PATCH net-next 08/10] net: stmmac: move xgmac specific phylink
caps to dwxgmac2 core
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@...linux.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)
> +{
> + 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,
This doesn't look correct. DW XGMAC doesn't support 25/40/50/100Gbps
speeds.
> .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,
This is ok.
-Serge(y)
> .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
>
>
Powered by blists - more mailing lists