Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

bnxt_en: Add fw log trace support for 5731X/5741X chips

These older chips now support the fw log traces via backing store
qcaps_v2. No other backing store memory types are supported besides
the fw trace types.

Reviewed-by: Hongguang Gao <hongguang.gao@broadcom.com>
Reviewed-by: Andy Gospodarek <andrew.gospodarek@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/20250917040839.1924698-6-michael.chan@broadcom.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>

authored by

Shruti Parab and committed by
Paolo Abeni
ba1aefee de676875

+12 -4
+7 -2
drivers/net/ethernet/broadcom/bnxt/bnxt.c
··· 265 265 [BNXT_CTX_CA1] = DBG_LOG_BUFFER_FLUSH_REQ_TYPE_CA1_TRACE, 266 266 [BNXT_CTX_CA2] = DBG_LOG_BUFFER_FLUSH_REQ_TYPE_CA2_TRACE, 267 267 [BNXT_CTX_RIGP1] = DBG_LOG_BUFFER_FLUSH_REQ_TYPE_RIGP1_TRACE, 268 + [BNXT_CTX_KONG] = DBG_LOG_BUFFER_FLUSH_REQ_TYPE_AFM_KONG_HWRM_TRACE, 268 269 }; 269 270 270 271 static struct workqueue_struct *bnxt_pf_wq; ··· 9159 9158 int rc = 0; 9160 9159 u16 type; 9161 9160 9162 - for (type = BNXT_CTX_SRT; type <= BNXT_CTX_RIGP1; type++) { 9161 + for (type = BNXT_CTX_SRT; type <= BNXT_CTX_KONG; type++) { 9163 9162 ctxm = &ctx->ctx_arr[type]; 9164 9163 if (!bnxt_bs_trace_avail(bp, type)) 9165 9164 continue; ··· 9310 9309 if (!ctx || (ctx->flags & BNXT_CTX_FLAG_INITED)) 9311 9310 return 0; 9312 9311 9312 + ena = 0; 9313 + if (!(bp->flags & BNXT_FLAG_CHIP_P5_PLUS)) 9314 + goto skip_legacy; 9315 + 9313 9316 ctxm = &ctx->ctx_arr[BNXT_CTX_QP]; 9314 9317 l2_qps = ctxm->qp_l2_entries; 9315 9318 qp1_qps = ctxm->qp_qp1_entries; ··· 9322 9317 ctxm = &ctx->ctx_arr[BNXT_CTX_SRQ]; 9323 9318 srqs = ctxm->srq_l2_entries; 9324 9319 max_srqs = ctxm->max_entries; 9325 - ena = 0; 9326 9320 if ((bp->flags & BNXT_FLAG_ROCE_CAP) && !is_kdump_kernel()) { 9327 9321 pg_lvl = 2; 9328 9322 if (BNXT_SW_RES_LMT(bp)) { ··· 9415 9411 ena |= FUNC_BACKING_STORE_CFG_REQ_ENABLES_TQM_SP << i; 9416 9412 ena |= FUNC_BACKING_STORE_CFG_REQ_DFLT_ENABLES; 9417 9413 9414 + skip_legacy: 9418 9415 if (bp->fw_cap & BNXT_FW_CAP_BACKING_STORE_V2) 9419 9416 rc = bnxt_backing_store_cfg_v2(bp); 9420 9417 else
+2 -1
drivers/net/ethernet/broadcom/bnxt/bnxt.h
··· 1968 1968 #define BNXT_CTX_CA1 FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_CA1_TRACE 1969 1969 #define BNXT_CTX_CA2 FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_CA2_TRACE 1970 1970 #define BNXT_CTX_RIGP1 FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_RIGP1_TRACE 1971 + #define BNXT_CTX_KONG FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_AFM_KONG_HWRM_TRACE 1971 1972 1972 1973 #define BNXT_CTX_MAX (BNXT_CTX_TIM + 1) 1973 1974 #define BNXT_CTX_L2_MAX (BNXT_CTX_FTQM + 1) 1974 - #define BNXT_CTX_V2_MAX (BNXT_CTX_RIGP1 + 1) 1975 + #define BNXT_CTX_V2_MAX (BNXT_CTX_KONG + 1) 1975 1976 #define BNXT_CTX_INV ((u16)-1) 1976 1977 1977 1978 struct bnxt_ctx_mem_info {
+2 -1
drivers/net/ethernet/broadcom/bnxt/bnxt_coredump.c
··· 36 36 [BNXT_CTX_CA1] = BNXT_CTX_MEM_SEG_CA1, 37 37 [BNXT_CTX_CA2] = BNXT_CTX_MEM_SEG_CA2, 38 38 [BNXT_CTX_RIGP1] = BNXT_CTX_MEM_SEG_RIGP1, 39 + [BNXT_CTX_KONG] = BNXT_CTX_MEM_SEG_KONG, 39 40 }; 40 41 41 42 static int bnxt_dbg_hwrm_log_buffer_flush(struct bnxt *bp, u16 type, u32 flags, ··· 360 359 361 360 if (buf) 362 361 buf += offset; 363 - for (type = 0 ; type <= BNXT_CTX_RIGP1; type++) { 362 + for (type = 0; type <= BNXT_CTX_KONG; type++) { 364 363 struct bnxt_ctx_mem_type *ctxm = &ctx->ctx_arr[type]; 365 364 bool trace = bnxt_bs_trace_avail(bp, type); 366 365 u32 seg_id = bnxt_bstore_to_seg_id[type];
+1
drivers/net/ethernet/broadcom/bnxt/bnxt_coredump.h
··· 102 102 #define BNXT_CTX_MEM_SEG_CA1 0x9 103 103 #define BNXT_CTX_MEM_SEG_CA2 0xa 104 104 #define BNXT_CTX_MEM_SEG_RIGP1 0xb 105 + #define BNXT_CTX_MEM_SEG_KONG 0xd 105 106 106 107 #define BNXT_CRASH_DUMP_LEN (8 << 20) 107 108