Home
last modified time | relevance | path

Searched refs:rxq (Results 1 – 25 of 101) sorted by relevance

12345

/linux/drivers/net/wwan/t7xx/
H A Dt7xx_hif_dpmaif_rx.c84 struct dpmaif_rx_queue *rxq = &dpmaif_ctrl->rxq[q_num]; in t7xx_dpmaif_update_bat_wr_idx() local
85 struct dpmaif_bat_request *bat_req = rxq->bat_req; in t7xx_dpmaif_update_bat_wr_idx()
88 if (!rxq->que_started) { in t7xx_dpmaif_update_bat_wr_idx()
89 dev_err(dpmaif_ctrl->dev, "RX queue %d has not been started\n", rxq->index); in t7xx_dpmaif_update_bat_wr_idx()
236 static int t7xx_dpmaifq_release_pit_entry(struct dpmaif_rx_queue *rxq, in t7xx_dpmaifq_release_pit_entry() argument
239 struct dpmaif_hw_info *hw_info = &rxq->dpmaif_ctrl->hw_info; in t7xx_dpmaifq_release_pit_entry()
243 if (!rxq->que_started) in t7xx_dpmaifq_release_pit_entry()
246 if (rel_entry_num >= rxq->pit_size_cnt) { in t7xx_dpmaifq_release_pit_entry()
247 dev_err(rxq->dpmaif_ctrl->dev, "Invalid PIT release index\n"); in t7xx_dpmaifq_release_pit_entry()
251 old_rel_idx = rxq->pit_release_rd_idx; in t7xx_dpmaifq_release_pit_entry()
[all …]
H A Dt7xx_hif_dpmaif.c227 rx_q = &dpmaif_ctrl->rxq[rx_idx]; in t7xx_dpmaif_rxtx_sw_allocs()
267 rx_q = &dpmaif_ctrl->rxq[i]; in t7xx_dpmaif_rxtx_sw_allocs()
294 rx_q = &dpmaif_ctrl->rxq[i]; in t7xx_dpmaif_sw_release()
303 struct dpmaif_rx_queue *rxq; in t7xx_dpmaif_start() local
314 rxq = &dpmaif_ctrl->rxq[i]; in t7xx_dpmaif_start()
315 rxq->que_started = true; in t7xx_dpmaif_start()
316 rxq->index = i; in t7xx_dpmaif_start()
317 rxq->budget = rxq->bat_req->bat_size_cnt - 1; in t7xx_dpmaif_start()
319 hw_init_para.pkt_bat_base_addr[i] = rxq->bat_req->bat_bus_addr; in t7xx_dpmaif_start()
320 hw_init_para.pkt_bat_size_cnt[i] = rxq->bat_req->bat_size_cnt; in t7xx_dpmaif_start()
[all …]
/linux/drivers/net/ethernet/huawei/hinic/
H A Dhinic_rx.c53 static void hinic_rxq_clean_stats(struct hinic_rxq *rxq) in hinic_rxq_clean_stats() argument
55 struct hinic_rxq_stats *rxq_stats = &rxq->rxq_stats; in hinic_rxq_clean_stats()
71 void hinic_rxq_get_stats(struct hinic_rxq *rxq, struct hinic_rxq_stats *stats) in hinic_rxq_get_stats() argument
73 struct hinic_rxq_stats *rxq_stats = &rxq->rxq_stats; in hinic_rxq_get_stats()
91 static void rxq_stats_init(struct hinic_rxq *rxq) in rxq_stats_init() argument
93 struct hinic_rxq_stats *rxq_stats = &rxq->rxq_stats; in rxq_stats_init()
96 hinic_rxq_clean_stats(rxq); in rxq_stats_init()
99 static void rx_csum(struct hinic_rxq *rxq, u32 status, in rx_csum() argument
102 struct net_device *netdev = rxq->netdev; in rx_csum()
115 rxq->rxq_stats.csum_errors++; in rx_csum()
[all …]
H A Dhinic_rx.h44 void hinic_rxq_get_stats(struct hinic_rxq *rxq, struct hinic_rxq_stats *stats);
46 int hinic_init_rxq(struct hinic_rxq *rxq, struct hinic_rq *rq,
49 void hinic_clean_rxq(struct hinic_rxq *rxq);
/linux/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/
H A Drx.c120 static int iwl_rxq_space(const struct iwl_rxq *rxq) in iwl_rxq_space() argument
123 WARN_ON(rxq->queue_size & (rxq->queue_size - 1)); in iwl_rxq_space()
131 return (rxq->read - rxq->write - 1) & (rxq->queue_size - 1); in iwl_rxq_space()
168 struct iwl_rxq *rxq) in iwl_pcie_rxq_inc_wr_ptr() argument
172 lockdep_assert_held(&rxq->lock); in iwl_pcie_rxq_inc_wr_ptr()
188 rxq->need_update = true; in iwl_pcie_rxq_inc_wr_ptr()
193 rxq->write_actual = round_down(rxq->write, 8); in iwl_pcie_rxq_inc_wr_ptr()
195 iwl_write32(trans, FH_RSCSR_CHNL0_WPTR, rxq->write_actual); in iwl_pcie_rxq_inc_wr_ptr()
197 iwl_write32(trans, HBUS_TARG_WRPTR, rxq->write_actual | in iwl_pcie_rxq_inc_wr_ptr()
198 HBUS_TARG_WRPTR_RX_Q(rxq->id)); in iwl_pcie_rxq_inc_wr_ptr()
[all …]
/linux/drivers/net/ethernet/qlogic/qede/
H A Dqede_fp.c28 int qede_alloc_rx_buffer(struct qede_rx_queue *rxq, bool allow_lazy) in qede_alloc_rx_buffer() argument
39 if (allow_lazy && likely(rxq->filled_buffers > 12)) { in qede_alloc_rx_buffer()
40 rxq->filled_buffers--; in qede_alloc_rx_buffer()
51 mapping = dma_map_page(rxq->dev, data, 0, in qede_alloc_rx_buffer()
52 PAGE_SIZE, rxq->data_direction); in qede_alloc_rx_buffer()
53 if (unlikely(dma_mapping_error(rxq->dev, mapping))) { in qede_alloc_rx_buffer()
58 sw_rx_data = &rxq->sw_rx_ring[rxq->sw_rx_prod & NUM_RX_BDS_MAX]; in qede_alloc_rx_buffer()
64 rx_bd = (struct eth_rx_bd *)qed_chain_produce(&rxq->rx_bd_ring); in qede_alloc_rx_buffer()
68 rxq->rx_headroom); in qede_alloc_rx_buffer()
70 rxq->sw_rx_prod++; in qede_alloc_rx_buffer()
[all …]
/linux/drivers/net/ethernet/intel/idpf/
H A Dxdp.c11 int (*fn)(struct idpf_rx_queue *rxq, void *arg), in idpf_rxq_for_each() argument
33 q = &rx_qgrp->splitq.rxq_sets[j]->rxq; in idpf_rxq_for_each()
46 static int __idpf_xdp_rxq_info_init(struct idpf_rx_queue *rxq, void *arg) in __idpf_xdp_rxq_info_init() argument
48 const struct idpf_vport *vport = rxq->q_vector->vport; in __idpf_xdp_rxq_info_init()
54 if (idpf_queue_has(XSK, rxq)) in __idpf_xdp_rxq_info_init()
55 frag_size = rxq->bufq_sets[0].bufq.truesize; in __idpf_xdp_rxq_info_init()
57 err = __xdp_rxq_info_reg(&rxq->xdp_rxq, vport->netdev, rxq->idx, in __idpf_xdp_rxq_info_init()
58 rxq->q_vector->napi.napi_id, in __idpf_xdp_rxq_info_init()
66 if (idpf_queue_has(XSK, rxq)) { in __idpf_xdp_rxq_info_init()
67 err = xdp_rxq_info_reg_mem_model(&rxq->xdp_rxq, in __idpf_xdp_rxq_info_init()
[all …]
H A Dxsk.c13 struct idpf_rx_queue *rxq) in idpf_xsk_setup_rxq() argument
17 pool = xsk_get_pool_from_qid(vport->netdev, rxq->idx); in idpf_xsk_setup_rxq()
21 rxq->pool = pool; in idpf_xsk_setup_rxq()
23 idpf_queue_set(XSK, rxq); in idpf_xsk_setup_rxq()
38 qid = grp->splitq.rxq_sets[0]->rxq.idx; in idpf_xsk_setup_bufq()
128 struct idpf_rx_queue *rxq; in idpf_xsk_clear_queue() local
133 rxq = q; in idpf_xsk_clear_queue()
134 if (!idpf_queue_has_clear(XSK, rxq)) in idpf_xsk_clear_queue()
137 rxq->pool = NULL; in idpf_xsk_clear_queue()
467 int idpf_xskrq_poll(struct idpf_rx_queue *rxq, u32 budget) in idpf_xskrq_poll() argument
[all …]
/linux/drivers/net/ethernet/huawei/hinic3/
H A Dhinic3_irq.c19 struct hinic3_rxq *rxq = irq_cfg->rxq; in hinic3_net_dim() local
26 dim_update_sample(irq_cfg->total_events, rxq->rxq_stats.packets, in hinic3_net_dim()
27 rxq->rxq_stats.bytes, &sample); in hinic3_net_dim()
28 net_dim(&rxq->dim, &sample); in hinic3_net_dim()
46 work_done = hinic3_rx_poll(irq_cfg->rxq, budget); in hinic3_poll()
184 struct hinic3_rxq *rxq; in hinic3_rx_dim_work() local
188 rxq = container_of(dim, struct hinic3_rxq, dim); in hinic3_rx_dim_work()
192 hinic3_update_queue_coal(rxq->netdev, rxq->q_id, in hinic3_rx_dim_work()
216 irq_cfg->rxq = &nic_dev->rxqs[q_id]; in hinic3_qps_irq_init()
231 INIT_WORK(&irq_cfg->rxq->dim.work, hinic3_rx_dim_work); in hinic3_qps_irq_init()
[all …]
/linux/drivers/net/ethernet/atheros/alx/
H A Dmain.c73 struct alx_rx_queue *rxq = alx->qnapi[0]->rxq; in alx_refill_rx_ring() local
79 next = cur = rxq->write_idx; in alx_refill_rx_ring()
82 cur_buf = &rxq->bufs[cur]; in alx_refill_rx_ring()
84 while (!cur_buf->skb && next != rxq->read_idx) { in alx_refill_rx_ring()
85 struct alx_rfd *rfd = &rxq->rfd[cur]; in alx_refill_rx_ring()
127 cur_buf = &rxq->bufs[cur]; in alx_refill_rx_ring()
134 rxq->write_idx = cur; in alx_refill_rx_ring()
216 static int alx_clean_rx_irq(struct alx_rx_queue *rxq, int budget) in alx_clean_rx_irq() argument
225 alx = netdev_priv(rxq->netdev); in alx_clean_rx_irq()
228 rrd = &rxq->rrd[rxq->rrd_read_idx]; in alx_clean_rx_irq()
[all …]
/linux/tools/testing/selftests/bpf/
H A Dxdp_hw_metadata.c73 int rxq; variable
444 static int verify_metadata(struct xsk *rx_xsk, int rxq, int server_fd, clockid_t clock_id) in verify_metadata() argument
447 struct pollfd fds[rxq + 1]; in verify_metadata()
455 for (i = 0; i < rxq; i++) { in verify_metadata()
461 fds[rxq].fd = server_fd; in verify_metadata()
462 fds[rxq].events = POLLIN; in verify_metadata()
463 fds[rxq].revents = 0; in verify_metadata()
468 for (i = 0; i < rxq; i++) { in verify_metadata()
474 ret = poll(fds, rxq + 1, 1000); in verify_metadata()
483 if (fds[rxq].revents) in verify_metadata()
[all …]
/linux/drivers/net/ethernet/mellanox/mlx5/core/
H A Den_arfs.c90 int rxq; member
436 arfs_rule->rxq, arfs_rule->flow_id, in arfs_may_expire_flow()
448 priv->channel_stats[arfs_rule->rxq]->rq.arfs_expired++; in arfs_may_expire_flow()
527 priv->channel_stats[arfs_rule->rxq]->rq.arfs_err++; in arfs_add_rule()
596 dest.tir_num = mlx5e_rx_res_get_tirn_direct(priv->rx_res, arfs_rule->rxq); in arfs_add_rule()
600 priv->channel_stats[arfs_rule->rxq]->rq.arfs_err++; in arfs_add_rule()
603 __func__, arfs_rule->filter_id, arfs_rule->rxq, in arfs_add_rule()
613 struct mlx5_flow_handle *rule, u16 rxq) in arfs_modify_rule_rq() argument
619 dst.tir_num = mlx5e_rx_res_get_tirn_direct(priv->rx_res, rxq); in arfs_modify_rule_rq()
622 priv->channel_stats[rxq]->rq.arfs_err++; in arfs_modify_rule_rq()
[all …]
/linux/tools/testing/selftests/bpf/progs/
H A Dtest_xdp_bpf2bpf.c29 struct xdp_rxq_info *rxq; member
49 meta.ifindex = xdp->rxq->dev->ifindex; in BPF_PROG()
56 test_result_fentry = xdp->rxq->dev->ifindex; in BPF_PROG()
/linux/drivers/net/ethernet/intel/ice/virt/
H A Dqueues.c781 if (!qci->qpair[i].rxq.crc_disable) in ice_vc_cfg_qs_msg()
792 qpi->rxq.vsi_id != qci->vsi_id || in ice_vc_cfg_qs_msg()
793 qpi->rxq.queue_id != qpi->txq.queue_id || in ice_vc_cfg_qs_msg()
796 !ice_vc_isvalid_ring_len(qpi->rxq.ring_len) || in ice_vc_cfg_qs_msg()
801 q_idx = qpi->rxq.queue_id; in ice_vc_cfg_qs_msg()
828 if (qpi->rxq.ring_len > 0) { in ice_vc_cfg_qs_msg()
833 ring->dma = qpi->rxq.dma_ring_addr; in ice_vc_cfg_qs_msg()
834 ring->count = qpi->rxq.ring_len; in ice_vc_cfg_qs_msg()
836 if (qpi->rxq.crc_disable) in ice_vc_cfg_qs_msg()
841 if (qpi->rxq.databuffer_size != 0 && in ice_vc_cfg_qs_msg()
[all …]
/linux/drivers/net/ethernet/chelsio/cxgb4vf/
H A Dsge.c1564 static void do_gro(struct sge_eth_rxq *rxq, const struct pkt_gl *gl, in do_gro() argument
1567 struct adapter *adapter = rxq->rspq.adapter; in do_gro()
1573 skb = napi_get_frags(&rxq->rspq.napi); in do_gro()
1576 rxq->stats.rx_drops++; in do_gro()
1585 skb_record_rx_queue(skb, rxq->rspq.idx); in do_gro()
1591 rxq->stats.vlan_ex++; in do_gro()
1593 ret = napi_gro_frags(&rxq->rspq.napi); in do_gro()
1596 rxq->stats.lro_pkts++; in do_gro()
1598 rxq->stats.lro_merged++; in do_gro()
1599 rxq->stats.pkts++; in do_gro()
[all …]
/linux/drivers/net/ethernet/alacritech/
H A Dslicoss.c120 static unsigned int slic_get_free_rx_descs(struct slic_rx_queue *rxq) in slic_get_free_rx_descs() argument
122 return slic_get_free_queue_descs(rxq->put_idx, rxq->done_idx, rxq->len); in slic_get_free_rx_descs()
396 struct slic_rx_queue *rxq = &sdev->rxq; in slic_refill_rx_queue() local
405 while (slic_get_free_rx_descs(rxq) > SLIC_MAX_REQ_RX_DESCS) { in slic_refill_rx_queue()
437 buff = &rxq->rxbuffs[rxq->put_idx]; in slic_refill_rx_queue()
446 rxq->put_idx = slic_next_queue_idx(rxq->put_idx, rxq->len); in slic_refill_rx_queue()
549 struct slic_rx_queue *rxq = &sdev->rxq; in slic_handle_receive() local
559 while (todo && (rxq->done_idx != rxq->put_idx)) { in slic_handle_receive()
560 buff = &rxq->rxbuffs[rxq->done_idx]; in slic_handle_receive()
613 rxq->done_idx = slic_next_queue_idx(rxq->done_idx, rxq->len); in slic_handle_receive()
[all …]
/linux/drivers/net/ethernet/chelsio/cxgb4/
H A Dcudbg_lib.h253 static inline void cudbg_fill_qdesc_rxq(const struct sge_rspq *rxq, in cudbg_fill_qdesc_rxq() argument
258 entry->qid = rxq->cntxt_id; in cudbg_fill_qdesc_rxq()
259 entry->desc_size = rxq->iqe_len; in cudbg_fill_qdesc_rxq()
260 entry->num_desc = rxq->size; in cudbg_fill_qdesc_rxq()
261 entry->data_size = rxq->size * rxq->iqe_len; in cudbg_fill_qdesc_rxq()
262 memcpy(entry->data, rxq->desc, entry->data_size); in cudbg_fill_qdesc_rxq()
/linux/drivers/net/ethernet/freescale/
H A Dgianfar.h1319 static inline int gfar_rxbd_unused(struct gfar_priv_rx_q *rxq) in gfar_rxbd_unused() argument
1321 if (rxq->next_to_clean > rxq->next_to_use) in gfar_rxbd_unused()
1322 return rxq->next_to_clean - rxq->next_to_use - 1; in gfar_rxbd_unused()
1324 return rxq->rx_ring_size + rxq->next_to_clean - rxq->next_to_use - 1; in gfar_rxbd_unused()
1327 static inline u32 gfar_rxbd_dma_lastfree(struct gfar_priv_rx_q *rxq) in gfar_rxbd_dma_lastfree() argument
1333 i = rxq->next_to_use ? rxq->next_to_use - 1 : rxq->rx_ring_size - 1; in gfar_rxbd_dma_lastfree()
1334 bdp = &rxq->rx_bd_base[i]; in gfar_rxbd_dma_lastfree()
1335 bdp_dma = lower_32_bits(rxq->rx_bd_dma_base); in gfar_rxbd_dma_lastfree()
1336 bdp_dma += (uintptr_t)bdp - (uintptr_t)rxq->rx_bd_base; in gfar_rxbd_dma_lastfree()
/linux/drivers/net/ethernet/samsung/sxgbe/
H A Dsxgbe_main.c326 priv->hw->desc->init_rx_desc(&priv->rxq[j]->dma_rx[i], in sxgbe_clear_descriptors()
584 priv->rxq[queue_num], rx_rsize); in init_dma_desc_rings()
593 priv->rxq[queue_num]->priv_ptr = priv; in init_dma_desc_rings()
607 free_rx_ring(priv->device, priv->rxq[queue_num], rx_rsize); in init_dma_desc_rings()
659 free_rx_ring(priv->device, priv->rxq[queue_num], rx_rsize); in free_dma_desc_resources()
682 priv->rxq[queue_num] = devm_kmalloc(priv->device, in rxring_mem_alloc()
684 if (!priv->rxq[queue_num]) in rxring_mem_alloc()
968 (priv->rxq[queue_num])->dma_rx_phy, in sxgbe_init_dma_engine()
1142 (priv->rxq[queue_num])->irq_no, in sxgbe_open()
1144 dev->name, priv->rxq[queue_num]); in sxgbe_open()
[all …]
/linux/drivers/net/ethernet/broadcom/bnx2x/
H A Dbnx2x_vfpf.c636 req->rxq.rcq_addr = fp->rx_comp_mapping; in bnx2x_vfpf_setup_q()
637 req->rxq.rcq_np_addr = fp->rx_comp_mapping + BCM_PAGE_SIZE; in bnx2x_vfpf_setup_q()
638 req->rxq.rxq_addr = fp->rx_desc_mapping; in bnx2x_vfpf_setup_q()
639 req->rxq.sge_addr = fp->rx_sge_mapping; in bnx2x_vfpf_setup_q()
640 req->rxq.vf_sb = fp_idx; in bnx2x_vfpf_setup_q()
641 req->rxq.sb_index = HC_INDEX_ETH_RX_CQ_CONS; in bnx2x_vfpf_setup_q()
642 req->rxq.hc_rate = bp->rx_ticks ? 1000000/bp->rx_ticks : 0; in bnx2x_vfpf_setup_q()
643 req->rxq.mtu = bp->dev->mtu; in bnx2x_vfpf_setup_q()
644 req->rxq.buf_sz = fp->rx_buf_size; in bnx2x_vfpf_setup_q()
645 req->rxq.sge_buf_sz = BCM_PAGE_SIZE * PAGES_PER_SGE; in bnx2x_vfpf_setup_q()
[all …]
/linux/drivers/target/iscsi/cxgbit/
H A Dcxgbit_main.c108 spin_lock_bh(&csk->rxq.lock); in cxgbit_close_conn()
109 __skb_queue_tail(&csk->rxq, skb); in cxgbit_close_conn()
110 if (skb_queue_len(&csk->rxq) == 1) in cxgbit_close_conn()
112 spin_unlock_bh(&csk->rxq.lock); in cxgbit_close_conn()
344 spin_lock(&csk->rxq.lock); in cxgbit_queue_lro_skb()
345 __skb_queue_tail(&csk->rxq, skb); in cxgbit_queue_lro_skb()
346 if (skb_queue_len(&csk->rxq) == 1) in cxgbit_queue_lro_skb()
348 spin_unlock(&csk->rxq.lock); in cxgbit_queue_lro_skb()
573 spin_lock(&csk->rxq.lock); in cxgbit_update_dcb_priority()
574 __skb_queue_tail(&csk->rxq, skb); in cxgbit_update_dcb_priority()
[all …]
/linux/net/core/
H A Dpage_pool_priv.h44 struct netdev_rx_queue *rxq);
54 struct netdev_rx_queue *rxq) in page_pool_check_memory_provider() argument
H A Dxdp.c545 __xdp_return(netmem, xdp->rxq->mem.type, true, NULL); in xdp_return_frag()
559 xdp->rxq->mem.type, true, xdp); in xdp_return_buff()
562 __xdp_return(virt_to_netmem(xdp->data), xdp->rxq->mem.type, true, xdp); in xdp_return_buff()
635 const struct xdp_rxq_info *rxq = xdp->rxq; in xdp_build_skb_from_buff() local
657 if (rxq->mem.type == MEM_TYPE_PAGE_POOL) in xdp_build_skb_from_buff()
660 skb_record_rx_queue(skb, rxq->queue_index); in xdp_build_skb_from_buff()
670 skb->protocol = eth_type_trans(skb, rxq->dev); in xdp_build_skb_from_buff()
741 const struct xdp_rxq_info *rxq = xdp->rxq; in xdp_build_skb_from_zc() local
775 skb_record_rx_queue(skb, rxq->queue_index); in xdp_build_skb_from_zc()
786 skb->protocol = eth_type_trans(skb, rxq->dev); in xdp_build_skb_from_zc()
/linux/drivers/net/ethernet/brocade/bna/
H A Dbnad_ethtool.c644 bnad->rx_info[i].rx_ctrl[j].ccb->rcb[1]->rxq) in bnad_get_strings()
691 bnad->rx_info[i].rx_ctrl[j].ccb->rcb[1]->rxq) in bnad_get_stats_count_locked()
716 bnad->rx_info[i].rx_ctrl[j].ccb->rcb[0]->rxq) { in bnad_per_q_stats_fill()
742 rcb[0]->rxq) { in bnad_per_q_stats_fill()
745 buf[bi++] = rcb->rxq->rx_packets; in bnad_per_q_stats_fill()
746 buf[bi++] = rcb->rxq->rx_bytes; in bnad_per_q_stats_fill()
747 buf[bi++] = rcb->rxq-> in bnad_per_q_stats_fill()
749 buf[bi++] = rcb->rxq-> in bnad_per_q_stats_fill()
751 buf[bi++] = rcb->rxq->rxbuf_map_failed; in bnad_per_q_stats_fill()
757 rcb[1]->rxq) { in bnad_per_q_stats_fill()
[all …]
/linux/include/trace/events/
H A Dxdp.h334 const struct xdp_rxq_info *rxq),
336 TP_ARGS(xa, rxq),
343 __field(const struct xdp_rxq_info *, rxq)
352 __entry->rxq = rxq;
353 __entry->ifindex = rxq->dev->ifindex;

12345