Lines Matching refs:hwq
105 #define HWQ_CMP(idx, hwq) ((idx) & ((hwq)->max_elements - 1)) argument
107 #define HWQ_FREE_SLOTS(hwq) (hwq->max_elements - \ argument
108 ((HWQ_CMP(hwq->prod, hwq)\
109 - HWQ_CMP(hwq->cons, hwq))\
110 & (hwq->max_elements - 1)))
208 struct bnxt_qplib_hwq *hwq; member
359 static inline u8 bnxt_qplib_base_pg_size(struct bnxt_qplib_hwq *hwq) in bnxt_qplib_base_pg_size() argument
364 pbl = &hwq->pbl[PBL_LVL_0]; in bnxt_qplib_base_pg_size()
391 static inline void *bnxt_qplib_get_qe(struct bnxt_qplib_hwq *hwq, in bnxt_qplib_get_qe() argument
396 pg_num = (indx / hwq->qe_ppg); in bnxt_qplib_get_qe()
397 pg_idx = (indx % hwq->qe_ppg); in bnxt_qplib_get_qe()
399 *pg = (u64)&hwq->pbl_ptr[pg_num]; in bnxt_qplib_get_qe()
400 return (void *)(hwq->pbl_ptr[pg_num] + hwq->element_size * pg_idx); in bnxt_qplib_get_qe()
403 static inline void *bnxt_qplib_get_prod_qe(struct bnxt_qplib_hwq *hwq, u32 idx) in bnxt_qplib_get_prod_qe() argument
405 idx += hwq->prod; in bnxt_qplib_get_prod_qe()
406 if (idx >= hwq->depth) in bnxt_qplib_get_prod_qe()
407 idx -= hwq->depth; in bnxt_qplib_get_prod_qe()
408 return bnxt_qplib_get_qe(hwq, idx, NULL); in bnxt_qplib_get_prod_qe()
418 struct bnxt_qplib_hwq *hwq);
419 int bnxt_qplib_alloc_init_hwq(struct bnxt_qplib_hwq *hwq,
446 struct bnxt_qplib_hwq *hwq, u32 cnt) in bnxt_qplib_hwq_incr_prod() argument
449 hwq->prod += cnt; in bnxt_qplib_hwq_incr_prod()
450 if (hwq->prod >= hwq->depth) { in bnxt_qplib_hwq_incr_prod()
451 hwq->prod %= hwq->depth; in bnxt_qplib_hwq_incr_prod()
472 key |= info->hwq->cons | (CMPL_DOORBELL_IDX_VALID | in bnxt_qplib_ring_db32()
495 indx = (info->hwq->cons & DBC_DBC_INDEX_MASK) | in bnxt_qplib_ring_db()
509 indx = (((info->hwq->prod / info->max_slot) & DBC_DBC_INDEX_MASK) | in bnxt_qplib_ring_prod_db()