diff options
author | Sieng Piaw Liew <liew.s.piaw@gmail.com> | 2021-01-12 10:35:55 +0800 |
---|---|---|
committer | Álvaro Fernández Rojas <noltari@gmail.com> | 2021-01-22 12:42:30 +0100 |
commit | 1d6f422e346ba1f39165577ffbe2ad15b944171c (patch) | |
tree | c53bef15793ca711a4a60017521f326dbfc29cc3 /target/linux/bcm63xx/patches-5.4/042-v5.12-bcm63xx_enet-add-xmit_more-support.patch | |
parent | 2d8422842c7b2ca91956d9629f41083f99f12eac (diff) | |
download | upstream-1d6f422e346ba1f39165577ffbe2ad15b944171c.tar.gz upstream-1d6f422e346ba1f39165577ffbe2ad15b944171c.tar.bz2 upstream-1d6f422e346ba1f39165577ffbe2ad15b944171c.zip |
bcm63xx: sync ethernet driver with net-next
Sync ethernet driver code with upstream Linux kernel:
-Reduce xmit_more code changes.
-Combine rx cleanup code into a function.
-Convert to build_skb.
-Improve rx loop by optimizing loop tracking.
https://lore.kernel.org/netdev/20210106144208.1935-1-liew.s.piaw@gmail.com/
Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com>
[Amend commit description, move patches to the top since they are going to be
upstreamed]
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Diffstat (limited to 'target/linux/bcm63xx/patches-5.4/042-v5.12-bcm63xx_enet-add-xmit_more-support.patch')
-rw-r--r-- | target/linux/bcm63xx/patches-5.4/042-v5.12-bcm63xx_enet-add-xmit_more-support.patch | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/target/linux/bcm63xx/patches-5.4/042-v5.12-bcm63xx_enet-add-xmit_more-support.patch b/target/linux/bcm63xx/patches-5.4/042-v5.12-bcm63xx_enet-add-xmit_more-support.patch new file mode 100644 index 0000000000..4b02cd7849 --- /dev/null +++ b/target/linux/bcm63xx/patches-5.4/042-v5.12-bcm63xx_enet-add-xmit_more-support.patch @@ -0,0 +1,26 @@ +From 375281d3a6dcabaa98f489ee412aedca6d99dffb Mon Sep 17 00:00:00 2001 +From: Sieng Piaw Liew <liew.s.piaw@gmail.com> +Date: Wed, 6 Jan 2021 22:42:04 +0800 +Subject: [PATCH 3/7] bcm63xx_enet: add xmit_more support + +Support bulking hardware TX queue by using netdev_xmit_more(). + +Signed-off-by: Sieng Piaw Liew <liew.s.piaw@gmail.com> +Acked-by: Florian Fainelli <f.fainelli@gmail.com> +Signed-off-by: Jakub Kicinski <kuba@kernel.org> +--- + drivers/net/ethernet/broadcom/bcm63xx_enet.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c ++++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c +@@ -635,7 +635,8 @@ bcm_enet_start_xmit(struct sk_buff *skb, + netdev_sent_queue(dev, skb->len); + + /* kick tx dma */ +- enet_dmac_writel(priv, priv->dma_chan_en_mask, ++ if (!netdev_xmit_more() || !priv->tx_desc_count) ++ enet_dmac_writel(priv, priv->dma_chan_en_mask, + ENETDMAC_CHANCFG, priv->tx_chan); + + /* stop queue if no more desc available */ |