Lines Matching defs:pq

46 struct sk_buff *brcmu_pktq_penq(struct pktq *pq, int prec,
51 if (pktq_full(pq) || pktq_pfull(pq, prec))
54 q = &pq->q[prec].skblist;
56 pq->len++;
58 if (pq->hi_prec < prec)
59 pq->hi_prec = (u8) prec;
65 struct sk_buff *brcmu_pktq_penq_head(struct pktq *pq, int prec,
70 if (pktq_full(pq) || pktq_pfull(pq, prec))
73 q = &pq->q[prec].skblist;
75 pq->len++;
77 if (pq->hi_prec < prec)
78 pq->hi_prec = (u8) prec;
84 struct sk_buff *brcmu_pktq_pdeq(struct pktq *pq, int prec)
89 q = &pq->q[prec].skblist;
94 pq->len--;
105 struct sk_buff *brcmu_pktq_pdeq_match(struct pktq *pq, int prec,
112 q = &pq->q[prec].skblist;
116 pq->len--;
124 struct sk_buff *brcmu_pktq_pdeq_tail(struct pktq *pq, int prec)
129 q = &pq->q[prec].skblist;
134 pq->len--;
140 brcmu_pktq_pflush(struct pktq *pq, int prec, bool dir,
146 q = &pq->q[prec].skblist;
151 pq->len--;
157 void brcmu_pktq_flush(struct pktq *pq, bool dir,
161 for (prec = 0; prec < pq->num_prec; prec++)
162 brcmu_pktq_pflush(pq, prec, dir, fn, arg);
166 void brcmu_pktq_init(struct pktq *pq, int num_prec, int max_len)
170 /* pq is variable size; only zero out what's requested */
171 memset(pq, 0,
174 pq->num_prec = (u16) num_prec;
176 pq->max = (u16) max_len;
179 pq->q[prec].max = pq->max;
180 skb_queue_head_init(&pq->q[prec].skblist);
185 struct sk_buff *brcmu_pktq_peek_tail(struct pktq *pq, int *prec_out)
189 if (pktq_empty(pq))
192 for (prec = 0; prec < pq->hi_prec; prec++)
193 if (!skb_queue_empty(&pq->q[prec].skblist))
199 return skb_peek_tail(&pq->q[prec].skblist);
204 int brcmu_pktq_mlen(struct pktq *pq, uint prec_bmp)
210 for (prec = 0; prec <= pq->hi_prec; prec++)
212 len += pq->q[prec].skblist.qlen;
219 struct sk_buff *brcmu_pktq_mdeq(struct pktq *pq, uint prec_bmp,
226 if (pktq_empty(pq))
229 while ((prec = pq->hi_prec) > 0 &&
230 skb_queue_empty(&pq->q[prec].skblist))
231 pq->hi_prec--;
234 skb_queue_empty(&pq->q[prec].skblist))
238 q = &pq->q[prec].skblist;
243 pq->len--;