net: dpaa2-mac: absorb phylink_start() call into dpaa2_mac_start()

The phylink handling is intended to be hidden inside the dpaa2_mac
object. Move the phylink_start() call into dpaa2_mac_start(), and
phylink_stop() into dpaa2_mac_stop().

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Tested-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
This commit is contained in:
Vladimir Oltean 2022-11-29 16:12:12 +02:00 committed by Paolo Abeni
parent 320fefa9e2
commit 3853338881
3 changed files with 10 additions and 8 deletions

View File

@ -2201,10 +2201,8 @@ static int dpaa2_eth_open(struct net_device *net_dev)
goto enable_err;
}
if (dpaa2_eth_is_type_phy(priv)) {
if (dpaa2_eth_is_type_phy(priv))
dpaa2_mac_start(priv->mac);
phylink_start(priv->mac->phylink);
}
return 0;
@ -2278,7 +2276,6 @@ static int dpaa2_eth_stop(struct net_device *net_dev)
int retries = 10;
if (dpaa2_eth_is_type_phy(priv)) {
phylink_stop(priv->mac->phylink);
dpaa2_mac_stop(priv->mac);
} else {
netif_tx_stop_all_queues(net_dev);

View File

@ -338,12 +338,20 @@ static void dpaa2_mac_set_supported_interfaces(struct dpaa2_mac *mac)
void dpaa2_mac_start(struct dpaa2_mac *mac)
{
ASSERT_RTNL();
if (mac->serdes_phy)
phy_power_on(mac->serdes_phy);
phylink_start(mac->phylink);
}
void dpaa2_mac_stop(struct dpaa2_mac *mac)
{
ASSERT_RTNL();
phylink_stop(mac->phylink);
if (mac->serdes_phy)
phy_power_off(mac->serdes_phy);
}

View File

@ -702,10 +702,8 @@ static int dpaa2_switch_port_open(struct net_device *netdev)
dpaa2_switch_enable_ctrl_if_napi(ethsw);
if (dpaa2_switch_port_is_type_phy(port_priv)) {
if (dpaa2_switch_port_is_type_phy(port_priv))
dpaa2_mac_start(port_priv->mac);
phylink_start(port_priv->mac->phylink);
}
return 0;
}
@ -717,7 +715,6 @@ static int dpaa2_switch_port_stop(struct net_device *netdev)
int err;
if (dpaa2_switch_port_is_type_phy(port_priv)) {
phylink_stop(port_priv->mac->phylink);
dpaa2_mac_stop(port_priv->mac);
} else {
netif_tx_stop_all_queues(netdev);