Home | History | Annotate | Download | only in dhdutil

Lines Matching refs:pq

233 pktq_penq(struct pktq *pq, int prec, void *p)
237 ASSERT(prec >= 0 && prec < pq->num_prec);
240 ASSERT(!pktq_full(pq));
241 ASSERT(!pktq_pfull(pq, prec));
243 q = &pq->q[prec];
253 pq->len++;
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);
269 ASSERT(!pktq_full(pq));
270 ASSERT(!pktq_pfull(pq, prec));
272 q = &pq->q[prec];
281 pq->len++;
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];
307 pq->len--;
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];
332 pq->len--;
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];
371 pq->len--;
379 pktq_pdeq_tail(struct pktq *pq, int prec)
384 ASSERT(prec >= 0 && prec < pq->num_prec);
386 q = &pq->q[prec];
402 pq->len--;
408 pktq_pflush(osl_t *osh, struct pktq *pq, int prec, bool dir, ifpkt_cb_t fn, int arg)
413 q = &pq->q[prec];
425 pq->len--;
440 pktq_pdel(struct pktq *pq, void *pktbuf, int prec)
445 ASSERT(prec >= 0 && prec < pq->num_prec);
450 q = &pq->q[prec];
467 pq->len--;
473 pktq_init(struct pktq *pq, int num_prec, int max_len)
479 /* pq is variable size; only zero out what's requested */
480 bzero(pq, OFFSETOF(struct pktq, q) + (sizeof(struct pktq_prec) * num_prec));
482 pq->num_prec = (uint16)num_prec;
484 pq->max = (uint16)max_len;
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;
500 pktq_deq(struct pktq *pq, int *prec_out)
506 if (pq->len == 0)
509 while ((prec = pq->hi_prec) > 0 && pq->q[prec].head == NULL)
510 pq->hi_prec--;
512 q = &pq->q[prec];
522 pq->len--;
533 pktq_deq_tail(struct pktq *pq, int *prec_out)
539 if (pq->len == 0)
542 for (prec = 0; prec < pq->hi_prec; prec++)
543 if (pq->q[prec].head)
546 q = &pq->q[prec];
562 pq->len--;
573 pktq_peek(struct pktq *pq, int *prec_out)
577 if (pq->len == 0)
580 while ((prec = pq->hi_prec) > 0 && pq->q[prec].head == NULL)
581 pq->hi_prec--;
586 return (pq->q[prec].head);
590 pktq_peek_tail(struct pktq *pq, int *prec_out)
594 if (pq->len == 0)
597 for (prec = 0; prec < pq->hi_prec; prec++)
598 if (pq->q[prec].head)
604 return (pq->q[prec].tail);
608 pktq_flush(osl_t *osh, struct pktq *pq, bool dir, ifpkt_cb_t fn, int arg)
615 if (pq->len == 0) {
619 for (prec = 0; prec < pq->num_prec; prec++)
620 pktq_pflush(osh, pq, prec, dir, fn, arg);
622 ASSERT(pq->len == 0);
627 pktq_mlen(struct pktq *pq, uint prec_bmp)
633 for (prec = 0; prec <= pq->hi_prec; prec++)
635 len += pq->q[prec].len;
642 pktq_mpeek(struct pktq *pq, uint prec_bmp, int *prec_out)
648 if (pq->len == 0)
652 while ((prec = pq->hi_prec) > 0 && pq->q[prec].head == NULL)
653 pq->hi_prec--;
655 while ((prec_bmp & (1 << prec)) == 0 || pq->q[prec].head == NULL)
659 q = &pq->q[prec];
671 pktq_mdeq(struct pktq *pq, uint prec_bmp, int *prec_out)
677 if (pq->len == 0)
680 while ((prec = pq->hi_prec) > 0 && pq->q[prec].head == NULL)
681 pq->hi_prec--;
683 while ((pq->q[prec].head == NULL) || ((prec_bmp & (1 << prec)) == 0))
687 q = &pq->q[prec];
700 pq->len--;