]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
drop some 6.12 patches that were broken
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 8 Apr 2026 13:45:20 +0000 (15:45 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 8 Apr 2026 13:45:20 +0000 (15:45 +0200)
queue-6.12/bnxt_en-allocate-backing-store-memory-for-fw-trace-l.patch [deleted file]
queue-6.12/bnxt_en-do-not-free-fw-log-context-memory.patch [deleted file]
queue-6.12/bnxt_en-manage-the-fw-trace-context-memory.patch [deleted file]
queue-6.12/bnxt_en-restore-default-stat-ctxs-for-ulp-when-resou.patch
queue-6.12/bnxt_en-set-backing-store-type-from-query-type.patch [deleted file]
queue-6.12/bnxt_en-update-firmware-interface-spec-to-1.10.3.85.patch [deleted file]
queue-6.12/series

diff --git a/queue-6.12/bnxt_en-allocate-backing-store-memory-for-fw-trace-l.patch b/queue-6.12/bnxt_en-allocate-backing-store-memory-for-fw-trace-l.patch
deleted file mode 100644 (file)
index 0aed72c..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-From 2749c932f0b429ee0a1746832aa8b82817f2129d Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Fri, 15 Nov 2024 07:14:31 -0800
-Subject: bnxt_en: Allocate backing store memory for FW trace logs
-
-From: Shruti Parab <shruti.parab@broadcom.com>
-
-[ Upstream commit 24d694aec139e9e0a31c60993db79bd8ad575afe ]
-
-Allocate the new FW trace log backing store context memory types
-if they are supported by the FW.  FW debug logs are DMA'ed to the host
-backing store memory when the on-chip buffers are full.  If host
-memory cannot be allocated for these memory types, the driver
-will not abort.
-
-Reviewed-by: Hongguang Gao <hongguang.gao@broadcom.com>
-Signed-off-by: Shruti Parab <shruti.parab@broadcom.com>
-Signed-off-by: Michael Chan <michael.chan@broadcom.com>
-Link: https://patch.msgid.link/20241115151438.550106-6-michael.chan@broadcom.com
-Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-Stable-dep-of: 4ee937107d52 ("bnxt_en: set backing store type from query type")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 43 ++++++++++++++++++-----
- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 27 +++++++++++---
- 2 files changed, 57 insertions(+), 13 deletions(-)
-
-diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
-index 7b84ed5c300e6..d5f4cd752c680 100644
---- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
-+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
-@@ -2484,6 +2484,15 @@ static bool bnxt_auto_speed_updated(struct bnxt_link_info *link_info)
-       return false;
- }
-+bool bnxt_bs_trace_avail(struct bnxt *bp, u16 type)
-+{
-+      u32 flags = bp->ctx->ctx_arr[type].flags;
-+
-+      return (flags & BNXT_CTX_MEM_TYPE_VALID) &&
-+              ((flags & BNXT_CTX_MEM_FW_TRACE) ||
-+               (flags & BNXT_CTX_MEM_FW_BIN_TRACE));
-+}
-+
- #define BNXT_EVENT_THERMAL_CURRENT_TEMP(data2)                                \
-       ((data2) &                                                      \
-         ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_EVENT_DATA2_CURRENT_TEMP_MASK)
-@@ -8863,16 +8872,34 @@ static int bnxt_backing_store_cfg_v2(struct bnxt *bp, u32 ena)
- {
-       struct bnxt_ctx_mem_info *ctx = bp->ctx;
-       struct bnxt_ctx_mem_type *ctxm;
--      u16 last_type;
-+      u16 last_type = BNXT_CTX_INV;
-       int rc = 0;
-       u16 type;
--      if (!ena)
--              return 0;
--      else if (ena & FUNC_BACKING_STORE_CFG_REQ_ENABLES_TIM)
--              last_type = BNXT_CTX_MAX - 1;
--      else
--              last_type = BNXT_CTX_L2_MAX - 1;
-+      for (type = BNXT_CTX_SRT; type <= BNXT_CTX_RIGP1; type++) {
-+              ctxm = &ctx->ctx_arr[type];
-+              if (!bnxt_bs_trace_avail(bp, type))
-+                      continue;
-+              if (!ctxm->mem_valid) {
-+                      rc = bnxt_setup_ctxm_pg_tbls(bp, ctxm,
-+                                                   ctxm->max_entries, 1);
-+                      if (rc) {
-+                              netdev_warn(bp->dev, "Unable to setup ctx page for type:0x%x.\n",
-+                                          type);
-+                              continue;
-+                      }
-+                      last_type = type;
-+              }
-+      }
-+
-+      if (last_type == BNXT_CTX_INV) {
-+              if (!ena)
-+                      return 0;
-+              else if (ena & FUNC_BACKING_STORE_CFG_REQ_ENABLES_TIM)
-+                      last_type = BNXT_CTX_MAX - 1;
-+              else
-+                      last_type = BNXT_CTX_L2_MAX - 1;
-+      }
-       ctx->ctx_arr[last_type].last = 1;
-       for (type = 0 ; type < BNXT_CTX_V2_MAX; type++) {
-@@ -8895,7 +8922,7 @@ static void bnxt_free_one_ctx_mem(struct bnxt *bp,
-       ctxm->last = 0;
--      if (ctxm->mem_valid && !force)
-+      if (ctxm->mem_valid && !force && (ctxm->flags & BNXT_CTX_MEM_PERSIST))
-               return;
-       ctx_pg = ctxm->pg_info;
-diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.h b/drivers/net/ethernet/broadcom/bnxt/bnxt.h
-index 38690fdc3c46c..abdcbcce68acf 100644
---- a/drivers/net/ethernet/broadcom/bnxt/bnxt.h
-+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.h
-@@ -1882,6 +1882,13 @@ struct bnxt_ctx_mem_type {
-       u16     entry_size;
-       u32     flags;
- #define BNXT_CTX_MEM_TYPE_VALID FUNC_BACKING_STORE_QCAPS_V2_RESP_FLAGS_TYPE_VALID
-+#define BNXT_CTX_MEM_FW_TRACE         \
-+      FUNC_BACKING_STORE_QCAPS_V2_RESP_FLAGS_FW_DBG_TRACE
-+#define BNXT_CTX_MEM_FW_BIN_TRACE     \
-+      FUNC_BACKING_STORE_QCAPS_V2_RESP_FLAGS_FW_BIN_DBG_TRACE
-+#define BNXT_CTX_MEM_PERSIST          \
-+      FUNC_BACKING_STORE_QCAPS_V2_RESP_FLAGS_NEXT_BS_OFFSET
-+
-       u32     instance_bmap;
-       u8      init_value;
-       u8      entry_multiple;
-@@ -1922,21 +1929,30 @@ struct bnxt_ctx_mem_type {
- #define BNXT_CTX_FTQM FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_FP_TQM_RING
- #define BNXT_CTX_MRAV FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_MRAV
- #define BNXT_CTX_TIM  FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_TIM
--#define BNXT_CTX_TKC  FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_TKC
--#define BNXT_CTX_RKC  FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_RKC
-+#define BNXT_CTX_TCK  FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_TX_CK
-+#define BNXT_CTX_RCK  FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_RX_CK
- #define BNXT_CTX_MTQM FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_MP_TQM_RING
- #define BNXT_CTX_SQDBS        FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_SQ_DB_SHADOW
- #define BNXT_CTX_RQDBS        FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_RQ_DB_SHADOW
- #define BNXT_CTX_SRQDBS       FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_SRQ_DB_SHADOW
- #define BNXT_CTX_CQDBS        FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_CQ_DB_SHADOW
--#define BNXT_CTX_QTKC FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_QUIC_TKC
--#define BNXT_CTX_QRKC FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_QUIC_RKC
- #define BNXT_CTX_TBLSC        FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_TBL_SCOPE
- #define BNXT_CTX_XPAR FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_XID_PARTITION
-+#define BNXT_CTX_SRT  FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_SRT_TRACE
-+#define BNXT_CTX_SRT2 FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_SRT2_TRACE
-+#define BNXT_CTX_CRT  FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_CRT_TRACE
-+#define BNXT_CTX_CRT2 FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_CRT2_TRACE
-+#define BNXT_CTX_RIGP0        FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_RIGP0_TRACE
-+#define BNXT_CTX_L2HWRM       FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_L2_HWRM_TRACE
-+#define BNXT_CTX_REHWRM       FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_ROCE_HWRM_TRACE
-+#define BNXT_CTX_CA0  FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_CA0_TRACE
-+#define BNXT_CTX_CA1  FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_CA1_TRACE
-+#define BNXT_CTX_CA2  FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_CA2_TRACE
-+#define BNXT_CTX_RIGP1        FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_RIGP1_TRACE
- #define BNXT_CTX_MAX  (BNXT_CTX_TIM + 1)
- #define BNXT_CTX_L2_MAX       (BNXT_CTX_FTQM + 1)
--#define BNXT_CTX_V2_MAX       (BNXT_CTX_XPAR + 1)
-+#define BNXT_CTX_V2_MAX       (BNXT_CTX_RIGP1 + 1)
- #define BNXT_CTX_INV  ((u16)-1)
- struct bnxt_ctx_mem_info {
-@@ -2795,6 +2811,7 @@ int bnxt_alloc_rx_data(struct bnxt *bp, struct bnxt_rx_ring_info *rxr,
-                      u16 prod, gfp_t gfp);
- void bnxt_reuse_rx_data(struct bnxt_rx_ring_info *rxr, u16 cons, void *data);
- u32 bnxt_fw_health_readl(struct bnxt *bp, int reg_idx);
-+bool bnxt_bs_trace_avail(struct bnxt *bp, u16 type);
- void bnxt_set_tpa_flags(struct bnxt *bp);
- void bnxt_set_ring_params(struct bnxt *);
- void bnxt_set_rx_skb_mode(struct bnxt *bp, bool page_mode);
--- 
-2.53.0
-
diff --git a/queue-6.12/bnxt_en-do-not-free-fw-log-context-memory.patch b/queue-6.12/bnxt_en-do-not-free-fw-log-context-memory.patch
deleted file mode 100644 (file)
index 9f7e303..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-From 6718d9e19aece13ba758b7029fe3f9f8c8643e7d Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Fri, 15 Nov 2024 07:14:33 -0800
-Subject: bnxt_en: Do not free FW log context memory
-
-From: Hongguang Gao <hongguang.gao@broadcom.com>
-
-[ Upstream commit de999362ad33d80ae5162670795d990f275960dd ]
-
-If FW supports appending new FW logs to an offset in the context
-memory after FW reset, then do not free this type of context memory
-during reset.  The driver will provide the initial offset to the FW
-when configuring this type of context memory.  This way, we don't lose
-the older FW logs after reset.
-
-Signed-off-by: Hongguang Gao <hongguang.gao@broadcom.com>
-Signed-off-by: Michael Chan <michael.chan@broadcom.com>
-Link: https://patch.msgid.link/20241115151438.550106-8-michael.chan@broadcom.com
-Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-Stable-dep-of: 4ee937107d52 ("bnxt_en: set backing store type from query type")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/net/ethernet/broadcom/bnxt/bnxt.c     | 43 +++++++++++++++----
- .../net/ethernet/broadcom/bnxt/bnxt_devlink.c |  2 +-
- 2 files changed, 36 insertions(+), 9 deletions(-)
-
-diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
-index ccde8a7f54382..7c67c38fbf2f5 100644
---- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
-+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
-@@ -8419,6 +8419,9 @@ static int bnxt_alloc_all_ctx_pg_info(struct bnxt *bp, int ctx_max)
-       return 0;
- }
-+static void bnxt_free_one_ctx_mem(struct bnxt *bp,
-+                                struct bnxt_ctx_mem_type *ctxm, bool force);
-+
- #define BNXT_CTX_INIT_VALID(flags)    \
-       (!!((flags) &                   \
-           FUNC_BACKING_STORE_QCAPS_V2_RESP_FLAGS_ENABLE_CTX_KIND_INIT))
-@@ -8447,6 +8450,8 @@ static int bnxt_hwrm_func_backing_store_qcaps_v2(struct bnxt *bp)
-       for (type = 0; type < BNXT_CTX_V2_MAX; ) {
-               struct bnxt_ctx_mem_type *ctxm = &ctx->ctx_arr[type];
-               u8 init_val, init_off, i;
-+              u32 max_entries;
-+              u16 entry_size;
-               __le32 *p;
-               u32 flags;
-@@ -8456,15 +8461,26 @@ static int bnxt_hwrm_func_backing_store_qcaps_v2(struct bnxt *bp)
-                       goto ctx_done;
-               flags = le32_to_cpu(resp->flags);
-               type = le16_to_cpu(resp->next_valid_type);
--              if (!(flags & FUNC_BACKING_STORE_QCAPS_V2_RESP_FLAGS_TYPE_VALID))
-+              if (!(flags & BNXT_CTX_MEM_TYPE_VALID)) {
-+                      bnxt_free_one_ctx_mem(bp, ctxm, true);
-                       continue;
--
-+              }
-+              entry_size = le16_to_cpu(resp->entry_size);
-+              max_entries = le32_to_cpu(resp->max_num_entries);
-+              if (ctxm->mem_valid) {
-+                      if (!(flags & BNXT_CTX_MEM_PERSIST) ||
-+                          ctxm->entry_size != entry_size ||
-+                          ctxm->max_entries != max_entries)
-+                              bnxt_free_one_ctx_mem(bp, ctxm, true);
-+                      else
-+                              continue;
-+              }
-               ctxm->type = le16_to_cpu(resp->type);
--              ctxm->entry_size = le16_to_cpu(resp->entry_size);
-+              ctxm->entry_size = entry_size;
-               ctxm->flags = flags;
-               ctxm->instance_bmap = le32_to_cpu(resp->instance_bit_map);
-               ctxm->entry_multiple = resp->entry_multiple;
--              ctxm->max_entries = le32_to_cpu(resp->max_num_entries);
-+              ctxm->max_entries = max_entries;
-               ctxm->min_entries = le32_to_cpu(resp->min_num_entries);
-               init_val = resp->ctx_init_value;
-               init_off = resp->ctx_init_offset;
-@@ -8909,6 +8925,16 @@ static int bnxt_hwrm_func_backing_store_cfg_v2(struct bnxt *bp,
-       hwrm_req_hold(bp, req);
-       req->type = cpu_to_le16(ctxm->type);
-       req->entry_size = cpu_to_le16(ctxm->entry_size);
-+      if ((ctxm->flags & BNXT_CTX_MEM_PERSIST) &&
-+          bnxt_bs_trace_avail(bp, ctxm->type)) {
-+              struct bnxt_bs_trace_info *bs_trace;
-+              u32 enables;
-+
-+              enables = FUNC_BACKING_STORE_CFG_V2_REQ_ENABLES_NEXT_BS_OFFSET;
-+              req->enables = cpu_to_le32(enables);
-+              bs_trace = &bp->bs_trace[bnxt_bstore_to_trace[ctxm->type]];
-+              req->next_bs_offset = cpu_to_le32(bs_trace->last_offset);
-+      }
-       req->subtype_valid_cnt = ctxm->split_entry_cnt;
-       for (i = 0, p = &req->split_entry_0; i < ctxm->split_entry_cnt; i++)
-               p[i] = cpu_to_le32(ctxm->split[i]);
-@@ -9003,6 +9029,7 @@ static void bnxt_free_one_ctx_mem(struct bnxt *bp,
-               ctxm->pg_info = NULL;
-               ctxm->mem_valid = 0;
-       }
-+      memset(ctxm, 0, sizeof(*ctxm));
- }
- void bnxt_free_ctx_mem(struct bnxt *bp, bool force)
-@@ -12052,7 +12079,7 @@ static int bnxt_hwrm_if_change(struct bnxt *bp, bool up)
-                       set_bit(BNXT_STATE_FW_RESET_DET, &bp->state);
-                       if (!test_bit(BNXT_STATE_IN_FW_RESET, &bp->state))
-                               bnxt_ulp_irq_stop(bp);
--                      bnxt_free_ctx_mem(bp, true);
-+                      bnxt_free_ctx_mem(bp, false);
-                       bnxt_dcb_free(bp);
-                       rc = bnxt_fw_init_one(bp);
-                       if (rc) {
-@@ -13776,7 +13803,7 @@ static void bnxt_fw_reset_close(struct bnxt *bp)
-       bnxt_hwrm_func_drv_unrgtr(bp);
-       if (pci_is_enabled(bp->pdev))
-               pci_disable_device(bp->pdev);
--      bnxt_free_ctx_mem(bp, true);
-+      bnxt_free_ctx_mem(bp, false);
- }
- static bool is_bnxt_fw_ok(struct bnxt *bp)
-@@ -16370,7 +16397,7 @@ static int bnxt_suspend(struct device *device)
-       bnxt_hwrm_func_drv_unrgtr(bp);
-       bnxt_ptp_clear(bp);
-       pci_disable_device(bp->pdev);
--      bnxt_free_ctx_mem(bp, true);
-+      bnxt_free_ctx_mem(bp, false);
-       rtnl_unlock();
-       return rc;
- }
-@@ -16486,7 +16513,7 @@ static pci_ers_result_t bnxt_io_error_detected(struct pci_dev *pdev,
-       if (pci_is_enabled(pdev))
-               pci_disable_device(pdev);
--      bnxt_free_ctx_mem(bp, true);
-+      bnxt_free_ctx_mem(bp, false);
-       rtnl_unlock();
-       /* Request a slot slot reset. */
-diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
-index 901fd36757ed6..ef8288fd68f4c 100644
---- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
-+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c
-@@ -463,7 +463,7 @@ static int bnxt_dl_reload_down(struct devlink *dl, bool netns_change,
-                       break;
-               }
-               bnxt_cancel_reservations(bp, false);
--              bnxt_free_ctx_mem(bp, true);
-+              bnxt_free_ctx_mem(bp, false);
-               break;
-       }
-       case DEVLINK_RELOAD_ACTION_FW_ACTIVATE: {
--- 
-2.53.0
-
diff --git a/queue-6.12/bnxt_en-manage-the-fw-trace-context-memory.patch b/queue-6.12/bnxt_en-manage-the-fw-trace-context-memory.patch
deleted file mode 100644 (file)
index a7925e4..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
-From 25947381eec5795cce4283b58dcca204d3eaf98d Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Fri, 15 Nov 2024 07:14:32 -0800
-Subject: bnxt_en: Manage the FW trace context memory
-
-From: Shruti Parab <shruti.parab@broadcom.com>
-
-[ Upstream commit 84fcd9449fd7882ddfb05ba64d75f9be2d29b2e9 ]
-
-The FW trace memory pages will be added to the ethtool -w coredump
-in later patches.  In addition to the raw data, the driver has to
-add a header to provide the head and tail information on each FW
-trace log segment when creating the coredump.  The FW sends an async
-message to the driver after DMAing a chunk of logs to the context
-memory to indicate the last offset containing the tail of the logs.
-The driver needs to keep track of that.
-
-Reviewed-by: Hongguang Gao <hongguang.gao@broadcom.com>
-Signed-off-by: Shruti Parab <shruti.parab@broadcom.com>
-Signed-off-by: Michael Chan <michael.chan@broadcom.com>
-Link: https://patch.msgid.link/20241115151438.550106-7-michael.chan@broadcom.com
-Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-Stable-dep-of: 4ee937107d52 ("bnxt_en: set backing store type from query type")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 67 +++++++++++++++++++++++
- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 22 ++++++++
- 2 files changed, 89 insertions(+)
-
-diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
-index d5f4cd752c680..ccde8a7f54382 100644
---- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
-+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
-@@ -247,6 +247,21 @@ static const u16 bnxt_async_events_arr[] = {
-       ASYNC_EVENT_CMPL_EVENT_ID_PPS_TIMESTAMP,
-       ASYNC_EVENT_CMPL_EVENT_ID_ERROR_REPORT,
-       ASYNC_EVENT_CMPL_EVENT_ID_PHC_UPDATE,
-+      ASYNC_EVENT_CMPL_EVENT_ID_DBG_BUF_PRODUCER,
-+};
-+
-+const u16 bnxt_bstore_to_trace[] = {
-+      [BNXT_CTX_SRT]          = DBG_LOG_BUFFER_FLUSH_REQ_TYPE_SRT_TRACE,
-+      [BNXT_CTX_SRT2]         = DBG_LOG_BUFFER_FLUSH_REQ_TYPE_SRT2_TRACE,
-+      [BNXT_CTX_CRT]          = DBG_LOG_BUFFER_FLUSH_REQ_TYPE_CRT_TRACE,
-+      [BNXT_CTX_CRT2]         = DBG_LOG_BUFFER_FLUSH_REQ_TYPE_CRT2_TRACE,
-+      [BNXT_CTX_RIGP0]        = DBG_LOG_BUFFER_FLUSH_REQ_TYPE_RIGP0_TRACE,
-+      [BNXT_CTX_L2HWRM]       = DBG_LOG_BUFFER_FLUSH_REQ_TYPE_L2_HWRM_TRACE,
-+      [BNXT_CTX_REHWRM]       = DBG_LOG_BUFFER_FLUSH_REQ_TYPE_ROCE_HWRM_TRACE,
-+      [BNXT_CTX_CA0]          = DBG_LOG_BUFFER_FLUSH_REQ_TYPE_CA0_TRACE,
-+      [BNXT_CTX_CA1]          = DBG_LOG_BUFFER_FLUSH_REQ_TYPE_CA1_TRACE,
-+      [BNXT_CTX_CA2]          = DBG_LOG_BUFFER_FLUSH_REQ_TYPE_CA2_TRACE,
-+      [BNXT_CTX_RIGP1]        = DBG_LOG_BUFFER_FLUSH_REQ_TYPE_RIGP1_TRACE,
- };
- static struct workqueue_struct *bnxt_pf_wq;
-@@ -2493,6 +2508,50 @@ bool bnxt_bs_trace_avail(struct bnxt *bp, u16 type)
-                (flags & BNXT_CTX_MEM_FW_BIN_TRACE));
- }
-+static void bnxt_bs_trace_init(struct bnxt *bp, struct bnxt_ctx_mem_type *ctxm)
-+{
-+      u32 mem_size, pages, rem_bytes, magic_byte_offset;
-+      u16 trace_type = bnxt_bstore_to_trace[ctxm->type];
-+      struct bnxt_ctx_pg_info *ctx_pg = ctxm->pg_info;
-+      struct bnxt_ring_mem_info *rmem, *rmem_pg_tbl;
-+      struct bnxt_bs_trace_info *bs_trace;
-+      int last_pg;
-+
-+      if (ctxm->instance_bmap && ctxm->instance_bmap > 1)
-+              return;
-+
-+      mem_size = ctxm->max_entries * ctxm->entry_size;
-+      rem_bytes = mem_size % BNXT_PAGE_SIZE;
-+      pages = DIV_ROUND_UP(mem_size, BNXT_PAGE_SIZE);
-+
-+      last_pg = (pages - 1) & (MAX_CTX_PAGES - 1);
-+      magic_byte_offset = (rem_bytes ? rem_bytes : BNXT_PAGE_SIZE) - 1;
-+
-+      rmem = &ctx_pg[0].ring_mem;
-+      bs_trace = &bp->bs_trace[trace_type];
-+      bs_trace->ctx_type = ctxm->type;
-+      bs_trace->trace_type = trace_type;
-+      if (pages > MAX_CTX_PAGES) {
-+              int last_pg_dir = rmem->nr_pages - 1;
-+
-+              rmem_pg_tbl = &ctx_pg[0].ctx_pg_tbl[last_pg_dir]->ring_mem;
-+              bs_trace->magic_byte = rmem_pg_tbl->pg_arr[last_pg];
-+      } else {
-+              bs_trace->magic_byte = rmem->pg_arr[last_pg];
-+      }
-+      bs_trace->magic_byte += magic_byte_offset;
-+      *bs_trace->magic_byte = BNXT_TRACE_BUF_MAGIC_BYTE;
-+}
-+
-+#define BNXT_EVENT_BUF_PRODUCER_TYPE(data1)                           \
-+      (((data1) & ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_MASK) >>\
-+       ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_SFT)
-+
-+#define BNXT_EVENT_BUF_PRODUCER_OFFSET(data2)                         \
-+      (((data2) &                                                     \
-+        ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA2_CURR_OFF_MASK) >>\
-+       ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA2_CURR_OFF_SFT)
-+
- #define BNXT_EVENT_THERMAL_CURRENT_TEMP(data2)                                \
-       ((data2) &                                                      \
-         ASYNC_EVENT_CMPL_ERROR_REPORT_THERMAL_EVENT_DATA2_CURRENT_TEMP_MASK)
-@@ -2809,6 +2868,13 @@ static int bnxt_async_event_process(struct bnxt *bp,
-               hwrm_update_token(bp, seq_id, BNXT_HWRM_DEFERRED);
-               goto async_event_process_exit;
-       }
-+      case ASYNC_EVENT_CMPL_EVENT_ID_DBG_BUF_PRODUCER: {
-+              u16 type = (u16)BNXT_EVENT_BUF_PRODUCER_TYPE(data1);
-+              u32 offset =  BNXT_EVENT_BUF_PRODUCER_OFFSET(data2);
-+
-+              bnxt_bs_trace_check_wrap(&bp->bs_trace[type], offset);
-+              goto async_event_process_exit;
-+      }
-       default:
-               goto async_event_process_exit;
-       }
-@@ -8888,6 +8954,7 @@ static int bnxt_backing_store_cfg_v2(struct bnxt *bp, u32 ena)
-                                           type);
-                               continue;
-                       }
-+                      bnxt_bs_trace_init(bp, ctxm);
-                       last_type = type;
-               }
-       }
-diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.h b/drivers/net/ethernet/broadcom/bnxt/bnxt.h
-index abdcbcce68acf..77e93bddf5b8a 100644
---- a/drivers/net/ethernet/broadcom/bnxt/bnxt.h
-+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.h
-@@ -2114,6 +2114,26 @@ enum board_idx {
-       NETXTREME_E_P7_VF_HV,
- };
-+#define BNXT_TRACE_BUF_MAGIC_BYTE ((u8)0xbc)
-+#define BNXT_TRACE_MAX 11
-+
-+struct bnxt_bs_trace_info {
-+      u8 *magic_byte;
-+      u32 last_offset;
-+      u8 wrapped:1;
-+      u16 ctx_type;
-+      u16 trace_type;
-+};
-+
-+static inline void bnxt_bs_trace_check_wrap(struct bnxt_bs_trace_info *bs_trace,
-+                                          u32 offset)
-+{
-+      if (!bs_trace->wrapped &&
-+          *bs_trace->magic_byte != BNXT_TRACE_BUF_MAGIC_BYTE)
-+              bs_trace->wrapped = 1;
-+      bs_trace->last_offset = offset;
-+}
-+
- struct bnxt {
-       void __iomem            *bar0;
-       void __iomem            *bar1;
-@@ -2670,6 +2690,7 @@ struct bnxt {
-       struct bnxt_ctx_pg_info *fw_crash_mem;
-       u32                     fw_crash_len;
-+      struct bnxt_bs_trace_info bs_trace[BNXT_TRACE_MAX];
- };
- #define BNXT_NUM_RX_RING_STATS                        8
-@@ -2805,6 +2826,7 @@ static inline bool bnxt_sriov_cfg(struct bnxt *bp)
- #endif
- }
-+extern const u16 bnxt_bstore_to_trace[];
- extern const u16 bnxt_lhint_arr[];
- int bnxt_alloc_rx_data(struct bnxt *bp, struct bnxt_rx_ring_info *rxr,
--- 
-2.53.0
-
index 878d7ec5b14fd3588ff75c5331aa0f2fcc9177e8..0a190f5ab4ea8837e6e6670638216ffaeac79456 100644 (file)
@@ -27,14 +27,12 @@ Link: https://patch.msgid.link/20260331065138.948205-4-michael.chan@broadcom.com
 Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 Signed-off-by: Sasha Levin <sashal@kernel.org>
 ---
- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 2 ++
+ drivers/net/ethernet/broadcom/bnxt/bnxt.c |    2 ++
  1 file changed, 2 insertions(+)
 
-diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
-index 95d8419411a48..38f6112ed5389 100644
 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
 +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
-@@ -7823,6 +7823,8 @@ static int __bnxt_reserve_rings(struct bnxt *bp)
+@@ -7748,6 +7748,8 @@ static int __bnxt_reserve_rings(struct b
                ulp_msix = bnxt_get_avail_msix(bp, bp->ulp_num_msix_want);
                if (!ulp_msix)
                        bnxt_set_ulp_stat_ctxs(bp, 0);
@@ -43,6 +41,3 @@ index 95d8419411a48..38f6112ed5389 100644
  
                if (ulp_msix > bp->ulp_num_msix_want)
                        ulp_msix = bp->ulp_num_msix_want;
--- 
-2.53.0
-
diff --git a/queue-6.12/bnxt_en-set-backing-store-type-from-query-type.patch b/queue-6.12/bnxt_en-set-backing-store-type-from-query-type.patch
deleted file mode 100644 (file)
index ca8ddd9..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-From fc13ea785682358c9537f610e344b10cb3c056a7 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Sun, 29 Mar 2026 07:43:56 +0800
-Subject: bnxt_en: set backing store type from query type
-
-From: Pengpeng Hou <pengpeng@iscas.ac.cn>
-
-[ Upstream commit 4ee937107d52f9e5c350e4b5e629760e328b3d9f ]
-
-bnxt_hwrm_func_backing_store_qcaps_v2() stores resp->type from the
-firmware response in ctxm->type and later uses that value to index
-fixed backing-store metadata arrays such as ctx_arr[] and
-bnxt_bstore_to_trace[].
-
-ctxm->type is fixed by the current backing-store query type and matches
-the array index of ctx->ctx_arr. Set ctxm->type from the current loop
-variable instead of depending on resp->type.
-
-Also update the loop to advance type from next_valid_type in the for
-statement, which keeps the control flow simpler for non-valid and
-unchanged entries.
-
-Fixes: 6a4d0774f02d ("bnxt_en: Add support for new backing store query firmware API")
-Signed-off-by: Pengpeng Hou <pengpeng@iscas.ac.cn>
-Reviewed-by: Michael Chan <michael.chan@broadcom.com>
-Tested-by: Michael Chan <michael.chan@broadcom.com>
-Link: https://patch.msgid.link/20260328234357.43669-1-pengpeng@iscas.ac.cn
-Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/net/ethernet/broadcom/bnxt/bnxt.c | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
-index 7c67c38fbf2f5..95d8419411a48 100644
---- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c
-+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c
-@@ -8431,7 +8431,7 @@ static int bnxt_hwrm_func_backing_store_qcaps_v2(struct bnxt *bp)
-       struct hwrm_func_backing_store_qcaps_v2_output *resp;
-       struct hwrm_func_backing_store_qcaps_v2_input *req;
-       struct bnxt_ctx_mem_info *ctx = bp->ctx;
--      u16 type;
-+      u16 type, next_type = 0;
-       int rc;
-       rc = hwrm_req_init(bp, req, HWRM_FUNC_BACKING_STORE_QCAPS_V2);
-@@ -8447,7 +8447,7 @@ static int bnxt_hwrm_func_backing_store_qcaps_v2(struct bnxt *bp)
-       resp = hwrm_req_hold(bp, req);
--      for (type = 0; type < BNXT_CTX_V2_MAX; ) {
-+      for (type = 0; type < BNXT_CTX_V2_MAX; type = next_type) {
-               struct bnxt_ctx_mem_type *ctxm = &ctx->ctx_arr[type];
-               u8 init_val, init_off, i;
-               u32 max_entries;
-@@ -8460,7 +8460,7 @@ static int bnxt_hwrm_func_backing_store_qcaps_v2(struct bnxt *bp)
-               if (rc)
-                       goto ctx_done;
-               flags = le32_to_cpu(resp->flags);
--              type = le16_to_cpu(resp->next_valid_type);
-+              next_type = le16_to_cpu(resp->next_valid_type);
-               if (!(flags & BNXT_CTX_MEM_TYPE_VALID)) {
-                       bnxt_free_one_ctx_mem(bp, ctxm, true);
-                       continue;
-@@ -8475,7 +8475,7 @@ static int bnxt_hwrm_func_backing_store_qcaps_v2(struct bnxt *bp)
-                       else
-                               continue;
-               }
--              ctxm->type = le16_to_cpu(resp->type);
-+              ctxm->type = type;
-               ctxm->entry_size = entry_size;
-               ctxm->flags = flags;
-               ctxm->instance_bmap = le32_to_cpu(resp->instance_bit_map);
--- 
-2.53.0
-
diff --git a/queue-6.12/bnxt_en-update-firmware-interface-spec-to-1.10.3.85.patch b/queue-6.12/bnxt_en-update-firmware-interface-spec-to-1.10.3.85.patch
deleted file mode 100644 (file)
index 1ff0090..0000000
+++ /dev/null
@@ -1,350 +0,0 @@
-From 390ba44d3b6f35bddb17e6e0a7ccf30fec634256 Mon Sep 17 00:00:00 2001
-From: Sasha Levin <sashal@kernel.org>
-Date: Fri, 15 Nov 2024 07:14:27 -0800
-Subject: bnxt_en: Update firmware interface spec to 1.10.3.85
-
-From: Michael Chan <michael.chan@broadcom.com>
-
-[ Upstream commit ff00bcc9ecccf4a1ce3a06eb38a9b4592f870f80 ]
-
-The major change is the new firmware command to flush the FW debug
-logs to the host backing store context memory buffers.
-
-Reviewed-by: Hongguang Gao <hongguang.gao@broadcom.com>
-Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
-Signed-off-by: Michael Chan <michael.chan@broadcom.com>
-Link: https://patch.msgid.link/20241115151438.550106-2-michael.chan@broadcom.com
-Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-Stable-dep-of: 4ee937107d52 ("bnxt_en: set backing store type from query type")
-Signed-off-by: Sasha Levin <sashal@kernel.org>
----
- drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h | 173 ++++++++++++++----
- 1 file changed, 136 insertions(+), 37 deletions(-)
-
-diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h b/drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h
-index f8ef6f1a1964e..5f8de16343788 100644
---- a/drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h
-+++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_hsi.h
-@@ -42,6 +42,10 @@ struct hwrm_resp_hdr {
- #define TLV_TYPE_MODIFY_ROCE_CC_GEN1             0x5UL
- #define TLV_TYPE_QUERY_ROCE_CC_GEN2              0x6UL
- #define TLV_TYPE_MODIFY_ROCE_CC_GEN2             0x7UL
-+#define TLV_TYPE_QUERY_ROCE_CC_GEN1_EXT          0x8UL
-+#define TLV_TYPE_MODIFY_ROCE_CC_GEN1_EXT         0x9UL
-+#define TLV_TYPE_QUERY_ROCE_CC_GEN2_EXT          0xaUL
-+#define TLV_TYPE_MODIFY_ROCE_CC_GEN2_EXT         0xbUL
- #define TLV_TYPE_ENGINE_CKV_ALIAS_ECC_PUBLIC_KEY 0x8001UL
- #define TLV_TYPE_ENGINE_CKV_IV                   0x8003UL
- #define TLV_TYPE_ENGINE_CKV_AUTH_TAG             0x8004UL
-@@ -509,6 +513,7 @@ struct cmd_nums {
-       #define HWRM_TFC_IF_TBL_GET                       0x399UL
-       #define HWRM_TFC_TBL_SCOPE_CONFIG_GET             0x39aUL
-       #define HWRM_TFC_RESC_USAGE_QUERY                 0x39bUL
-+      #define HWRM_TFC_GLOBAL_ID_FREE                   0x39cUL
-       #define HWRM_SV                                   0x400UL
-       #define HWRM_DBG_SERDES_TEST                      0xff0eUL
-       #define HWRM_DBG_LOG_BUFFER_FLUSH                 0xff0fUL
-@@ -624,8 +629,8 @@ struct hwrm_err_output {
- #define HWRM_VERSION_MAJOR 1
- #define HWRM_VERSION_MINOR 10
- #define HWRM_VERSION_UPDATE 3
--#define HWRM_VERSION_RSVD 68
--#define HWRM_VERSION_STR "1.10.3.68"
-+#define HWRM_VERSION_RSVD 85
-+#define HWRM_VERSION_STR "1.10.3.85"
- /* hwrm_ver_get_input (size:192b/24B) */
- struct hwrm_ver_get_input {
-@@ -1302,6 +1307,43 @@ struct hwrm_async_event_cmpl_error_report {
-       #define ASYNC_EVENT_CMPL_ERROR_REPORT_EVENT_DATA1_ERROR_TYPE_SFT 0
- };
-+/* hwrm_async_event_cmpl_dbg_buf_producer (size:128b/16B) */
-+struct hwrm_async_event_cmpl_dbg_buf_producer {
-+      __le16  type;
-+      #define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_TYPE_MASK            0x3fUL
-+      #define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_TYPE_SFT             0
-+      #define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_TYPE_HWRM_ASYNC_EVENT  0x2eUL
-+      #define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_TYPE_LAST             ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_TYPE_HWRM_ASYNC_EVENT
-+      __le16  event_id;
-+      #define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_ID_DBG_BUF_PRODUCER 0x4cUL
-+      #define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_ID_LAST            ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_ID_DBG_BUF_PRODUCER
-+      __le32  event_data2;
-+      #define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA2_CURR_OFF_MASK 0xffffffffUL
-+      #define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA2_CURR_OFF_SFT 0
-+      u8      opaque_v;
-+      #define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_V          0x1UL
-+      #define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_OPAQUE_MASK 0xfeUL
-+      #define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_OPAQUE_SFT 1
-+      u8      timestamp_lo;
-+      __le16  timestamp_hi;
-+      __le32  event_data1;
-+      #define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_MASK               0xffffUL
-+      #define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_SFT                0
-+      #define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_SRT_TRACE            0x0UL
-+      #define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_SRT2_TRACE           0x1UL
-+      #define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_CRT_TRACE            0x2UL
-+      #define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_CRT2_TRACE           0x3UL
-+      #define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_RIGP0_TRACE          0x4UL
-+      #define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_L2_HWRM_TRACE        0x5UL
-+      #define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_ROCE_HWRM_TRACE      0x6UL
-+      #define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_CA0_TRACE            0x7UL
-+      #define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_CA1_TRACE            0x8UL
-+      #define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_CA2_TRACE            0x9UL
-+      #define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_RIGP1_TRACE          0xaUL
-+      #define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_AFM_KONG_HWRM_TRACE  0xbUL
-+      #define ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_LAST                ASYNC_EVENT_CMPL_DBG_BUF_PRODUCER_EVENT_DATA1_TYPE_AFM_KONG_HWRM_TRACE
-+};
-+
- /* hwrm_async_event_cmpl_hwrm_error (size:128b/16B) */
- struct hwrm_async_event_cmpl_hwrm_error {
-       __le16  type;
-@@ -1864,7 +1906,10 @@ struct hwrm_func_qcaps_output {
-       __le32  roce_vf_max_gid;
-       __le32  flags_ext3;
-       #define FUNC_QCAPS_RESP_FLAGS_EXT3_RM_RSV_WHILE_ALLOC_CAP     0x1UL
--      u8      unused_3[7];
-+      #define FUNC_QCAPS_RESP_FLAGS_EXT3_REQUIRE_L2_FILTER          0x2UL
-+      #define FUNC_QCAPS_RESP_FLAGS_EXT3_MAX_ROCE_VFS_SUPPORTED     0x4UL
-+      __le16  max_roce_vfs;
-+      u8      unused_3[5];
-       u8      valid;
- };
-@@ -2253,17 +2298,18 @@ struct hwrm_func_cfg_input {
-       #define FUNC_CFG_REQ_FLAGS2_KTLS_KEY_CTX_ASSETS_TEST     0x1UL
-       #define FUNC_CFG_REQ_FLAGS2_QUIC_KEY_CTX_ASSETS_TEST     0x2UL
-       __le32  enables2;
--      #define FUNC_CFG_REQ_ENABLES2_KDNET                   0x1UL
--      #define FUNC_CFG_REQ_ENABLES2_DB_PAGE_SIZE            0x2UL
--      #define FUNC_CFG_REQ_ENABLES2_QUIC_TX_KEY_CTXS        0x4UL
--      #define FUNC_CFG_REQ_ENABLES2_QUIC_RX_KEY_CTXS        0x8UL
--      #define FUNC_CFG_REQ_ENABLES2_ROCE_MAX_AV_PER_VF      0x10UL
--      #define FUNC_CFG_REQ_ENABLES2_ROCE_MAX_CQ_PER_VF      0x20UL
--      #define FUNC_CFG_REQ_ENABLES2_ROCE_MAX_MRW_PER_VF     0x40UL
--      #define FUNC_CFG_REQ_ENABLES2_ROCE_MAX_QP_PER_VF      0x80UL
--      #define FUNC_CFG_REQ_ENABLES2_ROCE_MAX_SRQ_PER_VF     0x100UL
--      #define FUNC_CFG_REQ_ENABLES2_ROCE_MAX_GID_PER_VF     0x200UL
--      #define FUNC_CFG_REQ_ENABLES2_XID_PARTITION_CFG       0x400UL
-+      #define FUNC_CFG_REQ_ENABLES2_KDNET                    0x1UL
-+      #define FUNC_CFG_REQ_ENABLES2_DB_PAGE_SIZE             0x2UL
-+      #define FUNC_CFG_REQ_ENABLES2_QUIC_TX_KEY_CTXS         0x4UL
-+      #define FUNC_CFG_REQ_ENABLES2_QUIC_RX_KEY_CTXS         0x8UL
-+      #define FUNC_CFG_REQ_ENABLES2_ROCE_MAX_AV_PER_VF       0x10UL
-+      #define FUNC_CFG_REQ_ENABLES2_ROCE_MAX_CQ_PER_VF       0x20UL
-+      #define FUNC_CFG_REQ_ENABLES2_ROCE_MAX_MRW_PER_VF      0x40UL
-+      #define FUNC_CFG_REQ_ENABLES2_ROCE_MAX_QP_PER_VF       0x80UL
-+      #define FUNC_CFG_REQ_ENABLES2_ROCE_MAX_SRQ_PER_VF      0x100UL
-+      #define FUNC_CFG_REQ_ENABLES2_ROCE_MAX_GID_PER_VF      0x200UL
-+      #define FUNC_CFG_REQ_ENABLES2_XID_PARTITION_CFG        0x400UL
-+      #define FUNC_CFG_REQ_ENABLES2_PHYSICAL_SLOT_NUMBER     0x800UL
-       u8      port_kdnet_mode;
-       #define FUNC_CFG_REQ_PORT_KDNET_MODE_DISABLED 0x0UL
-       #define FUNC_CFG_REQ_PORT_KDNET_MODE_ENABLED  0x1UL
-@@ -2281,7 +2327,7 @@ struct hwrm_func_cfg_input {
-       #define FUNC_CFG_REQ_DB_PAGE_SIZE_2MB   0x9UL
-       #define FUNC_CFG_REQ_DB_PAGE_SIZE_4MB   0xaUL
-       #define FUNC_CFG_REQ_DB_PAGE_SIZE_LAST FUNC_CFG_REQ_DB_PAGE_SIZE_4MB
--      u8      unused_1[2];
-+      __le16  physical_slot_number;
-       __le32  num_ktls_tx_key_ctxs;
-       __le32  num_ktls_rx_key_ctxs;
-       __le32  num_quic_tx_key_ctxs;
-@@ -3683,7 +3729,7 @@ struct hwrm_func_ptp_ext_qcfg_output {
-       u8      valid;
- };
--/* hwrm_func_backing_store_cfg_v2_input (size:448b/56B) */
-+/* hwrm_func_backing_store_cfg_v2_input (size:512b/64B) */
- struct hwrm_func_backing_store_cfg_v2_input {
-       __le16  req_type;
-       __le16  cmpl_ring;
-@@ -3721,6 +3767,7 @@ struct hwrm_func_backing_store_cfg_v2_input {
-       #define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_CA1_TRACE           0x27UL
-       #define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_CA2_TRACE           0x28UL
-       #define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_RIGP1_TRACE         0x29UL
-+      #define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_AFM_KONG_HWRM_TRACE 0x2aUL
-       #define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_INVALID             0xffffUL
-       #define FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_LAST               FUNC_BACKING_STORE_CFG_V2_REQ_TYPE_INVALID
-       __le16  instance;
-@@ -3752,6 +3799,9 @@ struct hwrm_func_backing_store_cfg_v2_input {
-       __le32  split_entry_1;
-       __le32  split_entry_2;
-       __le32  split_entry_3;
-+      __le32  enables;
-+      #define FUNC_BACKING_STORE_CFG_V2_REQ_ENABLES_NEXT_BS_OFFSET     0x1UL
-+      __le32  next_bs_offset;
- };
- /* hwrm_func_backing_store_cfg_v2_output (size:128b/16B) */
-@@ -3802,6 +3852,7 @@ struct hwrm_func_backing_store_qcfg_v2_input {
-       #define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_CA1_TRACE           0x27UL
-       #define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_CA2_TRACE           0x28UL
-       #define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_RIGP1_TRACE         0x29UL
-+      #define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_AFM_KONG_HWRM_TRACE 0x2aUL
-       #define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_INVALID             0xffffUL
-       #define FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_LAST               FUNC_BACKING_STORE_QCFG_V2_REQ_TYPE_INVALID
-       __le16  instance;
-@@ -3963,6 +4014,7 @@ struct hwrm_func_backing_store_qcaps_v2_input {
-       #define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_CA1_TRACE           0x27UL
-       #define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_CA2_TRACE           0x28UL
-       #define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_RIGP1_TRACE         0x29UL
-+      #define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_AFM_KONG_HWRM_TRACE 0x2aUL
-       #define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_INVALID             0xffffUL
-       #define FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_LAST               FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_INVALID
-       u8      rsvd[6];
-@@ -4005,6 +4057,7 @@ struct hwrm_func_backing_store_qcaps_v2_output {
-       #define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_CA1_TRACE           0x27UL
-       #define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_CA2_TRACE           0x28UL
-       #define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_RIGP1_TRACE         0x29UL
-+      #define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_AFM_KONG_HWRM_TRACE 0x2aUL
-       #define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_INVALID             0xffffUL
-       #define FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_LAST               FUNC_BACKING_STORE_QCAPS_V2_RESP_TYPE_INVALID
-       __le16  entry_size;
-@@ -4014,6 +4067,8 @@ struct hwrm_func_backing_store_qcaps_v2_output {
-       #define FUNC_BACKING_STORE_QCAPS_V2_RESP_FLAGS_DRIVER_MANAGED_MEMORY           0x4UL
-       #define FUNC_BACKING_STORE_QCAPS_V2_RESP_FLAGS_ROCE_QP_PSEUDO_STATIC_ALLOC     0x8UL
-       #define FUNC_BACKING_STORE_QCAPS_V2_RESP_FLAGS_FW_DBG_TRACE                    0x10UL
-+      #define FUNC_BACKING_STORE_QCAPS_V2_RESP_FLAGS_FW_BIN_DBG_TRACE                0x20UL
-+      #define FUNC_BACKING_STORE_QCAPS_V2_RESP_FLAGS_NEXT_BS_OFFSET                  0x40UL
-       __le32  instance_bit_map;
-       u8      ctx_init_value;
-       u8      ctx_init_offset;
-@@ -4034,7 +4089,8 @@ struct hwrm_func_backing_store_qcaps_v2_output {
-       __le32  split_entry_1;
-       __le32  split_entry_2;
-       __le32  split_entry_3;
--      u8      rsvd3[3];
-+      __le16  max_instance_count;
-+      u8      rsvd3;
-       u8      valid;
- };
-@@ -4535,11 +4591,12 @@ struct hwrm_port_phy_qcfg_output {
-       #define PORT_PHY_QCFG_RESP_PHY_TYPE_800G_BASEDR8     0x3dUL
-       #define PORT_PHY_QCFG_RESP_PHY_TYPE_LAST            PORT_PHY_QCFG_RESP_PHY_TYPE_800G_BASEDR8
-       u8      media_type;
--      #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_UNKNOWN 0x0UL
--      #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_TP      0x1UL
--      #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_DAC     0x2UL
--      #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_FIBRE   0x3UL
--      #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_LAST   PORT_PHY_QCFG_RESP_MEDIA_TYPE_FIBRE
-+      #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_UNKNOWN   0x0UL
-+      #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_TP        0x1UL
-+      #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_DAC       0x2UL
-+      #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_FIBRE     0x3UL
-+      #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_BACKPLANE 0x4UL
-+      #define PORT_PHY_QCFG_RESP_MEDIA_TYPE_LAST     PORT_PHY_QCFG_RESP_MEDIA_TYPE_BACKPLANE
-       u8      xcvr_pkg_type;
-       #define PORT_PHY_QCFG_RESP_XCVR_PKG_TYPE_XCVR_INTERNAL 0x1UL
-       #define PORT_PHY_QCFG_RESP_XCVR_PKG_TYPE_XCVR_EXTERNAL 0x2UL
-@@ -4654,7 +4711,8 @@ struct hwrm_port_phy_qcfg_output {
-       #define PORT_PHY_QCFG_RESP_LINK_PARTNER_PAM4_ADV_SPEEDS_100GB     0x2UL
-       #define PORT_PHY_QCFG_RESP_LINK_PARTNER_PAM4_ADV_SPEEDS_200GB     0x4UL
-       u8      link_down_reason;
--      #define PORT_PHY_QCFG_RESP_LINK_DOWN_REASON_RF     0x1UL
-+      #define PORT_PHY_QCFG_RESP_LINK_DOWN_REASON_RF                      0x1UL
-+      #define PORT_PHY_QCFG_RESP_LINK_DOWN_REASON_OTP_SPEED_VIOLATION     0x2UL
-       __le16  support_speeds2;
-       #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS2_1GB                0x1UL
-       #define PORT_PHY_QCFG_RESP_SUPPORT_SPEEDS2_10GB               0x2UL
-@@ -9241,20 +9299,22 @@ struct hwrm_fw_set_time_output {
- /* hwrm_struct_hdr (size:128b/16B) */
- struct hwrm_struct_hdr {
-       __le16  struct_id;
--      #define STRUCT_HDR_STRUCT_ID_LLDP_CFG           0x41bUL
--      #define STRUCT_HDR_STRUCT_ID_DCBX_ETS           0x41dUL
--      #define STRUCT_HDR_STRUCT_ID_DCBX_PFC           0x41fUL
--      #define STRUCT_HDR_STRUCT_ID_DCBX_APP           0x421UL
--      #define STRUCT_HDR_STRUCT_ID_DCBX_FEATURE_STATE 0x422UL
--      #define STRUCT_HDR_STRUCT_ID_LLDP_GENERIC       0x424UL
--      #define STRUCT_HDR_STRUCT_ID_LLDP_DEVICE        0x426UL
--      #define STRUCT_HDR_STRUCT_ID_POWER_BKUP         0x427UL
--      #define STRUCT_HDR_STRUCT_ID_PEER_MMAP          0x429UL
--      #define STRUCT_HDR_STRUCT_ID_AFM_OPAQUE         0x1UL
--      #define STRUCT_HDR_STRUCT_ID_PORT_DESCRIPTION   0xaUL
--      #define STRUCT_HDR_STRUCT_ID_RSS_V2             0x64UL
--      #define STRUCT_HDR_STRUCT_ID_MSIX_PER_VF        0xc8UL
--      #define STRUCT_HDR_STRUCT_ID_LAST              STRUCT_HDR_STRUCT_ID_MSIX_PER_VF
-+      #define STRUCT_HDR_STRUCT_ID_LLDP_CFG              0x41bUL
-+      #define STRUCT_HDR_STRUCT_ID_DCBX_ETS              0x41dUL
-+      #define STRUCT_HDR_STRUCT_ID_DCBX_PFC              0x41fUL
-+      #define STRUCT_HDR_STRUCT_ID_DCBX_APP              0x421UL
-+      #define STRUCT_HDR_STRUCT_ID_DCBX_FEATURE_STATE    0x422UL
-+      #define STRUCT_HDR_STRUCT_ID_LLDP_GENERIC          0x424UL
-+      #define STRUCT_HDR_STRUCT_ID_LLDP_DEVICE           0x426UL
-+      #define STRUCT_HDR_STRUCT_ID_POWER_BKUP            0x427UL
-+      #define STRUCT_HDR_STRUCT_ID_PEER_MMAP             0x429UL
-+      #define STRUCT_HDR_STRUCT_ID_AFM_OPAQUE            0x1UL
-+      #define STRUCT_HDR_STRUCT_ID_PORT_DESCRIPTION      0xaUL
-+      #define STRUCT_HDR_STRUCT_ID_RSS_V2                0x64UL
-+      #define STRUCT_HDR_STRUCT_ID_MSIX_PER_VF           0xc8UL
-+      #define STRUCT_HDR_STRUCT_ID_UDCC_RTT_BUCKET_COUNT 0x12cUL
-+      #define STRUCT_HDR_STRUCT_ID_UDCC_RTT_BUCKET_BOUND 0x12dUL
-+      #define STRUCT_HDR_STRUCT_ID_LAST                 STRUCT_HDR_STRUCT_ID_UDCC_RTT_BUCKET_BOUND
-       __le16  len;
-       u8      version;
-       u8      count;
-@@ -9756,6 +9816,7 @@ struct hwrm_dbg_qcaps_output {
-       #define DBG_QCAPS_RESP_FLAGS_COREDUMP_HOST_DDR         0x10UL
-       #define DBG_QCAPS_RESP_FLAGS_COREDUMP_HOST_CAPTURE     0x20UL
-       #define DBG_QCAPS_RESP_FLAGS_PTRACE                    0x40UL
-+      #define DBG_QCAPS_RESP_FLAGS_REG_ACCESS_RESTRICTED     0x80UL
-       u8      unused_1[3];
-       u8      valid;
- };
-@@ -9996,6 +10057,43 @@ struct hwrm_dbg_ring_info_get_output {
-       u8      valid;
- };
-+/* hwrm_dbg_log_buffer_flush_input (size:192b/24B) */
-+struct hwrm_dbg_log_buffer_flush_input {
-+      __le16  req_type;
-+      __le16  cmpl_ring;
-+      __le16  seq_id;
-+      __le16  target_id;
-+      __le64  resp_addr;
-+      __le16  type;
-+      #define DBG_LOG_BUFFER_FLUSH_REQ_TYPE_SRT_TRACE           0x0UL
-+      #define DBG_LOG_BUFFER_FLUSH_REQ_TYPE_SRT2_TRACE          0x1UL
-+      #define DBG_LOG_BUFFER_FLUSH_REQ_TYPE_CRT_TRACE           0x2UL
-+      #define DBG_LOG_BUFFER_FLUSH_REQ_TYPE_CRT2_TRACE          0x3UL
-+      #define DBG_LOG_BUFFER_FLUSH_REQ_TYPE_RIGP0_TRACE         0x4UL
-+      #define DBG_LOG_BUFFER_FLUSH_REQ_TYPE_L2_HWRM_TRACE       0x5UL
-+      #define DBG_LOG_BUFFER_FLUSH_REQ_TYPE_ROCE_HWRM_TRACE     0x6UL
-+      #define DBG_LOG_BUFFER_FLUSH_REQ_TYPE_CA0_TRACE           0x7UL
-+      #define DBG_LOG_BUFFER_FLUSH_REQ_TYPE_CA1_TRACE           0x8UL
-+      #define DBG_LOG_BUFFER_FLUSH_REQ_TYPE_CA2_TRACE           0x9UL
-+      #define DBG_LOG_BUFFER_FLUSH_REQ_TYPE_RIGP1_TRACE         0xaUL
-+      #define DBG_LOG_BUFFER_FLUSH_REQ_TYPE_AFM_KONG_HWRM_TRACE 0xbUL
-+      #define DBG_LOG_BUFFER_FLUSH_REQ_TYPE_LAST               DBG_LOG_BUFFER_FLUSH_REQ_TYPE_AFM_KONG_HWRM_TRACE
-+      u8      unused_1[2];
-+      __le32  flags;
-+      #define DBG_LOG_BUFFER_FLUSH_REQ_FLAGS_FLUSH_ALL_BUFFERS     0x1UL
-+};
-+
-+/* hwrm_dbg_log_buffer_flush_output (size:128b/16B) */
-+struct hwrm_dbg_log_buffer_flush_output {
-+      __le16  error_code;
-+      __le16  req_type;
-+      __le16  seq_id;
-+      __le16  resp_len;
-+      __le32  current_buffer_offset;
-+      u8      unused_1[3];
-+      u8      valid;
-+};
-+
- /* hwrm_nvm_read_input (size:320b/40B) */
- struct hwrm_nvm_read_input {
-       __le16  req_type;
-@@ -10080,6 +10178,7 @@ struct hwrm_nvm_write_input {
-       #define NVM_WRITE_REQ_FLAGS_KEEP_ORIG_ACTIVE_IMG     0x1UL
-       #define NVM_WRITE_REQ_FLAGS_BATCH_MODE               0x2UL
-       #define NVM_WRITE_REQ_FLAGS_BATCH_LAST               0x4UL
-+      #define NVM_WRITE_REQ_FLAGS_SKIP_CRID_CHECK          0x8UL
-       __le32  dir_item_length;
-       __le32  offset;
-       __le32  len;
--- 
-2.53.0
-
index 3f771ace74c451fdf2805179208dd125581e3635..d955ddbe636630ac8ee01d892bb21e1649908312 100644 (file)
@@ -60,11 +60,6 @@ net-airoha-add-missing-cleanup-bits-in-airoha_qdma_c.patch
 net-introduce-mangleid_features.patch
 net-use-skb_header_pointer-for-tcpv4-gso-frag_off-ch.patch
 net-sched-cls_api-fix-tc_chain_fill_node-to-initiali.patch
-bnxt_en-update-firmware-interface-spec-to-1.10.3.85.patch
-bnxt_en-allocate-backing-store-memory-for-fw-trace-l.patch
-bnxt_en-manage-the-fw-trace-context-memory.patch
-bnxt_en-do-not-free-fw-log-context-memory.patch
-bnxt_en-set-backing-store-type-from-query-type.patch
 nfc-pn533-bound-the-uart-receive-buffer.patch
 net-xilinx-axienet-correct-bd-length-masks-to-match-.patch
 asoc-intel-boards-fix-unmet-dependency-on-pinctrl.patch