]> Git Repo - linux.git/commitdiff
bnxt_en: Add mem_valid bit to struct bnxt_ctx_mem_type
authorShruti Parab <[email protected]>
Fri, 15 Nov 2024 15:14:28 +0000 (07:14 -0800)
committerJakub Kicinski <[email protected]>
Tue, 19 Nov 2024 03:48:54 +0000 (19:48 -0800)
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: Hongguang Gao <[email protected]>
Signed-off-by: Shruti Parab <[email protected]>
Signed-of-by: Michael Chan <[email protected]>
Link: https://patch.msgid.link/[email protected]
Signed-off-by: Jakub Kicinski <[email protected]>
drivers/net/ethernet/broadcom/bnxt/bnxt.c
drivers/net/ethernet/broadcom/bnxt/bnxt.h

index 4c1302a8f72d686a567eac587e36c9749864c9ad..0143d976c5fe7e7e3143bf3e376ae5d3990ef408 100644 (file)
@@ -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;
index 649955fa3e37fba82accf6b163b122e84ab502a1..d1fa58d83897f22a7c01d892d5fecdd83c91f12f 100644 (file)
@@ -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 {
This page took 0.085212 seconds and 4 git commands to generate.