From: Greg Kroah-Hartman Date: Wed, 8 Apr 2026 13:45:20 +0000 (+0200) Subject: drop some 6.12 patches that were broken X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e5a07c430e0baa5f4f86ab2d4c441dac7029a7fd;p=thirdparty%2Fkernel%2Fstable-queue.git drop some 6.12 patches that were broken --- 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 index 0aed72c58f..0000000000 --- a/queue-6.12/bnxt_en-allocate-backing-store-memory-for-fw-trace-l.patch +++ /dev/null @@ -1,163 +0,0 @@ -From 2749c932f0b429ee0a1746832aa8b82817f2129d Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 15 Nov 2024 07:14:31 -0800 -Subject: bnxt_en: Allocate backing store memory for FW trace logs - -From: Shruti Parab - -[ 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 -Signed-off-by: Shruti Parab -Signed-off-by: Michael Chan -Link: https://patch.msgid.link/20241115151438.550106-6-michael.chan@broadcom.com -Signed-off-by: Jakub Kicinski -Stable-dep-of: 4ee937107d52 ("bnxt_en: set backing store type from query type") -Signed-off-by: Sasha Levin ---- - 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 index 9f7e30316d..0000000000 --- a/queue-6.12/bnxt_en-do-not-free-fw-log-context-memory.patch +++ /dev/null @@ -1,157 +0,0 @@ -From 6718d9e19aece13ba758b7029fe3f9f8c8643e7d Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 15 Nov 2024 07:14:33 -0800 -Subject: bnxt_en: Do not free FW log context memory - -From: Hongguang Gao - -[ 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 -Signed-off-by: Michael Chan -Link: https://patch.msgid.link/20241115151438.550106-8-michael.chan@broadcom.com -Signed-off-by: Jakub Kicinski -Stable-dep-of: 4ee937107d52 ("bnxt_en: set backing store type from query type") -Signed-off-by: Sasha Levin ---- - 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 index a7925e4ccc..0000000000 --- a/queue-6.12/bnxt_en-manage-the-fw-trace-context-memory.patch +++ /dev/null @@ -1,178 +0,0 @@ -From 25947381eec5795cce4283b58dcca204d3eaf98d Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 15 Nov 2024 07:14:32 -0800 -Subject: bnxt_en: Manage the FW trace context memory - -From: Shruti Parab - -[ 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 -Signed-off-by: Shruti Parab -Signed-off-by: Michael Chan -Link: https://patch.msgid.link/20241115151438.550106-7-michael.chan@broadcom.com -Signed-off-by: Jakub Kicinski -Stable-dep-of: 4ee937107d52 ("bnxt_en: set backing store type from query type") -Signed-off-by: Sasha Levin ---- - 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 - diff --git a/queue-6.12/bnxt_en-restore-default-stat-ctxs-for-ulp-when-resou.patch b/queue-6.12/bnxt_en-restore-default-stat-ctxs-for-ulp-when-resou.patch index 878d7ec5b1..0a190f5ab4 100644 --- a/queue-6.12/bnxt_en-restore-default-stat-ctxs-for-ulp-when-resou.patch +++ b/queue-6.12/bnxt_en-restore-default-stat-ctxs-for-ulp-when-resou.patch @@ -27,14 +27,12 @@ Link: https://patch.msgid.link/20260331065138.948205-4-michael.chan@broadcom.com Signed-off-by: Jakub Kicinski Signed-off-by: Sasha Levin --- - 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 index ca8ddd9fe9..0000000000 --- a/queue-6.12/bnxt_en-set-backing-store-type-from-query-type.patch +++ /dev/null @@ -1,76 +0,0 @@ -From fc13ea785682358c9537f610e344b10cb3c056a7 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Sun, 29 Mar 2026 07:43:56 +0800 -Subject: bnxt_en: set backing store type from query type - -From: Pengpeng Hou - -[ 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 -Reviewed-by: Michael Chan -Tested-by: Michael Chan -Link: https://patch.msgid.link/20260328234357.43669-1-pengpeng@iscas.ac.cn -Signed-off-by: Jakub Kicinski -Signed-off-by: Sasha Levin ---- - 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 index 1ff00901d9..0000000000 --- a/queue-6.12/bnxt_en-update-firmware-interface-spec-to-1.10.3.85.patch +++ /dev/null @@ -1,350 +0,0 @@ -From 390ba44d3b6f35bddb17e6e0a7ccf30fec634256 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Fri, 15 Nov 2024 07:14:27 -0800 -Subject: bnxt_en: Update firmware interface spec to 1.10.3.85 - -From: Michael Chan - -[ 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 -Reviewed-by: Kalesh AP -Signed-off-by: Michael Chan -Link: https://patch.msgid.link/20241115151438.550106-2-michael.chan@broadcom.com -Signed-off-by: Jakub Kicinski -Stable-dep-of: 4ee937107d52 ("bnxt_en: set backing store type from query type") -Signed-off-by: Sasha Levin ---- - 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 - diff --git a/queue-6.12/series b/queue-6.12/series index 3f771ace74..d955ddbe63 100644 --- a/queue-6.12/series +++ b/queue-6.12/series @@ -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