Lines Matching +full:delta +full:- +full:x +full:- +full:threshold

2  * Broadcom NetXtreme-E RoCE driver.
4 * Copyright (c) 2016 - 2017, Broadcom. All rights reserved. The term
42 #include <rdma/bnxt_re-abi.h>
98 u32 threshold; member
206 /* FR-PMR */
305 #define BTH_PSN_MASK ((1 << 24) - 1)
351 #define CQE_MAX_IDX_PER_PG (CQE_CNT_PER_PG - 1)
352 #define CQE_PG(x) (((x) & ~CQE_MAX_IDX_PER_PG) / CQE_CNT_PER_PG) argument
353 #define CQE_IDX(x) ((x) & CQE_MAX_IDX_PER_PG) argument
357 (!!((hdr)->cqe_type_toggle & CQ_BASE_TOGGLE) == \
364 cons = hwq->cons; in __bnxt_qplib_get_avail()
365 prod = hwq->prod; in __bnxt_qplib_get_avail()
366 avail = cons - prod; in __bnxt_qplib_get_avail()
368 avail += hwq->depth; in __bnxt_qplib_get_avail()
378 hwq = &que->hwq; in bnxt_qplib_queue_full()
379 /* False full is possible, retrying post-send makes sense */ in bnxt_qplib_queue_full()
380 avail = hwq->cons - hwq->prod; in bnxt_qplib_queue_full()
381 if (hwq->cons <= hwq->prod) in bnxt_qplib_queue_full()
382 avail += hwq->depth; in bnxt_qplib_queue_full()
439 * Each flush list is protected by qplib_cq->flush_lock. Both scq and rcq
442 * using upper level CQ locks (bnxt_re_cq->cq_lock) of both SCQ and RCQ.
443 * The qplib_cq->flush_lock is required to synchronize two instances of poll_cq
452 #define IRD_LIMIT_TO_IRRQ_SLOTS(x) (2 * (x) + 2) argument
453 #define IRRQ_SLOTS_TO_IRD_LIMIT(s) (((s) >> 1) - 1)
454 #define ORD_LIMIT_TO_ORRQ_SLOTS(x) ((x) + 1) argument
455 #define ORRQ_SLOTS_TO_ORD_LIMIT(s) ((s) - 1)
460 #define NQE_MAX_IDX_PER_PG (NQE_CNT_PER_PG - 1)
461 #define NQE_PG(x) (((x) & ~NQE_MAX_IDX_PER_PG) / NQE_CNT_PER_PG) argument
462 #define NQE_IDX(x) ((x) & NQE_MAX_IDX_PER_PG) argument
465 (!!(le32_to_cpu((hdr)->info63_v[0]) & NQ_BASE_V) == \
580 idx = que->swq_start; in bnxt_qplib_get_swqe()
583 return &que->swq[idx]; in bnxt_qplib_get_swqe()
588 que->swq_start = que->swq[idx].next_idx; in bnxt_qplib_swq_mod_start()
596 slots = (que->wqe_size * que->max_wqe) / sizeof(struct sq_sge); in bnxt_qplib_get_depth()
606 que->max_wqe : bnxt_qplib_get_depth(que, wqe_mode, true); in bnxt_qplib_set_sq_size()
620 static inline u16 __xlate_qfd(u16 delta, u16 wqe_bytes) in __xlate_qfd() argument
622 /* For Cu/Wh delta = 128, stride = 16, wqe_bytes = 128 in __xlate_qfd()
623 * For Gen-p5 B/C mode delta = 0, stride = 16, wqe_bytes = 128. in __xlate_qfd()
624 * For Gen-p5 delta = 0, stride = 16, 32 <= wqe_bytes <= 512. in __xlate_qfd()
627 return (delta * wqe_bytes) / sizeof(struct sq_sge); in __xlate_qfd()
635 for (indx = 0; indx < wqe->num_sge; indx++) in bnxt_qplib_calc_ilsize()
636 size += wqe->sg_list[indx].size; in bnxt_qplib_calc_ilsize()
656 return (qp->wqe_mode == BNXT_QPLIB_WQE_MODE_VARIABLE); in __is_var_wqe()