Lines Matching refs:q_vector

321 		skb = napi_alloc_skb(&rx_ring->q_vector->napi,  in fm10k_fetch_rx_buffer()
415 struct fm10k_intfc *interface = rx_ring->q_vector->interface; in fm10k_rx_hwtstamp()
599 static void fm10k_receive_skb(struct fm10k_q_vector *q_vector, in fm10k_receive_skb() argument
602 napi_gro_receive(&q_vector->napi, skb); in fm10k_receive_skb()
605 static bool fm10k_clean_rx_irq(struct fm10k_q_vector *q_vector, in fm10k_clean_rx_irq() argument
655 fm10k_receive_skb(q_vector, skb); in fm10k_clean_rx_irq()
671 q_vector->rx.total_packets += total_packets; in fm10k_clean_rx_irq()
672 q_vector->rx.total_bytes += total_bytes; in fm10k_clean_rx_irq()
1217 static bool fm10k_clean_tx_irq(struct fm10k_q_vector *q_vector, in fm10k_clean_tx_irq() argument
1220 struct fm10k_intfc *interface = q_vector->interface; in fm10k_clean_tx_irq()
1224 unsigned int budget = q_vector->tx.work_limit; in fm10k_clean_tx_irq()
1312 q_vector->tx.total_bytes += total_bytes; in fm10k_clean_tx_irq()
1313 q_vector->tx.total_packets += total_packets; in fm10k_clean_tx_irq()
1412 static void fm10k_qv_enable(struct fm10k_q_vector *q_vector) in fm10k_qv_enable() argument
1418 fm10k_update_itr(&q_vector->tx); in fm10k_qv_enable()
1421 fm10k_update_itr(&q_vector->rx); in fm10k_qv_enable()
1424 itr |= (q_vector->tx.itr & FM10K_ITR_MAX); in fm10k_qv_enable()
1427 itr |= (q_vector->rx.itr & FM10K_ITR_MAX) << FM10K_ITR_INTERVAL1_SHIFT; in fm10k_qv_enable()
1430 writel(itr, q_vector->itr); in fm10k_qv_enable()
1435 struct fm10k_q_vector *q_vector = in fm10k_poll() local
1441 fm10k_for_each_ring(ring, q_vector->tx) in fm10k_poll()
1442 clean_complete &= fm10k_clean_tx_irq(q_vector, ring); in fm10k_poll()
1447 if (q_vector->rx.count > 1) in fm10k_poll()
1448 per_ring_budget = max(budget/q_vector->rx.count, 1); in fm10k_poll()
1452 fm10k_for_each_ring(ring, q_vector->rx) in fm10k_poll()
1453 clean_complete &= fm10k_clean_rx_irq(q_vector, ring, in fm10k_poll()
1464 fm10k_qv_enable(q_vector); in fm10k_poll()
1584 struct fm10k_q_vector *q_vector; in fm10k_alloc_q_vector() local
1593 q_vector = kzalloc(size, GFP_KERNEL); in fm10k_alloc_q_vector()
1594 if (!q_vector) in fm10k_alloc_q_vector()
1598 netif_napi_add(interface->netdev, &q_vector->napi, in fm10k_alloc_q_vector()
1602 interface->q_vector[v_idx] = q_vector; in fm10k_alloc_q_vector()
1603 q_vector->interface = interface; in fm10k_alloc_q_vector()
1604 q_vector->v_idx = v_idx; in fm10k_alloc_q_vector()
1607 ring = q_vector->ring; in fm10k_alloc_q_vector()
1610 q_vector->tx.ring = ring; in fm10k_alloc_q_vector()
1611 q_vector->tx.work_limit = FM10K_DEFAULT_TX_WORK; in fm10k_alloc_q_vector()
1612 q_vector->tx.itr = interface->tx_itr; in fm10k_alloc_q_vector()
1613 q_vector->tx.count = txr_count; in fm10k_alloc_q_vector()
1621 ring->q_vector = q_vector; in fm10k_alloc_q_vector()
1639 q_vector->rx.ring = ring; in fm10k_alloc_q_vector()
1640 q_vector->rx.itr = interface->rx_itr; in fm10k_alloc_q_vector()
1641 q_vector->rx.count = rxr_count; in fm10k_alloc_q_vector()
1650 ring->q_vector = q_vector; in fm10k_alloc_q_vector()
1667 fm10k_dbg_q_vector_init(q_vector); in fm10k_alloc_q_vector()
1683 struct fm10k_q_vector *q_vector = interface->q_vector[v_idx]; in fm10k_free_q_vector() local
1686 fm10k_dbg_q_vector_exit(q_vector); in fm10k_free_q_vector()
1688 fm10k_for_each_ring(ring, q_vector->tx) in fm10k_free_q_vector()
1691 fm10k_for_each_ring(ring, q_vector->rx) in fm10k_free_q_vector()
1694 interface->q_vector[v_idx] = NULL; in fm10k_free_q_vector()
1695 netif_napi_del(&q_vector->napi); in fm10k_free_q_vector()
1696 kfree_rcu(q_vector, rcu); in fm10k_free_q_vector()