2
0
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:
Felix Fietkau
2016-06-14 11:27:20 +02:00
parent 9493613e94
commit 26b8db2537
3 changed files with 11 additions and 1 deletions

View File

@@ -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);