dbinfo
struct dbinfo *next;
struct hdb_dbinfo *head, *dbinfo = NULL;
while ((dbinfo = hdb_dbinfo_get_next(head, dbinfo)) != NULL) {
const char *p = hdb_dbinfo_get_realm(context, dbinfo);
p = hdb_dbinfo_get_dbname(context, dbinfo);
p = hdb_dbinfo_get_mkey_file(context, dbinfo);
sq->dbinfo.hwq = &sq->hwq;
sq->dbinfo.xid = qp->id;
sq->dbinfo.db = qp->dpi->dbr;
sq->dbinfo.max_slot = _set_sq_max_slot(qp->wqe_mode);
sq->dbinfo.flags = 0;
spin_lock_init(&sq->dbinfo.lock);
sq->dbinfo.shadow_key = BNXT_QPLIB_DBR_KEY_INVALID;
sq->dbinfo.res = res;
rq->dbinfo.hwq = &rq->hwq;
rq->dbinfo.xid = qp->id;
rq->dbinfo.db = qp->dpi->dbr;
rq->dbinfo.max_slot = _set_rq_max_slot(rq);
rq->dbinfo.flags = 0;
spin_lock_init(&rq->dbinfo.lock);
rq->dbinfo.shadow_key = BNXT_QPLIB_DBR_KEY_INVALID;
rq->dbinfo.res = res;
sq->dbinfo.hwq = &sq->hwq;
sq->dbinfo.xid = qp->id;
sq->dbinfo.db = qp->dpi->dbr;
sq->dbinfo.max_slot = _set_sq_max_slot(qp->wqe_mode);
sq->dbinfo.flags = 0;
spin_lock_init(&sq->dbinfo.lock);
sq->dbinfo.shadow_key = BNXT_QPLIB_DBR_KEY_INVALID;
sq->dbinfo.res = res;
sq->dbinfo.seed = qp->id;
rq->dbinfo.hwq = &rq->hwq;
rq->dbinfo.xid = qp->id;
rq->dbinfo.db = qp->dpi->dbr;
rq->dbinfo.max_slot = _set_rq_max_slot(rq);
rq->dbinfo.flags = 0;
spin_lock_init(&rq->dbinfo.lock);
rq->dbinfo.shadow_key = BNXT_QPLIB_DBR_KEY_INVALID;
rq->dbinfo.res = res;
rq->dbinfo.seed = qp->id;
peek_flags = cq->dbinfo.flags;
tail = swq->slot_idx / sq->dbinfo.max_slot;
bnxt_qplib_ring_prod_db(&sq->dbinfo, DBC_DBC_TYPE_SQ);
sq->dbinfo.max_slot : wqe_slots;
bnxt_qplib_hwq_incr_prod(&sq->dbinfo, sq_hwq, swq->slots);
bnxt_qplib_ring_prod_db(&rq->dbinfo, DBC_DBC_TYPE_RQ);
if (bnxt_qplib_queue_full(rq_hwq, rq->dbinfo.max_slot)) {
swq->slots = rq->dbinfo.max_slot;
bnxt_qplib_hwq_incr_prod(&rq->dbinfo, &rq->hwq, swq->slots);
cq->dbinfo.hwq = &cq->hwq;
cq->dbinfo.xid = cq->id;
cq->dbinfo.db = cq->dpi->dbr;
cq->dbinfo.priv_db = res->dpi_tbl.priv_db;
cq->dbinfo.flags = 0;
cq->dbinfo.toggle = 0;
cq->dbinfo.res = res;
cq->dbinfo.seed = cq->id;
spin_lock_init(&cq->dbinfo.lock);
cq->dbinfo.shadow_key = BNXT_QPLIB_DBR_KEY_INVALID;
cq->dbinfo.shadow_key_arm_ena = BNXT_QPLIB_DBR_KEY_INVALID;
bnxt_qplib_armen_db(&cq->dbinfo, DBC_DBC_TYPE_CQ_ARMENA);
cq->dbinfo.flags &= ~(1UL << BNXT_QPLIB_FLAG_EPOCH_CONS_SHIFT);
bnxt_qplib_cq_coffack_db(&cq->dbinfo);
peek_flags = nq->nq_db.dbinfo.flags;
&sq->dbinfo.flags);
&rq->dbinfo.flags);
bnxt_qplib_ring_db(&cq->dbinfo, DBC_DBC_TYPE_CQ_ARMALL);
peek_flags = cq->dbinfo.flags;
swq->slots, &sq->dbinfo.flags);
srq->dbinfo.max_slot, &srq->dbinfo.flags);
&rq->dbinfo.flags);
&rq->dbinfo.flags);
rc = !CQE_CMP_VALID(hw_cqe, cq->dbinfo.flags);
&rq->dbinfo.flags);
&sq->dbinfo.flags);
if (!CQE_CMP_VALID(hw_cqe, cq->dbinfo.flags))
if (!NQE_CMP_VALID(nqe, nq->nq_db.dbinfo.flags))
1, &cq->dbinfo.flags);
bnxt_qplib_ring_db(&cq->dbinfo, DBC_DBC_TYPE_CQ);
cq->dbinfo.toggle = cq->toggle;
bnxt_qplib_ring_db(&cq->dbinfo, arm_type);
cq->dbinfo.toggle = cq->toggle;
bnxt_qplib_armen_db(&cq->dbinfo,
srq->dbinfo.toggle = toggle;
bnxt_qplib_armen_db(&srq->dbinfo,
1, &nq->nq_db.dbinfo.flags);
if (!NQE_CMP_VALID(nqe, nq->nq_db.dbinfo.flags)) {
bnxt_qplib_ring_nq_db(&nq->nq_db.dbinfo, res->cctx, true);
bnxt_qplib_ring_nq_db(&nq->nq_db.dbinfo, res->cctx, true);
bnxt_qplib_ring_nq_db(&nq->nq_db.dbinfo, res->cctx, false);
bnxt_qplib_ring_nq_db(&nq->nq_db.dbinfo, res->cctx, true);
nq_db->dbinfo.db = nq_db->reg.bar_reg;
nq_db->dbinfo.hwq = &nq->hwq;
nq_db->dbinfo.xid = nq->ring_id;
nq_db->dbinfo.seed = nq->ring_id;
nq_db->dbinfo.flags = 0;
spin_lock_init(&nq_db->dbinfo.lock);
nq_db->dbinfo.shadow_key = BNXT_QPLIB_DBR_KEY_INVALID;
nq_db->dbinfo.res = nq->res;
srq->dbinfo.hwq = &srq->hwq;
srq->dbinfo.xid = srq->id;
srq->dbinfo.db = srq->dpi->dbr;
srq->dbinfo.max_slot = 1;
srq->dbinfo.priv_db = res->dpi_tbl.priv_db;
srq->dbinfo.flags = 0;
spin_lock_init(&srq->dbinfo.lock);
srq->dbinfo.shadow_key = BNXT_QPLIB_DBR_KEY_INVALID;
srq->dbinfo.shadow_key_arm_ena = BNXT_QPLIB_DBR_KEY_INVALID;
srq->dbinfo.res = res;
srq->dbinfo.seed = srq->id;
bnxt_qplib_armen_db(&srq->dbinfo, DBC_DBC_TYPE_SRQ_ARMENA);
bnxt_qplib_srq_arm_db(&srq->dbinfo);
bnxt_qplib_hwq_incr_prod(&srq->dbinfo, srq_hwq, srq->dbinfo.max_slot);
bnxt_qplib_ring_prod_db(&srq->dbinfo, DBC_DBC_TYPE_SRQ);
bnxt_qplib_srq_arm_db(&srq->dbinfo);
struct bnxt_qplib_db_info dbinfo;
struct bnxt_qplib_db_info dbinfo;
struct bnxt_qplib_db_info dbinfo;
struct bnxt_qplib_db_info dbinfo;
bnxt_qplib_ring_nq_db(&creq->creq_db.dbinfo, res->cctx, false);
bnxt_qplib_ring_nq_db(&creq->creq_db.dbinfo, res->cctx, true);
creq_db->dbinfo.db = creq_db->reg.bar_reg;
creq_db->dbinfo.hwq = &rcfw->creq.hwq;
creq_db->dbinfo.xid = rcfw->creq.ring_id;
creq_db->dbinfo.seed = rcfw->creq.ring_id;
creq_db->dbinfo.flags = 0;
spin_lock_init(&creq_db->dbinfo.lock);
creq_db->dbinfo.shadow_key = BNXT_QPLIB_DBR_KEY_INVALID;
creq_db->dbinfo.res = rcfw->res;
if (!CREQ_CMP_VALID(creqe, creq->creq_db.dbinfo.flags))
1, &creq->creq_db.dbinfo.flags);
!CREQ_CMP_VALID(creqe, creq->creq_db.dbinfo.flags)) {
bnxt_qplib_ring_nq_db(&creq->creq_db.dbinfo, res->cctx, true);
bnxt_qplib_ring_nq_db(&creq->creq_db.dbinfo, res->cctx, true);
struct bnxt_qplib_db_info dbinfo;
static inline void bnxt_qplib_hwq_incr_prod(struct bnxt_qplib_db_info *dbinfo,
dbinfo->flags ^= 1UL << BNXT_QPLIB_FLAG_EPOCH_PROD_SHIFT;