Lines Matching refs:prec
233 pktq_penq(struct pktq *pq, int prec, void *p)
237 ASSERT(prec >= 0 && prec < pq->num_prec);
241 ASSERT(!pktq_pfull(pq, prec));
243 q = &pq->q[prec];
255 if (pq->hi_prec < prec)
256 pq->hi_prec = (uint8)prec;
262 pktq_penq_head(struct pktq *pq, int prec, void *p)
266 ASSERT(prec >= 0 && prec < pq->num_prec);
270 ASSERT(!pktq_pfull(pq, prec));
272 q = &pq->q[prec];
283 if (pq->hi_prec < prec)
284 pq->hi_prec = (uint8)prec;
290 pktq_pdeq(struct pktq *pq, int prec)
295 ASSERT(prec >= 0 && prec < pq->num_prec);
297 q = &pq->q[prec];
315 pktq_pdeq_prev(struct pktq *pq, int prec, void *prev_p)
320 ASSERT(prec >= 0 && prec < pq->num_prec);
322 q = &pq->q[prec];
341 pktq_pdeq_with_fn(struct pktq *pq, int prec, ifpkt_cb_t fn, int arg)
346 ASSERT(prec >= 0 && prec < pq->num_prec);
348 q = &pq->q[prec];
379 pktq_pdeq_tail(struct pktq *pq, int prec)
384 ASSERT(prec >= 0 && prec < pq->num_prec);
386 q = &pq->q[prec];
408 pktq_pflush(osl_t *osh, struct pktq *pq, int prec, bool dir, ifpkt_cb_t fn, int arg)
413 q = &pq->q[prec];
440 pktq_pdel(struct pktq *pq, void *pktbuf, int prec)
445 ASSERT(prec >= 0 && prec < pq->num_prec);
450 q = &pq->q[prec];
475 int prec;
486 for (prec = 0; prec < num_prec; prec++)
487 pq->q[prec].max = pq->max;
491 pktq_set_max_plen(struct pktq *pq, int prec, int max_len)
493 ASSERT(prec >= 0 && prec < pq->num_prec);
495 if (prec < pq->num_prec)
496 pq->q[prec].max = (uint16)max_len;
504 int prec;
509 while ((prec = pq->hi_prec) > 0 && pq->q[prec].head == NULL)
512 q = &pq->q[prec];
525 *prec_out = prec;
537 int prec;
542 for (prec = 0; prec < pq->hi_prec; prec++)
543 if (pq->q[prec].head)
546 q = &pq->q[prec];
565 *prec_out = prec;
575 int prec;
580 while ((prec = pq->hi_prec) > 0 && pq->q[prec].head == NULL)
584 *prec_out = prec;
586 return (pq->q[prec].head);
592 int prec;
597 for (prec = 0; prec < pq->hi_prec; prec++)
598 if (pq->q[prec].head)
602 *prec_out = prec;
604 return (pq->q[prec].tail);
610 int prec;
613 * pktq len of 0 means pktq's prec q's are all empty.
619 for (prec = 0; prec < pq->num_prec; prec++)
620 pktq_pflush(osh, pq, prec, dir, fn, arg);
629 int prec, len;
633 for (prec = 0; prec <= pq->hi_prec; prec++)
634 if (prec_bmp & (1 << prec))
635 len += pq->q[prec].len;
646 int prec;
652 while ((prec = pq->hi_prec) > 0 && pq->q[prec].head == NULL)
655 while ((prec_bmp & (1 << prec)) == 0 || pq->q[prec].head == NULL)
656 if (prec-- == 0)
659 q = &pq->q[prec];
665 *prec_out = prec;
675 int prec;
680 while ((prec = pq->hi_prec) > 0 && pq->q[prec].head == NULL)
683 while ((pq->q[prec].head == NULL) || ((prec_bmp & (1 << prec)) == 0))
684 if (prec-- == 0)
687 q = &pq->q[prec];
698 *prec_out = prec;