Lines Matching refs:rxq
673 amb_rxq * rxq = &dev->rxq[pool];
678 spin_lock_irqsave (&rxq->lock, flags);
680 if (rxq->pending < rxq->maximum) {
681 PRINTD (DBG_RX, "RX in slot %p", rxq->in.ptr);
683 *rxq->in.ptr = *rx;
684 rxq->pending++;
685 rxq->in.ptr = NEXTQ (rxq->in.ptr, rxq->in.start, rxq->in.limit);
687 wr_mem (dev, offsetof(amb_mem, mb.adapter.rx_address[pool]), virt_to_bus (rxq->in.ptr));
689 spin_unlock_irqrestore (&rxq->lock, flags);
692 spin_unlock_irqrestore (&rxq->lock, flags);
698 amb_rxq * rxq = &dev->rxq[pool];
703 spin_lock_irqsave (&rxq->lock, flags);
705 if (rxq->pending && (rxq->out.ptr->status || rxq->out.ptr->length)) {
707 rx_complete (dev, rxq->out.ptr);
709 rxq->out.ptr->status = 0;
710 rxq->out.ptr->length = 0;
712 rxq->pending--;
713 rxq->out.ptr = NEXTQ (rxq->out.ptr, rxq->out.start, rxq->out.limit);
715 if (rxq->pending < rxq->low)
716 rxq->low = rxq->pending;
717 spin_unlock_irqrestore (&rxq->lock, flags);
720 if (!rxq->pending && rxq->buffers_wanted)
721 rxq->emptied++;
722 spin_unlock_irqrestore (&rxq->lock, flags);
731 amb_rxq * rxq = &dev->rxq[pool];
741 if (rxq->pending > rxq->buffers_wanted) {
748 while (rxq->pending > rxq->buffers_wanted)
769 amb_rxq * rxq;
776 rxq = &dev->rxq[pool];
777 while (rxq->pending < rxq->maximum && rxq->pending < rxq->buffers_wanted) {
779 struct sk_buff * skb = alloc_skb (rxq->buffer_size, priority);
1092 if ((unsigned int) rxtp->max_sdu <= dev->rxq[pool].buffer_size) {
1094 pool, rxtp->max_sdu, dev->rxq[pool].buffer_size);
1178 if (!dev->rxq[pool].buffers_wanted)
1179 dev->rxq[pool].buffers_wanted = rx_lats;
1180 dev->rxq[pool].buffers_wanted += 1;
1274 dev->rxq[pool].buffers_wanted -= 1;
1275 if (dev->rxq[pool].buffers_wanted == rx_lats) {
1276 dev->rxq[pool].buffers_wanted = 0;
1443 amb_rxq * r = &dev->rxq[pool];
1454 amb_rxq * r = &dev->rxq[pool];
1575 amb_rxq * rxq = &dev->rxq[pool];
1577 rxq->buffer_size = rx_buffer_sizes[pool];
1578 rxq->buffers_wanted = 0;
1580 rxq->pending = 0;
1581 rxq->low = rxs[pool] - 1;
1582 rxq->emptied = 0;
1583 rxq->maximum = rxs[pool] - 1;
1585 rxq->in.start = in;
1586 rxq->in.ptr = in;
1587 rxq->in.limit = in + rxs[pool];
1589 memory = rxq->in.limit;
1592 rxq->out.start = out;
1593 rxq->out.ptr = out;
1594 rxq->out.limit = out + rxs[pool];
1596 memory = rxq->out.limit;
1614 // includes txq.in, txq.out, rxq[].in and rxq[].out
1988 a.rec_struct[pool].buffer_start = bus_addr (dev->rxq[pool].in.start);
1989 a.rec_struct[pool].buffer_end = bus_addr (dev->rxq[pool].in.limit);
1990 a.rec_struct[pool].rx_start = bus_addr (dev->rxq[pool].out.start);
1991 a.rec_struct[pool].rx_end = bus_addr (dev->rxq[pool].out.limit);
1992 a.rec_struct[pool].buffer_size = cpu_to_be32 (dev->rxq[pool].buffer_size);
2155 spin_lock_init (&dev->rxq[pool].lock);