Home
last modified time | relevance | path

Searched refs:q_vector (Results 1 – 28 of 28) sorted by relevance

/linux-4.4.14/drivers/net/ethernet/intel/ixgbevf/
Dixgbevf.h221 static inline void ixgbevf_qv_init_lock(struct ixgbevf_q_vector *q_vector) in ixgbevf_qv_init_lock() argument
223 spin_lock_init(&q_vector->lock); in ixgbevf_qv_init_lock()
224 q_vector->state = IXGBEVF_QV_STATE_IDLE; in ixgbevf_qv_init_lock()
228 static inline bool ixgbevf_qv_lock_napi(struct ixgbevf_q_vector *q_vector) in ixgbevf_qv_lock_napi() argument
232 spin_lock_bh(&q_vector->lock); in ixgbevf_qv_lock_napi()
233 if (q_vector->state & IXGBEVF_QV_LOCKED) { in ixgbevf_qv_lock_napi()
234 WARN_ON(q_vector->state & IXGBEVF_QV_STATE_NAPI); in ixgbevf_qv_lock_napi()
235 q_vector->state |= IXGBEVF_QV_STATE_NAPI_YIELD; in ixgbevf_qv_lock_napi()
238 q_vector->tx.ring->stats.yields++; in ixgbevf_qv_lock_napi()
242 q_vector->state = IXGBEVF_QV_STATE_NAPI; in ixgbevf_qv_lock_napi()
[all …]
Dixgbevf_main.c118 static void ixgbevf_set_itr(struct ixgbevf_q_vector *q_vector);
290 static bool ixgbevf_clean_tx_irq(struct ixgbevf_q_vector *q_vector, in ixgbevf_clean_tx_irq() argument
293 struct ixgbevf_adapter *adapter = q_vector->adapter; in ixgbevf_clean_tx_irq()
385 q_vector->tx.total_bytes += total_bytes; in ixgbevf_clean_tx_irq()
386 q_vector->tx.total_packets += total_packets; in ixgbevf_clean_tx_irq()
444 static void ixgbevf_rx_skb(struct ixgbevf_q_vector *q_vector, in ixgbevf_rx_skb() argument
448 skb_mark_napi_id(skb, &q_vector->napi); in ixgbevf_rx_skb()
450 if (ixgbevf_qv_busy_polling(q_vector)) { in ixgbevf_rx_skb()
457 napi_gro_receive(&q_vector->napi, skb); in ixgbevf_rx_skb()
911 static int ixgbevf_clean_rx_irq(struct ixgbevf_q_vector *q_vector, in ixgbevf_clean_rx_irq() argument
[all …]
Dethtool.c732 if (adapter->q_vector[0]->tx.count && adapter->q_vector[0]->rx.count) in ixgbevf_get_coalesce()
748 struct ixgbevf_q_vector *q_vector; in ixgbevf_set_coalesce() local
753 if (adapter->q_vector[0]->tx.count && in ixgbevf_set_coalesce()
754 adapter->q_vector[0]->rx.count && ec->tx_coalesce_usecs) in ixgbevf_set_coalesce()
784 q_vector = adapter->q_vector[i]; in ixgbevf_set_coalesce()
785 if (q_vector->tx.count && !q_vector->rx.count) in ixgbevf_set_coalesce()
787 q_vector->itr = tx_itr_param; in ixgbevf_set_coalesce()
790 q_vector->itr = rx_itr_param; in ixgbevf_set_coalesce()
791 ixgbevf_write_eitr(q_vector); in ixgbevf_set_coalesce()
/linux-4.4.14/drivers/net/ethernet/intel/fm10k/
Dfm10k_debugfs.c135 struct fm10k_q_vector *q_vector = ring->q_vector; in fm10k_dbg_desc_open() local
139 if (ring < q_vector->rx.ring) in fm10k_dbg_desc_open()
169 void fm10k_dbg_q_vector_init(struct fm10k_q_vector *q_vector) in fm10k_dbg_q_vector_init() argument
171 struct fm10k_intfc *interface = q_vector->interface; in fm10k_dbg_q_vector_init()
179 snprintf(name, sizeof(name), "q_vector.%03d", q_vector->v_idx); in fm10k_dbg_q_vector_init()
181 q_vector->dbg_q_vector = debugfs_create_dir(name, interface->dbg_intfc); in fm10k_dbg_q_vector_init()
182 if (!q_vector->dbg_q_vector) in fm10k_dbg_q_vector_init()
186 for (i = 0; i < q_vector->tx.count; i++) { in fm10k_dbg_q_vector_init()
187 struct fm10k_ring *ring = &q_vector->tx.ring[i]; in fm10k_dbg_q_vector_init()
192 q_vector->dbg_q_vector, ring, in fm10k_dbg_q_vector_init()
[all …]
Dfm10k_main.c337 skb = napi_alloc_skb(&rx_ring->q_vector->napi, in fm10k_fetch_rx_buffer()
433 struct fm10k_intfc *interface = rx_ring->q_vector->interface; in fm10k_rx_hwtstamp()
590 static void fm10k_receive_skb(struct fm10k_q_vector *q_vector, in fm10k_receive_skb() argument
593 napi_gro_receive(&q_vector->napi, skb); in fm10k_receive_skb()
596 static int fm10k_clean_rx_irq(struct fm10k_q_vector *q_vector, in fm10k_clean_rx_irq() argument
646 fm10k_receive_skb(q_vector, skb); in fm10k_clean_rx_irq()
662 q_vector->rx.total_packets += total_packets; in fm10k_clean_rx_irq()
663 q_vector->rx.total_bytes += total_bytes; in fm10k_clean_rx_irq()
1204 static bool fm10k_clean_tx_irq(struct fm10k_q_vector *q_vector, in fm10k_clean_tx_irq() argument
1207 struct fm10k_intfc *interface = q_vector->interface; in fm10k_clean_tx_irq()
[all …]
Dfm10k_pci.c498 struct fm10k_q_vector *qv = interface->q_vector[i]; in fm10k_check_hang_subtask()
571 if (ring->q_vector) { in fm10k_configure_tx_ring()
572 txint = ring->q_vector->v_idx + NON_Q_VECTORS(hw); in fm10k_configure_tx_ring()
702 if (ring->q_vector) { in fm10k_configure_rx_ring()
703 rxint = ring->q_vector->v_idx + NON_Q_VECTORS(hw); in fm10k_configure_rx_ring()
835 struct fm10k_q_vector *q_vector; in fm10k_napi_enable_all() local
839 q_vector = interface->q_vector[q_idx]; in fm10k_napi_enable_all()
840 napi_enable(&q_vector->napi); in fm10k_napi_enable_all()
846 struct fm10k_q_vector *q_vector = data; in fm10k_msix_clean_rings() local
848 if (q_vector->rx.count || q_vector->tx.count) in fm10k_msix_clean_rings()
[all …]
Dfm10k.h120 struct fm10k_q_vector *q_vector;/* backpointer to host q_vector */ member
305 struct fm10k_q_vector *q_vector[MAX_Q_VECTORS]; member
523 void fm10k_dbg_q_vector_init(struct fm10k_q_vector *q_vector);
524 void fm10k_dbg_q_vector_exit(struct fm10k_q_vector *q_vector);
530 static inline void fm10k_dbg_q_vector_init(struct fm10k_q_vector *q_vector) {} in fm10k_dbg_q_vector_init() argument
531 static inline void fm10k_dbg_q_vector_exit(struct fm10k_q_vector *q_vector) {} in fm10k_dbg_q_vector_exit() argument
Dfm10k_ethtool.c743 qv = interface->q_vector[i]; in fm10k_set_coalesce()
/linux-4.4.14/drivers/net/ethernet/intel/ixgbe/
Dixgbe.h260 struct ixgbe_q_vector *q_vector; /* backpointer to host q_vector */ member
415 static inline void ixgbe_qv_init_lock(struct ixgbe_q_vector *q_vector) in ixgbe_qv_init_lock() argument
418 atomic_set(&q_vector->state, IXGBE_QV_STATE_IDLE); in ixgbe_qv_init_lock()
422 static inline bool ixgbe_qv_lock_napi(struct ixgbe_q_vector *q_vector) in ixgbe_qv_lock_napi() argument
424 int rc = atomic_cmpxchg(&q_vector->state, IXGBE_QV_STATE_IDLE, in ixgbe_qv_lock_napi()
428 q_vector->tx.ring->stats.yields++; in ixgbe_qv_lock_napi()
435 static inline void ixgbe_qv_unlock_napi(struct ixgbe_q_vector *q_vector) in ixgbe_qv_unlock_napi() argument
437 WARN_ON(atomic_read(&q_vector->state) != IXGBE_QV_STATE_NAPI); in ixgbe_qv_unlock_napi()
440 if (q_vector->napi.gro_list) in ixgbe_qv_unlock_napi()
441 napi_gro_flush(&q_vector->napi, false); in ixgbe_qv_unlock_napi()
[all …]
Dixgbe_lib.c805 struct ixgbe_q_vector *q_vector; in ixgbe_alloc_q_vector() local
828 q_vector = kzalloc_node(size, GFP_KERNEL, node); in ixgbe_alloc_q_vector()
829 if (!q_vector) in ixgbe_alloc_q_vector()
830 q_vector = kzalloc(size, GFP_KERNEL); in ixgbe_alloc_q_vector()
831 if (!q_vector) in ixgbe_alloc_q_vector()
836 cpumask_set_cpu(cpu, &q_vector->affinity_mask); in ixgbe_alloc_q_vector()
837 q_vector->numa_node = node; in ixgbe_alloc_q_vector()
841 q_vector->cpu = -1; in ixgbe_alloc_q_vector()
845 netif_napi_add(adapter->netdev, &q_vector->napi, in ixgbe_alloc_q_vector()
847 napi_hash_add(&q_vector->napi); in ixgbe_alloc_q_vector()
[all …]
Dixgbe_main.c1092 static bool ixgbe_clean_tx_irq(struct ixgbe_q_vector *q_vector, in ixgbe_clean_tx_irq() argument
1095 struct ixgbe_adapter *adapter = q_vector->adapter; in ixgbe_clean_tx_irq()
1099 unsigned int budget = q_vector->tx.work_limit; in ixgbe_clean_tx_irq()
1187 q_vector->tx.total_bytes += total_bytes; in ixgbe_clean_tx_irq()
1188 q_vector->tx.total_packets += total_packets; in ixgbe_clean_tx_irq()
1312 static void ixgbe_update_dca(struct ixgbe_q_vector *q_vector) in ixgbe_update_dca() argument
1314 struct ixgbe_adapter *adapter = q_vector->adapter; in ixgbe_update_dca()
1318 if (q_vector->cpu == cpu) in ixgbe_update_dca()
1321 ixgbe_for_each_ring(ring, q_vector->tx) in ixgbe_update_dca()
1324 ixgbe_for_each_ring(ring, q_vector->rx) in ixgbe_update_dca()
[all …]
Dixgbe_ethtool.c2206 if (adapter->q_vector[0]->tx.count && adapter->q_vector[0]->rx.count) in ixgbe_get_coalesce()
2252 struct ixgbe_q_vector *q_vector; in ixgbe_set_coalesce() local
2257 if (adapter->q_vector[0]->tx.count && adapter->q_vector[0]->rx.count) { in ixgbe_set_coalesce()
2291 if (adapter->q_vector[0]->tx.count && adapter->q_vector[0]->rx.count) in ixgbe_set_coalesce()
2310 q_vector = adapter->q_vector[i]; in ixgbe_set_coalesce()
2311 if (q_vector->tx.count && !q_vector->rx.count) in ixgbe_set_coalesce()
2313 q_vector->itr = tx_itr_param; in ixgbe_set_coalesce()
2316 q_vector->itr = rx_itr_param; in ixgbe_set_coalesce()
2317 ixgbe_write_eitr(q_vector); in ixgbe_set_coalesce()
/linux-4.4.14/drivers/net/ethernet/intel/i40evf/
Di40evf_main.c332 struct i40e_q_vector *q_vector = data; in i40evf_msix_clean_rings() local
334 if (!q_vector->tx.ring && !q_vector->rx.ring) in i40evf_msix_clean_rings()
337 napi_schedule_irqoff(&q_vector->napi); in i40evf_msix_clean_rings()
351 struct i40e_q_vector *q_vector = adapter->q_vector[v_idx]; in i40evf_map_vector_to_rxq() local
354 rx_ring->q_vector = q_vector; in i40evf_map_vector_to_rxq()
355 rx_ring->next = q_vector->rx.ring; in i40evf_map_vector_to_rxq()
357 q_vector->rx.ring = rx_ring; in i40evf_map_vector_to_rxq()
358 q_vector->rx.count++; in i40evf_map_vector_to_rxq()
359 q_vector->rx.latency_range = I40E_LOW_LATENCY; in i40evf_map_vector_to_rxq()
360 q_vector->itr_countdown = ITR_COUNTDOWN_START; in i40evf_map_vector_to_rxq()
[all …]
Di40e_txrx.c245 tx_ring->q_vector->tx.total_bytes += total_bytes; in i40e_clean_tx_irq()
246 tx_ring->q_vector->tx.total_packets += total_packets; in i40e_clean_tx_irq()
287 static void i40evf_force_wb(struct i40e_vsi *vsi, struct i40e_q_vector *q_vector) in i40evf_force_wb() argument
289 u16 flags = q_vector->tx.ring[0].flags; in i40evf_force_wb()
294 if (q_vector->arm_wb_state) in i40evf_force_wb()
300 I40E_VFINT_DYN_CTLN1(q_vector->v_idx + in i40evf_force_wb()
303 q_vector->arm_wb_state = true; in i40evf_force_wb()
312 I40E_VFINT_DYN_CTLN1(q_vector->v_idx + in i40evf_force_wb()
334 struct i40e_q_vector *qv = rc->ring->q_vector; in i40e_set_new_dynamic_itr()
774 struct i40e_q_vector *q_vector = rx_ring->q_vector; in i40e_receive_skb() local
[all …]
Di40evf_ethtool.c321 struct i40e_q_vector *q_vector; in i40evf_set_coalesce() local
354 q_vector = adapter->q_vector[i]; in i40evf_set_coalesce()
355 q_vector->rx.itr = ITR_TO_REG(vsi->rx_itr_setting); in i40evf_set_coalesce()
356 wr32(hw, I40E_VFINT_ITRN1(0, i), q_vector->rx.itr); in i40evf_set_coalesce()
357 q_vector->tx.itr = ITR_TO_REG(vsi->tx_itr_setting); in i40evf_set_coalesce()
358 wr32(hw, I40E_VFINT_ITRN1(1, i), q_vector->tx.itr); in i40evf_set_coalesce()
Di40evf_virtchnl.c341 struct i40e_q_vector *q_vector; in i40evf_map_queues() local
363 q_vector = adapter->q_vector[v_idx]; in i40evf_map_queues()
366 vimi->vecmap[v_idx].txq_map = q_vector->ring_mask; in i40evf_map_queues()
367 vimi->vecmap[v_idx].rxq_map = q_vector->ring_mask; in i40evf_map_queues()
Di40evf.h193 struct i40e_q_vector *q_vector[MAX_MSIX_Q_VECTORS]; member
Di40e_txrx.h287 struct i40e_q_vector *q_vector; /* Backreference to associated vector */ member
/linux-4.4.14/drivers/net/ethernet/intel/igb/
Digb_main.c795 static void igb_assign_vector(struct igb_q_vector *q_vector, int msix_vector) in igb_assign_vector() argument
797 struct igb_adapter *adapter = q_vector->adapter; in igb_assign_vector()
803 if (q_vector->rx.ring) in igb_assign_vector()
804 rx_queue = q_vector->rx.ring->reg_idx; in igb_assign_vector()
805 if (q_vector->tx.ring) in igb_assign_vector()
806 tx_queue = q_vector->tx.ring->reg_idx; in igb_assign_vector()
822 q_vector->eims_value = msixbm; in igb_assign_vector()
838 q_vector->eims_value = 1 << msix_vector; in igb_assign_vector()
859 q_vector->eims_value = 1 << msix_vector; in igb_assign_vector()
867 adapter->eims_enable_mask |= q_vector->eims_value; in igb_assign_vector()
[all …]
Digb.h234 struct igb_q_vector *q_vector; /* backlink to q_vector */ member
416 struct igb_q_vector *q_vector[MAX_Q_VECTORS]; member
538 void igb_ptp_rx_rgtstamp(struct igb_q_vector *q_vector, struct sk_buff *skb);
539 void igb_ptp_rx_pktstamp(struct igb_q_vector *q_vector, unsigned char *va,
Digb_ptp.c745 void igb_ptp_rx_pktstamp(struct igb_q_vector *q_vector, in igb_ptp_rx_pktstamp() argument
755 igb_ptp_systim_to_hwtstamp(q_vector->adapter, skb_hwtstamps(skb), in igb_ptp_rx_pktstamp()
767 void igb_ptp_rx_rgtstamp(struct igb_q_vector *q_vector, in igb_ptp_rx_rgtstamp() argument
770 struct igb_adapter *adapter = q_vector->adapter; in igb_ptp_rx_rgtstamp()
Digb_ethtool.c2215 struct igb_q_vector *q_vector = adapter->q_vector[i]; in igb_set_coalesce() local
2216 q_vector->tx.work_limit = adapter->tx_work_limit; in igb_set_coalesce()
2217 if (q_vector->rx.ring) in igb_set_coalesce()
2218 q_vector->itr_val = adapter->rx_itr_setting; in igb_set_coalesce()
2220 q_vector->itr_val = adapter->tx_itr_setting; in igb_set_coalesce()
2221 if (q_vector->itr_val && q_vector->itr_val <= 3) in igb_set_coalesce()
2222 q_vector->itr_val = IGB_START_ITR; in igb_set_coalesce()
2223 q_vector->set_itr = 1; in igb_set_coalesce()
/linux-4.4.14/drivers/net/ethernet/intel/i40e/
Di40e_txrx.c727 tx_ring->q_vector->tx.total_bytes += total_bytes; in i40e_clean_tx_irq()
728 tx_ring->q_vector->tx.total_packets += total_packets; in i40e_clean_tx_irq()
776 void i40e_force_wb(struct i40e_vsi *vsi, struct i40e_q_vector *q_vector) in i40e_force_wb() argument
778 u16 flags = q_vector->tx.ring[0].flags; in i40e_force_wb()
783 if (q_vector->arm_wb_state) in i40e_force_wb()
789 I40E_PFINT_DYN_CTLN(q_vector->v_idx + in i40e_force_wb()
792 q_vector->arm_wb_state = true; in i40e_force_wb()
801 I40E_PFINT_DYN_CTLN(q_vector->v_idx + in i40e_force_wb()
831 struct i40e_q_vector *qv = rc->ring->q_vector; in i40e_set_new_dynamic_itr()
1300 struct i40e_q_vector *q_vector = rx_ring->q_vector; in i40e_receive_skb() local
[all …]
Di40e_main.c352 I40E_PFINT_DYN_CTLN(tx_ring->q_vector->v_idx + in i40e_tx_timeout()
2699 if (!ring->q_vector || !ring->netdev) in i40e_config_xps_tx_ring()
2706 &ring->q_vector->affinity_mask, in i40e_config_xps_tx_ring()
3088 struct i40e_q_vector *q_vector = vsi->q_vectors[i]; in i40e_vsi_configure_msix() local
3090 q_vector->itr_countdown = ITR_COUNTDOWN_START; in i40e_vsi_configure_msix()
3091 q_vector->rx.itr = ITR_TO_REG(vsi->rx_itr_setting); in i40e_vsi_configure_msix()
3092 q_vector->rx.latency_range = I40E_LOW_LATENCY; in i40e_vsi_configure_msix()
3094 q_vector->rx.itr); in i40e_vsi_configure_msix()
3095 q_vector->tx.itr = ITR_TO_REG(vsi->tx_itr_setting); in i40e_vsi_configure_msix()
3096 q_vector->tx.latency_range = I40E_LOW_LATENCY; in i40e_vsi_configure_msix()
[all …]
Di40e_txrx.h292 struct i40e_q_vector *q_vector; /* Backreference to associated vector */ member
338 void i40e_force_wb(struct i40e_vsi *vsi, struct i40e_q_vector *q_vector);
Di40e_ethtool.c1879 struct i40e_q_vector *q_vector; in i40e_set_coalesce() local
1941 q_vector = vsi->q_vectors[i]; in i40e_set_coalesce()
1942 q_vector->rx.itr = ITR_TO_REG(vsi->rx_itr_setting); in i40e_set_coalesce()
1943 wr32(hw, I40E_PFINT_ITRN(0, vector - 1), q_vector->rx.itr); in i40e_set_coalesce()
1944 q_vector->tx.itr = ITR_TO_REG(vsi->tx_itr_setting); in i40e_set_coalesce()
1945 wr32(hw, I40E_PFINT_ITRN(1, vector - 1), q_vector->tx.itr); in i40e_set_coalesce()
Di40e_fcoe.c796 rx_ring->q_vector->rx.total_bytes += rc; in i40e_fcoe_handle_offload()
797 rx_ring->q_vector->rx.total_packets += pkts; in i40e_fcoe_handle_offload()
Di40e_debugfs.c535 rx_ring->q_vector); in i40e_dbg_dump_vsi_seid()
582 tx_ring->q_vector); in i40e_dbg_dump_vsi_seid()