Lines Matching refs:q_vector
1114 static bool ixgbe_clean_tx_irq(struct ixgbe_q_vector *q_vector, in ixgbe_clean_tx_irq() argument
1117 struct ixgbe_adapter *adapter = q_vector->adapter; in ixgbe_clean_tx_irq()
1121 unsigned int budget = q_vector->tx.work_limit; in ixgbe_clean_tx_irq()
1214 q_vector->tx.total_bytes += total_bytes; in ixgbe_clean_tx_irq()
1215 q_vector->tx.total_packets += total_packets; in ixgbe_clean_tx_irq()
1336 static void ixgbe_update_dca(struct ixgbe_q_vector *q_vector) in ixgbe_update_dca() argument
1338 struct ixgbe_adapter *adapter = q_vector->adapter; in ixgbe_update_dca()
1342 if (q_vector->cpu == cpu) in ixgbe_update_dca()
1345 ixgbe_for_each_ring(ring, q_vector->tx) in ixgbe_update_dca()
1348 ixgbe_for_each_ring(ring, q_vector->rx) in ixgbe_update_dca()
1351 q_vector->cpu = cpu; in ixgbe_update_dca()
1369 adapter->q_vector[i]->cpu = -1; in ixgbe_setup_dca()
1370 ixgbe_update_dca(adapter->q_vector[i]); in ixgbe_setup_dca()
1679 u32 flags = rx_ring->q_vector->adapter->flags; in ixgbe_process_skb_fields()
1709 void ixgbe_rx_skb(struct ixgbe_q_vector *q_vector, in ixgbe_rx_skb() argument
1712 napi_gro_receive(&q_vector->napi, skb); in ixgbe_rx_skb()
2117 skb = napi_alloc_skb(&rx_ring->q_vector->napi, IXGBE_RX_HDR_SIZE); in ixgbe_construct_skb()
2285 static int ixgbe_clean_rx_irq(struct ixgbe_q_vector *q_vector, in ixgbe_clean_rx_irq() argument
2290 struct ixgbe_adapter *adapter = q_vector->adapter; in ixgbe_clean_rx_irq()
2417 ixgbe_rx_skb(q_vector, skb); in ixgbe_clean_rx_irq()
2436 q_vector->rx.total_packets += total_rx_packets; in ixgbe_clean_rx_irq()
2437 q_vector->rx.total_bytes += total_rx_bytes; in ixgbe_clean_rx_irq()
2451 struct ixgbe_q_vector *q_vector; in ixgbe_configure_msix() local
2467 q_vector = adapter->q_vector[v_idx]; in ixgbe_configure_msix()
2469 ixgbe_for_each_ring(ring, q_vector->rx) in ixgbe_configure_msix()
2472 ixgbe_for_each_ring(ring, q_vector->tx) in ixgbe_configure_msix()
2475 ixgbe_write_eitr(q_vector); in ixgbe_configure_msix()
2517 static void ixgbe_update_itr(struct ixgbe_q_vector *q_vector, in ixgbe_update_itr() argument
2550 itr = (q_vector->itr >> 2) + IXGBE_ITR_ADAPTIVE_MIN_INC; in ixgbe_update_itr()
2573 itr = (q_vector->itr >> 2) + IXGBE_ITR_ADAPTIVE_MIN_INC; in ixgbe_update_itr()
2583 itr = q_vector->itr >> 2; in ixgbe_update_itr()
2592 itr = q_vector->itr >> 3; in ixgbe_update_itr()
2662 switch (q_vector->adapter->link_speed) { in ixgbe_update_itr()
2700 void ixgbe_write_eitr(struct ixgbe_q_vector *q_vector) in ixgbe_write_eitr() argument
2702 struct ixgbe_adapter *adapter = q_vector->adapter; in ixgbe_write_eitr()
2704 int v_idx = q_vector->v_idx; in ixgbe_write_eitr()
2705 u32 itr_reg = q_vector->itr & IXGBE_MAX_EITR; in ixgbe_write_eitr()
2729 static void ixgbe_set_itr(struct ixgbe_q_vector *q_vector) in ixgbe_set_itr() argument
2733 ixgbe_update_itr(q_vector, &q_vector->tx); in ixgbe_set_itr()
2734 ixgbe_update_itr(q_vector, &q_vector->rx); in ixgbe_set_itr()
2737 new_itr = min(q_vector->rx.itr, q_vector->tx.itr); in ixgbe_set_itr()
2743 if (new_itr != q_vector->itr) { in ixgbe_set_itr()
2745 q_vector->itr = new_itr; in ixgbe_set_itr()
2747 ixgbe_write_eitr(q_vector); in ixgbe_set_itr()
3123 struct ixgbe_q_vector *q_vector = data; in ixgbe_msix_clean_rings() local
3127 if (q_vector->rx.ring || q_vector->tx.ring) in ixgbe_msix_clean_rings()
3128 napi_schedule_irqoff(&q_vector->napi); in ixgbe_msix_clean_rings()
3142 struct ixgbe_q_vector *q_vector = in ixgbe_poll() local
3144 struct ixgbe_adapter *adapter = q_vector->adapter; in ixgbe_poll()
3151 ixgbe_update_dca(q_vector); in ixgbe_poll()
3154 ixgbe_for_each_ring(ring, q_vector->tx) { in ixgbe_poll()
3156 ixgbe_clean_xdp_tx_irq(q_vector, ring, budget) : in ixgbe_poll()
3157 ixgbe_clean_tx_irq(q_vector, ring, budget); in ixgbe_poll()
3169 if (q_vector->rx.count > 1) in ixgbe_poll()
3170 per_ring_budget = max(budget/q_vector->rx.count, 1); in ixgbe_poll()
3174 ixgbe_for_each_ring(ring, q_vector->rx) { in ixgbe_poll()
3176 ixgbe_clean_rx_irq_zc(q_vector, ring, in ixgbe_poll()
3178 ixgbe_clean_rx_irq(q_vector, ring, in ixgbe_poll()
3193 ixgbe_set_itr(q_vector); in ixgbe_poll()
3196 BIT_ULL(q_vector->v_idx)); in ixgbe_poll()
3216 struct ixgbe_q_vector *q_vector = adapter->q_vector[vector]; in ixgbe_request_msix_irqs() local
3219 if (q_vector->tx.ring && q_vector->rx.ring) { in ixgbe_request_msix_irqs()
3220 snprintf(q_vector->name, sizeof(q_vector->name), in ixgbe_request_msix_irqs()
3223 } else if (q_vector->rx.ring) { in ixgbe_request_msix_irqs()
3224 snprintf(q_vector->name, sizeof(q_vector->name), in ixgbe_request_msix_irqs()
3226 } else if (q_vector->tx.ring) { in ixgbe_request_msix_irqs()
3227 snprintf(q_vector->name, sizeof(q_vector->name), in ixgbe_request_msix_irqs()
3234 q_vector->name, q_vector); in ixgbe_request_msix_irqs()
3244 &q_vector->affinity_mask); in ixgbe_request_msix_irqs()
3263 adapter->q_vector[vector]); in ixgbe_request_msix_irqs()
3281 struct ixgbe_q_vector *q_vector = adapter->q_vector[0]; in ixgbe_intr() local
3334 napi_schedule_irqoff(&q_vector->napi); in ixgbe_intr()
3386 struct ixgbe_q_vector *q_vector = adapter->q_vector[vector]; in ixgbe_free_irq() local
3390 if (!q_vector->rx.ring && !q_vector->tx.ring) in ixgbe_free_irq()
3396 free_irq(entry->vector, q_vector); in ixgbe_free_irq()
3444 struct ixgbe_q_vector *q_vector = adapter->q_vector[0]; in ixgbe_configure_msi_and_legacy() local
3446 ixgbe_write_eitr(q_vector); in ixgbe_configure_msi_and_legacy()
3497 if (!ring->q_vector || (ring->q_vector->itr < IXGBE_100K_ITR)) in ixgbe_configure_tx_ring()
3520 struct ixgbe_q_vector *q_vector = ring->q_vector; in ixgbe_configure_tx_ring() local
3522 if (q_vector) in ixgbe_configure_tx_ring()
3524 &q_vector->affinity_mask, in ixgbe_configure_tx_ring()
4984 napi_enable(&adapter->q_vector[q_idx]->napi); in ixgbe_napi_enable_all()
4992 napi_disable(&adapter->q_vector[q_idx]->napi); in ixgbe_napi_disable_all()
6512 if (tx_ring->q_vector) in ixgbe_setup_tx_resources()
6513 ring_node = tx_ring->q_vector->numa_node; in ixgbe_setup_tx_resources()
6591 struct ixgbe_q_vector *q_vector = rx_ring->q_vector; in ixgbe_rx_napi_id() local
6593 return q_vector ? q_vector->napi.napi_id : 0; in ixgbe_rx_napi_id()
6613 if (rx_ring->q_vector) in ixgbe_setup_rx_resources()
6614 ring_node = rx_ring->q_vector->numa_node; in ixgbe_setup_rx_resources()
7428 struct ixgbe_q_vector *qv = adapter->q_vector[i]; in ixgbe_check_hang_subtask()
8442 struct ixgbe_q_vector *q_vector = ring->q_vector; in ixgbe_atr() local
8457 if (!q_vector) in ixgbe_atr()
8479 struct ixgbe_adapter *adapter = q_vector->adapter; in ixgbe_atr()
8582 ixgbe_fdir_add_signature_filter_82599(&q_vector->adapter->hw, in ixgbe_atr()
10184 struct ixgbe_q_vector *qv = ring->q_vector; in ixgbe_fwd_del()
10556 napi_disable(&rx_ring->q_vector->napi); in ixgbe_txrx_ring_disable()
10586 napi_enable(&rx_ring->q_vector->napi); in ixgbe_txrx_ring_enable()