forked from Ivasoft/openwrt
ar71xx: enable flow control for ethernet MACs with built-in switch
Should fix LAN speed issues on some devices. This is an updated version of the previously reverted commit with the same name. It improves the check for MACs connected to a built-in switch Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
@@ -907,6 +907,7 @@ void __init ath79_register_eth(unsigned int id)
|
||||
pdata->speed = SPEED_1000;
|
||||
pdata->duplex = DUPLEX_FULL;
|
||||
pdata->switch_data = &ath79_switch_data;
|
||||
pdata->builtin_switch = 1;
|
||||
|
||||
ath79_switch_data.phy_poll_mask |= BIT(4);
|
||||
}
|
||||
@@ -951,6 +952,7 @@ void __init ath79_register_eth(unsigned int id)
|
||||
pdata->has_gbit = 1;
|
||||
pdata->duplex = DUPLEX_FULL;
|
||||
pdata->switch_data = &ath79_switch_data;
|
||||
pdata->builtin_switch = 1;
|
||||
|
||||
ath79_switch_data.phy_poll_mask |= BIT(4);
|
||||
}
|
||||
@@ -979,6 +981,7 @@ void __init ath79_register_eth(unsigned int id)
|
||||
pdata->set_speed = ath79_set_speed_dummy;
|
||||
|
||||
pdata->switch_data = &ath79_switch_data;
|
||||
pdata->builtin_switch = 1;
|
||||
|
||||
/* reset the built-in switch */
|
||||
ath79_device_reset_set(AR934X_RESET_ETH_SWITCH);
|
||||
@@ -1015,6 +1018,7 @@ void __init ath79_register_eth(unsigned int id)
|
||||
pdata->speed = SPEED_1000;
|
||||
pdata->duplex = DUPLEX_FULL;
|
||||
pdata->switch_data = &ath79_switch_data;
|
||||
pdata->builtin_switch = 1;
|
||||
|
||||
ath79_switch_data.phy_poll_mask |= BIT(4);
|
||||
}
|
||||
@@ -1040,6 +1044,7 @@ void __init ath79_register_eth(unsigned int id)
|
||||
pdata->reset_bit = QCA955X_RESET_GE1_MAC |
|
||||
QCA955X_RESET_GE1_MDIO;
|
||||
pdata->set_speed = qca955x_set_speed_sgmii;
|
||||
pdata->builtin_switch = 1;
|
||||
}
|
||||
|
||||
pdata->has_gbit = 1;
|
||||
@@ -1083,6 +1088,7 @@ void __init ath79_register_eth(unsigned int id)
|
||||
|
||||
pdata->speed = SPEED_1000;
|
||||
pdata->duplex = DUPLEX_FULL;
|
||||
pdata->builtin_switch = 1;
|
||||
|
||||
/* reset the built-in switch */
|
||||
ath79_device_reset_set(AR934X_RESET_ETH_SWITCH);
|
||||
|
||||
Reference in New Issue
Block a user