• Home
  • Raw
  • Download

Lines Matching refs:q_vector

112 static void ixgbevf_set_itr(struct ixgbevf_q_vector *q_vector);
266 static bool ixgbevf_clean_tx_irq(struct ixgbevf_q_vector *q_vector, in ixgbevf_clean_tx_irq() argument
269 struct ixgbevf_adapter *adapter = q_vector->adapter; in ixgbevf_clean_tx_irq()
365 q_vector->tx.total_bytes += total_bytes; in ixgbevf_clean_tx_irq()
366 q_vector->tx.total_packets += total_packets; in ixgbevf_clean_tx_irq()
431 static void ixgbevf_rx_skb(struct ixgbevf_q_vector *q_vector, in ixgbevf_rx_skb() argument
434 napi_gro_receive(&q_vector->napi, skb); in ixgbevf_rx_skb()
892 skb = napi_alloc_skb(&rx_ring->q_vector->napi, IXGBEVF_RX_HDR_SIZE); in ixgbevf_construct_skb()
1115 static int ixgbevf_clean_rx_irq(struct ixgbevf_q_vector *q_vector, in ixgbevf_clean_rx_irq() argument
1120 struct ixgbevf_adapter *adapter = q_vector->adapter; in ixgbevf_clean_rx_irq()
1221 ixgbevf_rx_skb(q_vector, skb); in ixgbevf_clean_rx_irq()
1248 q_vector->rx.total_packets += total_rx_packets; in ixgbevf_clean_rx_irq()
1249 q_vector->rx.total_bytes += total_rx_bytes; in ixgbevf_clean_rx_irq()
1264 struct ixgbevf_q_vector *q_vector = in ixgbevf_poll() local
1266 struct ixgbevf_adapter *adapter = q_vector->adapter; in ixgbevf_poll()
1271 ixgbevf_for_each_ring(ring, q_vector->tx) { in ixgbevf_poll()
1272 if (!ixgbevf_clean_tx_irq(q_vector, ring, budget)) in ixgbevf_poll()
1282 if (q_vector->rx.count > 1) in ixgbevf_poll()
1283 per_ring_budget = max(budget/q_vector->rx.count, 1); in ixgbevf_poll()
1287 ixgbevf_for_each_ring(ring, q_vector->rx) { in ixgbevf_poll()
1288 int cleaned = ixgbevf_clean_rx_irq(q_vector, ring, in ixgbevf_poll()
1304 ixgbevf_set_itr(q_vector); in ixgbevf_poll()
1308 BIT(q_vector->v_idx)); in ixgbevf_poll()
1318 void ixgbevf_write_eitr(struct ixgbevf_q_vector *q_vector) in ixgbevf_write_eitr() argument
1320 struct ixgbevf_adapter *adapter = q_vector->adapter; in ixgbevf_write_eitr()
1322 int v_idx = q_vector->v_idx; in ixgbevf_write_eitr()
1323 u32 itr_reg = q_vector->itr & IXGBE_MAX_EITR; in ixgbevf_write_eitr()
1342 struct ixgbevf_q_vector *q_vector; in ixgbevf_configure_msix() local
1354 q_vector = adapter->q_vector[v_idx]; in ixgbevf_configure_msix()
1356 ixgbevf_for_each_ring(ring, q_vector->rx) in ixgbevf_configure_msix()
1359 ixgbevf_for_each_ring(ring, q_vector->tx) in ixgbevf_configure_msix()
1362 if (q_vector->tx.ring && !q_vector->rx.ring) { in ixgbevf_configure_msix()
1365 q_vector->itr = IXGBE_12K_ITR; in ixgbevf_configure_msix()
1367 q_vector->itr = adapter->tx_itr_setting; in ixgbevf_configure_msix()
1371 q_vector->itr = IXGBE_20K_ITR; in ixgbevf_configure_msix()
1373 q_vector->itr = adapter->rx_itr_setting; in ixgbevf_configure_msix()
1379 ixgbevf_write_eitr(q_vector); in ixgbevf_configure_msix()
1408 static void ixgbevf_update_itr(struct ixgbevf_q_vector *q_vector, in ixgbevf_update_itr() argument
1426 timepassed_us = q_vector->itr >> 2; in ixgbevf_update_itr()
1457 static void ixgbevf_set_itr(struct ixgbevf_q_vector *q_vector) in ixgbevf_set_itr() argument
1459 u32 new_itr = q_vector->itr; in ixgbevf_set_itr()
1462 ixgbevf_update_itr(q_vector, &q_vector->tx); in ixgbevf_set_itr()
1463 ixgbevf_update_itr(q_vector, &q_vector->rx); in ixgbevf_set_itr()
1465 current_itr = max(q_vector->rx.itr, q_vector->tx.itr); in ixgbevf_set_itr()
1482 if (new_itr != q_vector->itr) { in ixgbevf_set_itr()
1484 new_itr = (10 * new_itr * q_vector->itr) / in ixgbevf_set_itr()
1485 ((9 * new_itr) + q_vector->itr); in ixgbevf_set_itr()
1488 q_vector->itr = new_itr; in ixgbevf_set_itr()
1490 ixgbevf_write_eitr(q_vector); in ixgbevf_set_itr()
1515 struct ixgbevf_q_vector *q_vector = data; in ixgbevf_msix_clean_rings() local
1518 if (q_vector->rx.ring || q_vector->tx.ring) in ixgbevf_msix_clean_rings()
1519 napi_schedule_irqoff(&q_vector->napi); in ixgbevf_msix_clean_rings()
1539 struct ixgbevf_q_vector *q_vector = adapter->q_vector[vector]; in ixgbevf_request_msix_irqs() local
1542 if (q_vector->tx.ring && q_vector->rx.ring) { in ixgbevf_request_msix_irqs()
1543 snprintf(q_vector->name, sizeof(q_vector->name), in ixgbevf_request_msix_irqs()
1546 } else if (q_vector->rx.ring) { in ixgbevf_request_msix_irqs()
1547 snprintf(q_vector->name, sizeof(q_vector->name), in ixgbevf_request_msix_irqs()
1549 } else if (q_vector->tx.ring) { in ixgbevf_request_msix_irqs()
1550 snprintf(q_vector->name, sizeof(q_vector->name), in ixgbevf_request_msix_irqs()
1557 q_vector->name, q_vector); in ixgbevf_request_msix_irqs()
1580 adapter->q_vector[vector]); in ixgbevf_request_msix_irqs()
1628 if (!adapter->q_vector[i]->rx.ring && in ixgbevf_free_irq()
1629 !adapter->q_vector[i]->tx.ring) in ixgbevf_free_irq()
1633 adapter->q_vector[i]); in ixgbevf_free_irq()
2147 struct ixgbevf_q_vector *q_vector; in ixgbevf_napi_enable_all() local
2151 q_vector = adapter->q_vector[q_idx]; in ixgbevf_napi_enable_all()
2152 napi_enable(&q_vector->napi); in ixgbevf_napi_enable_all()
2159 struct ixgbevf_q_vector *q_vector; in ixgbevf_napi_disable_all() local
2163 q_vector = adapter->q_vector[q_idx]; in ixgbevf_napi_disable_all()
2164 napi_disable(&q_vector->napi); in ixgbevf_napi_disable_all()
2704 struct ixgbevf_q_vector *q_vector; in ixgbevf_alloc_q_vector() local
2710 size = sizeof(*q_vector) + (sizeof(*ring) * ring_count); in ixgbevf_alloc_q_vector()
2713 q_vector = kzalloc(size, GFP_KERNEL); in ixgbevf_alloc_q_vector()
2714 if (!q_vector) in ixgbevf_alloc_q_vector()
2718 netif_napi_add(adapter->netdev, &q_vector->napi, ixgbevf_poll, 64); in ixgbevf_alloc_q_vector()
2721 adapter->q_vector[v_idx] = q_vector; in ixgbevf_alloc_q_vector()
2722 q_vector->adapter = adapter; in ixgbevf_alloc_q_vector()
2723 q_vector->v_idx = v_idx; in ixgbevf_alloc_q_vector()
2726 ring = q_vector->ring; in ixgbevf_alloc_q_vector()
2734 ring->q_vector = q_vector; in ixgbevf_alloc_q_vector()
2737 ixgbevf_add_ring(ring, &q_vector->tx); in ixgbevf_alloc_q_vector()
2762 ring->q_vector = q_vector; in ixgbevf_alloc_q_vector()
2765 ixgbevf_add_ring(ring, &q_vector->tx); in ixgbevf_alloc_q_vector()
2791 ring->q_vector = q_vector; in ixgbevf_alloc_q_vector()
2794 ixgbevf_add_ring(ring, &q_vector->rx); in ixgbevf_alloc_q_vector()
2826 struct ixgbevf_q_vector *q_vector = adapter->q_vector[v_idx]; in ixgbevf_free_q_vector() local
2829 ixgbevf_for_each_ring(ring, q_vector->tx) { in ixgbevf_free_q_vector()
2836 ixgbevf_for_each_ring(ring, q_vector->rx) in ixgbevf_free_q_vector()
2839 adapter->q_vector[v_idx] = NULL; in ixgbevf_free_q_vector()
2840 netif_napi_del(&q_vector->napi); in ixgbevf_free_q_vector()
2845 kfree_rcu(q_vector, rcu); in ixgbevf_free_q_vector()
3210 struct ixgbevf_q_vector *qv = adapter->q_vector[i]; in ixgbevf_check_hang_subtask()