• Home
  • Raw
  • Download

Lines Matching refs:rxq

74 	struct alx_rx_queue *rxq = alx->qnapi[0]->rxq;  in alx_refill_rx_ring()  local
80 next = cur = rxq->write_idx; in alx_refill_rx_ring()
83 cur_buf = &rxq->bufs[cur]; in alx_refill_rx_ring()
85 while (!cur_buf->skb && next != rxq->read_idx) { in alx_refill_rx_ring()
86 struct alx_rfd *rfd = &rxq->rfd[cur]; in alx_refill_rx_ring()
128 cur_buf = &rxq->bufs[cur]; in alx_refill_rx_ring()
135 rxq->write_idx = cur; in alx_refill_rx_ring()
217 static int alx_clean_rx_irq(struct alx_rx_queue *rxq, int budget) in alx_clean_rx_irq() argument
226 alx = netdev_priv(rxq->netdev); in alx_clean_rx_irq()
229 rrd = &rxq->rrd[rxq->rrd_read_idx]; in alx_clean_rx_irq()
235 RRD_SI) != rxq->read_idx || in alx_clean_rx_irq()
242 rxb = &rxq->bufs[rxq->read_idx]; in alx_clean_rx_irq()
243 dma_unmap_single(rxq->dev, in alx_clean_rx_irq()
261 skb->protocol = eth_type_trans(skb, rxq->netdev); in alx_clean_rx_irq()
278 napi_gro_receive(&rxq->np->napi, skb); in alx_clean_rx_irq()
282 if (++rxq->read_idx == rxq->count) in alx_clean_rx_irq()
283 rxq->read_idx = 0; in alx_clean_rx_irq()
284 if (++rxq->rrd_read_idx == rxq->count) in alx_clean_rx_irq()
285 rxq->rrd_read_idx = 0; in alx_clean_rx_irq()
308 if (np->rxq) in alx_poll()
309 work = alx_clean_rx_irq(np->rxq, budget); in alx_poll()
468 if (np->rxq) { in alx_init_ring_ptrs()
469 np->rxq->read_idx = 0; in alx_init_ring_ptrs()
470 np->rxq->write_idx = 0; in alx_init_ring_ptrs()
471 np->rxq->rrd_read_idx = 0; in alx_init_ring_ptrs()
472 alx_write_mem32(hw, ALX_RRD_ADDR_LO, np->rxq->rrd_dma); in alx_init_ring_ptrs()
473 alx_write_mem32(hw, ALX_RFD_ADDR_LO, np->rxq->rfd_dma); in alx_init_ring_ptrs()
507 static void alx_free_rxring_buf(struct alx_rx_queue *rxq) in alx_free_rxring_buf() argument
512 if (!rxq->bufs) in alx_free_rxring_buf()
515 for (i = 0; i < rxq->count; i++) { in alx_free_rxring_buf()
516 cur_buf = rxq->bufs + i; in alx_free_rxring_buf()
518 dma_unmap_single(rxq->dev, in alx_free_rxring_buf()
529 rxq->write_idx = 0; in alx_free_rxring_buf()
530 rxq->read_idx = 0; in alx_free_rxring_buf()
531 rxq->rrd_read_idx = 0; in alx_free_rxring_buf()
542 if (alx->qnapi[0] && alx->qnapi[0]->rxq) in alx_free_buffers()
543 alx_free_rxring_buf(alx->qnapi[0]->rxq); in alx_free_buffers()
631 static int alx_alloc_rx_ring(struct alx_priv *alx, struct alx_rx_queue *rxq, in alx_alloc_rx_ring() argument
634 rxq->bufs = kcalloc(rxq->count, sizeof(struct alx_buffer), GFP_KERNEL); in alx_alloc_rx_ring()
635 if (!rxq->bufs) in alx_alloc_rx_ring()
638 rxq->rrd = alx->descmem.virt + offset; in alx_alloc_rx_ring()
639 rxq->rrd_dma = alx->descmem.dma + offset; in alx_alloc_rx_ring()
640 offset += sizeof(struct alx_rrd) * rxq->count; in alx_alloc_rx_ring()
642 rxq->rfd = alx->descmem.virt + offset; in alx_alloc_rx_ring()
643 rxq->rfd_dma = alx->descmem.dma + offset; in alx_alloc_rx_ring()
644 offset += sizeof(struct alx_rfd) * rxq->count; in alx_alloc_rx_ring()
681 offset = alx_alloc_rx_ring(alx, alx->qnapi[0]->rxq, offset); in alx_alloc_rings()
700 if (alx->qnapi[0] && alx->qnapi[0]->rxq) in alx_free_rings()
701 kfree(alx->qnapi[0]->rxq->bufs); in alx_free_rings()
722 kfree(np->rxq); in alx_free_napis()
742 struct alx_rx_queue *rxq; in alx_alloc_napis() local
779 rxq = kzalloc(sizeof(*rxq), GFP_KERNEL); in alx_alloc_napis()
780 if (!rxq) in alx_alloc_napis()
783 np->rxq = rxq; in alx_alloc_napis()
784 rxq->np = alx->qnapi[0]; in alx_alloc_napis()
785 rxq->queue_idx = 0; in alx_alloc_napis()
786 rxq->count = alx->rx_ringsz; in alx_alloc_napis()
787 rxq->netdev = alx->dev; in alx_alloc_napis()
788 rxq->dev = &alx->hw.pdev->dev; in alx_alloc_napis()
868 if (np->txq && np->rxq) in alx_request_msix()
874 else if (np->rxq) in alx_request_msix()
876 np->rxq->queue_idx); in alx_request_msix()