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
1 changed files with 24 additions and 19 deletions
|
@ -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)
|
int dpaa2_mac_connect(struct dpaa2_mac *mac)
|
||||||
{
|
{
|
||||||
struct net_device *net_dev = mac->net_dev;
|
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_10FD | MAC_100FD | MAC_1000FD | MAC_2500FD | MAC_5000FD |
|
||||||
MAC_10000FD;
|
MAC_10000FD;
|
||||||
|
|
||||||
/* We support the current interface mode, and if we have a PCS
|
dpaa2_mac_set_supported_interfaces(mac);
|
||||||
* 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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
phylink = phylink_create(&mac->phylink_config,
|
phylink = phylink_create(&mac->phylink_config,
|
||||||
dpmac_node, mac->if_mode,
|
dpmac_node, mac->if_mode,
|
||||||
|
|
Loading…
Add table
Reference in a new issue