net: mvpp2: update PCS driver to use neg_mode
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Fri, 16 Jun 2023 12:07:03 +0000 (13:07 +0100)
committerJakub Kicinski <kuba@kernel.org>
Fri, 23 Jun 2023 02:41:01 +0000 (19:41 -0700)
Update mvpp2's embedded PCS drivers to use neg_mode rather than the
mode argument, remembering to update the ACPI path as well. As there
are no pcs_link_up() methods, this only affects the two pcs_config()
methods.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://lore.kernel.org/r/E1qA8EJ-00EaFx-P6@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c

index adc9536..1fec84b 100644 (file)
@@ -6168,8 +6168,7 @@ static void mvpp2_xlg_pcs_get_state(struct phylink_pcs *pcs,
                state->pause |= MLO_PAUSE_RX;
 }
 
                state->pause |= MLO_PAUSE_RX;
 }
 
-static int mvpp2_xlg_pcs_config(struct phylink_pcs *pcs,
-                               unsigned int mode,
+static int mvpp2_xlg_pcs_config(struct phylink_pcs *pcs, unsigned int neg_mode,
                                phy_interface_t interface,
                                const unsigned long *advertising,
                                bool permit_pause_to_mac)
                                phy_interface_t interface,
                                const unsigned long *advertising,
                                bool permit_pause_to_mac)
@@ -6232,7 +6231,7 @@ static void mvpp2_gmac_pcs_get_state(struct phylink_pcs *pcs,
                state->pause |= MLO_PAUSE_TX;
 }
 
                state->pause |= MLO_PAUSE_TX;
 }
 
-static int mvpp2_gmac_pcs_config(struct phylink_pcs *pcs, unsigned int mode,
+static int mvpp2_gmac_pcs_config(struct phylink_pcs *pcs, unsigned int neg_mode,
                                 phy_interface_t interface,
                                 const unsigned long *advertising,
                                 bool permit_pause_to_mac)
                                 phy_interface_t interface,
                                 const unsigned long *advertising,
                                 bool permit_pause_to_mac)
@@ -6246,7 +6245,7 @@ static int mvpp2_gmac_pcs_config(struct phylink_pcs *pcs, unsigned int mode,
               MVPP2_GMAC_FLOW_CTRL_AUTONEG |
               MVPP2_GMAC_AN_DUPLEX_EN;
 
               MVPP2_GMAC_FLOW_CTRL_AUTONEG |
               MVPP2_GMAC_AN_DUPLEX_EN;
 
-       if (phylink_autoneg_inband(mode)) {
+       if (neg_mode == PHYLINK_PCS_NEG_INBAND_ENABLED) {
                mask |= MVPP2_GMAC_CONFIG_MII_SPEED |
                        MVPP2_GMAC_CONFIG_GMII_SPEED |
                        MVPP2_GMAC_CONFIG_FULL_DUPLEX;
                mask |= MVPP2_GMAC_CONFIG_MII_SPEED |
                        MVPP2_GMAC_CONFIG_GMII_SPEED |
                        MVPP2_GMAC_CONFIG_FULL_DUPLEX;
@@ -6649,8 +6648,9 @@ static void mvpp2_acpi_start(struct mvpp2_port *port)
        mvpp2_mac_prepare(&port->phylink_config, MLO_AN_INBAND,
                          port->phy_interface);
        mvpp2_mac_config(&port->phylink_config, MLO_AN_INBAND, &state);
        mvpp2_mac_prepare(&port->phylink_config, MLO_AN_INBAND,
                          port->phy_interface);
        mvpp2_mac_config(&port->phylink_config, MLO_AN_INBAND, &state);
-       pcs->ops->pcs_config(pcs, MLO_AN_INBAND, port->phy_interface,
-                            state.advertising, false);
+       pcs->ops->pcs_config(pcs, PHYLINK_PCS_NEG_INBAND_ENABLED,
+                            port->phy_interface, state.advertising,
+                            false);
        mvpp2_mac_finish(&port->phylink_config, MLO_AN_INBAND,
                         port->phy_interface);
        mvpp2_mac_link_up(&port->phylink_config, NULL,
        mvpp2_mac_finish(&port->phylink_config, MLO_AN_INBAND,
                         port->phy_interface);
        mvpp2_mac_link_up(&port->phylink_config, NULL,
@@ -6896,7 +6896,9 @@ static int mvpp2_port_probe(struct platform_device *pdev,
        dev->dev.of_node = port_node;
 
        port->pcs_gmac.ops = &mvpp2_phylink_gmac_pcs_ops;
        dev->dev.of_node = port_node;
 
        port->pcs_gmac.ops = &mvpp2_phylink_gmac_pcs_ops;
+       port->pcs_gmac.neg_mode = true;
        port->pcs_xlg.ops = &mvpp2_phylink_xlg_pcs_ops;
        port->pcs_xlg.ops = &mvpp2_phylink_xlg_pcs_ops;
+       port->pcs_xlg.neg_mode = true;
 
        if (!mvpp2_use_acpi_compat_mode(port_fwnode)) {
                port->phylink_config.dev = &dev->dev;
 
        if (!mvpp2_use_acpi_compat_mode(port_fwnode)) {
                port->phylink_config.dev = &dev->dev;