|
|
Log in / Subscribe / Register

Add minimal XDP support to TI AM65 CPSW Ethernet driver

From:  Julien Panis <jpanis-AT-baylibre.com>
To:  "David S. Miller" <davem-AT-davemloft.net>, Eric Dumazet <edumazet-AT-google.com>, Jakub Kicinski <kuba-AT-kernel.org>, Paolo Abeni <pabeni-AT-redhat.com>, Russell King <linux-AT-armlinux.org.uk>, Alexei Starovoitov <ast-AT-kernel.org>, Daniel Borkmann <daniel-AT-iogearbox.net>, Jesper Dangaard Brouer <hawk-AT-kernel.org>, John Fastabend <john.fastabend-AT-gmail.com>, Sumit Semwal <sumit.semwal-AT-linaro.org>, Christian König <christian.koenig-AT-amd.com>, Simon Horman <horms-AT-kernel.org>, Andrew Lunn <andrew-AT-lunn.ch>
Subject:  [PATCH v2 0/2] Add minimal XDP support to TI AM65 CPSW Ethernet driver
Date:  Fri, 01 Mar 2024 16:02:51 +0100
Message-ID:  <20240223-am65-cpsw-xdp-basic-v2-0-01c6caacabb6@baylibre.com>
Cc:  netdev-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org, bpf-AT-vger.kernel.org, linux-media-AT-vger.kernel.org, dri-devel-AT-lists.freedesktop.org, linaro-mm-sig-AT-lists.linaro.org, Julien Panis <jpanis-AT-baylibre.com>
Archive-link:  Article

This patch adds XDP support to TI AM65 CPSW Ethernet driver.

The following features are implemented: NETDEV_XDP_ACT_BASIC,
NETDEV_XDP_ACT_REDIRECT, and NETDEV_XDP_ACT_NDO_XMIT.

Zero-copy and non-linear XDP buffer supports are NOT implemented.

Besides, the page pool memory model is used to get better performance.

Signed-off-by: Julien Panis <jpanis@baylibre.com>
---
Changes in v2:
- Use page pool memory model instead of MEM_TYPE_PAGE_ORDER0.
- In am65_cpsw_alloc_skb(), release reference on the page pool page
in case of error returned by build_skb().
- [nit] Cleanup am65_cpsw_nuss_common_open/stop() functions.
- [nit] Arrange local variables in reverse xmas tree order.
- Link to v1: https://lore.kernel.org/r/20240223-am65-cpsw-xdp-basic-v1...

---
Julien Panis (2):
      net: ethernet: ti: Add accessors for struct k3_cppi_desc_pool members
      net: ethernet: ti: am65-cpsw: Add minimal XDP support

 drivers/net/ethernet/ti/am65-cpsw-nuss.c    | 490 +++++++++++++++++++++++++---
 drivers/net/ethernet/ti/am65-cpsw-nuss.h    |  13 +
 drivers/net/ethernet/ti/k3-cppi-desc-pool.c |  12 +
 drivers/net/ethernet/ti/k3-cppi-desc-pool.h |   2 +
 4 files changed, 469 insertions(+), 48 deletions(-)
---
base-commit: 6613476e225e090cc9aad49be7fa504e290dd33d
change-id: 20240223-am65-cpsw-xdp-basic-4db828508b48

Best regards,
-- 
Julien Panis <jpanis@baylibre.com>




Copyright © 2024, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds