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:
Jiping Ma
2025-03-31 06:56:12 +00:00
parent 443773aaa9
commit 606b1954d1
23 changed files with 267 additions and 651 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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}"

View File

@@ -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:

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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}"

View File

@@ -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: