diff options
author | Felix Fietkau <nbd@nbd.name> | 2016-06-14 11:27:20 +0200 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2016-06-26 11:21:17 +0200 |
commit | 26b8db253745b0591bfffa21f02323428f11a88f (patch) | |
tree | dab85a8a94724b8b8677e871b800e8566f78f6ee /target/linux/ar71xx/files/drivers | |
parent | 9493613e9443a4f64b7e47a17808cc6f5f66a495 (diff) | |
download | upstream-26b8db253745b0591bfffa21f02323428f11a88f.tar.gz upstream-26b8db253745b0591bfffa21f02323428f11a88f.tar.bz2 upstream-26b8db253745b0591bfffa21f02323428f11a88f.zip |
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>
Diffstat (limited to 'target/linux/ar71xx/files/drivers')
-rw-r--r-- | target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c index 38226cf22e..d7c27393a6 100644 --- a/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c +++ b/target/linux/ar71xx/files/drivers/net/ethernet/atheros/ag71xx/ag71xx_main.c @@ -453,9 +453,12 @@ static void ag71xx_hw_stop(struct ag71xx *ag) static void ag71xx_hw_setup(struct ag71xx *ag) { struct ag71xx_platform_data *pdata = ag71xx_get_pdata(ag); + u32 init = MAC_CFG1_INIT; /* setup MAC configuration registers */ - ag71xx_wr(ag, AG71XX_REG_MAC_CFG1, MAC_CFG1_INIT); + if (pdata->builtin_switch) + init |= MAC_CFG1_TFC | MAC_CFG1_RFC; + ag71xx_wr(ag, AG71XX_REG_MAC_CFG1, init); ag71xx_sb(ag, AG71XX_REG_MAC_CFG2, MAC_CFG2_PAD_CRC_EN | MAC_CFG2_LEN_CHECK); |