mbox series

[v2,net-next,00/15] qed, qede: improve chain API and add XDP_REDIRECT support

Message ID 20200722221045.5436-1-alobakin@marvell.com
Headers show
Series qed, qede: improve chain API and add XDP_REDIRECT support | expand

Message

Alexander Lobakin July 22, 2020, 10:10 p.m. UTC
This series adds missing XDP_REDIRECT case handling in QLogic Everest
Ethernet driver with all necessary prerequisites and ops.
QEDE Tx relies heavily on chain API, so make sure it is in its best
at first.

v2 (from [1]):
 - add missing includes to #003 to pass the build on Alpha;
 - no functional changes.

[1] https://lore.kernel.org/netdev/20200722155349.747-1-alobakin@marvell.com/

Alexander Lobakin (15):
  qed: reformat "qed_chain.h" a bit
  qed: reformat Makefile
  qed: move chain methods to a separate file
  qed: prevent possible double-frees of the chains
  qed: sanitize PBL chains allocation
  qed: move chain initialization inlines next to allocation functions
  qed: simplify initialization of the chains with an external PBL
  qed: simplify chain allocation with init params struct
  qed: add support for different page sizes for chains
  qed: optimize common chain accessors
  qed: introduce qed_chain_get_elem_used{,u32}()
  qede: reformat several structures in "qede.h"
  qede: reformat net_device_ops declarations
  qede: refactor XDP Tx processing
  qede: add .ndo_xdp_xmit() and XDP_REDIRECT support

 drivers/infiniband/hw/qedr/main.c             |  20 +-
 drivers/infiniband/hw/qedr/verbs.c            |  97 ++---
 drivers/net/ethernet/qlogic/qed/Makefile      |  37 +-
 drivers/net/ethernet/qlogic/qed/qed_chain.c   | 369 ++++++++++++++++++
 drivers/net/ethernet/qlogic/qed/qed_dev.c     | 273 -------------
 drivers/net/ethernet/qlogic/qed/qed_dev_api.h |  32 +-
 drivers/net/ethernet/qlogic/qed/qed_iscsi.c   |  39 +-
 drivers/net/ethernet/qlogic/qed/qed_ll2.c     |  44 ++-
 .../net/ethernet/qlogic/qed/qed_sp_commands.c |   4 +-
 drivers/net/ethernet/qlogic/qed/qed_spq.c     |  90 +++--
 drivers/net/ethernet/qlogic/qede/qede.h       | 175 +++++----
 drivers/net/ethernet/qlogic/qede/qede_fp.c    | 174 ++++++---
 drivers/net/ethernet/qlogic/qede/qede_main.c  | 185 +++++----
 include/linux/qed/qed_chain.h                 | 328 ++++++----------
 include/linux/qed/qed_if.h                    |   9 +-
 15 files changed, 1018 insertions(+), 858 deletions(-)
 create mode 100644 drivers/net/ethernet/qlogic/qed/qed_chain.c

--

Netdev folks, could you please take the entire series through your tree
after the necessary acks and reviews? Patches 8-9 also touch qedr driver
under rdma tree, but these changes can't be separated as it would break
incremental buildability and bisecting.

Comments

Jason Gunthorpe July 22, 2020, 10:35 p.m. UTC | #1
On Thu, Jul 23, 2020 at 01:10:30AM +0300, Alexander Lobakin wrote:
> Netdev folks, could you please take the entire series through your tree
> after the necessary acks and reviews? Patches 8-9 also touch qedr driver
> under rdma tree, but these changes can't be separated as it would break
> incremental buildability and bisecting.

There is nothing significant in the rdma changes, just be wary to not
submit patches to the rdma tree that would cause conflicts

Thanks
Jason
David Miller July 23, 2020, 1:19 a.m. UTC | #2
From: Alexander Lobakin <alobakin@marvell.com>
Date: Thu, 23 Jul 2020 01:10:30 +0300

> This series adds missing XDP_REDIRECT case handling in QLogic Everest
> Ethernet driver with all necessary prerequisites and ops.
> QEDE Tx relies heavily on chain API, so make sure it is in its best
> at first.
> 
> v2 (from [1]):
>  - add missing includes to #003 to pass the build on Alpha;
>  - no functional changes.
> 
> [1] https://lore.kernel.org/netdev/20200722155349.747-1-alobakin@marvell.com/

Series applied, thank you.