Lines Matching refs:fifo
549 struct fifo_info *fifo, int cnt, u8 multiq) in s2io_wake_tx_queue() argument
553 if (cnt && __netif_subqueue_stopped(fifo->dev, fifo->fifo_no)) in s2io_wake_tx_queue()
554 netif_wake_subqueue(fifo->dev, fifo->fifo_no); in s2io_wake_tx_queue()
555 } else if (cnt && (fifo->queue_state == FIFO_QUEUE_STOP)) { in s2io_wake_tx_queue()
556 if (netif_queue_stopped(fifo->dev)) { in s2io_wake_tx_queue()
557 fifo->queue_state = FIFO_QUEUE_START; in s2io_wake_tx_queue()
558 netif_wake_queue(fifo->dev); in s2io_wake_tx_queue()
620 struct fifo_info *fifo = &mac_control->fifos[i]; in init_shared_mem() local
625 fifo->list_info = kzalloc(list_holder_size, GFP_KERNEL); in init_shared_mem()
626 if (!fifo->list_info) { in init_shared_mem()
635 struct fifo_info *fifo = &mac_control->fifos[i]; in init_shared_mem() local
638 fifo->tx_curr_put_info.offset = 0; in init_shared_mem()
639 fifo->tx_curr_put_info.fifo_len = tx_cfg->fifo_len - 1; in init_shared_mem()
640 fifo->tx_curr_get_info.offset = 0; in init_shared_mem()
641 fifo->tx_curr_get_info.fifo_len = tx_cfg->fifo_len - 1; in init_shared_mem()
642 fifo->fifo_no = i; in init_shared_mem()
643 fifo->nic = nic; in init_shared_mem()
644 fifo->max_txds = MAX_SKB_FRAGS + 2; in init_shared_mem()
645 fifo->dev = dev; in init_shared_mem()
682 fifo->list_info[l].list_virt_addr = in init_shared_mem()
684 fifo->list_info[l].list_phy_addr = in init_shared_mem()
692 struct fifo_info *fifo = &mac_control->fifos[i]; in init_shared_mem() local
696 fifo->ufo_in_band_v = kcalloc(size, sizeof(u64), GFP_KERNEL); in init_shared_mem()
697 if (!fifo->ufo_in_band_v) in init_shared_mem()
904 struct fifo_info *fifo = &mac_control->fifos[i]; in free_shared_mem() local
912 if (!fifo->list_info) in free_shared_mem()
915 fli = &fifo->list_info[mem_blks]; in free_shared_mem()
936 kfree(fifo->list_info); in free_shared_mem()
993 struct fifo_info *fifo = &mac_control->fifos[i]; in free_shared_mem() local
996 if (fifo->ufo_in_band_v) { in free_shared_mem()
999 kfree(fifo->ufo_in_band_v); in free_shared_mem()
2378 struct fifo_info *fifo = &mac_control->fifos[i]; in free_tx_buffers() local
2381 spin_lock_irqsave(&fifo->tx_lock, flags); in free_tx_buffers()
2383 txdp = fifo->list_info[j].list_virt_addr; in free_tx_buffers()
2394 fifo->tx_curr_get_info.offset = 0; in free_tx_buffers()
2395 fifo->tx_curr_put_info.offset = 0; in free_tx_buffers()
2396 spin_unlock_irqrestore(&fifo->tx_lock, flags); in free_tx_buffers()
4023 struct fifo_info *fifo = NULL; in s2io_xmit() local
4085 fifo = &mac_control->fifos[queue]; in s2io_xmit()
4088 spin_lock_irqsave(&fifo->tx_lock, flags); in s2io_xmit()
4090 if (unlikely(!spin_trylock_irqsave(&fifo->tx_lock, flags))) in s2io_xmit()
4095 if (__netif_subqueue_stopped(dev, fifo->fifo_no)) { in s2io_xmit()
4096 spin_unlock_irqrestore(&fifo->tx_lock, flags); in s2io_xmit()
4099 } else if (unlikely(fifo->queue_state == FIFO_QUEUE_STOP)) { in s2io_xmit()
4101 spin_unlock_irqrestore(&fifo->tx_lock, flags); in s2io_xmit()
4106 put_off = (u16)fifo->tx_curr_put_info.offset; in s2io_xmit()
4107 get_off = (u16)fifo->tx_curr_get_info.offset; in s2io_xmit()
4108 txdp = fifo->list_info[put_off].list_virt_addr; in s2io_xmit()
4110 queue_len = fifo->tx_curr_put_info.fifo_len + 1; in s2io_xmit()
4115 s2io_stop_tx_queue(sp, fifo->fifo_no); in s2io_xmit()
4117 spin_unlock_irqrestore(&fifo->tx_lock, flags); in s2io_xmit()
4133 txdp->Control_2 |= TXD_INT_NUMBER(fifo->fifo_no); in s2io_xmit()
4153 fifo->ufo_in_band_v[put_off] = in s2io_xmit()
4156 fifo->ufo_in_band_v[put_off] = in s2io_xmit()
4159 txdp->Host_Control = (unsigned long)fifo->ufo_in_band_v; in s2io_xmit()
4161 fifo->ufo_in_band_v, in s2io_xmit()
4201 val64 = fifo->list_info[put_off].list_phy_addr; in s2io_xmit()
4214 if (put_off == fifo->tx_curr_put_info.fifo_len + 1) in s2io_xmit()
4216 fifo->tx_curr_put_info.offset = put_off; in s2io_xmit()
4224 s2io_stop_tx_queue(sp, fifo->fifo_no); in s2io_xmit()
4227 spin_unlock_irqrestore(&fifo->tx_lock, flags); in s2io_xmit()
4230 tx_intr_handler(fifo); in s2io_xmit()
4236 s2io_stop_tx_queue(sp, fifo->fifo_no); in s2io_xmit()
4239 spin_unlock_irqrestore(&fifo->tx_lock, flags); in s2io_xmit()
8050 struct fifo_info *fifo = &mac_control->fifos[i]; in s2io_init_nic() local
8052 spin_lock_init(&fifo->tx_lock); in s2io_init_nic()
8128 struct fifo_info *fifo = &mac_control->fifos[i]; in s2io_init_nic() local
8130 fifo->multiq = config->multiq; in s2io_init_nic()