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: Ioana Ciornei <ioana.ciornei@nxp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
dff953813e
commit
aa95c37112
@ -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,
|
||||
|
Loading…
x
Reference in New Issue
Block a user