mirror of
https://github.com/torvalds/linux.git
synced 2026-05-25 15:41:52 +02:00
net: ethernet: ti: am65-cpsw: Move phy_set_mode_ext() to correct location
In TI's J7200 SoC CPSW5G ports, each of the 4 ports can be configured as a QSGMII main or QSGMII-SUB port. This configuration is performed by phy-gmii-sel driver on invoking the phy_set_mode_ext() function. It is necessary for the QSGMII main port to be configured before any of the QSGMII-SUB interfaces are brought up. Currently, the QSGMII-SUB interfaces come up before the QSGMII main port is configured. Fix this by moving the call to phy_set_mode_ext() from am65_cpsw_nuss_ndo_slave_open() to am65_cpsw_nuss_init_slave_ports(), thereby ensuring that the QSGMII main port is configured before any of the QSGMII-SUB ports are brought up. Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
37184fc112
commit
763015a794
|
|
@ -593,11 +593,6 @@ static int am65_cpsw_nuss_ndo_slave_open(struct net_device *ndev)
|
|||
/* mac_sl should be configured via phy-link interface */
|
||||
am65_cpsw_sl_ctl_reset(port);
|
||||
|
||||
ret = phy_set_mode_ext(port->slave.ifphy, PHY_MODE_ETHERNET,
|
||||
port->slave.phy_if);
|
||||
if (ret)
|
||||
goto error_cleanup;
|
||||
|
||||
ret = phylink_of_phy_connect(port->slave.phylink, port->slave.phy_node, 0);
|
||||
if (ret)
|
||||
goto error_cleanup;
|
||||
|
|
@ -1898,6 +1893,10 @@ static int am65_cpsw_nuss_init_slave_ports(struct am65_cpsw_common *common)
|
|||
goto of_node_put;
|
||||
}
|
||||
|
||||
ret = phy_set_mode_ext(port->slave.ifphy, PHY_MODE_ETHERNET, port->slave.phy_if);
|
||||
if (ret)
|
||||
goto of_node_put;
|
||||
|
||||
ret = of_get_mac_address(port_np, port->slave.mac_addr);
|
||||
if (ret) {
|
||||
am65_cpsw_am654_get_efuse_macid(port_np,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user