Lines Matching refs:rxq
1181 int rxq; in mvpp2_swf_bm_pool_init_shared() local
1204 for (rxq = 0; rxq < port->nrxqs; rxq++) in mvpp2_swf_bm_pool_init_shared()
1205 mvpp2_rxq_long_pool_set(port, rxq, port->pool_long->id); in mvpp2_swf_bm_pool_init_shared()
1217 for (rxq = 0; rxq < port->nrxqs; rxq++) in mvpp2_swf_bm_pool_init_shared()
1218 mvpp2_rxq_short_pool_set(port, rxq, in mvpp2_swf_bm_pool_init_shared()
2402 mvpp2_rxq_next_desc_get(struct mvpp2_rx_queue *rxq) in mvpp2_rxq_next_desc_get() argument
2404 int rx_desc = rxq->next_desc_to_proc; in mvpp2_rxq_next_desc_get()
2406 rxq->next_desc_to_proc = MVPP2_QUEUE_NEXT_DESC(rxq, rx_desc); in mvpp2_rxq_next_desc_get()
2407 prefetch(rxq->descs + rxq->next_desc_to_proc); in mvpp2_rxq_next_desc_get()
2408 return rxq->descs + rx_desc; in mvpp2_rxq_next_desc_get()
2681 struct mvpp2_rx_queue *rxq) in mvpp2_set_rxq_free_tresh() argument
2685 mvpp2_write(port->priv, MVPP2_RXQ_NUM_REG, rxq->id); in mvpp2_set_rxq_free_tresh()
2697 struct mvpp2_rx_queue *rxq) in mvpp2_rx_pkts_coal_set() argument
2701 if (rxq->pkts_coal > MVPP2_OCCUPIED_THRESH_MASK) in mvpp2_rx_pkts_coal_set()
2702 rxq->pkts_coal = MVPP2_OCCUPIED_THRESH_MASK; in mvpp2_rx_pkts_coal_set()
2704 mvpp2_thread_write(port->priv, thread, MVPP2_RXQ_NUM_REG, rxq->id); in mvpp2_rx_pkts_coal_set()
2706 rxq->pkts_coal); in mvpp2_rx_pkts_coal_set()
2749 struct mvpp2_rx_queue *rxq) in mvpp2_rx_time_coal_set() argument
2752 u32 val = mvpp2_usec_to_cycles(rxq->time_coal, freq); in mvpp2_rx_time_coal_set()
2755 rxq->time_coal = in mvpp2_rx_time_coal_set()
2759 val = mvpp2_usec_to_cycles(rxq->time_coal, freq); in mvpp2_rx_time_coal_set()
2762 mvpp2_write(port->priv, MVPP2_ISR_RX_THRESHOLD_REG(rxq->id), val); in mvpp2_rx_time_coal_set()
2916 struct mvpp2_rx_queue *rxq) in mvpp2_rxq_init() argument
2923 rxq->size = port->rx_ring_size; in mvpp2_rxq_init()
2926 rxq->descs = dma_alloc_coherent(port->dev->dev.parent, in mvpp2_rxq_init()
2927 rxq->size * MVPP2_DESC_ALIGNED_SIZE, in mvpp2_rxq_init()
2928 &rxq->descs_dma, GFP_KERNEL); in mvpp2_rxq_init()
2929 if (!rxq->descs) in mvpp2_rxq_init()
2932 rxq->last_desc = rxq->size - 1; in mvpp2_rxq_init()
2935 mvpp2_write(port->priv, MVPP2_RXQ_STATUS_REG(rxq->id), 0); in mvpp2_rxq_init()
2939 mvpp2_thread_write(port->priv, thread, MVPP2_RXQ_NUM_REG, rxq->id); in mvpp2_rxq_init()
2941 rxq_dma = rxq->descs_dma; in mvpp2_rxq_init()
2943 rxq_dma = rxq->descs_dma >> MVPP22_DESC_ADDR_OFFS; in mvpp2_rxq_init()
2945 mvpp2_thread_write(port->priv, thread, MVPP2_RXQ_DESC_SIZE_REG, rxq->size); in mvpp2_rxq_init()
2950 mvpp2_rxq_offset_set(port, rxq->id, MVPP2_SKB_HEADROOM); in mvpp2_rxq_init()
2953 mvpp2_rx_pkts_coal_set(port, rxq); in mvpp2_rxq_init()
2954 mvpp2_rx_time_coal_set(port, rxq); in mvpp2_rxq_init()
2957 mvpp2_set_rxq_free_tresh(port, rxq); in mvpp2_rxq_init()
2960 mvpp2_rxq_status_update(port, rxq->id, 0, rxq->size); in mvpp2_rxq_init()
2963 err = xdp_rxq_info_reg(&rxq->xdp_rxq_short, port->dev, rxq->logic_rxq, 0); in mvpp2_rxq_init()
2967 err = xdp_rxq_info_reg(&rxq->xdp_rxq_long, port->dev, rxq->logic_rxq, 0); in mvpp2_rxq_init()
2972 err = xdp_rxq_info_reg_mem_model(&rxq->xdp_rxq_short, in mvpp2_rxq_init()
2974 priv->page_pool[rxq->logic_rxq]); in mvpp2_rxq_init()
2978 err = xdp_rxq_info_reg_mem_model(&rxq->xdp_rxq_long, in mvpp2_rxq_init()
2980 priv->page_pool[rxq->logic_rxq + in mvpp2_rxq_init()
2989 xdp_rxq_info_unreg_mem_model(&rxq->xdp_rxq_short); in mvpp2_rxq_init()
2991 xdp_rxq_info_unreg(&rxq->xdp_rxq_long); in mvpp2_rxq_init()
2993 xdp_rxq_info_unreg(&rxq->xdp_rxq_short); in mvpp2_rxq_init()
2996 rxq->size * MVPP2_DESC_ALIGNED_SIZE, in mvpp2_rxq_init()
2997 rxq->descs, rxq->descs_dma); in mvpp2_rxq_init()
3003 struct mvpp2_rx_queue *rxq) in mvpp2_rxq_drop_pkts() argument
3007 rx_received = mvpp2_rxq_received(port, rxq->id); in mvpp2_rxq_drop_pkts()
3012 struct mvpp2_rx_desc *rx_desc = mvpp2_rxq_next_desc_get(rxq); in mvpp2_rxq_drop_pkts()
3023 mvpp2_rxq_status_update(port, rxq->id, rx_received, rx_received); in mvpp2_rxq_drop_pkts()
3028 struct mvpp2_rx_queue *rxq) in mvpp2_rxq_deinit() argument
3032 if (xdp_rxq_info_is_reg(&rxq->xdp_rxq_short)) in mvpp2_rxq_deinit()
3033 xdp_rxq_info_unreg(&rxq->xdp_rxq_short); in mvpp2_rxq_deinit()
3035 if (xdp_rxq_info_is_reg(&rxq->xdp_rxq_long)) in mvpp2_rxq_deinit()
3036 xdp_rxq_info_unreg(&rxq->xdp_rxq_long); in mvpp2_rxq_deinit()
3038 mvpp2_rxq_drop_pkts(port, rxq); in mvpp2_rxq_deinit()
3040 if (rxq->descs) in mvpp2_rxq_deinit()
3042 rxq->size * MVPP2_DESC_ALIGNED_SIZE, in mvpp2_rxq_deinit()
3043 rxq->descs, in mvpp2_rxq_deinit()
3044 rxq->descs_dma); in mvpp2_rxq_deinit()
3046 rxq->descs = NULL; in mvpp2_rxq_deinit()
3047 rxq->last_desc = 0; in mvpp2_rxq_deinit()
3048 rxq->next_desc_to_proc = 0; in mvpp2_rxq_deinit()
3049 rxq->descs_dma = 0; in mvpp2_rxq_deinit()
3054 mvpp2_write(port->priv, MVPP2_RXQ_STATUS_REG(rxq->id), 0); in mvpp2_rxq_deinit()
3056 mvpp2_thread_write(port->priv, thread, MVPP2_RXQ_NUM_REG, rxq->id); in mvpp2_rxq_deinit()
3870 int rx_todo, struct mvpp2_rx_queue *rxq) in mvpp2_rx() argument
3884 rx_received = mvpp2_rxq_received(port, rxq->id); in mvpp2_rx()
3889 struct mvpp2_rx_desc *rx_desc = mvpp2_rxq_next_desc_get(rxq); in mvpp2_rx()
3951 xdp_rxq = &rxq->xdp_rxq_short; in mvpp2_rx()
3953 xdp_rxq = &rxq->xdp_rxq_long; in mvpp2_rx()
4044 mvpp2_rxq_status_update(port, rxq->id, rx_done, rx_done); in mvpp2_rx()
4505 struct mvpp2_rx_queue *rxq; in mvpp2_poll() local
4507 rxq = mvpp2_get_rx_queue(port, cause_rx); in mvpp2_poll()
4508 if (!rxq) in mvpp2_poll()
4511 count = mvpp2_rx(port, napi, budget, rxq); in mvpp2_poll()
4519 cause_rx &= ~(1 << rxq->logic_rxq); in mvpp2_poll()
5384 struct mvpp2_rx_queue *rxq = port->rxqs[queue]; in mvpp2_ethtool_set_coalesce() local
5386 rxq->time_coal = c->rx_coalesce_usecs; in mvpp2_ethtool_set_coalesce()
5387 rxq->pkts_coal = c->rx_max_coalesced_frames; in mvpp2_ethtool_set_coalesce()
5388 mvpp2_rx_pkts_coal_set(port, rxq); in mvpp2_ethtool_set_coalesce()
5389 mvpp2_rx_time_coal_set(port, rxq); in mvpp2_ethtool_set_coalesce()
5966 struct mvpp2_rx_queue *rxq; in mvpp2_port_init() local
5969 rxq = devm_kzalloc(dev, sizeof(*rxq), GFP_KERNEL); in mvpp2_port_init()
5970 if (!rxq) { in mvpp2_port_init()
5975 rxq->id = port->first_rxq + queue; in mvpp2_port_init()
5976 rxq->port = port->id; in mvpp2_port_init()
5977 rxq->logic_rxq = queue; in mvpp2_port_init()
5979 port->rxqs[queue] = rxq; in mvpp2_port_init()
5986 struct mvpp2_rx_queue *rxq = port->rxqs[queue]; in mvpp2_port_init() local
5988 rxq->size = port->rx_ring_size; in mvpp2_port_init()
5989 rxq->pkts_coal = MVPP2_RX_COAL_PKTS; in mvpp2_port_init()
5990 rxq->time_coal = MVPP2_RX_COAL_USEC; in mvpp2_port_init()