• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/sys/dev/cxgbe/

Lines Matching refs:pidx

2184 	MPASS(eq->pidx == eq->dbidx);
2189 if (eq->pidx == eq->cidx)
2192 available = IDXDIFF(eq->cidx, eq->pidx, eq->sidx) - 1;
2199 dst = (void *)&eq->desc[eq->pidx];
2200 if (__predict_true(eq->sidx - eq->pidx > n)) {
2203 eq->pidx += n;
2205 int first_portion = (eq->sidx - eq->pidx) * EQ_ESIZE;
2212 eq->pidx = n - (eq->sidx - eq->pidx);
2269 /* Doorbell must have caught up to the pidx. */
2270 MPASS(eq->pidx == eq->dbidx);
2994 cookie->pidx = -1;
3000 if (eq->pidx == eq->cidx)
3003 available = IDXDIFF(eq->cidx, eq->pidx, eq->sidx) - 1;
3007 cookie->pidx = eq->pidx;
3011 w = &eq->desc[eq->pidx];
3012 IDXINCR(eq->pidx, ndesc, eq->sidx);
3013 if (__predict_false(cookie->pidx + ndesc > eq->sidx)) {
3015 wrq->ss_pidx = cookie->pidx;
3029 int ndesc, pidx;
3032 if (cookie->pidx == -1) {
3051 pidx = cookie->pidx;
3052 MPASS(pidx >= 0 && pidx < eq->sidx);
3056 MPASS(pidx == eq->dbidx);
3063 * is at pidx and not eq->pidx, which has moved on
3066 dst = (void *)&eq->desc[pidx];
3067 available = IDXDIFF(eq->cidx, eq->pidx, eq->sidx) - 1;
3081 MPASS(IDXDIFF(next->pidx, pidx, eq->sidx) == ndesc);
3082 next->pidx = pidx;
3086 MPASS(IDXDIFF(pidx, prev->pidx, eq->sidx) == prev->ndesc);
3096 /* Doorbell must have caught up to the pidx. */
3097 MPASS(wrq->eq.pidx == wrq->eq.dbidx);
3154 eq->equeqidx = eq->pidx;
3155 } else if (IDXDIFF(eq->pidx, eq->equeqidx, eq->sidx) >= 32) {
3157 eq->equeqidx = eq->pidx;
3182 * r->items[cidx] to r->items[pidx], with a wraparound at r->size, are ready to
3186 eth_tx(struct mp_ring *r, u_int cidx, u_int pidx, bool *coalescing)
3204 remaining = IDXDIFF(pidx, cidx, r->size);
3209 while (cidx != pidx) {
3221 if (eq->pidx == eq->cidx)
3224 avail = IDXDIFF(eq->cidx, eq->pidx, eq->sidx) - 1;
3286 wr = &eq->desc[eq->pidx];
3287 IDXINCR(eq->pidx, n, eq->sidx);
3315 wr = &eq->desc[eq->pidx];
3337 IDXINCR(eq->pidx, n, eq->sidx);
3357 } else if (eq->pidx == eq->cidx && txp->npkt > 0 &&
3383 wr = &eq->desc[eq->pidx];
3384 IDXINCR(eq->pidx, n, eq->sidx);
3633 fl->pidx = fl->cidx = 0;
3787 SYSCTL_ADD_UINT(ctx, children, OID_AUTO, "pidx", CTLFLAG_RD, &fl->pidx,
4169 eq->pidx = eq->cidx = eq->dbidx = 0;
4295 SYSCTL_ADD_U16(ctx, children, OID_AUTO, "pidx", CTLFLAG_RD,
4296 &wrq->eq.pidx, 0, "producer index");
4395 SYSCTL_ADD_U16(&vi->ctx, children, OID_AUTO, "pidx", CTLFLAG_RD,
4396 &eq->pidx, 0, "producer index");
4581 n = IDXDIFF(fl->pidx >> 3, fl->dbidx, fl->sidx);
4616 * before the one with the hw cidx. This is to avoid hw pidx = hw cidx,
4620 if (fl->pidx == max_pidx * 8)
4623 d = &fl->desc[fl->pidx];
4624 sd = &fl->sdesc[fl->pidx];
4687 if (__predict_false((++fl->pidx & 7) == 0)) {
4688 uint16_t pidx = fl->pidx >> 3;
4690 if (__predict_false(pidx == fl->sidx)) {
4691 fl->pidx = 0;
4692 pidx = 0;
4696 if (n < 8 || pidx == max_pidx)
4699 if (IDXDIFF(pidx, fl->dbidx, fl->sidx) >= 4)
4704 if ((fl->pidx >> 3) != fl->dbidx)
5065 * software descriptor, and advance the pidx. It is guaranteed that enough
5095 wr = (void *)&eq->desc[eq->pidx];
5151 write_gl_to_txd(txq, m0, &dst, eq->sidx - ndesc < eq->pidx);
5155 txsd = &txq->sdesc[eq->pidx];
5164 * descriptor, and advance the pidx. It is guaranteed that enough
5188 txsd = &txq->sdesc[eq->pidx];
5197 * software descriptor, and advance the pidx. It is guaranteed that enough
5240 wr = (void *)&eq->desc[eq->pidx];
5288 write_gl_to_txd(txq, m0, &dst, eq->sidx - ndesc < eq->pidx);
5307 txsd = &txq->sdesc[eq->pidx];
5462 * the software descriptor, and advance the pidx. It is guaranteed that enough
5484 wr = (void *)&eq->desc[eq->pidx];
5500 checkwrap = eq->sidx - ndesc < eq->pidx;
5571 txsd = &txq->sdesc[eq->pidx];
5597 wr = (void *)&eq->desc[eq->pidx];
5651 txsd = &txq->sdesc[eq->pidx];
5823 uint16_t hw_cidx, pidx;
5826 pidx = eq->pidx;
5828 if (pidx == hw_cidx)
5831 return (IDXDIFF(hw_cidx, pidx, eq->sidx) - 1);
5896 if (eq->cidx == eq->pidx)
5897 eq->equeqidx = eq->pidx;