MCPcopy Create free account
hub / github.com/F-Stack/f-stack / bnxt_free_ctx_mem

Function bnxt_free_ctx_mem

dpdk/drivers/net/bnxt/bnxt_ethdev.c:4849–4888  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4847}
4848
4849static void bnxt_free_ctx_mem(struct bnxt *bp)
4850{
4851 int i;
4852
4853 if (!bp->ctx || !(bp->ctx->flags & BNXT_CTX_FLAG_INITED))
4854 return;
4855
4856 bp->ctx->flags &= ~BNXT_CTX_FLAG_INITED;
4857 rte_free(bp->ctx->qp_mem.ctx_pg_arr);
4858 rte_free(bp->ctx->srq_mem.ctx_pg_arr);
4859 rte_free(bp->ctx->cq_mem.ctx_pg_arr);
4860 rte_free(bp->ctx->vnic_mem.ctx_pg_arr);
4861 rte_free(bp->ctx->stat_mem.ctx_pg_arr);
4862 rte_free(bp->ctx->qp_mem.ctx_dma_arr);
4863 rte_free(bp->ctx->srq_mem.ctx_dma_arr);
4864 rte_free(bp->ctx->cq_mem.ctx_dma_arr);
4865 rte_free(bp->ctx->vnic_mem.ctx_dma_arr);
4866 rte_free(bp->ctx->stat_mem.ctx_dma_arr);
4867
4868 rte_memzone_free(bp->ctx->qp_mem.ring_mem.mz);
4869 rte_memzone_free(bp->ctx->srq_mem.ring_mem.mz);
4870 rte_memzone_free(bp->ctx->cq_mem.ring_mem.mz);
4871 rte_memzone_free(bp->ctx->vnic_mem.ring_mem.mz);
4872 rte_memzone_free(bp->ctx->stat_mem.ring_mem.mz);
4873 rte_memzone_free(bp->ctx->qp_mem.ring_mem.pg_tbl_mz);
4874 rte_memzone_free(bp->ctx->srq_mem.ring_mem.pg_tbl_mz);
4875 rte_memzone_free(bp->ctx->cq_mem.ring_mem.pg_tbl_mz);
4876 rte_memzone_free(bp->ctx->vnic_mem.ring_mem.pg_tbl_mz);
4877 rte_memzone_free(bp->ctx->stat_mem.ring_mem.pg_tbl_mz);
4878
4879 for (i = 0; i < bp->ctx->tqm_fp_rings_count + 1; i++) {
4880 rte_free(bp->ctx->tqm_mem[i]->ctx_pg_arr);
4881 rte_free(bp->ctx->tqm_mem[i]->ctx_dma_arr);
4882 if (bp->ctx->tqm_mem[i])
4883 rte_memzone_free(bp->ctx->tqm_mem[i]->ring_mem.mz);
4884 }
4885
4886 rte_free(bp->ctx);
4887 bp->ctx = NULL;
4888}
4889
4890#define bnxt_roundup(x, y) ((((x) + ((y) - 1)) / (y)) * (y))
4891

Callers 1

bnxt_uninit_resourcesFunction · 0.85

Calls 2

rte_freeFunction · 0.85
rte_memzone_freeFunction · 0.85

Tested by

no test coverage detected