bnxt_en: Upgrade the Broadcom NIC driver
This commit upgrade Broadcom's bnxt_en and bnxt_re out-of-tree drivers, version 1.10.3-232.0.155.5 to StarlingX. (For clarity, the main driver package file name is "bcm_232.1.132.8c.tar.gz".) bnxt_en-1.10.3-232.0.155.5 bnxt_re-232.0.155.5 libbnxt_re-232.0.155.5 bnxt_en/re: * updates the bnxt_en and bnxt_re device drivers to use the irq_update_affinity_hint function instead of the irq_set_affinity_hint function, so that StarlingX's CPU affinity requirements for interrupts are met. bnxt_en: * We fix the build error reference the upstream commit 49675f5bdf9a "net: remove IFF_* re-definition" that remove all IFF_* definition, which casue IFF_RXFH_CONFIGURED undefined. https://git.yoctoproject.org/linux-yocto/commit/?h=49675f5bdf9a * Change "make" to "$(MAKE)" to support the parallelized build. bnxt_re: * Adapt Makefile to make build pass. Also modify the parameter type for the fuction bnxt_re_reg_user_mr_dmabuf() to fix the the incompatible API issue. Verification: - Build module success for kernel-std/kernel-rt. - Installation of the ISO image is successful with standard and low-latency profiles. - Physical function interfaces are up and pass packets. - Create vfs, ensure that the interface can come up and pass packets. - RDMA/Infiniband over Ethernet functionalities of the Broadcom adapters were successfully tested using the Linux RDMA community's perftest package. Story: 2011384 Task: 51889 Depends-On: https://review.opendev.org/c/starlingx/kernel/+/946013 Depends-On: https://review.opendev.org/c/starlingx/kernel/+/945449 Change-Id: I0edbadf3f1090701d55acbbefe3ff560de64f853 Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
This commit is contained in:
@@ -1,3 +1,11 @@
|
||||
bnxt-en (1.10.3.232.0.155.5-1) unstable; urgency=medium
|
||||
|
||||
* Upgrade the release of the out-of-tree bnxt_en driver to 1.10.3.232.0.155.5
|
||||
for StarlingX. This driver corresponds to "netxtreme-bnxt_en-1.10.3-232.0.155.5.tar.gz" in
|
||||
Broadcom's "bcm_232.1.132.8c" release.
|
||||
|
||||
-- Jiping Ma <jiping.ma2@windriver.com> Mon, 08 Apr 2024 15:46:23 +0800
|
||||
|
||||
bnxt-en (1.10.2.227.0.130.0-1) unstable; urgency=medium
|
||||
|
||||
* Upgrade the release of the out-of-tree bnxt_en driver to 1.10.2-227.0.130.0
|
||||
|
@@ -0,0 +1,52 @@
|
||||
From a6ff0fd984bbf3892f71a1b1213c97f992244c8e Mon Sep 17 00:00:00 2001
|
||||
From: Jiping Ma <jiping.ma2@windriver.com>
|
||||
Date: Thu, 27 Mar 2025 11:07:47 +0000
|
||||
Subject: [PATCH 1/4] bnxt_en: fix the build issue.
|
||||
|
||||
Actually IFF_RXFH_CONFIGURED is defined in enum netdev_priv_flags,
|
||||
so we remove all unused code for IFF_RXFH_CONFIGURED.
|
||||
Since the commit 49675f5bdf9a "net: remove IFF_* re-definition" that
|
||||
remove all IFF_* definition, which casued the current build issue.
|
||||
|
||||
References:
|
||||
* https://git.yoctoproject.org/linux-yocto/commit/?h=49675f5bdf9a
|
||||
|
||||
In file included from bnxt_en-1.10.3-232.0.155.5/bnxt.c:98:
|
||||
bnxt_en-1.10.3-232.0.155.5/bnxt_compat.h:1252:20: error: redefinition \
|
||||
of netif_is_rxfh_configured
|
||||
1252 | static inline bool netif_is_rxfh_configured(const struct net_device *dev)
|
||||
| ^~~~~~~~~~~~~~~~~~~~~~~~
|
||||
In file included from bnxt_en-1.10.3-232.0.155.5/bnxt.c:26:
|
||||
/usr/src/linux-headers-6.12.0-1-common/include/linux/netdevice.h:5174:20:\
|
||||
note: previous definition of netif_is_rxfh_configured was here
|
||||
5174 | static inline bool netif_is_rxfh_configured(const struct net_device *dev)
|
||||
| ^~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
||||
---
|
||||
bnxt_en-1.10.3-232.0.155.5/bnxt_compat.h | 9 ---------
|
||||
1 file changed, 9 deletions(-)
|
||||
|
||||
diff --git a/bnxt_en-1.10.3-232.0.155.5/bnxt_compat.h b/bnxt_en-1.10.3-232.0.155.5/bnxt_compat.h
|
||||
index 574c3da..8cb0e99 100644
|
||||
--- a/bnxt_en-1.10.3-232.0.155.5/bnxt_compat.h
|
||||
+++ b/bnxt_en-1.10.3-232.0.155.5/bnxt_compat.h
|
||||
@@ -1246,15 +1246,6 @@ static inline int netif_get_num_default_rss_queues(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
-#ifndef IFF_RXFH_CONFIGURED
|
||||
-#define IFF_RXFH_CONFIGURED 0
|
||||
-#undef HAVE_SET_RXFH
|
||||
-static inline bool netif_is_rxfh_configured(const struct net_device *dev)
|
||||
-{
|
||||
- return false;
|
||||
-}
|
||||
-#endif
|
||||
-
|
||||
#if defined(HAVE_NETDEV_TX_DROPPED)
|
||||
#if !defined(HAVE_NETDEV_TX_DROPPED_CORE_STATS)
|
||||
#if defined(HAVE_NETDEV_RH_TX_DROPPED)
|
||||
--
|
||||
2.47.1
|
||||
|
@@ -1,100 +0,0 @@
|
||||
From 6cb55956bc72f255626510ee30e612b23cbff0ab Mon Sep 17 00:00:00 2001
|
||||
From: "M. Vefa Bicakci" <vefa.bicakci@windriver.com>
|
||||
Date: Fri, 4 Feb 2022 18:27:53 -0500
|
||||
Subject: [PATCH 01/10] bnxt_re/Makefile: Adapt to mlnx-ofa_kernel for
|
||||
StarlingX
|
||||
|
||||
This patch adapts the bnxt_re kernel module's Makefile to
|
||||
mlnx-ofa_kernel for Debian-based StarlingX.
|
||||
|
||||
Here is a summary of the changes:
|
||||
|
||||
- Unlike CentOS-based StarlingX, the KDIR variable is no longer needed
|
||||
to be specified explicitly to make, because the symbolic links
|
||||
/lib/modules/<kver>/{build,source} are sufficient to detect the
|
||||
correct directories on Debian. However, this leaves the KDIR variable
|
||||
undefined, which is problematic as this variable is used later in the
|
||||
Makefile. Fix this by pointing KDIR to the "build" symbolic link
|
||||
(i.e., "$(LINUX)").
|
||||
|
||||
- To target Mellanox's OFED distribution instead of compat-rdma, the
|
||||
references to "/usr/src/compat-rdma" are replaced with
|
||||
"/usr/src/ofa_kernel".
|
||||
|
||||
- Mellanox's OFED distribution has version numbers in the form 5.x, so
|
||||
the Makefile version match patterns are adjusted.
|
||||
|
||||
- "AUTOCONF_H += -include $(LINUXSRC)/include/linux/kconfig.h" line is
|
||||
added avoid the following kernel module build errors indicating that
|
||||
IS_ENABLED is unintendedly undefined:
|
||||
|
||||
include/asm-generic/bitops/instrumented-non-atomic.h: In function \
|
||||
'__instrument_read_write_bitop':
|
||||
include/asm-generic/bitops/instrumented-non-atomic.h:63:6: error: \
|
||||
implicit declaration of function 'IS_ENABLED' \
|
||||
[-Werror=implicit-function-declaration]
|
||||
if (IS_ENABLED(CONFIG_KCSAN_ASSUME_PLAIN_WRITES_ATOMIC)) {
|
||||
^~~~~~~~~~
|
||||
|
||||
- The line that reads
|
||||
"KBUILD_EXTRA_SYMBOLS := $(BNXT_PEER_MEM_INC)/Module.symvers"
|
||||
is guarded to avoid the following build warning, which is encountered
|
||||
as BNXT_PEER_MEM_INC is not defined by default:
|
||||
WARNING: Symbol version dump "/Module.symvers" is missing.
|
||||
|
||||
Signed-off-by: M. Vefa Bicakci <vefa.bicakci@windriver.com>
|
||||
[jm: Adapted the patch for context change]
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
||||
---
|
||||
bnxt_re-227.0.130.0/Makefile | 17 ++++++++++-------
|
||||
1 file changed, 10 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/bnxt_re-227.0.130.0/Makefile b/bnxt_re-227.0.130.0/Makefile
|
||||
index a9c6104..600698c 100644
|
||||
--- a/bnxt_re-227.0.130.0/Makefile
|
||||
+++ b/bnxt_re-227.0.130.0/Makefile
|
||||
@@ -59,6 +59,8 @@ endif
|
||||
ifneq ($(KDIR),)
|
||||
LINUX=$(KDIR)
|
||||
LINUXSRC=$(LINUX)
|
||||
+else ifneq ($(LINUX),)
|
||||
+ KDIR=$(LINUX)
|
||||
endif
|
||||
|
||||
ifeq ($(shell ls $(LINUXSRC)/include/uapi > /dev/null 2>&1 && echo uapi),)
|
||||
@@ -89,24 +91,25 @@ ifeq ($(OFED_VERSION), )
|
||||
endif
|
||||
|
||||
#find OFED version and compat-includes
|
||||
-ofed_major=$(filter OFED-3.% OFED-4.%, $(OFED_VERSION))
|
||||
+ofed_major=$(filter OFED-3.% OFED-4.% 5.% 23.%, $(OFED_VERSION))
|
||||
ifneq ($(ofed_major), )
|
||||
-exists=$(shell if [ -e /usr/src/compat-rdma$(OFED_VERSION) ];\
|
||||
+exists=$(shell if [ -e /usr/src/ofa_kernel-$(OFED_VERSION) ];\
|
||||
then echo y; fi)
|
||||
ifeq ($(exists), )
|
||||
-$(shell ln -s /usr/src/compat-rdma\
|
||||
- /usr/src/compat-rdma$(OFED_VERSION))
|
||||
+$(shell ln -s /usr/src/ofa_kernel\
|
||||
+ /usr/src/ofa_kernel-$(OFED_VERSION))
|
||||
endif
|
||||
-OFA_BUILD_PATH=/usr/src/compat-rdma$(OFED_VERSION)
|
||||
-OFA_KERNEL_PATH=/usr/src/compat-rdma$(OFED_VERSION)
|
||||
+OFA_BUILD_PATH=/usr/src/ofa_kernel/default
|
||||
+OFA_KERNEL_PATH=/usr/src/ofa_kernel/default
|
||||
EXTRA_CFLAGS += -DOFED_3_x
|
||||
-ofed_4_17_x=$(filter OFED-4.17%, $(ofed_major))
|
||||
+ofed_4_17_x=$(filter OFED-4.17% 5.% 23.%, $(ofed_major))
|
||||
ifneq ($(ofed_4_17_x), )
|
||||
EXTRA_CFLAGS += -D__OFED_BUILD__
|
||||
endif
|
||||
EXTRA_CFLAGS += -include $(OFA_KERNEL_PATH)/include/linux/compat-2.6.h
|
||||
|
||||
AUTOCONF_H = -include $(shell /bin/ls -1 $(LINUX)/include/*/autoconf.h 2> /dev/null | head -1)
|
||||
+AUTOCONF_H += -include $(LINUXSRC)/include/linux/kconfig.h
|
||||
endif #end non 3.x OFED
|
||||
|
||||
ifeq (OFED-NATIVE, $(findstring OFED-NATIVE, $(OFED_VERSION)))
|
||||
--
|
||||
2.43.0
|
||||
|
@@ -1,88 +0,0 @@
|
||||
From b9ce5c292b8cc4da2fa2f4ee7ea0220242447991 Mon Sep 17 00:00:00 2001
|
||||
From: Jiping Ma <jiping.ma2@windriver.com>
|
||||
Date: Tue, 9 Apr 2024 06:54:11 +0000
|
||||
Subject: [PATCH 02/10] bnxt_en: Rename page_pool.h to page_pool/helpers.h
|
||||
|
||||
This patch accommodates commit a9ca9f9ceff3 ("page_pool: split types and
|
||||
declarations from page_pool.h") merged in the v6.6 development cycle, by
|
||||
applying a similar change to the out-of-tree bnxt_en driver to resolve
|
||||
the compilation errors encountered with the v6.6 kernel, which are listed
|
||||
below.
|
||||
|
||||
References:
|
||||
* https://git.yoctoproject.org/linux-yocto/commit/?h=a9ca9f9ceff3
|
||||
|
||||
Resolved compilation errors:
|
||||
|
||||
bnxt_en-1.10.2-227.0.130.0/bnxt_compat.h:2581: error: "page_pool_release_page"\
|
||||
redefined [-Werror]
|
||||
2581 | #define page_pool_release_page(pp, page)
|
||||
|
|
||||
In file included from /<<PKGBUILDDIR>>/bnxt_en-1.10.2-227.0.130.0/bnxt.c:80:
|
||||
bnxt_en-1.10.2-227.0.130.0/bnxt_compat.h:1893: note: this is the location of\
|
||||
the previous definition
|
||||
1893 | #define page_pool_release_page(page_pool, page)
|
||||
|
|
||||
bnxt_en-1.10.2-227.0.130.0/bnxt.c:102:10: fatal error: net/page_pool.h: No\
|
||||
such file or directory
|
||||
102 | #include <net/page_pool.h>
|
||||
| ^~~~~~~~~~~~~~~~~
|
||||
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
||||
---
|
||||
bnxt_en-1.10.2-227.0.130.0/Makefile | 4 ++--
|
||||
bnxt_en-1.10.2-227.0.130.0/bnxt.c | 2 +-
|
||||
bnxt_en-1.10.2-227.0.130.0/bnxt_xdp.c | 2 +-
|
||||
3 files changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/bnxt_en-1.10.2-227.0.130.0/Makefile b/bnxt_en-1.10.2-227.0.130.0/Makefile
|
||||
index 6237767..2331171 100644
|
||||
--- a/bnxt_en-1.10.2-227.0.130.0/Makefile
|
||||
+++ b/bnxt_en-1.10.2-227.0.130.0/Makefile
|
||||
@@ -753,7 +753,7 @@ ifneq ($(shell grep -so "xdp_data_hard_end" $(LINUXSRC)/include/net/xdp.h),)
|
||||
DISTRO_CFLAG += -DHAVE_XDP_FRAME_SZ
|
||||
endif
|
||||
|
||||
-ifneq ($(shell grep -so "page_pool_release_page" $(LINUXSRC)/include/net/page_pool.h),)
|
||||
+ifneq ($(shell grep -so "page_pool_release_page" $(LINUXSRC)/include/net/page_pool/helpers.h),)
|
||||
DISTRO_CFLAG += -DHAVE_PAGE_POOL_RELEASE_PAGE
|
||||
endif
|
||||
|
||||
@@ -1224,7 +1224,7 @@ ifneq ($(shell grep -so "hwmon_notify_event" $(LINUXSRC)/include/linux/hwmon.h),
|
||||
DISTRO_CFLAG += -DHAVE_HWMON_NOTIFY_EVENT
|
||||
endif
|
||||
|
||||
-ifneq ($(shell grep -so "page_pool_dev_alloc_frag" $(LINUXSRC)/include/net/page_pool.h),)
|
||||
+ifneq ($(shell grep -so "page_pool_dev_alloc_frag" $(LINUXSRC)/include/net/page_pool/helpers.h),)
|
||||
DISTRO_CFLAG += -DHAVE_PAGE_POOL_PAGE_FRAG
|
||||
endif
|
||||
|
||||
diff --git a/bnxt_en-1.10.2-227.0.130.0/bnxt.c b/bnxt_en-1.10.2-227.0.130.0/bnxt.c
|
||||
index 611dcaa..f464809 100644
|
||||
--- a/bnxt_en-1.10.2-227.0.130.0/bnxt.c
|
||||
+++ b/bnxt_en-1.10.2-227.0.130.0/bnxt.c
|
||||
@@ -99,7 +99,7 @@
|
||||
#include "bnxt_debugfs.h"
|
||||
#include "bnxt_coredump.h"
|
||||
#ifdef CONFIG_PAGE_POOL
|
||||
-#include <net/page_pool.h>
|
||||
+#include <net/page_pool/helpers.h>
|
||||
#ifdef HAVE_XDP_MULTI_BUFF
|
||||
#include <linux/align.h>
|
||||
#endif
|
||||
diff --git a/bnxt_en-1.10.2-227.0.130.0/bnxt_xdp.c b/bnxt_en-1.10.2-227.0.130.0/bnxt_xdp.c
|
||||
index 4b15c9a..42469c7 100644
|
||||
--- a/bnxt_en-1.10.2-227.0.130.0/bnxt_xdp.c
|
||||
+++ b/bnxt_en-1.10.2-227.0.130.0/bnxt_xdp.c
|
||||
@@ -25,7 +25,7 @@
|
||||
#include "bnxt.h"
|
||||
#include "bnxt_xdp.h"
|
||||
#ifdef CONFIG_PAGE_POOL
|
||||
-#include <net/page_pool.h>
|
||||
+#include <net/page_pool/helpers.h>
|
||||
#endif
|
||||
|
||||
DEFINE_STATIC_KEY_FALSE(bnxt_xdp_locking_key);
|
||||
--
|
||||
2.43.0
|
||||
|
@@ -0,0 +1,96 @@
|
||||
From 1f9e5517b54fca5b25e93a030e6d091fc2c5adb3 Mon Sep 17 00:00:00 2001
|
||||
From: "M. Vefa Bicakci" <vefa.bicakci@windriver.com>
|
||||
Date: Fri, 4 Feb 2022 18:27:53 -0500
|
||||
Subject: [PATCH 2/4] bnxt_re: Adapt to mlnx-ofa_kernel for StarlingX
|
||||
|
||||
This patch adapts the bnxt_re kernel module's Makefile to
|
||||
mlnx-ofa_kernel for Debian-based StarlingX. Also modify
|
||||
bnxt_re_reg_user_mr_dmabuf for the incompatible API.
|
||||
|
||||
Here is a summary of the changes:
|
||||
|
||||
- Unlike CentOS-based StarlingX, the KDIR variable is no longer needed
|
||||
to be specified explicitly to make, because the symbolic links
|
||||
/lib/modules/<kver>/{build,source} are sufficient to detect the
|
||||
correct directories on Debian. However, this leaves the KDIR variable
|
||||
undefined, which is problematic as this variable is used later in the
|
||||
Makefile. Fix this by pointing KDIR to the "build" symbolic link
|
||||
(i.e., "$(LINUX)").
|
||||
- Correct the kconfig_h path, it should be in source folder.
|
||||
- Modifiy bnxt_re_reg_user_mr_dmabuf to fix the build error:
|
||||
bnxt_re-232.0.155.5/main.c:3000:28: error: initialization of 'struct ib_mr \
|
||||
* (*)(struct ib_pd *, u64, u64, u64, int, int, struct \
|
||||
uverbs_attr_bundle *)' {aka 'struct ib_mr * (*)(struct ib_pd *, \
|
||||
long long unsigned int, long long unsigned int, long long unsigned int,\
|
||||
int, int, struct uverbs_attr_bundle *)'} from incompatible pointer type \
|
||||
'struct ib_mr * (*)(struct ib_pd *, u64, u64, u64, int, int, \
|
||||
struct ib_udata *)' {aka 'struct ib_mr * (*)(struct ib_pd *, \
|
||||
long long unsigned int, long long unsigned int, long long unsigned int, \
|
||||
int, int, struct ib_udata *)'} [-Werror=incompatible-pointer-types] \
|
||||
3000 | .reg_user_mr_dmabuf = bnxt_re_reg_user_mr_dmabuf,
|
||||
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
bnxt_re-232.0.155.5/main.c:3000:28: note: (near initialization for \
|
||||
'bnxt_re_dev_ops.reg_user_mr_dmabuf')
|
||||
|
||||
Signed-off-by: M. Vefa Bicakci <vefa.bicakci@windriver.com>
|
||||
[jm: Adapted the patch for context change]
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
||||
[jm: Adapted the patch for context change]
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
||||
---
|
||||
bnxt_re-232.0.155.5/Makefile | 4 +++-
|
||||
bnxt_re-232.0.155.5/ib_verbs.c | 2 +-
|
||||
bnxt_re-232.0.155.5/ib_verbs.h | 2 +-
|
||||
3 files changed, 5 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/bnxt_re-232.0.155.5/Makefile b/bnxt_re-232.0.155.5/Makefile
|
||||
index 58fffe1..9f1531d 100644
|
||||
--- a/bnxt_re-232.0.155.5/Makefile
|
||||
+++ b/bnxt_re-232.0.155.5/Makefile
|
||||
@@ -59,6 +59,8 @@ endif
|
||||
ifneq ($(KDIR),)
|
||||
LINUX=$(KDIR)
|
||||
LINUXSRC=$(LINUX)
|
||||
+else ifneq ($(LINUX),)
|
||||
+ KDIR=$(LINUX)
|
||||
endif
|
||||
|
||||
ifeq ($(shell ls $(LINUXSRC)/include/uapi > /dev/null 2>&1 && echo uapi),)
|
||||
@@ -106,7 +108,7 @@ EXTRA_CFLAGS += -D__OFED_BUILD__
|
||||
EXTRA_CFLAGS += -include $(OFA_KERNEL_PATH)/include/linux/compat-2.6.h
|
||||
|
||||
autoconf_h = $(shell /bin/ls -1 $(LINUX)/include/*/autoconf.h 2> /dev/null | head -1)
|
||||
-kconfig_h=$(shell /bin/ls -1 $(LINUX)/include/*/kconfig.h 2> /dev/null | head -1)
|
||||
+kconfig_h=$(shell /bin/ls -1 $(LINUXSRC)/include/*/kconfig.h 2> /dev/null | head -1)
|
||||
|
||||
ifneq ($(autoconf_h),)
|
||||
AUTOCONF_H = -include $(autoconf_h)
|
||||
diff --git a/bnxt_re-232.0.155.5/ib_verbs.c b/bnxt_re-232.0.155.5/ib_verbs.c
|
||||
index 78a1fbb..3f4d52d 100644
|
||||
--- a/bnxt_re-232.0.155.5/ib_verbs.c
|
||||
+++ b/bnxt_re-232.0.155.5/ib_verbs.c
|
||||
@@ -6979,7 +6979,7 @@ static int bnxt_re_get_num_pages(struct ib_umem *umem, u64 start, u64 length, in
|
||||
#ifdef HAVE_IB_UMEM_DMABUF
|
||||
struct ib_mr *bnxt_re_reg_user_mr_dmabuf(struct ib_pd *ib_pd, u64 start,
|
||||
u64 length, u64 virt_addr, int fd,
|
||||
- int mr_access_flags, struct ib_udata *udata)
|
||||
+ int mr_access_flags, struct uverbs_attr_bundle *attrs)
|
||||
{
|
||||
struct bnxt_re_pd *pd = to_bnxt_re(ib_pd, struct bnxt_re_pd, ib_pd);
|
||||
u32 max_mr_count, max_mr_dmabuf_count;
|
||||
diff --git a/bnxt_re-232.0.155.5/ib_verbs.h b/bnxt_re-232.0.155.5/ib_verbs.h
|
||||
index f242f1d..53c5bda 100644
|
||||
--- a/bnxt_re-232.0.155.5/ib_verbs.h
|
||||
+++ b/bnxt_re-232.0.155.5/ib_verbs.h
|
||||
@@ -471,7 +471,7 @@ struct ib_mr *bnxt_re_reg_user_mr(struct ib_pd *pd, u64 start, u64 length,
|
||||
struct ib_mr *bnxt_re_reg_user_mr_dmabuf(struct ib_pd *ib_pd, u64 start,
|
||||
u64 length, u64 virt_addr,
|
||||
int fd, int mr_access_flags,
|
||||
- struct ib_udata *udata);
|
||||
+ struct uverbs_attr_bundle *attrs);
|
||||
#endif
|
||||
#ifdef HAVE_IB_REREG_USER_MR
|
||||
REREG_USER_MR_RET
|
||||
--
|
||||
2.47.1
|
||||
|
@@ -1,14 +1,12 @@
|
||||
From 474236904abea6f8ef1ae3d52245b714e5566b59 Mon Sep 17 00:00:00 2001
|
||||
From dac440c75df75b0e656ef5d3b7481599b60f929d Mon Sep 17 00:00:00 2001
|
||||
From: "M. Vefa Bicakci" <vefa.bicakci@windriver.com>
|
||||
Date: Wed, 2 Mar 2022 14:14:12 -0500
|
||||
Subject: [PATCH 09/10] bnxt_en, bnxt_re: Use irq_update_affinity_hint
|
||||
Subject: [PATCH 3/4] bnxt_en, bnxt_re: Use irq_update_affinity_hint
|
||||
|
||||
This commit updates the bnxt_en and bnxt_re device drivers to use the
|
||||
irq_update_affinity_hint function instead of the irq_set_affinity_hint
|
||||
function, so that StarlingX's CPU affinity requirements for interrupts
|
||||
are met. (Note that the StarlingX kernel has been patched to add the
|
||||
irq_update_affinity_hint API function, which originally did not exist in
|
||||
kernel version 5.10.)
|
||||
are met.
|
||||
|
||||
irq_set_affinity_hint sets the IRQ affinity hint as well as the actual
|
||||
IRQ affinity, which causes the IRQ affinity to not align with the value
|
||||
@@ -29,68 +27,33 @@ to be affined to the CPUs listed in the irqaffinity= command line
|
||||
argument by default, and eliminates the need to set the IRQ affinities
|
||||
after the initialization of network interfaces.
|
||||
|
||||
Finally, please note that the changes in bnxt_en were confirmed to not
|
||||
be compiled with StarlingX's 5.10-based kernel, because of the following
|
||||
conditional compilation pre-processor directives that are above the
|
||||
irq_set_affinity_hint/irq_update_affinity_hint call site:
|
||||
|
||||
#if (!defined(CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR) || \
|
||||
KERNEL_VERSION(4, 15, 0) > LINUX_VERSION_CODE) && \
|
||||
(defined(HAVE_CPUMASK_LOCAL_FIRST) || \
|
||||
defined(HAVE_CPUMASK_LOCAL_SPREAD))
|
||||
|
||||
/* ... */
|
||||
cpumask_set_cpu(cpumask_local_spread(i, numa_node),
|
||||
irq->cpu_mask);
|
||||
/* ... */
|
||||
rc = irq_update_affinity_hint(irq->vector, irq->cpu_mask);
|
||||
/* ... */
|
||||
|
||||
The IRQ matrix allocator is enabled in StarlingX's kernel, which also
|
||||
has a version greater than 4.15. 4.15 happens to be the kernel version
|
||||
with which the IRQ matrix allocator was introduced. In other words, the
|
||||
call site in question is not compiled at all with the out-of-tree
|
||||
bnxt_en driver. The in-tree version of bnxt_en does not have conditional
|
||||
compilation directives around the same code (i.e., the code is always
|
||||
compiled in).
|
||||
|
||||
Our imperfect understanding of the intent is that the out-of-tree
|
||||
bnxt_en driver's authors decided to rely on the IRQ matrix allocator's
|
||||
default IRQ vector distribution behaviour (which appears to occur at a
|
||||
lower level) instead of setting the IRQ affinity hints explicitly.
|
||||
|
||||
Thankfully, the lack of a call irq_update_affinity_hint does not prevent
|
||||
the irqaffinity= command line argument from taking effect for such
|
||||
interrupts. This was confirmed with a virtual machine and the e1000e
|
||||
driver, which also manages multiple MSI-X interrupts and which also does
|
||||
not explicitly set the IRQ affinities nor affinity hints. In our
|
||||
experiments, the IRQ affinities of the emulated Intel network adapter
|
||||
correctly matched the CPU list set by the irqaffinity= command line
|
||||
argument.
|
||||
|
||||
Despite what is discussed above, the code changes in bnxt_en are kept
|
||||
for completeness.
|
||||
|
||||
Signed-off-by: M. Vefa Bicakci <vefa.bicakci@windriver.com>
|
||||
[jm: Adapted the patch for context change, also adaptthe comment.]
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
||||
---
|
||||
bnxt_en-1.10.2-227.0.130.0/bnxt.c | 6 +++---
|
||||
bnxt_re-227.0.130.0/qplib_fp.c | 6 +++---
|
||||
bnxt_en-1.10.3-232.0.155.5/bnxt.c | 6 +++---
|
||||
bnxt_re-232.0.155.5/qplib_fp.c | 6 +++---
|
||||
2 files changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/bnxt_en-1.10.2-227.0.130.0/bnxt.c b/bnxt_en-1.10.2-227.0.130.0/bnxt.c
|
||||
index 1ccdb79..3a61281 100644
|
||||
--- a/bnxt_en-1.10.2-227.0.130.0/bnxt.c
|
||||
+++ b/bnxt_en-1.10.2-227.0.130.0/bnxt.c
|
||||
@@ -12479,7 +12479,7 @@ static void bnxt_free_irq(struct bnxt *bp)
|
||||
(defined(HAVE_CPUMASK_LOCAL_FIRST) || \
|
||||
defined(HAVE_CPUMASK_LOCAL_SPREAD))
|
||||
diff --git a/bnxt_en-1.10.3-232.0.155.5/bnxt.c b/bnxt_en-1.10.3-232.0.155.5/bnxt.c
|
||||
index ee2303e..1d878a3 100644
|
||||
--- a/bnxt_en-1.10.3-232.0.155.5/bnxt.c
|
||||
+++ b/bnxt_en-1.10.3-232.0.155.5/bnxt.c
|
||||
@@ -14232,7 +14232,7 @@ static void bnxt_free_irq(struct bnxt *bp)
|
||||
if (irq->requested) {
|
||||
#if defined(HAVE_CPUMASK_LOCAL_FIRST) || defined(HAVE_CPUMASK_LOCAL_SPREAD)
|
||||
if (irq->have_cpumask) {
|
||||
- irq_set_affinity_hint(irq->vector, NULL);
|
||||
+ irq_update_affinity_hint(irq->vector, NULL);
|
||||
free_cpumask_var(irq->cpu_mask);
|
||||
irq->have_cpumask = 0;
|
||||
}
|
||||
@@ -12554,10 +12554,10 @@ static int bnxt_request_irq(struct bnxt *bp)
|
||||
@@ -14344,10 +14344,10 @@ static int bnxt_request_irq(struct bnxt *bp)
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
@@ -103,11 +66,11 @@ index 1ccdb79..3a61281 100644
|
||||
irq->vector);
|
||||
break;
|
||||
}
|
||||
diff --git a/bnxt_re-227.0.130.0/qplib_fp.c b/bnxt_re-227.0.130.0/qplib_fp.c
|
||||
index d7c6d80..ae50c0b 100644
|
||||
--- a/bnxt_re-227.0.130.0/qplib_fp.c
|
||||
+++ b/bnxt_re-227.0.130.0/qplib_fp.c
|
||||
@@ -518,7 +518,7 @@ void bnxt_qplib_nq_stop_irq(struct bnxt_qplib_nq *nq, bool kill)
|
||||
diff --git a/bnxt_re-232.0.155.5/qplib_fp.c b/bnxt_re-232.0.155.5/qplib_fp.c
|
||||
index 007d4b3..e202006 100644
|
||||
--- a/bnxt_re-232.0.155.5/qplib_fp.c
|
||||
+++ b/bnxt_re-232.0.155.5/qplib_fp.c
|
||||
@@ -551,7 +551,7 @@ void bnxt_qplib_nq_stop_irq(struct bnxt_qplib_nq *nq, bool kill)
|
||||
bnxt_qplib_ring_nq_db(&nq->nq_db.dbinfo, res->cctx, false);
|
||||
/* Sync with last running IRQ handler */
|
||||
synchronize_irq(nq->msix_vec);
|
||||
@@ -116,7 +79,7 @@ index d7c6d80..ae50c0b 100644
|
||||
free_irq(nq->msix_vec, nq);
|
||||
kfree(nq->name);
|
||||
nq->name = NULL;
|
||||
@@ -577,10 +577,10 @@ int bnxt_qplib_nq_start_irq(struct bnxt_qplib_nq *nq, int nq_indx,
|
||||
@@ -610,10 +610,10 @@ int bnxt_qplib_nq_start_irq(struct bnxt_qplib_nq *nq, int nq_indx,
|
||||
|
||||
cpumask_clear(&nq->mask);
|
||||
cpumask_set_cpu(nq_indx, &nq->mask);
|
||||
@@ -130,5 +93,5 @@ index d7c6d80..ae50c0b 100644
|
||||
nq->requested = true;
|
||||
bnxt_qplib_ring_nq_db(&nq->nq_db.dbinfo, res->cctx, true);
|
||||
--
|
||||
2.43.0
|
||||
2.47.1
|
||||
|
@@ -1,62 +0,0 @@
|
||||
From cbeba2c17eb7bc5a64e90eceae08908e6be16e36 Mon Sep 17 00:00:00 2001
|
||||
From: Jiping Ma <jiping.ma2@windriver.com>
|
||||
Date: Tue, 9 Apr 2024 07:15:18 +0000
|
||||
Subject: [PATCH 03/10] bnxt_en: fix the build errors
|
||||
|
||||
We encounter the following two build errors.
|
||||
|
||||
1. "page_pool_release_page" redefined.
|
||||
bnxt_en-1.10.2-227.0.130.0/bnxt_compat.h:2581: error: "page_pool_release_page"\
|
||||
redefined [-Werror]
|
||||
2581 | #define page_pool_release_page(pp, page)
|
||||
|
|
||||
In file included from /<<PKGBUILDDIR>>/bnxt_en-1.10.2-227.0.130.0/bnxt.c:80:
|
||||
bnxt_en-1.10.2-227.0.130.0/bnxt_compat.h:1893: note: this is the location of \
|
||||
the previous definition
|
||||
1893 | #define page_pool_release_page(page_pool, page)
|
||||
|
||||
2. conversion from enum cfa_tcam_mgr_device_type to enum
|
||||
cfa_tcam_mgr_tbl_type.
|
||||
bnxt_en-1.10.2-227.0.130.0/tf_core/cfa_tcam_mgr.c:982:32: error: implicit \
|
||||
conversion from enum cfa_tcam_mgr_device_type to enum cfa_tcam_mgr_tbl_type\
|
||||
[-Werror=enum-conversion]
|
||||
982 | cfa_tcam_mgr_tbl_2_str(type),
|
||||
| ^~~~
|
||||
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
||||
---
|
||||
bnxt_en-1.10.2-227.0.130.0/bnxt_compat.h | 4 ----
|
||||
bnxt_en-1.10.2-227.0.130.0/tf_core/cfa_tcam_mgr.c | 2 +-
|
||||
2 files changed, 1 insertion(+), 5 deletions(-)
|
||||
|
||||
diff --git a/bnxt_en-1.10.2-227.0.130.0/bnxt_compat.h b/bnxt_en-1.10.2-227.0.130.0/bnxt_compat.h
|
||||
index 652724f..df93a73 100644
|
||||
--- a/bnxt_en-1.10.2-227.0.130.0/bnxt_compat.h
|
||||
+++ b/bnxt_en-1.10.2-227.0.130.0/bnxt_compat.h
|
||||
@@ -2577,10 +2577,6 @@ struct netlink_ext_ack {
|
||||
#define skb_mark_for_recycle(skb) skb_mark_for_recycle(skb, page, rxr->page_pool)
|
||||
#endif
|
||||
|
||||
-#ifdef HAVE_SKB_MARK_RECYCLE
|
||||
-#define page_pool_release_page(pp, page)
|
||||
-#endif
|
||||
-
|
||||
#ifdef CONFIG_BNXT_HWMON
|
||||
#include <linux/hwmon.h>
|
||||
#ifndef HWMON_CHANNEL_INFO
|
||||
diff --git a/bnxt_en-1.10.2-227.0.130.0/tf_core/cfa_tcam_mgr.c b/bnxt_en-1.10.2-227.0.130.0/tf_core/cfa_tcam_mgr.c
|
||||
index 08b90d4..7a0d9fc 100644
|
||||
--- a/bnxt_en-1.10.2-227.0.130.0/tf_core/cfa_tcam_mgr.c
|
||||
+++ b/bnxt_en-1.10.2-227.0.130.0/tf_core/cfa_tcam_mgr.c
|
||||
@@ -979,7 +979,7 @@ int cfa_tcam_mgr_init(struct tf *tfp, enum cfa_tcam_mgr_device_type type,
|
||||
netdev_dbg(tfp->bp->dev,
|
||||
"%s: %s End row is OOR(%d >= %d)\n",
|
||||
tf_dir_2_str(dir),
|
||||
- cfa_tcam_mgr_tbl_2_str(type),
|
||||
+ cfa_tcam_mgr_tbl_2_str((enum cfa_tcam_mgr_tbl_type)type),
|
||||
table_data->end_row,
|
||||
table_data->num_rows);
|
||||
return -EFAULT;
|
||||
--
|
||||
2.43.0
|
||||
|
@@ -1,7 +1,7 @@
|
||||
From ff80107e1cca82430eceb5719bbb186e4d9ac480 Mon Sep 17 00:00:00 2001
|
||||
From 7fe4924f07a44f0080d1ea8d9a0f276775dbfdcb Mon Sep 17 00:00:00 2001
|
||||
From: "M. Vefa Bicakci" <vefa.bicakci@windriver.com>
|
||||
Date: Fri, 15 Apr 2022 04:29:31 +0000
|
||||
Subject: [PATCH 10/10] bnxt_en/Makefile: Allow parallelized build
|
||||
Subject: [PATCH 4/4] bnxt_en/Makefile: Allow parallelized build
|
||||
|
||||
This commit allows bnxt_en's build to be parallelized via the use of
|
||||
"$(MAKE)" instead of "make". Without this change, make for bnxt_en
|
||||
@@ -12,15 +12,17 @@ manner:
|
||||
Add '+' to parent make rule.
|
||||
|
||||
Signed-off-by: M. Vefa Bicakci <vefa.bicakci@windriver.com>
|
||||
[jm: Adapted the patch for context change]
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
||||
---
|
||||
bnxt_en-1.10.2-227.0.130.0/Makefile | 4 ++--
|
||||
bnxt_en-1.10.3-232.0.155.5/Makefile | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/bnxt_en-1.10.2-227.0.130.0/Makefile b/bnxt_en-1.10.2-227.0.130.0/Makefile
|
||||
index e229cc9..84c16d2 100644
|
||||
--- a/bnxt_en-1.10.2-227.0.130.0/Makefile
|
||||
+++ b/bnxt_en-1.10.2-227.0.130.0/Makefile
|
||||
@@ -1364,9 +1364,9 @@ endef
|
||||
diff --git a/bnxt_en-1.10.3-232.0.155.5/Makefile b/bnxt_en-1.10.3-232.0.155.5/Makefile
|
||||
index 472f775..2fa27f0 100644
|
||||
--- a/bnxt_en-1.10.3-232.0.155.5/Makefile
|
||||
+++ b/bnxt_en-1.10.3-232.0.155.5/Makefile
|
||||
@@ -1584,9 +1584,9 @@ endef
|
||||
|
||||
default:
|
||||
ifeq ($(CROSS_COMPILE),)
|
||||
@@ -33,5 +35,5 @@ index e229cc9..84c16d2 100644
|
||||
|
||||
yocto_all:
|
||||
--
|
||||
2.43.0
|
||||
2.47.1
|
||||
|
@@ -1,60 +0,0 @@
|
||||
From 87beff6c0d67f5ae8f088a49469bf5262d75023b Mon Sep 17 00:00:00 2001
|
||||
From: Jiping Ma <jiping.ma2@windriver.com>
|
||||
Date: Tue, 9 Apr 2024 07:30:05 +0000
|
||||
Subject: [PATCH 04/10] bnxt_en: skb_frag_fill_page_desc() replace of
|
||||
__skb_frag_set_page
|
||||
|
||||
This patch accommodates commit 278fda0d52f6 ("net: remove __skb_frag_set_page()")
|
||||
merged in the v6.5 development cycle, by applying a similar change to the
|
||||
out-of-tree bnxt_en driver to resolve the compilation errors encountered with
|
||||
the v6.6 kernel, which are listed below.
|
||||
|
||||
References:
|
||||
* https://git.yoctoproject.org/linux-yocto/commit/?h=b51f4113ebb0
|
||||
* https://git.yoctoproject.org/linux-yocto/commit/?h=278fda0d52f6
|
||||
|
||||
Resolved compilation errors:
|
||||
|
||||
bnxt_en-1.10.2-227.0.130.0/bnxt.c: In function __bnxt_rx_agg_pages:
|
||||
bnxt_en-1.10.2-227.0.130.0/bnxt.c:1545:3: error: implicit declaration\
|
||||
of function __skb_frag_set_page; did you mean skb_frag_page? \
|
||||
[-Werror=implicit-function-declaration]
|
||||
1545 | __skb_frag_set_page(frag, cons_rx_buf->page);
|
||||
| ^~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
||||
---
|
||||
bnxt_en-1.10.2-227.0.130.0/bnxt.c | 10 +++-------
|
||||
1 file changed, 3 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/bnxt_en-1.10.2-227.0.130.0/bnxt.c b/bnxt_en-1.10.2-227.0.130.0/bnxt.c
|
||||
index f464809..b763655 100644
|
||||
--- a/bnxt_en-1.10.2-227.0.130.0/bnxt.c
|
||||
+++ b/bnxt_en-1.10.2-227.0.130.0/bnxt.c
|
||||
@@ -1540,9 +1540,8 @@ static u32 __bnxt_rx_agg_pages(struct bnxt *bp,
|
||||
RX_AGG_CMP_LEN) >> RX_AGG_CMP_LEN_SHIFT;
|
||||
|
||||
cons_rx_buf = &rxr->rx_agg_ring[cons];
|
||||
- skb_frag_off_set(frag, cons_rx_buf->offset);
|
||||
- skb_frag_size_set(frag, frag_len);
|
||||
- __skb_frag_set_page(frag, cons_rx_buf->page);
|
||||
+ skb_frag_fill_page_desc(frag, cons_rx_buf->page,
|
||||
+ cons_rx_buf->offset, frag_len);
|
||||
shinfo->nr_frags = i + 1;
|
||||
__clear_bit(cons, rxr->rx_agg_bmap);
|
||||
|
||||
@@ -1558,10 +1557,7 @@ static u32 __bnxt_rx_agg_pages(struct bnxt *bp,
|
||||
xdp_buff_set_frag_pfmemalloc(xdp);
|
||||
|
||||
if (bnxt_alloc_rx_page(bp, rxr, prod, GFP_ATOMIC) != 0) {
|
||||
- unsigned int nr_frags;
|
||||
-
|
||||
- nr_frags = --shinfo->nr_frags;
|
||||
- __skb_frag_set_page(&shinfo->frags[nr_frags], NULL);
|
||||
+ --shinfo->nr_frags;
|
||||
cons_rx_buf->page = page;
|
||||
|
||||
/* Update prod since possibly some pages have been
|
||||
--
|
||||
2.43.0
|
||||
|
@@ -1,58 +0,0 @@
|
||||
From 71d56c87a2fdbcc600e39867d462ea40ca4260ad Mon Sep 17 00:00:00 2001
|
||||
From: Jiping Ma <jiping.ma2@windriver.com>
|
||||
Date: Tue, 9 Apr 2024 07:33:11 +0000
|
||||
Subject: [PATCH 05/10] bnxt_en: Drop redundant
|
||||
pci_enable_pcie_error_reporting()
|
||||
|
||||
This commit accommodates commit 7ec4b34be423 ("PCI/AER: Unexport
|
||||
pci_enable_pcie_error_reporting()") merged in the v6.6 development cycle,
|
||||
by applying changes similar to the ones found in commit 5f29b73d4eba
|
||||
("bnxt: Drop redundant pci_enable_pcie_error_reporting()
|
||||
") to resolve the bnxt_en driver compilation failures encountered with
|
||||
the v6.6 kernel, which are listed below.
|
||||
|
||||
References:
|
||||
* https://git.yoctoproject.org/linux-yocto/commit/?h=5f29b73d4eba
|
||||
|
||||
Resolved compilation errors:
|
||||
|
||||
bnxt_en-1.10.2-227.0.130.0/bnxt.c:16658:2: error: implicit declaration\
|
||||
of function pci_enable_pcie_error_reporting \
|
||||
[-Werror=implicit-function-declaration]
|
||||
16658 | pci_enable_pcie_error_reporting(pdev);
|
||||
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
bnxt_en-1.10.2-227.0.130.0/bnxt.c: In function bnxt_remove_one:
|
||||
bnxt_en-1.10.2-227.0.130.0/bnxt.c:17632:2: error: implicit declaration\
|
||||
of function pci_disable_pcie_error_reporting \
|
||||
[-Werror=implicit-function-declaration]
|
||||
17632 | pci_disable_pcie_error_reporting(pdev);
|
||||
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
||||
---
|
||||
bnxt_en-1.10.2-227.0.130.0/bnxt.c | 3 ---
|
||||
1 file changed, 3 deletions(-)
|
||||
|
||||
diff --git a/bnxt_en-1.10.2-227.0.130.0/bnxt.c b/bnxt_en-1.10.2-227.0.130.0/bnxt.c
|
||||
index b763655..1ccdb79 100644
|
||||
--- a/bnxt_en-1.10.2-227.0.130.0/bnxt.c
|
||||
+++ b/bnxt_en-1.10.2-227.0.130.0/bnxt.c
|
||||
@@ -16651,8 +16651,6 @@ static int bnxt_init_board(struct pci_dev *pdev, struct net_device *dev)
|
||||
goto init_err_release;
|
||||
}
|
||||
|
||||
- pci_enable_pcie_error_reporting(pdev);
|
||||
-
|
||||
INIT_WORK(&bp->sp_task, bnxt_sp_task);
|
||||
INIT_DELAYED_WORK(&bp->fw_reset_task, bnxt_fw_reset_task);
|
||||
|
||||
@@ -17625,7 +17623,6 @@ static void bnxt_remove_one(struct pci_dev *pdev)
|
||||
devlink_port_type_clear(&bp->dl_port);
|
||||
#endif
|
||||
bnxt_ptp_clear(bp);
|
||||
- pci_disable_pcie_error_reporting(pdev);
|
||||
unregister_netdev(dev);
|
||||
bnxt_dbr_exit(bp);
|
||||
clear_bit(BNXT_STATE_IN_FW_RESET, &bp->state);
|
||||
--
|
||||
2.43.0
|
||||
|
@@ -1,41 +0,0 @@
|
||||
From d7b26be91901d084d78b97583f328efb09b5d637 Mon Sep 17 00:00:00 2001
|
||||
From: Jiping Ma <jiping.ma2@windriver.com>
|
||||
Date: Tue, 9 Apr 2024 07:55:36 +0000
|
||||
Subject: [PATCH 06/10] bnxt_en: Use 64bits for used_keys
|
||||
|
||||
As 32bits of dissector->used_keys are exhausted,
|
||||
increase the size to 64bits. change 0x%x to 0x%llx to fix the
|
||||
following build error.
|
||||
|
||||
References:
|
||||
* https://git.yoctoproject.org/linux-yocto/commit/?h=2b3082c6ef3b
|
||||
|
||||
bnxt_en-1.10.2-227.0.130.0/bnxt_tc.c:679:24: error: format \
|
||||
expects argument of type unsigned int, but argument 4 has \
|
||||
type long long unsigned int [-Werror=format=]
|
||||
679 | netdev_info(bp->dev, "cannot form TC key: used_keys = 0x%x\n",
|
||||
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
680 | dissector->used_keys);
|
||||
| ~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
||||
---
|
||||
bnxt_en-1.10.2-227.0.130.0/bnxt_tc.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/bnxt_en-1.10.2-227.0.130.0/bnxt_tc.c b/bnxt_en-1.10.2-227.0.130.0/bnxt_tc.c
|
||||
index 6a1bcac..39879be 100644
|
||||
--- a/bnxt_en-1.10.2-227.0.130.0/bnxt_tc.c
|
||||
+++ b/bnxt_en-1.10.2-227.0.130.0/bnxt_tc.c
|
||||
@@ -676,7 +676,7 @@ static int bnxt_tc_parse_flow(struct bnxt *bp,
|
||||
/* KEY_CONTROL and KEY_BASIC are needed for forming a meaningful key */
|
||||
if ((dissector->used_keys & BIT(FLOW_DISSECTOR_KEY_CONTROL)) == 0 ||
|
||||
(dissector->used_keys & BIT(FLOW_DISSECTOR_KEY_BASIC)) == 0) {
|
||||
- netdev_info(bp->dev, "cannot form TC key: used_keys = 0x%x\n",
|
||||
+ netdev_info(bp->dev, "cannot form TC key: used_keys = 0x%llx\n",
|
||||
dissector->used_keys);
|
||||
return -EOPNOTSUPP;
|
||||
}
|
||||
--
|
||||
2.43.0
|
||||
|
@@ -1,49 +0,0 @@
|
||||
From a3309f86fe1c3f7829b1f9673e6278f76a6e754c Mon Sep 17 00:00:00 2001
|
||||
From: Jiping Ma <jiping.ma2@windriver.com>
|
||||
Date: Tue, 9 Apr 2024 08:05:40 +0000
|
||||
Subject: [PATCH 07/10] bnxt_en: remove module * from class_create()
|
||||
|
||||
This commit accommodates commit dcfbb67e48a2 ("driver core: class:
|
||||
use lock_class_key already present in struct subsys_private"),
|
||||
which removes the module pointer. This commit was merged in the
|
||||
v6.4 development cycle and causes compilation failures with the
|
||||
v6.6 kernel, which are listed below.
|
||||
|
||||
References:
|
||||
* https://git.yoctoproject.org/linux-yocto/commit/?h=1aaba11da9aa
|
||||
* https://git.yoctoproject.org/linux-yocto/commit/?h=dcfbb67e48a2
|
||||
|
||||
Resolved compilation errors:
|
||||
|
||||
/usr/src/linux-headers-6.6.0-1-common/include/linux/export.h:29:22: \
|
||||
error: passing argument 1 of class_create from incompatible pointer\
|
||||
type [-Werror=incompatible-pointer-types]
|
||||
29 | #define THIS_MODULE (&__this_module)
|
||||
| ~^~~~~~~~~~~~~~~
|
||||
| |
|
||||
| struct module *
|
||||
bnxt_en-1.10.2-227.0.130.0/bnxt_lfc.c:1180:41: note: in expansion of\
|
||||
macro THIS_MODULE
|
||||
1180 | blfc_global_dev.d_class = class_create(THIS_MODULE, BNXT_LFC_DEV_NAME);
|
||||
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
||||
---
|
||||
bnxt_en-1.10.2-227.0.130.0/bnxt_lfc.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/bnxt_en-1.10.2-227.0.130.0/bnxt_lfc.c b/bnxt_en-1.10.2-227.0.130.0/bnxt_lfc.c
|
||||
index 16fd078..09729ae 100644
|
||||
--- a/bnxt_en-1.10.2-227.0.130.0/bnxt_lfc.c
|
||||
+++ b/bnxt_en-1.10.2-227.0.130.0/bnxt_lfc.c
|
||||
@@ -1177,7 +1177,7 @@ int32_t __init bnxt_lfc_init(void)
|
||||
return rc;
|
||||
}
|
||||
|
||||
- blfc_global_dev.d_class = class_create(THIS_MODULE, BNXT_LFC_DEV_NAME);
|
||||
+ blfc_global_dev.d_class = class_create(BNXT_LFC_DEV_NAME);
|
||||
if (IS_ERR(blfc_global_dev.d_class)) {
|
||||
BNXT_LFC_ERR(NULL, "Class creation is failed\n");
|
||||
unregister_chrdev_region(blfc_global_dev.d_dev, 1);
|
||||
--
|
||||
2.43.0
|
||||
|
@@ -1,101 +0,0 @@
|
||||
From 833b892b0654611bf84d18dcb932535b33d94601 Mon Sep 17 00:00:00 2001
|
||||
From: Jiping Ma <jiping.ma2@windriver.com>
|
||||
Date: Tue, 9 Apr 2024 08:43:38 +0000
|
||||
Subject: [PATCH 08/10] bnxt_en: correct the path for auxiliary_bus.h
|
||||
|
||||
auxiliary_bus.h is in /usr/src/linux-headers-6.6.0-1-common, so correct
|
||||
the path for auxiliary_bus.h to fix the build issue.
|
||||
|
||||
bnxt_re-227.0.130.0/main.c:1032:40: error: implicit declaration of\
|
||||
function auxiliary_get_drvdata [-Werror=implicit-function-declaration]
|
||||
1032 | struct bnxt_re_en_dev_info *en_info = auxiliary_get_drvdata(handle);
|
||||
| ^~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
||||
---
|
||||
bnxt_en-1.10.2-227.0.130.0/Makefile | 12 +++++++++---
|
||||
bnxt_en-1.10.2-227.0.130.0/bnxt_auxbus_compat.h | 4 ----
|
||||
bnxt_re-227.0.130.0/Makefile | 11 ++++++++---
|
||||
3 files changed, 17 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/bnxt_en-1.10.2-227.0.130.0/Makefile b/bnxt_en-1.10.2-227.0.130.0/Makefile
|
||||
index 2331171..e229cc9 100644
|
||||
--- a/bnxt_en-1.10.2-227.0.130.0/Makefile
|
||||
+++ b/bnxt_en-1.10.2-227.0.130.0/Makefile
|
||||
@@ -1196,7 +1196,13 @@ ifneq ($(shell grep -so "struct netlink_ext_ack" $(LINUXSRC)/include/linux/netli
|
||||
DISTRO_CFLAG += -DHAVE_NETLINK_EXT_ACK
|
||||
endif
|
||||
|
||||
-ifneq ($(shell ls $(LINUXSRC)/include/linux/auxiliary_bus.h > /dev/null 2>&1 && echo auxiliary_driver),)
|
||||
+ifeq (${KSRC_COMMON},)
|
||||
+KSRC_AUX := ${LINUXSRC}
|
||||
+else
|
||||
+KSRC_AUX := ${KSRC_COMMON}
|
||||
+endif
|
||||
+
|
||||
+ifneq ($(shell ls $(KSRC_AUX)/include/linux/auxiliary_bus.h > /dev/null 2>&1 && echo auxiliary_driver),)
|
||||
DISTRO_CFLAG += -DHAVE_AUXILIARY_DRIVER
|
||||
endif
|
||||
|
||||
@@ -1208,11 +1214,11 @@ ifneq ($(shell grep -o "struct auxiliary_device_id" $(LINUXSRC)/include/linux/mo
|
||||
DISTRO_CFLAG += -DHAVE_AUX_DEVICE_ID
|
||||
endif
|
||||
|
||||
-ifneq ($(shell grep -so "auxiliary_set_drvdata" $(LINUXSRC)/include/linux/auxiliary_bus.h),)
|
||||
+ifneq ($(shell grep -so "auxiliary_set_drvdata" $(KSRC_AUX)/include/linux/auxiliary_bus.h),)
|
||||
DISTRO_CFLAG += -DHAVE_AUX_SET_DRVDATA
|
||||
endif
|
||||
|
||||
-ifneq ($(shell grep -so "auxiliary_get_drvdata" $(LINUXSRC)/include/linux/auxiliary_bus.h),)
|
||||
+ifneq ($(shell grep -so "auxiliary_get_drvdata" $(KSRC_AUX)/include/linux/auxiliary_bus.h),)
|
||||
DISTRO_CFLAG += -DHAVE_AUX_GET_DRVDATA
|
||||
endif
|
||||
|
||||
diff --git a/bnxt_en-1.10.2-227.0.130.0/bnxt_auxbus_compat.h b/bnxt_en-1.10.2-227.0.130.0/bnxt_auxbus_compat.h
|
||||
index 9496e56..d4b2653 100644
|
||||
--- a/bnxt_en-1.10.2-227.0.130.0/bnxt_auxbus_compat.h
|
||||
+++ b/bnxt_en-1.10.2-227.0.130.0/bnxt_auxbus_compat.h
|
||||
@@ -10,10 +10,6 @@
|
||||
#ifndef _BNXT_AUXILIARY_COMPAT_H_
|
||||
#define _BNXT_AUXILIARY_COMPAT_H_
|
||||
|
||||
-#if !defined(CONFIG_AUXILIARY_BUS)
|
||||
-#undef HAVE_AUXILIARY_DRIVER
|
||||
-#endif
|
||||
-
|
||||
#ifdef HAVE_AUXILIARY_DRIVER
|
||||
#include <linux/auxiliary_bus.h>
|
||||
#endif
|
||||
diff --git a/bnxt_re-227.0.130.0/Makefile b/bnxt_re-227.0.130.0/Makefile
|
||||
index 600698c..21048b9 100644
|
||||
--- a/bnxt_re-227.0.130.0/Makefile
|
||||
+++ b/bnxt_re-227.0.130.0/Makefile
|
||||
@@ -910,17 +910,22 @@ ifneq ($(shell grep -o "struct auxiliary_device_id" $(LINUXSRC)/include/linux/mo
|
||||
DISTRO_CFLAG += -DHAVE_AUX_DEVICE_ID
|
||||
endif
|
||||
|
||||
-ifneq ($(shell ls $(LINUXSRC)/include/linux/auxiliary_bus.h > /dev/null 2>&1 && echo auxiliary_driver),)
|
||||
+ifeq (${KSRC_COMMON},)
|
||||
+KSRC_AUX := ${LINUXSRC}
|
||||
+else
|
||||
+KSRC_AUX := ${KSRC_COMMON}
|
||||
+endif
|
||||
+ifneq ($(shell ls $(KSRC_AUX)/include/linux/auxiliary_bus.h > /dev/null 2>&1 && echo auxiliary_driver),)
|
||||
ifneq ($(CONFIG_AUXILIARY_BUS),)
|
||||
DISTRO_CFLAG += -DHAVE_AUXILIARY_DRIVER
|
||||
endif
|
||||
endif
|
||||
|
||||
-ifneq ($(shell grep -so "auxiliary_set_drvdata" $(LINUXSRC)/include/linux/auxiliary_bus.h),)
|
||||
+ifneq ($(shell grep -so "auxiliary_set_drvdata" $(KSRC_AUX)/include/linux/auxiliary_bus.h),)
|
||||
DISTRO_CFLAG += -DHAVE_AUX_SET_DRVDATA
|
||||
endif
|
||||
|
||||
-ifneq ($(shell grep -so "auxiliary_get_drvdata" $(LINUXSRC)/include/linux/auxiliary_bus.h),)
|
||||
+ifneq ($(shell grep -so "auxiliary_get_drvdata" $(KSRC_AUX)/include/linux/auxiliary_bus.h),)
|
||||
DISTRO_CFLAG += -DHAVE_AUX_GET_DRVDATA
|
||||
endif
|
||||
|
||||
--
|
||||
2.43.0
|
||||
|
@@ -1,10 +1,4 @@
|
||||
0001-bnxt_re-Makefile-Adapt-to-mlnx-ofa_kernel-for-Starli.patch
|
||||
0002-bnxt_en-Rename-page_pool.h-to-page_pool-helpers.h.patch
|
||||
0003-bnxt_en-fix-the-build-errors.patch
|
||||
0004-bnxt_en-skb_frag_fill_page_desc-replace-of-__skb_fra.patch
|
||||
0005-bnxt_en-Drop-redundant-pci_enable_pcie_error_reporti.patch
|
||||
0006-bnxt_en-Use-64bits-for-used_keys.patch
|
||||
0007-bnxt_en-remove-module-from-class_create.patch
|
||||
0008-bnxt_en-correct-the-path-for-auxiliary_bus.h.patch
|
||||
0009-bnxt_en-bnxt_re-Use-irq_update_affinity_hint.patch
|
||||
0010-bnxt_en-Makefile-Allow-parallelized-build.patch
|
||||
0001-bnxt_en-fix-the-build-issue.patch
|
||||
0002-bnxt_re-Adapt-to-mlnx-ofa_kernel-for-StarlingX.patch
|
||||
0003-bnxt_en-bnxt_re-Use-irq_update_affinity_hint.patch
|
||||
0004-bnxt_en-Makefile-Allow-parallelized-build.patch
|
||||
|
@@ -24,8 +24,8 @@
|
||||
# building.
|
||||
# Tools needed: mkdir, rm, tar
|
||||
|
||||
DL_TARBALL=bcm_227.1.111.0b.tar.gz
|
||||
SRC_TARBALL=Linux/Linux_Driver/netxtreme-bnxt_en-1.10.2-227.0.130.0.tar.gz
|
||||
DL_TARBALL=bcm_232.1.132.8c.tar.gz
|
||||
SRC_TARBALL=drivers_linux/bundle/netxtreme-bnxt_en-1.10.3-232.0.155.5.tar.gz
|
||||
TMPDIR="bcm_tmp"
|
||||
|
||||
DESTDIR="${1}"
|
||||
|
@@ -1,14 +1,14 @@
|
||||
---
|
||||
debver: 1.10.2.227.0.130.0
|
||||
debver: 1.10.3.232.0.155.5
|
||||
debname: bnxt-en
|
||||
dl_hook: dl_hook
|
||||
dl_files:
|
||||
bcm_227.1.111.0b.tar.gz:
|
||||
bcm_232.1.132.8c.tar.gz:
|
||||
topdir: null
|
||||
url: "https://docs.broadcom.com/docs-and-downloads/\
|
||||
ethernet-network-adapters/NXE/BRCM_227.1.111.0/\
|
||||
bcm_227.1.111.0b.tar.gz"
|
||||
sha256sum: 184977c9043b64358d65c9412063377ed5fc4d9efb225c31ce5e11f1b16b5418
|
||||
ethernet-network-adapters/NXE/BRCM_232.1.132.8/\
|
||||
bcm_232.1.132.8c.tar.gz"
|
||||
sha256sum: 01c64854af7359a9738e4509a993e51f48046e3f5d6736c933145583d0bcfdf0
|
||||
revision:
|
||||
dist: $STX_DIST
|
||||
GITREVCOUNT:
|
||||
|
@@ -0,0 +1,25 @@
|
||||
From 0206ad9bb6baaa594e326d0e5544346767896e9b Mon Sep 17 00:00:00 2001
|
||||
From: Jiping Ma <jiping.ma2@windriver.com>
|
||||
Date: Fri, 28 Mar 2025 10:07:30 +0000
|
||||
Subject: [PATCH] net:export the symbol for netdev_rx_queue_restart
|
||||
|
||||
export the symbol of netdev_rx_queue_restart that will be used by
|
||||
the driver of bnxt_en.
|
||||
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
||||
---
|
||||
net/core/netdev_rx_queue.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/net/core/netdev_rx_queue.c b/net/core/netdev_rx_queue.c
|
||||
index e217a5838c87..33185dba9290 100644
|
||||
--- a/net/core/netdev_rx_queue.c
|
||||
+++ b/net/core/netdev_rx_queue.c
|
||||
@@ -79,3 +79,4 @@ int netdev_rx_queue_restart(struct net_device *dev, unsigned int rxq_idx)
|
||||
|
||||
return err;
|
||||
}
|
||||
+EXPORT_SYMBOL(netdev_rx_queue_restart);
|
||||
--
|
||||
2.47.1
|
||||
|
@@ -14,3 +14,4 @@
|
||||
0014-Port-negative-dentries-limit-feature-from-3.10.patch
|
||||
0015-Add-the-pci-reboot-quirk-in-DMI-table-for-Dell-Power.patch
|
||||
0016-tools-Fix-the-build-errors.patch
|
||||
0017-net-export-the-symbol-for-netdev_rx_queue_restart.patch
|
||||
|
@@ -0,0 +1,25 @@
|
||||
From 0206ad9bb6baaa594e326d0e5544346767896e9b Mon Sep 17 00:00:00 2001
|
||||
From: Jiping Ma <jiping.ma2@windriver.com>
|
||||
Date: Fri, 28 Mar 2025 10:07:30 +0000
|
||||
Subject: [PATCH] net:export the symbol for netdev_rx_queue_restart
|
||||
|
||||
export the symbol of netdev_rx_queue_restart that will be used by
|
||||
the driver of bnxt_en.
|
||||
|
||||
Signed-off-by: Jiping Ma <jiping.ma2@windriver.com>
|
||||
---
|
||||
net/core/netdev_rx_queue.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/net/core/netdev_rx_queue.c b/net/core/netdev_rx_queue.c
|
||||
index e217a5838c87..33185dba9290 100644
|
||||
--- a/net/core/netdev_rx_queue.c
|
||||
+++ b/net/core/netdev_rx_queue.c
|
||||
@@ -79,3 +79,4 @@ int netdev_rx_queue_restart(struct net_device *dev, unsigned int rxq_idx)
|
||||
|
||||
return err;
|
||||
}
|
||||
+EXPORT_SYMBOL(netdev_rx_queue_restart);
|
||||
--
|
||||
2.47.1
|
||||
|
@@ -14,3 +14,4 @@
|
||||
0014-Port-negative-dentries-limit-feature-from-3.10.patch
|
||||
0015-Add-the-pci-reboot-quirk-in-DMI-table-for-Dell-Power.patch
|
||||
0016-tools-Fix-the-build-errors.patch
|
||||
0017-net-export-the-symbol-for-netdev_rx_queue_restart.patch
|
||||
|
@@ -1,3 +1,11 @@
|
||||
libbnxt-re (232.0.155.5-1) unstable; urgency=medium
|
||||
|
||||
* Upgrade the release of the libbnxt_re Infiniband verbs library for StarlingX
|
||||
to 232.0.155.5 from 227.0.130.0. This library corresponds to
|
||||
"libbnxt_re-232.0.155.5.tar.gz" in Broadcom's "bcm_232.1.132.8c" release.
|
||||
|
||||
-- Jiping Ma <Jiping.ma2@windriver.com> Mon, 15 Apr 2024 09:47:34 +0800
|
||||
|
||||
libbnxt-re (227.0.130.0-1) unstable; urgency=medium
|
||||
|
||||
* Upgrade the release of the libbnxt_re Infiniband verbs library for StarlingX
|
||||
|
@@ -24,8 +24,8 @@
|
||||
# building.
|
||||
# Tools needed: mkdir, rm, tar
|
||||
|
||||
DL_TARBALL=bcm_227.1.111.0b.tar.gz
|
||||
SRC_TARBALL=Linux/Linux_RoCE/RoCE_Lib/libbnxt_re-227.0.130.0.tar.gz
|
||||
DL_TARBALL=bcm_232.1.132.8c.tar.gz
|
||||
SRC_TARBALL=drivers_linux/bnxt_rocelib/libbnxt_re-232.0.155.5.tar.gz
|
||||
TMPDIR="bcm_tmp"
|
||||
|
||||
DESTDIR="${1}"
|
||||
|
@@ -1,14 +1,14 @@
|
||||
---
|
||||
debver: 227.0.130.0
|
||||
debver: 232.0.155.5
|
||||
debname: libbnxt-re
|
||||
dl_hook: dl_hook
|
||||
dl_files:
|
||||
bcm_227.1.111.0b.tar.gz:
|
||||
bcm_232.1.132.8c.tar.gz:
|
||||
topdir: null
|
||||
url: "https://docs.broadcom.com/docs-and-downloads/\
|
||||
ethernet-network-adapters/NXE/BRCM_227.1.111.0/\
|
||||
bcm_227.1.111.0b.tar.gz"
|
||||
sha256sum: 184977c9043b64358d65c9412063377ed5fc4d9efb225c31ce5e11f1b16b5418
|
||||
ethernet-network-adapters/NXE/BRCM_232.1.132.8/\
|
||||
bcm_232.1.132.8c.tar.gz"
|
||||
sha256sum: 01c64854af7359a9738e4509a993e51f48046e3f5d6736c933145583d0bcfdf0
|
||||
revision:
|
||||
dist: $STX_DIST
|
||||
GITREVCOUNT:
|
||||
|
Reference in New Issue
Block a user