Home
last modified time | relevance | path

Searched refs:q_vector (Results 1 – 25 of 49) sorted by relevance

12

/linux/drivers/net/ethernet/intel/ice/
H A Dice_base.c106 struct ice_q_vector *q_vector; in ice_vsi_alloc_q_vector() local
110 q_vector = kzalloc_obj(*q_vector); in ice_vsi_alloc_q_vector()
111 if (!q_vector) in ice_vsi_alloc_q_vector()
114 q_vector->vsi = vsi; in ice_vsi_alloc_q_vector()
115 q_vector->v_idx = v_idx; in ice_vsi_alloc_q_vector()
116 q_vector->tx.itr_setting = ICE_DFLT_TX_ITR; in ice_vsi_alloc_q_vector()
117 q_vector->rx.itr_setting = ICE_DFLT_RX_ITR; in ice_vsi_alloc_q_vector()
118 q_vector->tx.itr_mode = ITR_DYNAMIC; in ice_vsi_alloc_q_vector()
119 q_vector->rx.itr_mode = ITR_DYNAMIC; in ice_vsi_alloc_q_vector()
120 q_vector->tx.type = ICE_TX_CONTAINER; in ice_vsi_alloc_q_vector()
[all …]
H A Dice_xsk.c29 ice_qvec_toggle_napi(struct ice_vsi *vsi, struct ice_q_vector *q_vector, in ice_qvec_toggle_napi() argument
32 if (!vsi->netdev || !q_vector) in ice_qvec_toggle_napi()
36 napi_enable(&q_vector->napi); in ice_qvec_toggle_napi()
38 napi_disable(&q_vector->napi); in ice_qvec_toggle_napi()
49 struct ice_q_vector *q_vector) in ice_qvec_dis_irq() argument
64 if (q_vector) { in ice_qvec_dis_irq()
65 wr32(hw, GLINT_DYN_CTL(q_vector->reg_idx), 0); in ice_qvec_dis_irq()
67 synchronize_irq(q_vector->irq.virq); in ice_qvec_dis_irq()
78 ice_qvec_cfg_msix(struct ice_vsi *vsi, struct ice_q_vector *q_vector, u16 qid) in ice_qvec_cfg_msix() argument
80 u16 reg_idx = q_vector->reg_idx; in ice_qvec_cfg_msix()
[all …]
H A Dice_lib.c486 struct ice_q_vector *q_vector = (struct ice_q_vector *)data; in ice_msix_clean_ctrl_vsi() local
488 if (!q_vector->tx.tx_ring) in ice_msix_clean_ctrl_vsi()
491 ice_clean_ctrl_rx_irq(q_vector->rx.rx_ring); in ice_msix_clean_ctrl_vsi()
492 ice_clean_ctrl_tx_irq(q_vector->tx.tx_ring); in ice_msix_clean_ctrl_vsi()
504 struct ice_q_vector *q_vector = (struct ice_q_vector *)data; in ice_msix_clean_rings() local
506 if (!q_vector->tx.tx_ring && !q_vector->rx.rx_ring) in ice_msix_clean_rings()
509 q_vector->total_events++; in ice_msix_clean_rings()
511 napi_schedule(&q_vector->napi); in ice_msix_clean_rings()
1358 struct ice_q_vector *q_vector = vsi->q_vectors[i]; in ice_vsi_clear_rings() local
1360 if (q_vector) { in ice_vsi_clear_rings()
[all …]
H A Dice_txrx.c1087 static void __ice_update_sample(struct ice_q_vector *q_vector, in __ice_update_sample() argument
1120 dim_update_sample(q_vector->total_events, in __ice_update_sample()
1142 static void ice_net_dim(struct ice_q_vector *q_vector) in ice_net_dim() argument
1144 struct ice_ring_container *tx = &q_vector->tx; in ice_net_dim()
1145 struct ice_ring_container *rx = &q_vector->rx; in ice_net_dim()
1150 __ice_update_sample(q_vector, tx, &dim_sample, true); in ice_net_dim()
1157 __ice_update_sample(q_vector, rx, &dim_sample, false); in ice_net_dim()
1191 static void ice_enable_interrupt(struct ice_q_vector *q_vector) in ice_enable_interrupt() argument
1193 struct ice_vsi *vsi = q_vector->vsi; in ice_enable_interrupt()
1194 bool wb_en = q_vector->wb_on_itr; in ice_enable_interrupt()
[all …]
/linux/drivers/net/ethernet/intel/fm10k/
H A Dfm10k_debugfs.c116 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 …]
H A Dfm10k_main.c318 skb = napi_alloc_skb(&rx_ring->q_vector->napi, in fm10k_fetch_rx_buffer()
555 static void fm10k_receive_skb(struct fm10k_q_vector *q_vector, in fm10k_receive_skb() argument
558 napi_gro_receive(&q_vector->napi, skb); in fm10k_receive_skb()
561 static int fm10k_clean_rx_irq(struct fm10k_q_vector *q_vector, in fm10k_clean_rx_irq() argument
611 fm10k_receive_skb(q_vector, skb); in fm10k_clean_rx_irq()
627 q_vector->rx.total_packets += total_packets; in fm10k_clean_rx_irq()
628 q_vector->rx.total_bytes += total_bytes; in fm10k_clean_rx_irq()
1114 struct fm10k_intfc *interface = ring->q_vector->interface; in fm10k_get_tx_pending()
1178 static bool fm10k_clean_tx_irq(struct fm10k_q_vector *q_vector, in fm10k_clean_tx_irq() argument
1181 struct fm10k_intfc *interface = q_vector->interface; in fm10k_clean_tx_irq()
[all …]
H A Dfm10k.h104 struct fm10k_q_vector *q_vector;/* backpointer to host q_vector */ member
338 struct fm10k_q_vector *q_vector[MAX_Q_VECTORS]; member
545 void fm10k_dbg_q_vector_init(struct fm10k_q_vector *q_vector);
546 void fm10k_dbg_q_vector_exit(struct fm10k_q_vector *q_vector);
552 static inline void fm10k_dbg_q_vector_init(struct fm10k_q_vector *q_vector) {} in fm10k_dbg_q_vector_init() argument
553 static inline void fm10k_dbg_q_vector_exit(struct fm10k_q_vector *q_vector) {} in fm10k_dbg_q_vector_exit() argument
/linux/drivers/net/ethernet/intel/idpf/
H A Didpf_txrx.c558 .xdp = idpf_xdp_enabled(bufq->q_vector->vport), in idpf_rx_hdr_buf_alloc_all()
559 .nid = idpf_q_vector_to_mem(bufq->q_vector), in idpf_rx_hdr_buf_alloc_all()
563 ret = libeth_rx_fq_create(&fq, &bufq->q_vector->napi); in idpf_rx_hdr_buf_alloc_all()
701 .nid = idpf_q_vector_to_mem(rxq->q_vector), in idpf_rx_bufs_init_singleq()
705 ret = libeth_rx_fq_create(&fq, &rxq->q_vector->napi); in idpf_rx_bufs_init_singleq()
760 .xdp = idpf_xdp_enabled(bufq->q_vector->vport), in idpf_rx_bufs_init()
761 .nid = idpf_q_vector_to_mem(bufq->q_vector), in idpf_rx_bufs_init()
768 ret = libeth_rx_fq_create(&fq, &bufq->q_vector->napi); in idpf_rx_bufs_init()
996 for (u32 j = 0; j < bufq->q_vector->num_bufq; j++) { in idpf_init_queue_set()
1001 bufqs = bufq->q_vector->bufq; in idpf_init_queue_set()
[all …]
H A Didpf_txrx.h578 struct idpf_q_vector *q_vector; member
714 struct idpf_q_vector *q_vector; member
793 struct idpf_q_vector *q_vector; member
853 struct idpf_q_vector *q_vector; member
980 static inline int idpf_q_vector_to_mem(const struct idpf_q_vector *q_vector) in idpf_q_vector_to_mem() argument
984 if (!q_vector) in idpf_q_vector_to_mem()
987 cpu = cpumask_first(&q_vector->napi.config->affinity_mask); in idpf_q_vector_to_mem()
1051 static inline void idpf_vport_intr_set_wb_on_itr(struct idpf_q_vector *q_vector) in idpf_vport_intr_set_wb_on_itr() argument
1055 if (q_vector->wb_on_itr) in idpf_vport_intr_set_wb_on_itr()
1058 q_vector->wb_on_itr = true; in idpf_vport_intr_set_wb_on_itr()
[all …]
/linux/drivers/net/ethernet/intel/iavf/
H A Diavf_txrx.c157 static void iavf_force_wb(struct iavf_vsi *vsi, struct iavf_q_vector *q_vector) in iavf_force_wb() argument
166 IAVF_VFINT_DYN_CTLN1(q_vector->reg_idx), in iavf_force_wb()
209 iavf_force_wb(vsi, tx_ring->q_vector); in iavf_detect_recover_hung()
328 tx_ring->q_vector->tx.total_bytes += total_bytes; in iavf_clean_tx_irq()
329 tx_ring->q_vector->tx.total_packets += total_packets; in iavf_clean_tx_irq()
376 struct iavf_q_vector *q_vector) in iavf_enable_wb_on_itr() argument
378 u16 flags = q_vector->tx.ring[0].flags; in iavf_enable_wb_on_itr()
384 if (q_vector->arm_wb_state) in iavf_enable_wb_on_itr()
391 IAVF_VFINT_DYN_CTLN1(q_vector->reg_idx), val); in iavf_enable_wb_on_itr()
392 q_vector->arm_wb_state = true; in iavf_enable_wb_on_itr()
[all …]
/linux/drivers/net/ethernet/wangxun/libwx/
H A Dwx_lib.c245 skb = napi_alloc_skb(&rx_ring->q_vector->napi, WX_RXBUFFER_256); in wx_build_skb()
400 struct wx *wx = rx_ring->q_vector->wx; in wx_is_non_eop()
591 ethertype = ring->q_vector->wx->tpid[idx]; in wx_rx_vlan()
648 wx_ptp_rx_hwtstamp(rx_ring->q_vector->wx, skb); in wx_process_skb_fields()
670 static int wx_clean_rx_irq(struct wx_q_vector *q_vector, in wx_clean_rx_irq() argument
725 napi_gro_receive(&q_vector->napi, skb); in wx_clean_rx_irq()
735 q_vector->rx.total_packets += total_rx_packets; in wx_clean_rx_irq()
736 q_vector->rx.total_bytes += total_rx_bytes; in wx_clean_rx_irq()
783 static bool wx_clean_tx_irq(struct wx_q_vector *q_vector, in wx_clean_tx_irq() argument
786 unsigned int budget = q_vector->wx->tx_work_limit; in wx_clean_tx_irq()
[all …]
H A Dwx_vf_lib.c13 void wx_write_eitr_vf(struct wx_q_vector *q_vector) in wx_write_eitr_vf() argument
15 struct wx *wx = q_vector->wx; in wx_write_eitr_vf()
16 int v_idx = q_vector->v_idx; in wx_write_eitr_vf()
21 itr_reg = q_vector->itr & WX_SP_MAX_EITR; in wx_write_eitr_vf()
25 itr_reg = (q_vector->itr >> 3) & WX_AML_MAX_EITR; in wx_write_eitr_vf()
28 itr_reg = q_vector->itr & WX_EM_MAX_EITR; in wx_write_eitr_vf()
69 struct wx_q_vector *q_vector = wx->q_vector[v_idx]; in wx_configure_msix_vf() local
72 wx_for_each_ring(ring, q_vector->rx) in wx_configure_msix_vf()
75 wx_for_each_ring(ring, q_vector->tx) in wx_configure_msix_vf()
80 wx_write_eitr_vf(q_vector); in wx_configure_msix_vf()
H A Dwx_vf_common.c83 struct wx_q_vector *q_vector = wx->q_vector[vector]; in wx_request_msix_irqs_vf() local
86 if (q_vector->tx.ring && q_vector->rx.ring) in wx_request_msix_irqs_vf()
87 snprintf(q_vector->name, sizeof(q_vector->name) - 1, in wx_request_msix_irqs_vf()
94 q_vector->name, q_vector); in wx_request_msix_irqs_vf()
97 q_vector->name, err); in wx_request_msix_irqs_vf()
115 wx->q_vector[vector]); in wx_request_msix_irqs_vf()
H A Dwx_ethtool.c356 if (wx->q_vector[0]->tx.count && wx->q_vector[0]->rx.count) in wx_get_coalesce()
410 struct wx_q_vector *q_vector; in wx_set_coalesce() local
414 if (wx->q_vector[0]->tx.count && wx->q_vector[0]->rx.count) { in wx_set_coalesce()
481 if (wx->q_vector[0]->tx.count && wx->q_vector[0]->rx.count) in wx_set_coalesce()
485 q_vector = wx->q_vector[i]; in wx_set_coalesce()
486 if (q_vector->tx.count && !q_vector->rx.count) in wx_set_coalesce()
488 q_vector->itr = tx_itr_param; in wx_set_coalesce()
491 q_vector->itr = rx_itr_param; in wx_set_coalesce()
493 wx_write_eitr_vf(q_vector); in wx_set_coalesce()
495 wx_write_eitr(q_vector); in wx_set_coalesce()
/linux/drivers/net/ethernet/intel/igc/
H A Digc_main.c328 struct igc_hw *hw = &ring->q_vector->adapter->hw; in igc_disable_tx_ring_hw()
552 rx_ring->q_vector->napi.napi_id); in igc_setup_rx_resources()
2008 skb = napi_alloc_skb(&rx_ring->q_vector->napi, in igc_construct_skb()
2194 struct igc_adapter *adapter = rx_ring->q_vector->adapter; in igc_rx_offset()
2588 static void igc_update_rx_stats(struct igc_q_vector *q_vector, in igc_update_rx_stats() argument
2591 struct igc_ring *ring = q_vector->rx.ring; in igc_update_rx_stats()
2598 q_vector->rx.total_packets += packets; in igc_update_rx_stats()
2599 q_vector->rx.total_bytes += bytes; in igc_update_rx_stats()
2602 static int igc_clean_rx_irq(struct igc_q_vector *q_vector, const int budget) in igc_clean_rx_irq() argument
2605 struct igc_adapter *adapter = q_vector->adapter; in igc_clean_rx_irq()
[all …]
H A Digc_xdp.c32 napi_disable(&adapter->rx_ring[i]->q_vector->napi); in igc_xdp_set_prog()
47 napi_enable(&adapter->rx_ring[i]->q_vector->napi); in igc_xdp_set_prog()
92 napi = &rx_ring->q_vector->napi; in igc_xdp_enable_pool()
138 napi = &rx_ring->q_vector->napi; in igc_xdp_disable_pool()
/linux/drivers/net/ethernet/intel/ixgbe/
H A Dixgbe_txrx_common.h24 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,
50 struct ixgbe_q_vector *q_vector, u64 pkts,
53 struct ixgbe_q_vector *q_vector, u64 pkts,
H A Dixgbe_main.c1171 struct ixgbe_q_vector *q_vector, u64 pkts, in ixgbe_update_tx_ring_stats() argument
1178 q_vector->tx.total_bytes += bytes; in ixgbe_update_tx_ring_stats()
1179 q_vector->tx.total_packets += pkts; in ixgbe_update_tx_ring_stats()
1190 struct ixgbe_q_vector *q_vector, u64 pkts, in ixgbe_update_rx_ring_stats() argument
1197 q_vector->rx.total_bytes += bytes; in ixgbe_update_rx_ring_stats()
1198 q_vector->rx.total_packets += pkts; in ixgbe_update_rx_ring_stats()
1349 static bool ixgbe_clean_tx_irq(struct ixgbe_q_vector *q_vector, in ixgbe_clean_tx_irq() argument
1352 struct ixgbe_adapter *adapter = q_vector->adapter; in ixgbe_clean_tx_irq()
1356 unsigned int budget = q_vector->tx.work_limit; in ixgbe_clean_tx_irq()
1445 ixgbe_update_tx_ring_stats(tx_ring, q_vector, total_packets, in ixgbe_clean_tx_irq()
[all …]
/linux/drivers/net/ethernet/intel/i40e/
H A Di40e_txrx.c904 i40e_force_wb(vsi, tx_ring->q_vector); in i40e_detect_recover_hung()
1058 struct i40e_q_vector *q_vector) in i40e_enable_wb_on_itr() argument
1060 u16 flags = q_vector->tx.ring[0].flags; in i40e_enable_wb_on_itr()
1066 if (q_vector->arm_wb_state) in i40e_enable_wb_on_itr()
1074 I40E_PFINT_DYN_CTLN(q_vector->reg_idx), in i40e_enable_wb_on_itr()
1082 q_vector->arm_wb_state = true; in i40e_enable_wb_on_itr()
1091 void i40e_force_wb(struct i40e_vsi *vsi, struct i40e_q_vector *q_vector) in i40e_force_wb() argument
1101 I40E_PFINT_DYN_CTLN(q_vector->reg_idx), val); in i40e_force_wb()
1113 static inline bool i40e_container_is_rx(struct i40e_q_vector *q_vector, in i40e_container_is_rx() argument
1116 return &q_vector->rx == rc; in i40e_container_is_rx()
[all …]
H A Di40e_txrx_common.h54 tx_ring->q_vector->tx.total_bytes += total_bytes; in i40e_update_tx_stats()
55 tx_ring->q_vector->tx.total_packets += total_packets; in i40e_update_tx_stats()
/linux/drivers/net/ethernet/intel/igb/
H A Digb_xsk.c48 napi_disable(&rx_ring->q_vector->napi); in igb_txrx_ring_disable()
80 napi_enable(&rx_ring->q_vector->napi); in igb_txrx_ring_enable()
276 skb = napi_alloc_skb(&rx_ring->q_vector->napi, totalsize); in igb_construct_skb_zc()
341 int igb_clean_rx_irq_zc(struct igb_q_vector *q_vector, in igb_clean_rx_irq_zc() argument
344 struct igb_adapter *adapter = q_vector->adapter; in igb_clean_rx_irq_zc()
346 struct igb_ring *rx_ring = q_vector->rx.ring; in igb_clean_rx_irq_zc()
383 ts_hdr_len = igb_ptp_rx_pktstamp(rx_ring->q_vector, in igb_clean_rx_irq_zc()
436 napi_gro_receive(&q_vector->napi, skb); in igb_clean_rx_irq_zc()
447 igb_update_rx_stats(q_vector, total_packets, total_bytes); in igb_clean_rx_irq_zc()
527 static u32 igb_sw_irq_prep(struct igb_q_vector *q_vector) in igb_sw_irq_prep() argument
[all …]
H A Digb_main.c758 static void igb_assign_vector(struct igb_q_vector *q_vector, int msix_vector) in igb_assign_vector() argument
760 struct igb_adapter *adapter = q_vector->adapter; in igb_assign_vector()
766 if (q_vector->rx.ring) in igb_assign_vector()
767 rx_queue = q_vector->rx.ring->reg_idx; in igb_assign_vector()
768 if (q_vector->tx.ring) in igb_assign_vector()
769 tx_queue = q_vector->tx.ring->reg_idx; in igb_assign_vector()
785 q_vector->eims_value = msixbm; in igb_assign_vector()
801 q_vector->eims_value = BIT(msix_vector); in igb_assign_vector()
822 q_vector->eims_value = BIT(msix_vector); in igb_assign_vector()
830 adapter->eims_enable_mask |= q_vector->eims_value; in igb_assign_vector()
[all …]
H A Digb.h320 struct igb_q_vector *q_vector; /* backlink to q_vector */ member
611 struct igb_q_vector *q_vector[MAX_Q_VECTORS]; member
752 void igb_update_rx_stats(struct igb_q_vector *q_vector, unsigned int packets,
774 void igb_ptp_rx_rgtstamp(struct igb_q_vector *q_vector, struct sk_buff *skb);
775 int igb_ptp_rx_pktstamp(struct igb_q_vector *q_vector, void *va,
870 int igb_clean_rx_irq_zc(struct igb_q_vector *q_vector,
/linux/drivers/net/ethernet/wangxun/ngbe/
H A Dngbe_main.c215 struct wx_q_vector *q_vector; in ngbe_intr() local
220 q_vector = wx->q_vector[0]; in ngbe_intr()
242 napi_schedule_irqoff(&q_vector->napi); in ngbe_intr()
277 struct wx_q_vector *q_vector; in ngbe_misc_and_queue() local
284 q_vector = wx->q_vector[0]; in ngbe_misc_and_queue()
285 napi_schedule_irqoff(&q_vector->napi); in ngbe_misc_and_queue()
307 struct wx_q_vector *q_vector = wx->q_vector[vector]; in ngbe_request_msix_irqs() local
310 if (q_vector->tx.ring && q_vector->rx.ring) in ngbe_request_msix_irqs()
311 snprintf(q_vector->name, sizeof(q_vector->name) - 1, in ngbe_request_msix_irqs()
318 q_vector->name, q_vector); in ngbe_request_msix_irqs()
[all …]
/linux/drivers/net/ethernet/intel/ice/virt/
H A Dqueues.c486 struct ice_q_vector *q_vector) in ice_cfg_interrupt() argument
491 q_vector->num_ring_rx = 0; in ice_cfg_interrupt()
492 q_vector->num_ring_tx = 0; in ice_cfg_interrupt()
501 q_vector->num_ring_rx++; in ice_cfg_interrupt()
502 q_vector->rx.itr_idx = map->rxitr_idx; in ice_cfg_interrupt()
503 vsi->rx_rings[vsi_q_id]->q_vector = q_vector; in ice_cfg_interrupt()
505 q_vector->vf_reg_idx, in ice_cfg_interrupt()
506 q_vector->rx.itr_idx); in ice_cfg_interrupt()
516 q_vector->num_ring_tx++; in ice_cfg_interrupt()
517 q_vector->tx.itr_idx = map->txitr_idx; in ice_cfg_interrupt()
[all …]

12