Merge branch 'bcm63xx_enet-major-makeover-of-driver'
authorJakub Kicinski <kuba@kernel.org>
Thu, 7 Jan 2021 20:39:56 +0000 (12:39 -0800)
committerJakub Kicinski <kuba@kernel.org>
Thu, 7 Jan 2021 20:39:56 +0000 (12:39 -0800)
commitc61ce06f3eae8ed670437db9445b27f2360df4cb
tree59a93b77550280e76ad0d517a83ade659a807a9d
parent2e4233870557ac12387f885756b70fc181cb3806
parentae2259eebeacb7753e3043278957b45840123972
Merge branch 'bcm63xx_enet-major-makeover-of-driver'

Sieng Piaw Liew says:

====================
bcm63xx_enet: major makeover of driver

This patch series aim to improve the bcm63xx_enet driver by integrating the
latest networking features, i.e. batched rx processing, BQL, build_skb,
etc.

The newer enetsw SoCs are found to be able to do unaligned rx DMA by adding
NET_IP_ALIGN padding which, combined with these patches, improved packet
processing performance by ~50% on BCM6328.

Older non-enetsw SoCs still benefit mainly from rx batching. Performance
improvement of ~30% is observed on BCM6333.

The BCM63xx SoCs are designed for routers. As such, having BQL is
beneficial as well as trivial to add.

v3:
* Simplify xmit_more patch by not moving around the code needlessly.
* Fix indentation in xmit_more patch.
* Fix indentation in build_skb patch.
* Split rx ring cleanup patch from build_skb patch and precede build_skb
  patch for better understanding, as suggested by Florian Fainelli.

v2:
* Add xmit_more support and rx loop improvisation patches.
* Moved BQL netdev_reset_queue() to bcm_enet_stop()/bcm_enetsw_stop()
  functions as suggested by Florian Fainelli.
* Improved commit messages.
====================

Link: https://lore.kernel.org/r/20210106144208.1935-1-liew.s.piaw@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>