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 err_qpc backing store handling

New backing store component err_qpc is added to the existing host
logging interface for FW traces.

Allocate the backing store memory if this memory type is supported.
Copy this memory when collecting the coredump.

Reviewed-by: Shruti Parab <shruti.parab@broadcom.com>
Signed-off-by: Kashyap Desai <kashyap.desai@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Link: https://patch.msgid.link/20250917040839.1924698-7-michael.chan@broadcom.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>

authored by

Kashyap Desai and committed by
Paolo Abeni
6f115863 ba1aefee

+7 -3
+2 -1
drivers/net/ethernet/broadcom/bnxt/bnxt.c
··· 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 268 [BNXT_CTX_KONG] = DBG_LOG_BUFFER_FLUSH_REQ_TYPE_AFM_KONG_HWRM_TRACE, 269 + [BNXT_CTX_QPC] = DBG_LOG_BUFFER_FLUSH_REQ_TYPE_ERR_QPC_TRACE, 269 270 }; 270 271 271 272 static struct workqueue_struct *bnxt_pf_wq; ··· 9160 9159 int rc = 0; 9161 9160 u16 type; 9162 9161 9163 - for (type = BNXT_CTX_SRT; type <= BNXT_CTX_KONG; type++) { 9162 + for (type = BNXT_CTX_SRT; type <= BNXT_CTX_QPC; type++) { 9164 9163 ctxm = &ctx->ctx_arr[type]; 9165 9164 if (!bnxt_bs_trace_avail(bp, type)) 9166 9165 continue;
+2 -1
drivers/net/ethernet/broadcom/bnxt/bnxt.h
··· 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 1971 #define BNXT_CTX_KONG FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_AFM_KONG_HWRM_TRACE 1972 + #define BNXT_CTX_QPC FUNC_BACKING_STORE_QCAPS_V2_REQ_TYPE_ERR_QPC_TRACE 1972 1973 1973 1974 #define BNXT_CTX_MAX (BNXT_CTX_TIM + 1) 1974 1975 #define BNXT_CTX_L2_MAX (BNXT_CTX_FTQM + 1) 1975 - #define BNXT_CTX_V2_MAX (BNXT_CTX_KONG + 1) 1976 + #define BNXT_CTX_V2_MAX (BNXT_CTX_QPC + 1) 1976 1977 #define BNXT_CTX_INV ((u16)-1) 1977 1978 1978 1979 struct bnxt_ctx_mem_info {
+2 -1
drivers/net/ethernet/broadcom/bnxt/bnxt_coredump.c
··· 37 37 [BNXT_CTX_CA2] = BNXT_CTX_MEM_SEG_CA2, 38 38 [BNXT_CTX_RIGP1] = BNXT_CTX_MEM_SEG_RIGP1, 39 39 [BNXT_CTX_KONG] = BNXT_CTX_MEM_SEG_KONG, 40 + [BNXT_CTX_QPC] = BNXT_CTX_MEM_SEG_QPC, 40 41 }; 41 42 42 43 static int bnxt_dbg_hwrm_log_buffer_flush(struct bnxt *bp, u16 type, u32 flags, ··· 361 360 362 361 if (buf) 363 362 buf += offset; 364 - for (type = 0; type <= BNXT_CTX_KONG; type++) { 363 + for (type = 0; type < BNXT_CTX_V2_MAX; type++) { 365 364 struct bnxt_ctx_mem_type *ctxm = &ctx->ctx_arr[type]; 366 365 bool trace = bnxt_bs_trace_avail(bp, type); 367 366 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_QPC 0xc 105 106 #define BNXT_CTX_MEM_SEG_KONG 0xd 106 107 107 108 #define BNXT_CRASH_DUMP_LEN (8 << 20)