Lines Matching refs:tx_ring
270 u16 vlan_id, struct qlcnic_host_tx_ring *tx_ring) in qlcnic_82xx_change_filter() argument
279 producer = tx_ring->producer; in qlcnic_82xx_change_filter()
280 hwdesc = &tx_ring->desc_head[tx_ring->producer]; in qlcnic_82xx_change_filter()
296 tx_ring->producer = get_next_index(producer, tx_ring->num_desc); in qlcnic_82xx_change_filter()
303 struct qlcnic_host_tx_ring *tx_ring) in qlcnic_send_filter() argument
337 vlan_id, tx_ring); in qlcnic_send_filter()
352 qlcnic_change_filter(adapter, &src_addr, vlan_id, tx_ring); in qlcnic_send_filter()
372 struct qlcnic_host_tx_ring *tx_ring) in qlcnic_tx_encap_pkt() argument
376 u32 producer = tx_ring->producer; in qlcnic_tx_encap_pkt()
406 hwdesc = &tx_ring->desc_head[producer]; in qlcnic_tx_encap_pkt()
407 tx_ring->cmd_buf_arr[producer].skb = NULL; in qlcnic_tx_encap_pkt()
412 producer = get_next_index(producer, tx_ring->num_desc); in qlcnic_tx_encap_pkt()
415 tx_ring->producer = producer; in qlcnic_tx_encap_pkt()
459 struct qlcnic_host_tx_ring *tx_ring) in qlcnic_tx_pkt() argument
467 u32 producer = tx_ring->producer; in qlcnic_tx_pkt()
519 hwdesc = &tx_ring->desc_head[producer]; in qlcnic_tx_pkt()
520 tx_ring->cmd_buf_arr[producer].skb = NULL; in qlcnic_tx_pkt()
535 producer = get_next_index(producer, tx_ring->num_desc); in qlcnic_tx_pkt()
541 hwdesc = &tx_ring->desc_head[producer]; in qlcnic_tx_pkt()
542 tx_ring->cmd_buf_arr[producer].skb = NULL; in qlcnic_tx_pkt()
548 producer = get_next_index(producer, tx_ring->num_desc); in qlcnic_tx_pkt()
551 tx_ring->producer = producer; in qlcnic_tx_pkt()
651 struct qlcnic_host_tx_ring *tx_ring; in qlcnic_xmit_frame() local
673 tx_ring = &adapter->tx_ring[skb_get_queue_mapping(skb)]; in qlcnic_xmit_frame()
674 num_txd = tx_ring->num_desc; in qlcnic_xmit_frame()
691 if (unlikely(qlcnic_tx_avail(tx_ring) <= TX_STOP_THRESH)) { in qlcnic_xmit_frame()
692 netif_tx_stop_queue(tx_ring->txq); in qlcnic_xmit_frame()
693 if (qlcnic_tx_avail(tx_ring) > TX_STOP_THRESH) { in qlcnic_xmit_frame()
694 netif_tx_start_queue(tx_ring->txq); in qlcnic_xmit_frame()
696 tx_ring->tx_stats.xmit_off++; in qlcnic_xmit_frame()
701 producer = tx_ring->producer; in qlcnic_xmit_frame()
702 pbuf = &tx_ring->cmd_buf_arr[producer]; in qlcnic_xmit_frame()
704 first_desc = &tx_ring->desc_head[producer]; in qlcnic_xmit_frame()
705 hwdesc = &tx_ring->desc_head[producer]; in qlcnic_xmit_frame()
725 hwdesc = &tx_ring->desc_head[producer]; in qlcnic_xmit_frame()
727 tx_ring->cmd_buf_arr[producer].skb = NULL; in qlcnic_xmit_frame()
748 tx_ring->producer = get_next_index(producer, num_txd); in qlcnic_xmit_frame()
761 tx_ring))) in qlcnic_xmit_frame()
765 skb, tx_ring))) in qlcnic_xmit_frame()
770 qlcnic_send_filter(adapter, first_desc, skb, tx_ring); in qlcnic_xmit_frame()
772 tx_ring->tx_stats.tx_bytes += skb->len; in qlcnic_xmit_frame()
773 tx_ring->tx_stats.xmit_called++; in qlcnic_xmit_frame()
777 qlcnic_update_cmd_producer(tx_ring); in qlcnic_xmit_frame()
886 struct qlcnic_host_tx_ring *tx_ring, in qlcnic_process_cmd_ring() argument
896 if (!spin_trylock(&tx_ring->tx_clean_lock)) in qlcnic_process_cmd_ring()
899 sw_consumer = tx_ring->sw_consumer; in qlcnic_process_cmd_ring()
900 hw_consumer = le32_to_cpu(*(tx_ring->hw_consumer)); in qlcnic_process_cmd_ring()
903 buffer = &tx_ring->cmd_buf_arr[sw_consumer]; in qlcnic_process_cmd_ring()
915 tx_ring->tx_stats.xmit_finished++; in qlcnic_process_cmd_ring()
920 sw_consumer = get_next_index(sw_consumer, tx_ring->num_desc); in qlcnic_process_cmd_ring()
925 tx_ring->sw_consumer = sw_consumer; in qlcnic_process_cmd_ring()
929 if (netif_tx_queue_stopped(tx_ring->txq) && in qlcnic_process_cmd_ring()
931 if (qlcnic_tx_avail(tx_ring) > TX_STOP_THRESH) { in qlcnic_process_cmd_ring()
932 netif_tx_wake_queue(tx_ring->txq); in qlcnic_process_cmd_ring()
933 tx_ring->tx_stats.xmit_on++; in qlcnic_process_cmd_ring()
951 hw_consumer = le32_to_cpu(*(tx_ring->hw_consumer)); in qlcnic_process_cmd_ring()
954 spin_unlock(&tx_ring->tx_clean_lock); in qlcnic_process_cmd_ring()
964 struct qlcnic_host_tx_ring *tx_ring; in qlcnic_poll() local
968 tx_ring = sds_ring->tx_ring; in qlcnic_poll()
970 tx_complete = qlcnic_process_cmd_ring(adapter, tx_ring, in qlcnic_poll()
982 qlcnic_enable_tx_intr(adapter, tx_ring); in qlcnic_poll()
991 struct qlcnic_host_tx_ring *tx_ring; in qlcnic_tx_poll() local
995 tx_ring = container_of(napi, struct qlcnic_host_tx_ring, napi); in qlcnic_tx_poll()
996 adapter = tx_ring->adapter; in qlcnic_tx_poll()
998 work_done = qlcnic_process_cmd_ring(adapter, tx_ring, budget); in qlcnic_tx_poll()
1000 napi_complete(&tx_ring->napi); in qlcnic_tx_poll()
1002 qlcnic_enable_tx_intr(adapter, tx_ring); in qlcnic_tx_poll()
1579 struct qlcnic_host_tx_ring *tx_ring; in qlcnic_82xx_napi_add() local
1609 tx_ring = &adapter->tx_ring[ring]; in qlcnic_82xx_napi_add()
1610 netif_tx_napi_add(netdev, &tx_ring->napi, qlcnic_tx_poll, in qlcnic_82xx_napi_add()
1623 struct qlcnic_host_tx_ring *tx_ring; in qlcnic_82xx_napi_del() local
1634 tx_ring = &adapter->tx_ring[ring]; in qlcnic_82xx_napi_del()
1635 netif_napi_del(&tx_ring->napi); in qlcnic_82xx_napi_del()
1646 struct qlcnic_host_tx_ring *tx_ring; in qlcnic_82xx_napi_enable() local
1662 tx_ring = &adapter->tx_ring[ring]; in qlcnic_82xx_napi_enable()
1663 napi_enable(&tx_ring->napi); in qlcnic_82xx_napi_enable()
1664 qlcnic_enable_tx_intr(adapter, tx_ring); in qlcnic_82xx_napi_enable()
1673 struct qlcnic_host_tx_ring *tx_ring; in qlcnic_82xx_napi_disable() local
1690 tx_ring = &adapter->tx_ring[ring]; in qlcnic_82xx_napi_disable()
1691 qlcnic_disable_tx_intr(adapter, tx_ring); in qlcnic_82xx_napi_disable()
1692 napi_synchronize(&tx_ring->napi); in qlcnic_82xx_napi_disable()
1693 napi_disable(&tx_ring->napi); in qlcnic_82xx_napi_disable()
1956 struct qlcnic_host_tx_ring *tx_ring; in qlcnic_83xx_msix_sriov_vf_poll() local
1961 tx_ring = adapter->tx_ring; in qlcnic_83xx_msix_sriov_vf_poll()
1963 tx_complete = qlcnic_process_cmd_ring(adapter, tx_ring, budget); in qlcnic_83xx_msix_sriov_vf_poll()
1984 struct qlcnic_host_tx_ring *tx_ring; in qlcnic_83xx_poll() local
1989 tx_ring = adapter->tx_ring; in qlcnic_83xx_poll()
1991 tx_complete = qlcnic_process_cmd_ring(adapter, tx_ring, budget); in qlcnic_83xx_poll()
2009 struct qlcnic_host_tx_ring *tx_ring; in qlcnic_83xx_msix_tx_poll() local
2012 tx_ring = container_of(napi, struct qlcnic_host_tx_ring, napi); in qlcnic_83xx_msix_tx_poll()
2013 adapter = tx_ring->adapter; in qlcnic_83xx_msix_tx_poll()
2014 work_done = qlcnic_process_cmd_ring(adapter, tx_ring, budget); in qlcnic_83xx_msix_tx_poll()
2016 napi_complete(&tx_ring->napi); in qlcnic_83xx_msix_tx_poll()
2018 qlcnic_enable_tx_intr(adapter, tx_ring); in qlcnic_83xx_msix_tx_poll()
2049 struct qlcnic_host_tx_ring *tx_ring; in qlcnic_83xx_napi_enable() local
2065 tx_ring = &adapter->tx_ring[ring]; in qlcnic_83xx_napi_enable()
2066 napi_enable(&tx_ring->napi); in qlcnic_83xx_napi_enable()
2067 qlcnic_enable_tx_intr(adapter, tx_ring); in qlcnic_83xx_napi_enable()
2077 struct qlcnic_host_tx_ring *tx_ring; in qlcnic_83xx_napi_disable() local
2093 tx_ring = &adapter->tx_ring[ring]; in qlcnic_83xx_napi_disable()
2094 qlcnic_disable_tx_intr(adapter, tx_ring); in qlcnic_83xx_napi_disable()
2095 napi_synchronize(&tx_ring->napi); in qlcnic_83xx_napi_disable()
2096 napi_disable(&tx_ring->napi); in qlcnic_83xx_napi_disable()
2106 struct qlcnic_host_tx_ring *tx_ring; in qlcnic_83xx_napi_add() local
2139 tx_ring = &adapter->tx_ring[ring]; in qlcnic_83xx_napi_add()
2140 netif_tx_napi_add(netdev, &tx_ring->napi, in qlcnic_83xx_napi_add()
2154 struct qlcnic_host_tx_ring *tx_ring; in qlcnic_83xx_napi_del() local
2166 tx_ring = &adapter->tx_ring[ring]; in qlcnic_83xx_napi_del()
2167 netif_napi_del(&tx_ring->napi); in qlcnic_83xx_napi_del()