diff options
author | John Crispin <john@phrozen.org> | 2017-08-30 09:02:39 +0200 |
---|---|---|
committer | John Crispin <john@phrozen.org> | 2017-08-30 17:05:10 +0200 |
commit | 97a6ef513f45b40c635159c9b4b88f3eaa1498d2 (patch) | |
tree | 2bbb99b5779203deb1251492100452bd5efba02b /target/linux/mediatek/patches-4.9/0059-eth-fixes.patch | |
parent | 7a9410618d97c628b2b6f3bcf5ea2af4546124a5 (diff) | |
download | mtk-20170518-97a6ef513f45b40c635159c9b4b88f3eaa1498d2.zip mtk-20170518-97a6ef513f45b40c635159c9b4b88f3eaa1498d2.tar.gz mtk-20170518-97a6ef513f45b40c635159c9b4b88f3eaa1498d2.tar.bz2 |
mediatek: various additional ethernet fixes
* fixes default affinity
* adds a napi watchdog - we were seeing stalled TX queues
* adds up/down locking
Signed-off-by: John Crispin <john@phrozen.org>
Diffstat (limited to 'target/linux/mediatek/patches-4.9/0059-eth-fixes.patch')
-rw-r--r-- | target/linux/mediatek/patches-4.9/0059-eth-fixes.patch | 32 |
1 files changed, 8 insertions, 24 deletions
diff --git a/target/linux/mediatek/patches-4.9/0059-eth-fixes.patch b/target/linux/mediatek/patches-4.9/0059-eth-fixes.patch index 61b4b26..4991c52 100644 --- a/target/linux/mediatek/patches-4.9/0059-eth-fixes.patch +++ b/target/linux/mediatek/patches-4.9/0059-eth-fixes.patch @@ -1,5 +1,7 @@ ---- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c -+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c +Index: linux-4.9.44/drivers/net/ethernet/mediatek/mtk_eth_soc.c +=================================================================== +--- linux-4.9.44.orig/drivers/net/ethernet/mediatek/mtk_eth_soc.c ++++ linux-4.9.44/drivers/net/ethernet/mediatek/mtk_eth_soc.c @@ -24,6 +24,7 @@ #include <linux/tcp.h> @@ -400,28 +402,10 @@ eth->netdev[id]->netdev_ops = &mtk_netdev_ops; eth->netdev[id]->base_addr = (unsigned long)eth->base; -@@ -2584,15 +2665,19 @@ static int mtk_probe(struct platform_dev - goto err_deinit_hw; - } - -+ cpumask_set_cpu(1, ð->affinity_mask[1]); -+ cpumask_set_cpu(0, ð->affinity_mask[2]); - err = devm_request_irq(eth->dev, eth->irq[1], mtk_handle_irq_tx, 0, - dev_name(eth->dev), eth); - if (err) - goto err_free_dev; -+ irq_set_affinity_hint(eth->irq[1], ð->affinity_mask[1]); - - err = devm_request_irq(eth->dev, eth->irq[2], mtk_handle_irq_rx, 0, - dev_name(eth->dev), eth); - if (err) - goto err_free_dev; -+ irq_set_affinity_hint(eth->irq[2], ð->affinity_mask[2]); - - err = mtk_mdio_init(eth); - if (err) ---- a/drivers/net/ethernet/mediatek/mtk_eth_soc.h -+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.h +Index: linux-4.9.44/drivers/net/ethernet/mediatek/mtk_eth_soc.h +=================================================================== +--- linux-4.9.44.orig/drivers/net/ethernet/mediatek/mtk_eth_soc.h ++++ linux-4.9.44/drivers/net/ethernet/mediatek/mtk_eth_soc.h @@ -80,7 +80,6 @@ /* CDMP Ingress Control Register */ |