Lines Matching refs:q_vector

166 				iavf_force_wb(vsi, tx_ring->q_vector);  in iavf_detect_recover_hung()
285 tx_ring->q_vector->tx.total_bytes += total_bytes; in iavf_clean_tx_irq()
286 tx_ring->q_vector->tx.total_packets += total_packets; in iavf_clean_tx_irq()
333 struct iavf_q_vector *q_vector) in iavf_enable_wb_on_itr() argument
335 u16 flags = q_vector->tx.ring[0].flags; in iavf_enable_wb_on_itr()
341 if (q_vector->arm_wb_state) in iavf_enable_wb_on_itr()
348 IAVF_VFINT_DYN_CTLN1(q_vector->reg_idx), val); in iavf_enable_wb_on_itr()
349 q_vector->arm_wb_state = true; in iavf_enable_wb_on_itr()
358 void iavf_force_wb(struct iavf_vsi *vsi, struct iavf_q_vector *q_vector) in iavf_force_wb() argument
367 IAVF_VFINT_DYN_CTLN1(q_vector->reg_idx), in iavf_force_wb()
371 static inline bool iavf_container_is_rx(struct iavf_q_vector *q_vector, in iavf_container_is_rx() argument
374 return &q_vector->rx == rc; in iavf_container_is_rx()
377 static inline unsigned int iavf_itr_divisor(struct iavf_q_vector *q_vector) in iavf_itr_divisor() argument
381 switch (q_vector->adapter->link_speed) { in iavf_itr_divisor()
415 static void iavf_update_itr(struct iavf_q_vector *q_vector, in iavf_update_itr() argument
430 itr = iavf_container_is_rx(q_vector, rc) ? in iavf_update_itr()
448 if (q_vector->itr_countdown) { in iavf_update_itr()
456 if (iavf_container_is_rx(q_vector, rc)) { in iavf_update_itr()
463 (q_vector->tx.target_itr & IAVF_ITR_ADAPTIVE_LATENCY)) { in iavf_update_itr()
474 (q_vector->rx.target_itr & IAVF_ITR_MASK) == in iavf_update_itr()
502 itr = min(q_vector->tx.current_itr, q_vector->rx.current_itr); in iavf_update_itr()
589 itr += DIV_ROUND_UP(avg_wire_size, iavf_itr_divisor(q_vector)) * in iavf_update_itr()
863 struct iavf_q_vector *q_vector = rx_ring->q_vector; in iavf_receive_skb() local
869 napi_gro_receive(&q_vector->napi, skb); in iavf_receive_skb()
1318 skb = __napi_alloc_skb(&rx_ring->q_vector->napi, in iavf_construct_skb()
1590 rx_ring->q_vector->rx.total_packets += total_rx_packets; in iavf_clean_rx_irq()
1591 rx_ring->q_vector->rx.total_bytes += total_rx_bytes; in iavf_clean_rx_irq()
1644 struct iavf_q_vector *q_vector) in iavf_update_enable_itr() argument
1650 iavf_update_itr(q_vector, &q_vector->tx); in iavf_update_enable_itr()
1651 iavf_update_itr(q_vector, &q_vector->rx); in iavf_update_enable_itr()
1661 if (q_vector->rx.target_itr < q_vector->rx.current_itr) { in iavf_update_enable_itr()
1664 q_vector->rx.target_itr); in iavf_update_enable_itr()
1665 q_vector->rx.current_itr = q_vector->rx.target_itr; in iavf_update_enable_itr()
1666 q_vector->itr_countdown = ITR_COUNTDOWN_START; in iavf_update_enable_itr()
1667 } else if ((q_vector->tx.target_itr < q_vector->tx.current_itr) || in iavf_update_enable_itr()
1668 ((q_vector->rx.target_itr - q_vector->rx.current_itr) < in iavf_update_enable_itr()
1669 (q_vector->tx.target_itr - q_vector->tx.current_itr))) { in iavf_update_enable_itr()
1674 q_vector->tx.target_itr); in iavf_update_enable_itr()
1675 q_vector->tx.current_itr = q_vector->tx.target_itr; in iavf_update_enable_itr()
1676 q_vector->itr_countdown = ITR_COUNTDOWN_START; in iavf_update_enable_itr()
1677 } else if (q_vector->rx.current_itr != q_vector->rx.target_itr) { in iavf_update_enable_itr()
1680 q_vector->rx.target_itr); in iavf_update_enable_itr()
1681 q_vector->rx.current_itr = q_vector->rx.target_itr; in iavf_update_enable_itr()
1682 q_vector->itr_countdown = ITR_COUNTDOWN_START; in iavf_update_enable_itr()
1686 if (q_vector->itr_countdown) in iavf_update_enable_itr()
1687 q_vector->itr_countdown--; in iavf_update_enable_itr()
1691 wr32(hw, INTREG(q_vector->reg_idx), intval); in iavf_update_enable_itr()
1705 struct iavf_q_vector *q_vector = in iavf_napi_poll() local
1707 struct iavf_vsi *vsi = q_vector->vsi; in iavf_napi_poll()
1722 iavf_for_each_ring(ring, q_vector->tx) { in iavf_napi_poll()
1738 budget_per_ring = max(budget/q_vector->num_ringpairs, 1); in iavf_napi_poll()
1740 iavf_for_each_ring(ring, q_vector->rx) { in iavf_napi_poll()
1760 if (!cpumask_test_cpu(cpu_id, &q_vector->affinity_mask)) { in iavf_napi_poll()
1765 iavf_force_wb(vsi, q_vector); in iavf_napi_poll()
1772 q_vector->tx.ring[0].tx_stats.tx_force_wb++; in iavf_napi_poll()
1773 iavf_enable_wb_on_itr(vsi, q_vector); in iavf_napi_poll()
1779 q_vector->arm_wb_state = false; in iavf_napi_poll()
1785 iavf_update_enable_itr(vsi, q_vector); in iavf_napi_poll()