| /Linux-v6.1/drivers/net/ethernet/intel/ice/ |
| D | ice_base.c | 105 struct ice_q_vector *q_vector; in ice_vsi_alloc_q_vector() local 108 q_vector = devm_kzalloc(ice_pf_to_dev(pf), sizeof(*q_vector), in ice_vsi_alloc_q_vector() 110 if (!q_vector) in ice_vsi_alloc_q_vector() 113 q_vector->vsi = vsi; in ice_vsi_alloc_q_vector() 114 q_vector->v_idx = v_idx; in ice_vsi_alloc_q_vector() 115 q_vector->tx.itr_setting = ICE_DFLT_TX_ITR; in ice_vsi_alloc_q_vector() 116 q_vector->rx.itr_setting = ICE_DFLT_RX_ITR; in ice_vsi_alloc_q_vector() 117 q_vector->tx.itr_mode = ITR_DYNAMIC; in ice_vsi_alloc_q_vector() 118 q_vector->rx.itr_mode = ITR_DYNAMIC; in ice_vsi_alloc_q_vector() 119 q_vector->tx.type = ICE_TX_CONTAINER; in ice_vsi_alloc_q_vector() [all …]
|
| D | ice_trace.h | 63 TP_PROTO(struct ice_q_vector *q_vector, struct dim *dim), 64 TP_ARGS(q_vector, dim), 65 TP_STRUCT__entry(__field(struct ice_q_vector *, q_vector) 67 __string(devname, q_vector->rx.rx_ring->netdev->name)), 69 TP_fast_assign(__entry->q_vector = q_vector; 71 __assign_str(devname, q_vector->rx.rx_ring->netdev->name);), 75 __entry->q_vector->rx.rx_ring->q_index, 85 TP_PROTO(struct ice_q_vector *q_vector, struct dim *dim), 86 TP_ARGS(q_vector, dim) 90 TP_PROTO(struct ice_q_vector *q_vector, struct dim *dim), [all …]
|
| D | ice_xsk.c | 58 ice_qvec_toggle_napi(struct ice_vsi *vsi, struct ice_q_vector *q_vector, in ice_qvec_toggle_napi() argument 61 if (!vsi->netdev || !q_vector) in ice_qvec_toggle_napi() 65 napi_enable(&q_vector->napi); in ice_qvec_toggle_napi() 67 napi_disable(&q_vector->napi); in ice_qvec_toggle_napi() 78 struct ice_q_vector *q_vector) in ice_qvec_dis_irq() argument 94 if (q_vector) { in ice_qvec_dis_irq() 95 u16 v_idx = q_vector->v_idx; in ice_qvec_dis_irq() 97 wr32(hw, GLINT_DYN_CTL(q_vector->reg_idx), 0); in ice_qvec_dis_irq() 109 ice_qvec_cfg_msix(struct ice_vsi *vsi, struct ice_q_vector *q_vector) in ice_qvec_cfg_msix() argument 111 u16 reg_idx = q_vector->reg_idx; in ice_qvec_cfg_msix() [all …]
|
| D | ice_eswitch.c | 179 struct ice_q_vector *q_vector; in ice_eswitch_remap_rings_to_vectors() local 190 q_vector = repr->q_vector; in ice_eswitch_remap_rings_to_vectors() 194 q_vector->vsi = vsi; in ice_eswitch_remap_rings_to_vectors() 195 q_vector->reg_idx = vsi->q_vectors[0]->reg_idx; in ice_eswitch_remap_rings_to_vectors() 197 q_vector->num_ring_tx = 1; in ice_eswitch_remap_rings_to_vectors() 198 q_vector->tx.tx_ring = tx_ring; in ice_eswitch_remap_rings_to_vectors() 199 tx_ring->q_vector = q_vector; in ice_eswitch_remap_rings_to_vectors() 207 q_vector->num_ring_rx = 1; in ice_eswitch_remap_rings_to_vectors() 208 q_vector->rx.rx_ring = rx_ring; in ice_eswitch_remap_rings_to_vectors() 209 rx_ring->q_vector = q_vector; in ice_eswitch_remap_rings_to_vectors() [all …]
|
| D | ice_repr.c | 293 struct ice_q_vector *q_vector; in ice_repr_add() local 327 q_vector = kzalloc(sizeof(*q_vector), GFP_KERNEL); in ice_repr_add() 328 if (!q_vector) { in ice_repr_add() 332 repr->q_vector = q_vector; in ice_repr_add() 355 kfree(repr->q_vector); in ice_repr_add() 356 vf->repr->q_vector = NULL; in ice_repr_add() 380 kfree(vf->repr->q_vector); in ice_repr_rem() 381 vf->repr->q_vector = NULL; in ice_repr_rem()
|
| D | ice_lib.c | 401 struct ice_q_vector *q_vector = (struct ice_q_vector *)data; in ice_msix_clean_ctrl_vsi() local 403 if (!q_vector->tx.tx_ring) in ice_msix_clean_ctrl_vsi() 407 ice_clean_rx_irq(q_vector->rx.rx_ring, FDIR_RX_DESC_CLEAN_BUDGET); in ice_msix_clean_ctrl_vsi() 408 ice_clean_ctrl_tx_irq(q_vector->tx.tx_ring); in ice_msix_clean_ctrl_vsi() 420 struct ice_q_vector *q_vector = (struct ice_q_vector *)data; in ice_msix_clean_rings() local 422 if (!q_vector->tx.tx_ring && !q_vector->rx.rx_ring) in ice_msix_clean_rings() 425 q_vector->total_events++; in ice_msix_clean_rings() 427 napi_schedule(&q_vector->napi); in ice_msix_clean_rings() 434 struct ice_q_vector *q_vector = (struct ice_q_vector *)data; in ice_eswitch_msix_clean_rings() local 435 struct ice_pf *pf = q_vector->vsi->back; in ice_eswitch_msix_clean_rings() [all …]
|
| D | ice_txrx.c | 516 rx_ring->q_index, rx_ring->q_vector->napi.napi_id)) in ice_setup_rx_ring() 996 skb = __napi_alloc_skb(&rx_ring->q_vector->napi, in ice_construct_skb() 1284 static void __ice_update_sample(struct ice_q_vector *q_vector, in __ice_update_sample() argument 1307 dim_update_sample(q_vector->total_events, packets, bytes, sample); in __ice_update_sample() 1328 static void ice_net_dim(struct ice_q_vector *q_vector) in ice_net_dim() argument 1330 struct ice_ring_container *tx = &q_vector->tx; in ice_net_dim() 1331 struct ice_ring_container *rx = &q_vector->rx; in ice_net_dim() 1336 __ice_update_sample(q_vector, tx, &dim_sample, true); in ice_net_dim() 1343 __ice_update_sample(q_vector, rx, &dim_sample, false); in ice_net_dim() 1377 static void ice_enable_interrupt(struct ice_q_vector *q_vector) in ice_enable_interrupt() argument [all …]
|
| D | ice_base.h | 20 void ice_cfg_itr(struct ice_hw *hw, struct ice_q_vector *q_vector); 25 void ice_trigger_sw_intr(struct ice_hw *hw, struct ice_q_vector *q_vector);
|
| /Linux-v6.1/drivers/net/ethernet/intel/fm10k/ |
| D | fm10k_debugfs.c | 116 struct fm10k_q_vector *q_vector = ring->q_vector; in fm10k_dbg_desc_open() local 120 if (ring < q_vector->rx.ring) in fm10k_dbg_desc_open() 150 void fm10k_dbg_q_vector_init(struct fm10k_q_vector *q_vector) in fm10k_dbg_q_vector_init() argument 152 struct fm10k_intfc *interface = q_vector->interface; in fm10k_dbg_q_vector_init() 160 snprintf(name, sizeof(name), "q_vector.%03d", q_vector->v_idx); in fm10k_dbg_q_vector_init() 162 q_vector->dbg_q_vector = debugfs_create_dir(name, interface->dbg_intfc); in fm10k_dbg_q_vector_init() 165 for (i = 0; i < q_vector->tx.count; i++) { in fm10k_dbg_q_vector_init() 166 struct fm10k_ring *ring = &q_vector->tx.ring[i]; in fm10k_dbg_q_vector_init() 171 q_vector->dbg_q_vector, ring, in fm10k_dbg_q_vector_init() 176 for (i = 0; i < q_vector->rx.count; i++) { in fm10k_dbg_q_vector_init() [all …]
|
| D | fm10k_main.c | 319 skb = napi_alloc_skb(&rx_ring->q_vector->napi, in fm10k_fetch_rx_buffer() 556 static void fm10k_receive_skb(struct fm10k_q_vector *q_vector, in fm10k_receive_skb() argument 559 napi_gro_receive(&q_vector->napi, skb); in fm10k_receive_skb() 562 static int fm10k_clean_rx_irq(struct fm10k_q_vector *q_vector, in fm10k_clean_rx_irq() argument 612 fm10k_receive_skb(q_vector, skb); in fm10k_clean_rx_irq() 628 q_vector->rx.total_packets += total_packets; in fm10k_clean_rx_irq() 629 q_vector->rx.total_bytes += total_bytes; in fm10k_clean_rx_irq() 1115 struct fm10k_intfc *interface = ring->q_vector->interface; in fm10k_get_tx_pending() 1179 static bool fm10k_clean_tx_irq(struct fm10k_q_vector *q_vector, in fm10k_clean_tx_irq() argument 1182 struct fm10k_intfc *interface = q_vector->interface; in fm10k_clean_tx_irq() [all …]
|
| D | fm10k_pci.c | 721 struct fm10k_q_vector *qv = interface->q_vector[i]; in fm10k_check_hang_subtask() 901 if (ring->q_vector) { in fm10k_configure_tx_ring() 902 txint = ring->q_vector->v_idx + NON_Q_VECTORS; in fm10k_configure_tx_ring() 914 ring->q_vector) in fm10k_configure_tx_ring() 916 &ring->q_vector->affinity_mask, in fm10k_configure_tx_ring() 1040 if (ring->q_vector) { in fm10k_configure_rx_ring() 1041 rxint = ring->q_vector->v_idx + NON_Q_VECTORS; in fm10k_configure_rx_ring() 1175 struct fm10k_q_vector *q_vector; in fm10k_napi_enable_all() local 1179 q_vector = interface->q_vector[q_idx]; in fm10k_napi_enable_all() 1180 napi_enable(&q_vector->napi); in fm10k_napi_enable_all() [all …]
|
| D | fm10k.h | 104 struct fm10k_q_vector *q_vector;/* backpointer to host q_vector */ member 337 struct fm10k_q_vector *q_vector[MAX_Q_VECTORS]; member 544 void fm10k_dbg_q_vector_init(struct fm10k_q_vector *q_vector); 545 void fm10k_dbg_q_vector_exit(struct fm10k_q_vector *q_vector); 551 static inline void fm10k_dbg_q_vector_init(struct fm10k_q_vector *q_vector) {} in fm10k_dbg_q_vector_init() argument 552 static inline void fm10k_dbg_q_vector_exit(struct fm10k_q_vector *q_vector) {} in fm10k_dbg_q_vector_exit() argument
|
| /Linux-v6.1/drivers/net/ethernet/intel/iavf/ |
| D | iavf_txrx.c | 169 iavf_force_wb(vsi, tx_ring->q_vector); in iavf_detect_recover_hung() 288 tx_ring->q_vector->tx.total_bytes += total_bytes; in iavf_clean_tx_irq() 289 tx_ring->q_vector->tx.total_packets += total_packets; in iavf_clean_tx_irq() 336 struct iavf_q_vector *q_vector) in iavf_enable_wb_on_itr() argument 338 u16 flags = q_vector->tx.ring[0].flags; in iavf_enable_wb_on_itr() 344 if (q_vector->arm_wb_state) in iavf_enable_wb_on_itr() 351 IAVF_VFINT_DYN_CTLN1(q_vector->reg_idx), val); in iavf_enable_wb_on_itr() 352 q_vector->arm_wb_state = true; in iavf_enable_wb_on_itr() 361 void iavf_force_wb(struct iavf_vsi *vsi, struct iavf_q_vector *q_vector) in iavf_force_wb() argument 370 IAVF_VFINT_DYN_CTLN1(q_vector->reg_idx), in iavf_force_wb() [all …]
|
| D | iavf_main.c | 426 struct iavf_q_vector *q_vector = data; in iavf_msix_clean_rings() local 428 if (!q_vector->tx.ring && !q_vector->rx.ring) in iavf_msix_clean_rings() 431 napi_schedule_irqoff(&q_vector->napi); in iavf_msix_clean_rings() 445 struct iavf_q_vector *q_vector = &adapter->q_vectors[v_idx]; in iavf_map_vector_to_rxq() local 449 rx_ring->q_vector = q_vector; in iavf_map_vector_to_rxq() 450 rx_ring->next = q_vector->rx.ring; in iavf_map_vector_to_rxq() 452 q_vector->rx.ring = rx_ring; in iavf_map_vector_to_rxq() 453 q_vector->rx.count++; in iavf_map_vector_to_rxq() 454 q_vector->rx.next_update = jiffies + 1; in iavf_map_vector_to_rxq() 455 q_vector->rx.target_itr = ITR_TO_REG(rx_ring->itr_setting); in iavf_map_vector_to_rxq() [all …]
|
| /Linux-v6.1/drivers/net/ethernet/intel/ixgbe/ |
| D | ixgbe_lib.c | 840 struct ixgbe_q_vector *q_vector; in ixgbe_alloc_q_vector() local 858 q_vector = kzalloc_node(struct_size(q_vector, ring, ring_count), in ixgbe_alloc_q_vector() 860 if (!q_vector) in ixgbe_alloc_q_vector() 861 q_vector = kzalloc(struct_size(q_vector, ring, ring_count), in ixgbe_alloc_q_vector() 863 if (!q_vector) in ixgbe_alloc_q_vector() 868 cpumask_set_cpu(cpu, &q_vector->affinity_mask); in ixgbe_alloc_q_vector() 869 q_vector->numa_node = node; in ixgbe_alloc_q_vector() 873 q_vector->cpu = -1; in ixgbe_alloc_q_vector() 877 netif_napi_add(adapter->netdev, &q_vector->napi, ixgbe_poll); in ixgbe_alloc_q_vector() 880 adapter->q_vector[v_idx] = q_vector; in ixgbe_alloc_q_vector() [all …]
|
| D | ixgbe_xsk.c | 223 skb = __napi_alloc_skb(&rx_ring->q_vector->napi, totalsize, in ixgbe_construct_skb_zc() 248 int ixgbe_clean_rx_irq_zc(struct ixgbe_q_vector *q_vector, in ixgbe_clean_rx_irq_zc() argument 253 struct ixgbe_adapter *adapter = q_vector->adapter; in ixgbe_clean_rx_irq_zc() 350 ixgbe_rx_skb(q_vector, skb); in ixgbe_clean_rx_irq_zc() 366 q_vector->rx.total_packets += total_rx_packets; in ixgbe_clean_rx_irq_zc() 367 q_vector->rx.total_bytes += total_rx_bytes; in ixgbe_clean_rx_irq_zc() 461 bool ixgbe_clean_xdp_tx_irq(struct ixgbe_q_vector *q_vector, in ixgbe_clean_xdp_tx_irq() argument 507 q_vector->tx.total_bytes += total_bytes; in ixgbe_clean_xdp_tx_irq() 508 q_vector->tx.total_packets += total_packets; in ixgbe_clean_xdp_tx_irq() 516 return ixgbe_xmit_zc(tx_ring, q_vector->tx.work_limit); in ixgbe_clean_xdp_tx_irq() [all …]
|
| D | ixgbe_txrx_common.h | 24 void ixgbe_rx_skb(struct ixgbe_q_vector *q_vector, 40 int ixgbe_clean_rx_irq_zc(struct ixgbe_q_vector *q_vector, 44 bool ixgbe_clean_xdp_tx_irq(struct ixgbe_q_vector *q_vector,
|
| D | ixgbe_main.c | 1113 static bool ixgbe_clean_tx_irq(struct ixgbe_q_vector *q_vector, in ixgbe_clean_tx_irq() argument 1116 struct ixgbe_adapter *adapter = q_vector->adapter; in ixgbe_clean_tx_irq() 1120 unsigned int budget = q_vector->tx.work_limit; in ixgbe_clean_tx_irq() 1212 q_vector->tx.total_bytes += total_bytes; in ixgbe_clean_tx_irq() 1213 q_vector->tx.total_packets += total_packets; in ixgbe_clean_tx_irq() 1344 static void ixgbe_update_dca(struct ixgbe_q_vector *q_vector) in ixgbe_update_dca() argument 1346 struct ixgbe_adapter *adapter = q_vector->adapter; in ixgbe_update_dca() 1350 if (q_vector->cpu == cpu) in ixgbe_update_dca() 1353 ixgbe_for_each_ring(ring, q_vector->tx) in ixgbe_update_dca() 1356 ixgbe_for_each_ring(ring, q_vector->rx) in ixgbe_update_dca() [all …]
|
| /Linux-v6.1/drivers/net/ethernet/intel/igc/ |
| D | igc_main.c | 512 rx_ring->q_vector->napi.napi_id); in igc_setup_rx_resources() 1765 skb = napi_alloc_skb(&rx_ring->q_vector->napi, in igc_construct_skb() 1953 struct igc_adapter *adapter = rx_ring->q_vector->adapter; in igc_rx_offset() 2343 static void igc_update_rx_stats(struct igc_q_vector *q_vector, in igc_update_rx_stats() argument 2346 struct igc_ring *ring = q_vector->rx.ring; in igc_update_rx_stats() 2353 q_vector->rx.total_packets += packets; in igc_update_rx_stats() 2354 q_vector->rx.total_bytes += bytes; in igc_update_rx_stats() 2357 static int igc_clean_rx_irq(struct igc_q_vector *q_vector, const int budget) in igc_clean_rx_irq() argument 2360 struct igc_adapter *adapter = q_vector->adapter; in igc_clean_rx_irq() 2361 struct igc_ring *rx_ring = q_vector->rx.ring; in igc_clean_rx_irq() [all …]
|
| /Linux-v6.1/drivers/net/ethernet/intel/ixgbevf/ |
| D | ixgbevf_main.c | 109 static void ixgbevf_set_itr(struct ixgbevf_q_vector *q_vector); 264 static bool ixgbevf_clean_tx_irq(struct ixgbevf_q_vector *q_vector, in ixgbevf_clean_tx_irq() argument 267 struct ixgbevf_adapter *adapter = q_vector->adapter; in ixgbevf_clean_tx_irq() 363 q_vector->tx.total_bytes += total_bytes; in ixgbevf_clean_tx_irq() 364 q_vector->tx.total_packets += total_packets; in ixgbevf_clean_tx_irq() 429 static void ixgbevf_rx_skb(struct ixgbevf_q_vector *q_vector, in ixgbevf_rx_skb() argument 432 napi_gro_receive(&q_vector->napi, skb); in ixgbevf_rx_skb() 883 skb = napi_alloc_skb(&rx_ring->q_vector->napi, IXGBEVF_RX_HDR_SIZE); in ixgbevf_construct_skb() 1116 static int ixgbevf_clean_rx_irq(struct ixgbevf_q_vector *q_vector, in ixgbevf_clean_rx_irq() argument 1121 struct ixgbevf_adapter *adapter = q_vector->adapter; in ixgbevf_clean_rx_irq() [all …]
|
| D | ethtool.c | 803 if (adapter->q_vector[0]->tx.count && adapter->q_vector[0]->rx.count) in ixgbevf_get_coalesce() 821 struct ixgbevf_q_vector *q_vector; in ixgbevf_set_coalesce() local 826 if (adapter->q_vector[0]->tx.count && in ixgbevf_set_coalesce() 827 adapter->q_vector[0]->rx.count && ec->tx_coalesce_usecs) in ixgbevf_set_coalesce() 857 q_vector = adapter->q_vector[i]; in ixgbevf_set_coalesce() 858 if (q_vector->tx.count && !q_vector->rx.count) in ixgbevf_set_coalesce() 860 q_vector->itr = tx_itr_param; in ixgbevf_set_coalesce() 863 q_vector->itr = rx_itr_param; in ixgbevf_set_coalesce() 864 ixgbevf_write_eitr(q_vector); in ixgbevf_set_coalesce()
|
| /Linux-v6.1/drivers/net/ethernet/intel/i40e/ |
| D | i40e_txrx.c | 907 i40e_force_wb(vsi, tx_ring->q_vector); in i40e_detect_recover_hung() 1061 struct i40e_q_vector *q_vector) in i40e_enable_wb_on_itr() argument 1063 u16 flags = q_vector->tx.ring[0].flags; in i40e_enable_wb_on_itr() 1069 if (q_vector->arm_wb_state) in i40e_enable_wb_on_itr() 1077 I40E_PFINT_DYN_CTLN(q_vector->reg_idx), in i40e_enable_wb_on_itr() 1085 q_vector->arm_wb_state = true; in i40e_enable_wb_on_itr() 1094 void i40e_force_wb(struct i40e_vsi *vsi, struct i40e_q_vector *q_vector) in i40e_force_wb() argument 1104 I40E_PFINT_DYN_CTLN(q_vector->reg_idx), val); in i40e_force_wb() 1116 static inline bool i40e_container_is_rx(struct i40e_q_vector *q_vector, in i40e_container_is_rx() argument 1119 return &q_vector->rx == rc; in i40e_container_is_rx() [all …]
|
| D | i40e_txrx_common.h | 52 tx_ring->q_vector->tx.total_bytes += total_bytes; in i40e_update_tx_stats() 53 tx_ring->q_vector->tx.total_packets += total_packets; in i40e_update_tx_stats()
|
| D | i40e_main.c | 362 I40E_PFINT_DYN_CTLN(tx_ring->q_vector->v_idx + in i40e_tx_timeout() 3388 if (!ring->q_vector || !ring->netdev || ring->ch) in i40e_config_xps_tx_ring() 3395 cpu = cpumask_local_spread(ring->q_vector->v_idx, -1); in i40e_config_xps_tx_ring() 3856 struct i40e_q_vector *q_vector = vsi->q_vectors[i]; in i40e_vsi_configure_msix() local 3858 q_vector->rx.next_update = jiffies + 1; in i40e_vsi_configure_msix() 3859 q_vector->rx.target_itr = in i40e_vsi_configure_msix() 3862 q_vector->rx.target_itr >> 1); in i40e_vsi_configure_msix() 3863 q_vector->rx.current_itr = q_vector->rx.target_itr; in i40e_vsi_configure_msix() 3865 q_vector->tx.next_update = jiffies + 1; in i40e_vsi_configure_msix() 3866 q_vector->tx.target_itr = in i40e_vsi_configure_msix() [all …]
|
| /Linux-v6.1/drivers/net/ethernet/intel/igb/ |
| D | igb_main.c | 779 static void igb_assign_vector(struct igb_q_vector *q_vector, int msix_vector) in igb_assign_vector() argument 781 struct igb_adapter *adapter = q_vector->adapter; in igb_assign_vector() 787 if (q_vector->rx.ring) in igb_assign_vector() 788 rx_queue = q_vector->rx.ring->reg_idx; in igb_assign_vector() 789 if (q_vector->tx.ring) in igb_assign_vector() 790 tx_queue = q_vector->tx.ring->reg_idx; in igb_assign_vector() 806 q_vector->eims_value = msixbm; in igb_assign_vector() 822 q_vector->eims_value = BIT(msix_vector); in igb_assign_vector() 843 q_vector->eims_value = BIT(msix_vector); in igb_assign_vector() 851 adapter->eims_enable_mask |= q_vector->eims_value; in igb_assign_vector() [all …]
|