Lines Matching refs:ring

706 		struct ring_info *ring = &mac_control->rings[i];  in init_shared_mem()  local
715 ring->block_count = rx_cfg->num_rxd / in init_shared_mem()
717 ring->pkt_cnt = rx_cfg->num_rxd - ring->block_count; in init_shared_mem()
726 struct ring_info *ring = &mac_control->rings[i]; in init_shared_mem() local
728 ring->rx_curr_get_info.block_index = 0; in init_shared_mem()
729 ring->rx_curr_get_info.offset = 0; in init_shared_mem()
730 ring->rx_curr_get_info.ring_len = rx_cfg->num_rxd - 1; in init_shared_mem()
731 ring->rx_curr_put_info.block_index = 0; in init_shared_mem()
732 ring->rx_curr_put_info.offset = 0; in init_shared_mem()
733 ring->rx_curr_put_info.ring_len = rx_cfg->num_rxd - 1; in init_shared_mem()
734 ring->nic = nic; in init_shared_mem()
735 ring->ring_no = i; in init_shared_mem()
743 rx_blocks = &ring->rx_blocks[j]; in init_shared_mem()
780 tmp_v_addr = ring->rx_blocks[j].block_virt_addr; in init_shared_mem()
781 tmp_v_addr_next = ring->rx_blocks[next].block_virt_addr; in init_shared_mem()
782 tmp_p_addr = ring->rx_blocks[j].block_dma_addr; in init_shared_mem()
783 tmp_p_addr_next = ring->rx_blocks[next].block_dma_addr; in init_shared_mem()
799 struct ring_info *ring = &mac_control->rings[i]; in init_shared_mem() local
804 ring->ba = kmalloc(size, GFP_KERNEL); in init_shared_mem()
805 if (!ring->ba) in init_shared_mem()
813 ring->ba[j] = kmalloc(size, GFP_KERNEL); in init_shared_mem()
814 if (!ring->ba[j]) in init_shared_mem()
818 ba = &ring->ba[j][k]; in init_shared_mem()
943 struct ring_info *ring = &mac_control->rings[i]; in free_shared_mem() local
945 blk_cnt = ring->block_count; in free_shared_mem()
947 tmp_v_addr = ring->rx_blocks[j].block_virt_addr; in free_shared_mem()
948 tmp_p_addr = ring->rx_blocks[j].block_dma_addr; in free_shared_mem()
954 kfree(ring->rx_blocks[j].rxds); in free_shared_mem()
964 struct ring_info *ring = &mac_control->rings[i]; in free_shared_mem() local
970 if (!ring->ba[j]) in free_shared_mem()
973 struct buffAdd *ba = &ring->ba[j][k]; in free_shared_mem()
982 kfree(ring->ba[j]); in free_shared_mem()
986 kfree(ring->ba); in free_shared_mem()
2222 struct ring_info *ring = &mac_control->rings[i]; in start_nic() local
2224 writeq((u64)ring->rx_blocks[0].block_dma_addr, in start_nic()
2450 static int fill_rx_buffers(struct s2io_nic *nic, struct ring_info *ring, in fill_rx_buffers() argument
2465 struct swStat *swstats = &ring->nic->mac_control.stats_info->sw_stat; in fill_rx_buffers()
2467 alloc_cnt = ring->pkt_cnt - ring->rx_bufs_left; in fill_rx_buffers()
2469 block_no1 = ring->rx_curr_get_info.block_index; in fill_rx_buffers()
2471 block_no = ring->rx_curr_put_info.block_index; in fill_rx_buffers()
2473 off = ring->rx_curr_put_info.offset; in fill_rx_buffers()
2475 rxdp = ring->rx_blocks[block_no].rxds[off].virt_addr; in fill_rx_buffers()
2479 rxd_index += (block_no * ring->rxd_count); in fill_rx_buffers()
2482 (off == ring->rx_curr_get_info.offset) && in fill_rx_buffers()
2485 ring->dev->name); in fill_rx_buffers()
2488 if (off && (off == ring->rxd_count)) { in fill_rx_buffers()
2489 ring->rx_curr_put_info.block_index++; in fill_rx_buffers()
2490 if (ring->rx_curr_put_info.block_index == in fill_rx_buffers()
2491 ring->block_count) in fill_rx_buffers()
2492 ring->rx_curr_put_info.block_index = 0; in fill_rx_buffers()
2493 block_no = ring->rx_curr_put_info.block_index; in fill_rx_buffers()
2495 ring->rx_curr_put_info.offset = off; in fill_rx_buffers()
2496 rxdp = ring->rx_blocks[block_no].block_virt_addr; in fill_rx_buffers()
2498 ring->dev->name, rxdp); in fill_rx_buffers()
2503 ((ring->rxd_mode == RXD_MODE_3B) && in fill_rx_buffers()
2505 ring->rx_curr_put_info.offset = off; in fill_rx_buffers()
2509 size = ring->mtu + in fill_rx_buffers()
2512 if (ring->rxd_mode == RXD_MODE_1) in fill_rx_buffers()
2515 size = ring->mtu + ALIGN_SIZE + BUF0_LEN + 4; in fill_rx_buffers()
2521 ring->dev->name); in fill_rx_buffers()
2532 if (ring->rxd_mode == RXD_MODE_1) { in fill_rx_buffers()
2538 pci_map_single(ring->pdev, skb->data, in fill_rx_buffers()
2548 } else if (ring->rxd_mode == RXD_MODE_3B) { in fill_rx_buffers()
2564 ba = &ring->ba[block_no][off]; in fill_rx_buffers()
2574 pci_map_single(ring->pdev, ba->ba_0, in fill_rx_buffers()
2581 pci_dma_sync_single_for_device(ring->pdev, in fill_rx_buffers()
2587 if (ring->rxd_mode == RXD_MODE_3B) { in fill_rx_buffers()
2594 rxdp3->Buffer2_ptr = pci_map_single(ring->pdev, in fill_rx_buffers()
2596 ring->mtu + 4, in fill_rx_buffers()
2605 pci_map_single(ring->pdev, in fill_rx_buffers()
2612 pci_unmap_single(ring->pdev, in fill_rx_buffers()
2615 ring->mtu + 4, in fill_rx_buffers()
2622 (ring->mtu + 4); in fill_rx_buffers()
2630 if (off == (ring->rxd_count + 1)) in fill_rx_buffers()
2632 ring->rx_curr_put_info.offset = off; in fill_rx_buffers()
2642 ring->rx_bufs_left += 1; in fill_rx_buffers()
2731 struct ring_info *ring = &mac_control->rings[i]; in free_rx_buffers() local
2736 ring->rx_curr_put_info.block_index = 0; in free_rx_buffers()
2737 ring->rx_curr_get_info.block_index = 0; in free_rx_buffers()
2738 ring->rx_curr_put_info.offset = 0; in free_rx_buffers()
2739 ring->rx_curr_get_info.offset = 0; in free_rx_buffers()
2740 ring->rx_bufs_left = 0; in free_rx_buffers()
2746 static int s2io_chk_rx_buffers(struct s2io_nic *nic, struct ring_info *ring) in s2io_chk_rx_buffers() argument
2748 if (fill_rx_buffers(nic, ring, 0) == -ENOMEM) { in s2io_chk_rx_buffers()
2750 ring->dev->name); in s2io_chk_rx_buffers()
2770 struct ring_info *ring = container_of(napi, struct ring_info, napi); in s2io_poll_msix() local
2771 struct net_device *dev = ring->dev; in s2io_poll_msix()
2782 pkts_processed = rx_intr_handler(ring, budget); in s2io_poll_msix()
2783 s2io_chk_rx_buffers(nic, ring); in s2io_poll_msix()
2789 addr += 7 - ring->ring_no; in s2io_poll_msix()
2790 val8 = (ring->ring_no == 0) ? 0x3f : 0xbf; in s2io_poll_msix()
2811 struct ring_info *ring = &mac_control->rings[i]; in s2io_poll_inta() local
2812 ring_pkts_processed = rx_intr_handler(ring, budget); in s2io_poll_inta()
2813 s2io_chk_rx_buffers(nic, ring); in s2io_poll_inta()
2865 struct ring_info *ring = &mac_control->rings[i]; in s2io_netpoll() local
2867 rx_intr_handler(ring, 0); in s2io_netpoll()
2871 struct ring_info *ring = &mac_control->rings[i]; in s2io_netpoll() local
2873 if (fill_rx_buffers(nic, ring, 0) == -ENOMEM) { in s2io_netpoll()
4255 struct ring_info *ring = (struct ring_info *)dev_id; in s2io_msix_ring_handle() local
4256 struct s2io_nic *sp = ring->nic; in s2io_msix_ring_handle()
4267 addr += (7 - ring->ring_no); in s2io_msix_ring_handle()
4268 val8 = (ring->ring_no == 0) ? 0x7f : 0xff; in s2io_msix_ring_handle()
4271 napi_schedule(&ring->napi); in s2io_msix_ring_handle()
4273 rx_intr_handler(ring, 0); in s2io_msix_ring_handle()
4274 s2io_chk_rx_buffers(sp, ring); in s2io_msix_ring_handle()
4764 struct ring_info *ring = &mac_control->rings[i]; in s2io_isr() local
4766 rx_intr_handler(ring, 0); in s2io_isr()
4789 struct ring_info *ring = &mac_control->rings[i]; in s2io_isr() local
4791 s2io_chk_rx_buffers(sp, ring); in s2io_isr()
6935 struct ring_info *ring = &mac_control->rings[i]; in rxd_owner_bit_reset() local
6941 rxdp = ring->rx_blocks[j].rxds[k].virt_addr; in rxd_owner_bit_reset()
6943 ba = &ring->ba[j][k]; in rxd_owner_bit_reset()
7173 struct ring_info *ring = &mac_control->rings[i]; in s2io_card_up() local
7175 ring->mtu = dev->mtu; in s2io_card_up()
7176 ring->lro = !!(dev->features & NETIF_F_LRO); in s2io_card_up()
7177 ret = fill_rx_buffers(sp, ring, 1); in s2io_card_up()
7186 ring->rx_bufs_left); in s2io_card_up()
7652 static int rts_ds_steer(struct s2io_nic *nic, u8 ds_codepoint, u8 ring) in rts_ds_steer() argument
7660 val64 = RTS_DS_MEM_DATA(ring); in rts_ds_steer()
7863 struct ring_info *ring = &mac_control->rings[i]; in s2io_init_nic() local
7867 ring->rx_bufs_left = 0; in s2io_init_nic()
7868 ring->rxd_mode = sp->rxd_mode; in s2io_init_nic()
7869 ring->rxd_count = rxd_count[sp->rxd_mode]; in s2io_init_nic()
7870 ring->pdev = sp->pdev; in s2io_init_nic()
7871 ring->dev = sp->dev; in s2io_init_nic()
7974 struct ring_info *ring = &mac_control->rings[i]; in s2io_init_nic() local
7976 netif_napi_add(dev, &ring->napi, s2io_poll_msix, 64); in s2io_init_nic()