Commit aa95c371 authored by Ioana Ciornei's avatar Ioana Ciornei Committed by David S. Miller

dpaa2-mac: move setting up supported_interfaces into a function

The logic to setup the supported interfaces will get annotated based on
what the configuration of the SerDes PLLs supports. Move the current
setup into a separate function just to try to keep it clean.
Signed-off-by: default avatarIoana Ciornei <ioana.ciornei@nxp.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent dff95381
......@@ -257,6 +257,29 @@ static void dpaa2_pcs_destroy(struct dpaa2_mac *mac)
}
}
static void dpaa2_mac_set_supported_interfaces(struct dpaa2_mac *mac)
{
/* We support the current interface mode, and if we have a PCS
* similar interface modes that do not require the SerDes lane to be
* reconfigured.
*/
__set_bit(mac->if_mode, mac->phylink_config.supported_interfaces);
if (mac->pcs) {
switch (mac->if_mode) {
case PHY_INTERFACE_MODE_1000BASEX:
case PHY_INTERFACE_MODE_SGMII:
__set_bit(PHY_INTERFACE_MODE_1000BASEX,
mac->phylink_config.supported_interfaces);
__set_bit(PHY_INTERFACE_MODE_SGMII,
mac->phylink_config.supported_interfaces);
break;
default:
break;
}
}
}
int dpaa2_mac_connect(struct dpaa2_mac *mac)
{
struct net_device *net_dev = mac->net_dev;
......@@ -305,25 +328,7 @@ int dpaa2_mac_connect(struct dpaa2_mac *mac)
MAC_10FD | MAC_100FD | MAC_1000FD | MAC_2500FD | MAC_5000FD |
MAC_10000FD;
/* We support the current interface mode, and if we have a PCS
* similar interface modes that do not require the PLLs to be
* reconfigured.
*/
__set_bit(mac->if_mode, mac->phylink_config.supported_interfaces);
if (mac->pcs) {
switch (mac->if_mode) {
case PHY_INTERFACE_MODE_1000BASEX:
case PHY_INTERFACE_MODE_SGMII:
__set_bit(PHY_INTERFACE_MODE_1000BASEX,
mac->phylink_config.supported_interfaces);
__set_bit(PHY_INTERFACE_MODE_SGMII,
mac->phylink_config.supported_interfaces);
break;
default:
break;
}
}
dpaa2_mac_set_supported_interfaces(mac);
phylink = phylink_create(&mac->phylink_config,
dpmac_node, mac->if_mode,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment