Commit 0b350b49 authored by Shruti Parab's avatar Shruti Parab Committed by Jakub Kicinski
Browse files

bnxt_en: Add mem_valid bit to struct bnxt_ctx_mem_type



Add a new bit to struct bnxt_ctx_mem_type to indicate that host
memory has been successfully allocated for this context memory type.
In the next patches, we'll be adding some additional context memory
types for FW debugging/logging.  If memory cannot be allocated for
any of these new types, we will not abort and the cleared mem_valid
bit will indicate to skip configuring the memory type.

Reviewed-by: default avatarHongguang Gao <hongguang.gao@broadcom.com>
Signed-off-by: default avatarShruti Parab <shruti.parab@broadcom.com>
Signed-of-by: default avatarMichael Chan <michael.chan@broadcom.com>
Link: https://patch.msgid.link/20241115151438.550106-3-michael.chan@broadcom.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent ff00bcc9
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -8684,6 +8684,8 @@ static int bnxt_setup_ctxm_pg_tbls(struct bnxt *bp,
		rc = bnxt_alloc_ctx_pg_tbls(bp, &ctx_pg[i], mem_size, pg_lvl,
					    ctxm->init_value ? ctxm : NULL);
	}
	if (!rc)
		ctxm->mem_valid = 1;
	return rc;
}

@@ -8754,6 +8756,8 @@ static int bnxt_backing_store_cfg_v2(struct bnxt *bp, u32 ena)
	for (type = 0 ; type < BNXT_CTX_V2_MAX; type++) {
		ctxm = &ctx->ctx_arr[type];

		if (!ctxm->mem_valid)
			continue;
		rc = bnxt_hwrm_func_backing_store_cfg_v2(bp, ctxm, ctxm->last);
		if (rc)
			return rc;
@@ -8783,6 +8787,7 @@ void bnxt_free_ctx_mem(struct bnxt *bp)

		kfree(ctx_pg);
		ctxm->pg_info = NULL;
		ctxm->mem_valid = 0;
	}

	ctx->flags &= ~BNXT_CTX_FLAG_INITED;
+1 −0
Original line number Diff line number Diff line
@@ -1889,6 +1889,7 @@ struct bnxt_ctx_mem_type {
	u32	max_entries;
	u32	min_entries;
	u8	last:1;
	u8	mem_valid:1;
	u8	split_entry_cnt;
#define BNXT_MAX_SPLIT_ENTRY	4
	union {