Lines Matching refs:rxq
48 #define MVPP2_RXQ_CONFIG_REG(rxq) (0x800 + 4 * (rxq)) argument
104 #define MVPP2_RXQ_STATUS_UPDATE_REG(rxq) (0x3000 + 4 * (rxq)) argument
107 #define MVPP2_RXQ_STATUS_REG(rxq) (0x3400 + 4 * (rxq)) argument
156 #define MVPP2_ISR_RX_THRESHOLD_REG(rxq) (0x5200 + 4 * (rxq)) argument
157 #define MVPP2_ISR_RXQ_GROUP_REG(rxq) (0x5400 + 4 * (rxq)) argument
3725 int rxq; in mvpp2_swf_bm_pool_init() local
3737 for (rxq = 0; rxq < rxq_number; rxq++) in mvpp2_swf_bm_pool_init()
3738 mvpp2_rxq_long_pool_set(port, rxq, port->pool_long->id); in mvpp2_swf_bm_pool_init()
3751 for (rxq = 0; rxq < rxq_number; rxq++) in mvpp2_swf_bm_pool_init()
3752 mvpp2_rxq_short_pool_set(port, rxq, in mvpp2_swf_bm_pool_init()
4103 mvpp2_rxq_next_desc_get(struct mvpp2_rx_queue *rxq) in mvpp2_rxq_next_desc_get() argument
4105 int rx_desc = rxq->next_desc_to_proc; in mvpp2_rxq_next_desc_get()
4107 rxq->next_desc_to_proc = MVPP2_QUEUE_NEXT_DESC(rxq, rx_desc); in mvpp2_rxq_next_desc_get()
4108 prefetch(rxq->descs + rxq->next_desc_to_proc); in mvpp2_rxq_next_desc_get()
4109 return rxq->descs + rx_desc; in mvpp2_rxq_next_desc_get()
4375 struct mvpp2_rx_queue *rxq, u32 pkts) in mvpp2_rx_pkts_coal_set() argument
4380 mvpp2_write(port->priv, MVPP2_RXQ_NUM_REG, rxq->id); in mvpp2_rx_pkts_coal_set()
4383 rxq->pkts_coal = pkts; in mvpp2_rx_pkts_coal_set()
4388 struct mvpp2_rx_queue *rxq, u32 usec) in mvpp2_rx_time_coal_set() argument
4393 mvpp2_write(port->priv, MVPP2_ISR_RX_THRESHOLD_REG(rxq->id), val); in mvpp2_rx_time_coal_set()
4395 rxq->time_coal = usec; in mvpp2_rx_time_coal_set()
4517 struct mvpp2_rx_queue *rxq) in mvpp2_rxq_init() argument
4520 rxq->size = port->rx_ring_size; in mvpp2_rxq_init()
4523 rxq->descs = dma_alloc_coherent(port->dev->dev.parent, in mvpp2_rxq_init()
4524 rxq->size * MVPP2_DESC_ALIGNED_SIZE, in mvpp2_rxq_init()
4525 &rxq->descs_phys, GFP_KERNEL); in mvpp2_rxq_init()
4526 if (!rxq->descs) in mvpp2_rxq_init()
4529 BUG_ON(rxq->descs != in mvpp2_rxq_init()
4530 PTR_ALIGN(rxq->descs, MVPP2_CPU_D_CACHE_LINE_SIZE)); in mvpp2_rxq_init()
4532 rxq->last_desc = rxq->size - 1; in mvpp2_rxq_init()
4535 mvpp2_write(port->priv, MVPP2_RXQ_STATUS_REG(rxq->id), 0); in mvpp2_rxq_init()
4538 mvpp2_write(port->priv, MVPP2_RXQ_NUM_REG, rxq->id); in mvpp2_rxq_init()
4539 mvpp2_write(port->priv, MVPP2_RXQ_DESC_ADDR_REG, rxq->descs_phys); in mvpp2_rxq_init()
4540 mvpp2_write(port->priv, MVPP2_RXQ_DESC_SIZE_REG, rxq->size); in mvpp2_rxq_init()
4544 mvpp2_rxq_offset_set(port, rxq->id, NET_SKB_PAD); in mvpp2_rxq_init()
4547 mvpp2_rx_pkts_coal_set(port, rxq, rxq->pkts_coal); in mvpp2_rxq_init()
4548 mvpp2_rx_time_coal_set(port, rxq, rxq->time_coal); in mvpp2_rxq_init()
4551 mvpp2_rxq_status_update(port, rxq->id, 0, rxq->size); in mvpp2_rxq_init()
4558 struct mvpp2_rx_queue *rxq) in mvpp2_rxq_drop_pkts() argument
4562 rx_received = mvpp2_rxq_received(port, rxq->id); in mvpp2_rxq_drop_pkts()
4567 struct mvpp2_rx_desc *rx_desc = mvpp2_rxq_next_desc_get(rxq); in mvpp2_rxq_drop_pkts()
4573 mvpp2_rxq_status_update(port, rxq->id, rx_received, rx_received); in mvpp2_rxq_drop_pkts()
4578 struct mvpp2_rx_queue *rxq) in mvpp2_rxq_deinit() argument
4580 mvpp2_rxq_drop_pkts(port, rxq); in mvpp2_rxq_deinit()
4582 if (rxq->descs) in mvpp2_rxq_deinit()
4584 rxq->size * MVPP2_DESC_ALIGNED_SIZE, in mvpp2_rxq_deinit()
4585 rxq->descs, in mvpp2_rxq_deinit()
4586 rxq->descs_phys); in mvpp2_rxq_deinit()
4588 rxq->descs = NULL; in mvpp2_rxq_deinit()
4589 rxq->last_desc = 0; in mvpp2_rxq_deinit()
4590 rxq->next_desc_to_proc = 0; in mvpp2_rxq_deinit()
4591 rxq->descs_phys = 0; in mvpp2_rxq_deinit()
4596 mvpp2_write(port->priv, MVPP2_RXQ_STATUS_REG(rxq->id), 0); in mvpp2_rxq_deinit()
4597 mvpp2_write(port->priv, MVPP2_RXQ_NUM_REG, rxq->id); in mvpp2_rxq_deinit()
5099 struct mvpp2_rx_queue *rxq) in mvpp2_rx() argument
5108 rx_received = mvpp2_rxq_received(port, rxq->id); in mvpp2_rx()
5113 struct mvpp2_rx_desc *rx_desc = mvpp2_rxq_next_desc_get(rxq); in mvpp2_rx()
5183 mvpp2_rxq_status_update(port, rxq->id, rx_done, rx_done); in mvpp2_rx()
5400 struct mvpp2_rx_queue *rxq; in mvpp2_poll() local
5402 rxq = mvpp2_get_rx_queue(port, cause_rx); in mvpp2_poll()
5403 if (!rxq) in mvpp2_poll()
5406 count = mvpp2_rx(port, budget, rxq); in mvpp2_poll()
5414 cause_rx &= ~(1 << rxq->logic_rxq); in mvpp2_poll()
5856 struct mvpp2_rx_queue *rxq = port->rxqs[queue]; in mvpp2_ethtool_set_coalesce() local
5858 rxq->time_coal = c->rx_coalesce_usecs; in mvpp2_ethtool_set_coalesce()
5859 rxq->pkts_coal = c->rx_max_coalesced_frames; in mvpp2_ethtool_set_coalesce()
5860 mvpp2_rx_pkts_coal_set(port, rxq, rxq->pkts_coal); in mvpp2_ethtool_set_coalesce()
5861 mvpp2_rx_time_coal_set(port, rxq, rxq->time_coal); in mvpp2_ethtool_set_coalesce()
6058 struct mvpp2_rx_queue *rxq; in mvpp2_port_init() local
6061 rxq = devm_kzalloc(dev, sizeof(*rxq), GFP_KERNEL); in mvpp2_port_init()
6062 if (!rxq) in mvpp2_port_init()
6065 rxq->id = port->first_rxq + queue; in mvpp2_port_init()
6066 rxq->port = port->id; in mvpp2_port_init()
6067 rxq->logic_rxq = queue; in mvpp2_port_init()
6069 port->rxqs[queue] = rxq; in mvpp2_port_init()
6077 struct mvpp2_rx_queue *rxq = port->rxqs[queue]; in mvpp2_port_init() local
6079 rxq->size = port->rx_ring_size; in mvpp2_port_init()
6080 rxq->pkts_coal = MVPP2_RX_COAL_PKTS; in mvpp2_port_init()
6081 rxq->time_coal = MVPP2_RX_COAL_USEC; in mvpp2_port_init()