Commit 680e9d2c authored by Russell King's avatar Russell King Committed by David S. Miller
Browse files

net: ag71xx: populate supported_interfaces member



Populate the phy_interface_t bitmap for the Atheros ag71xx driver with
interfaces modes supported by the MAC.

Signed-off-by: default avatarRussell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 6c950ca7
Loading
Loading
Loading
Loading
+26 −0
Original line number Diff line number Diff line
@@ -1178,6 +1178,32 @@ static int ag71xx_phylink_setup(struct ag71xx *ag)
	ag->phylink_config.dev = &ag->ndev->dev;
	ag->phylink_config.type = PHYLINK_NETDEV;

	if ((ag71xx_is(ag, AR9330) && ag->mac_idx == 0) ||
	    ag71xx_is(ag, AR9340) ||
	    ag71xx_is(ag, QCA9530) ||
	    (ag71xx_is(ag, QCA9550) && ag->mac_idx == 1))
		__set_bit(PHY_INTERFACE_MODE_MII,
			  ag->phylink_config.supported_interfaces);

	if ((ag71xx_is(ag, AR9330) && ag->mac_idx == 1) ||
	    (ag71xx_is(ag, AR9340) && ag->mac_idx == 1) ||
	    (ag71xx_is(ag, QCA9530) && ag->mac_idx == 1))
		__set_bit(PHY_INTERFACE_MODE_GMII,
			  ag->phylink_config.supported_interfaces);

	if (ag71xx_is(ag, QCA9550) && ag->mac_idx == 0)
		__set_bit(PHY_INTERFACE_MODE_SGMII,
			  ag->phylink_config.supported_interfaces);

	if (ag71xx_is(ag, AR9340) && ag->mac_idx == 0)
		__set_bit(PHY_INTERFACE_MODE_RMII,
			  ag->phylink_config.supported_interfaces);

	if ((ag71xx_is(ag, AR9340) && ag->mac_idx == 0) ||
	    (ag71xx_is(ag, QCA9550) && ag->mac_idx == 1))
		__set_bit(PHY_INTERFACE_MODE_RGMII,
			  ag->phylink_config.supported_interfaces);

	phylink = phylink_create(&ag->phylink_config, ag->pdev->dev.fwnode,
				 ag->phy_if_mode, &ag71xx_phylink_mac_ops);
	if (IS_ERR(phylink))