• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/drivers/net/qlcnic/

Lines Matching refs:rds_ring

46 		struct qlcnic_host_rds_ring *rds_ring);
106 struct qlcnic_host_rds_ring *rds_ring;
112 rds_ring = &recv_ctx->rds_rings[ring];
113 for (i = 0; i < rds_ring->num_desc; ++i) {
114 rx_buf = &(rds_ring->rx_buf_arr[i]);
120 rds_ring->dma_size,
131 struct qlcnic_host_rds_ring *rds_ring;
137 rds_ring = &recv_ctx->rds_rings[ring];
139 spin_lock(&rds_ring->lock);
141 INIT_LIST_HEAD(&rds_ring->free_list);
143 rx_buf = rds_ring->rx_buf_arr;
144 for (i = 0; i < rds_ring->num_desc; i++) {
146 &rds_ring->free_list);
150 spin_unlock(&rds_ring->lock);
189 struct qlcnic_host_rds_ring *rds_ring;
199 rds_ring = &recv_ctx->rds_rings[ring];
200 vfree(rds_ring->rx_buf_arr);
201 rds_ring->rx_buf_arr = NULL;
219 struct qlcnic_host_rds_ring *rds_ring;
250 rds_ring = kzalloc(size, GFP_KERNEL);
251 if (rds_ring == NULL) {
255 recv_ctx->rds_rings = rds_ring;
258 rds_ring = &recv_ctx->rds_rings[ring];
261 rds_ring->num_desc = adapter->num_rxd;
262 rds_ring->dma_size = QLCNIC_P3_RX_BUF_MAX_LEN;
263 rds_ring->skb_size = rds_ring->dma_size + NET_IP_ALIGN;
267 rds_ring->num_desc = adapter->num_jumbo_rxd;
268 rds_ring->dma_size =
272 rds_ring->dma_size += QLCNIC_LRO_BUFFER_EXTRA;
274 rds_ring->skb_size =
275 rds_ring->dma_size + NET_IP_ALIGN;
278 rds_ring->rx_buf_arr = (struct qlcnic_rx_buffer *)
279 vmalloc(RCV_BUFF_RINGSIZE(rds_ring));
280 if (rds_ring->rx_buf_arr == NULL) {
285 memset(rds_ring->rx_buf_arr, 0, RCV_BUFF_RINGSIZE(rds_ring));
286 INIT_LIST_HEAD(&rds_ring->free_list);
291 rx_buf = rds_ring->rx_buf_arr;
292 for (i = 0; i < rds_ring->num_desc; i++) {
294 &rds_ring->free_list);
298 spin_lock_init(&rds_ring->lock);
1306 struct qlcnic_host_rds_ring *rds_ring,
1313 skb = dev_alloc_skb(rds_ring->skb_size);
1322 rds_ring->dma_size, PCI_DMA_FROMDEVICE);
1337 struct qlcnic_host_rds_ring *rds_ring, u16 index, u16 cksum)
1342 buffer = &rds_ring->rx_buf_arr[index];
1349 pci_unmap_single(adapter->pdev, buffer->dma, rds_ring->dma_size,
1377 struct qlcnic_host_rds_ring *rds_ring;
1383 rds_ring = &recv_ctx->rds_rings[ring];
1386 if (unlikely(index >= rds_ring->num_desc))
1389 buffer = &rds_ring->rx_buf_arr[index];
1395 skb = qlcnic_process_rxbuf(adapter, rds_ring, index, cksum);
1399 if (length > rds_ring->skb_size)
1400 skb_put(skb, rds_ring->skb_size);
1430 struct qlcnic_host_rds_ring *rds_ring;
1442 rds_ring = &recv_ctx->rds_rings[ring];
1445 if (unlikely(index > rds_ring->num_desc))
1448 buffer = &rds_ring->rx_buf_arr[index];
1457 skb = qlcnic_process_rxbuf(adapter, rds_ring, index, STATUS_CKSUM_OK);
1552 struct qlcnic_host_rds_ring *rds_ring =
1559 qlcnic_alloc_rx_skb(adapter, rds_ring, rxbuf);
1561 spin_lock(&rds_ring->lock);
1563 &rds_ring->free_list);
1564 spin_unlock(&rds_ring->lock);
1567 qlcnic_post_rx_buffers_nodb(adapter, rds_ring);
1580 struct qlcnic_host_rds_ring *rds_ring)
1587 spin_lock(&rds_ring->lock);
1589 producer = rds_ring->producer;
1591 head = &rds_ring->free_list;
1597 if (qlcnic_alloc_rx_skb(adapter, rds_ring, buffer))
1605 pdesc = &rds_ring->desc_head[producer];
1608 pdesc->buffer_length = cpu_to_le32(rds_ring->dma_size);
1610 producer = get_next_index(producer, rds_ring->num_desc);
1614 rds_ring->producer = producer;
1615 writel((producer-1) & (rds_ring->num_desc-1),
1616 rds_ring->crb_rcv_producer);
1618 spin_unlock(&rds_ring->lock);
1623 struct qlcnic_host_rds_ring *rds_ring)
1630 if (!spin_trylock(&rds_ring->lock))
1633 producer = rds_ring->producer;
1635 head = &rds_ring->free_list;
1641 if (qlcnic_alloc_rx_skb(adapter, rds_ring, buffer))
1649 pdesc = &rds_ring->desc_head[producer];
1651 pdesc->buffer_length = cpu_to_le32(rds_ring->dma_size);
1654 producer = get_next_index(producer, rds_ring->num_desc);
1658 rds_ring->producer = producer;
1659 writel((producer - 1) & (rds_ring->num_desc - 1),
1660 rds_ring->crb_rcv_producer);
1662 spin_unlock(&rds_ring->lock);
1673 struct qlcnic_host_rds_ring *rds_ring;
1679 rds_ring = &recv_ctx->rds_rings[ring];
1682 if (unlikely(index >= rds_ring->num_desc))
1685 buffer = &rds_ring->rx_buf_arr[index];
1691 skb = qlcnic_process_rxbuf(adapter, rds_ring, index, cksum);
1695 skb_put(skb, rds_ring->skb_size);