Lines Matching refs:rxq
576 struct mvneta_rx_queue *rxq, in mvneta_rxq_non_occup_desc_add() argument
583 mvreg_write(pp, MVNETA_RXQ_STATUS_UPDATE_REG(rxq->id), in mvneta_rxq_non_occup_desc_add()
589 mvreg_write(pp, MVNETA_RXQ_STATUS_UPDATE_REG(rxq->id), in mvneta_rxq_non_occup_desc_add()
595 struct mvneta_rx_queue *rxq) in mvneta_rxq_busy_desc_num_get() argument
599 val = mvreg_read(pp, MVNETA_RXQ_STATUS_REG(rxq->id)); in mvneta_rxq_busy_desc_num_get()
607 struct mvneta_rx_queue *rxq, in mvneta_rxq_desc_num_update() argument
615 mvreg_write(pp, MVNETA_RXQ_STATUS_UPDATE_REG(rxq->id), val); in mvneta_rxq_desc_num_update()
635 mvreg_write(pp, MVNETA_RXQ_STATUS_UPDATE_REG(rxq->id), val); in mvneta_rxq_desc_num_update()
641 mvneta_rxq_next_desc_get(struct mvneta_rx_queue *rxq) in mvneta_rxq_next_desc_get() argument
643 int rx_desc = rxq->next_desc_to_proc; in mvneta_rxq_next_desc_get()
645 rxq->next_desc_to_proc = MVNETA_QUEUE_NEXT_DESC(rxq, rx_desc); in mvneta_rxq_next_desc_get()
646 prefetch(rxq->descs + rxq->next_desc_to_proc); in mvneta_rxq_next_desc_get()
647 return rxq->descs + rx_desc; in mvneta_rxq_next_desc_get()
665 struct mvneta_rx_queue *rxq, in mvneta_rxq_offset_set() argument
670 val = mvreg_read(pp, MVNETA_RXQ_CONFIG_REG(rxq->id)); in mvneta_rxq_offset_set()
675 mvreg_write(pp, MVNETA_RXQ_CONFIG_REG(rxq->id), val); in mvneta_rxq_offset_set()
718 struct mvneta_rx_queue *rxq, in mvneta_rxq_buf_size_set() argument
723 val = mvreg_read(pp, MVNETA_RXQ_SIZE_REG(rxq->id)); in mvneta_rxq_buf_size_set()
728 mvreg_write(pp, MVNETA_RXQ_SIZE_REG(rxq->id), val); in mvneta_rxq_buf_size_set()
733 struct mvneta_rx_queue *rxq) in mvneta_rxq_bm_disable() argument
737 val = mvreg_read(pp, MVNETA_RXQ_CONFIG_REG(rxq->id)); in mvneta_rxq_bm_disable()
739 mvreg_write(pp, MVNETA_RXQ_CONFIG_REG(rxq->id), val); in mvneta_rxq_bm_disable()
761 struct mvneta_rx_queue *rxq = &pp->rxqs[queue]; in mvneta_port_up() local
762 if (rxq->descs != NULL) in mvneta_port_up()
1129 struct mvneta_rx_queue *rxq, u32 value) in mvneta_rx_pkts_coal_set() argument
1131 mvreg_write(pp, MVNETA_RXQ_THRESHOLD_REG(rxq->id), in mvneta_rx_pkts_coal_set()
1133 rxq->pkts_coal = value; in mvneta_rx_pkts_coal_set()
1140 struct mvneta_rx_queue *rxq, u32 value) in mvneta_rx_time_coal_set() argument
1148 mvreg_write(pp, MVNETA_RXQ_TIME_COAL_REG(rxq->id), val); in mvneta_rx_time_coal_set()
1149 rxq->time_coal = value; in mvneta_rx_time_coal_set()
1442 struct mvneta_rx_queue *rxq) in mvneta_rxq_drop_pkts() argument
1446 rx_done = mvneta_rxq_busy_desc_num_get(pp, rxq); in mvneta_rxq_drop_pkts()
1447 for (i = 0; i < rxq->size; i++) { in mvneta_rxq_drop_pkts()
1448 struct mvneta_rx_desc *rx_desc = rxq->descs + i; in mvneta_rxq_drop_pkts()
1457 mvneta_rxq_desc_num_update(pp, rxq, rx_done, rx_done); in mvneta_rxq_drop_pkts()
1462 struct mvneta_rx_queue *rxq) in mvneta_rx() argument
1470 rx_done = mvneta_rxq_busy_desc_num_get(pp, rxq); in mvneta_rx()
1480 struct mvneta_rx_desc *rx_desc = mvneta_rxq_next_desc_get(rxq); in mvneta_rx()
1551 rxq->missed++; in mvneta_rx()
1566 mvneta_rxq_desc_num_update(pp, rxq, rx_done, rx_filled); in mvneta_rx()
2142 struct mvneta_rx_queue *rxq; in mvneta_poll() local
2144 rxq = mvneta_rx_policy(pp, cause_rx_tx); in mvneta_poll()
2145 if (!rxq) in mvneta_poll()
2149 count = mvneta_rx(pp, budget, rxq); in mvneta_poll()
2159 cause_rx_tx &= ~((1 << rxq->id) << 8); in mvneta_poll()
2183 static int mvneta_rxq_fill(struct mvneta_port *pp, struct mvneta_rx_queue *rxq, in mvneta_rxq_fill() argument
2189 memset(rxq->descs + i, 0, sizeof(struct mvneta_rx_desc)); in mvneta_rxq_fill()
2190 if (mvneta_rx_refill(pp, rxq->descs + i) != 0) { in mvneta_rxq_fill()
2192 __func__, rxq->id, i, num); in mvneta_rxq_fill()
2200 mvneta_rxq_non_occup_desc_add(pp, rxq, i); in mvneta_rxq_fill()
2228 struct mvneta_rx_queue *rxq) in mvneta_rxq_init() argument
2231 rxq->size = pp->rx_ring_size; in mvneta_rxq_init()
2234 rxq->descs = dma_alloc_coherent(pp->dev->dev.parent, in mvneta_rxq_init()
2235 rxq->size * MVNETA_DESC_ALIGNED_SIZE, in mvneta_rxq_init()
2236 &rxq->descs_phys, GFP_KERNEL); in mvneta_rxq_init()
2237 if (rxq->descs == NULL) in mvneta_rxq_init()
2240 BUG_ON(rxq->descs != in mvneta_rxq_init()
2241 PTR_ALIGN(rxq->descs, MVNETA_CPU_D_CACHE_LINE_SIZE)); in mvneta_rxq_init()
2243 rxq->last_desc = rxq->size - 1; in mvneta_rxq_init()
2246 mvreg_write(pp, MVNETA_RXQ_BASE_ADDR_REG(rxq->id), rxq->descs_phys); in mvneta_rxq_init()
2247 mvreg_write(pp, MVNETA_RXQ_SIZE_REG(rxq->id), rxq->size); in mvneta_rxq_init()
2250 mvneta_rxq_offset_set(pp, rxq, NET_SKB_PAD); in mvneta_rxq_init()
2253 mvneta_rx_pkts_coal_set(pp, rxq, rxq->pkts_coal); in mvneta_rxq_init()
2254 mvneta_rx_time_coal_set(pp, rxq, rxq->time_coal); in mvneta_rxq_init()
2257 mvneta_rxq_buf_size_set(pp, rxq, MVNETA_RX_BUF_SIZE(pp->pkt_size)); in mvneta_rxq_init()
2258 mvneta_rxq_bm_disable(pp, rxq); in mvneta_rxq_init()
2259 mvneta_rxq_fill(pp, rxq, rxq->size); in mvneta_rxq_init()
2266 struct mvneta_rx_queue *rxq) in mvneta_rxq_deinit() argument
2268 mvneta_rxq_drop_pkts(pp, rxq); in mvneta_rxq_deinit()
2270 if (rxq->descs) in mvneta_rxq_deinit()
2272 rxq->size * MVNETA_DESC_ALIGNED_SIZE, in mvneta_rxq_deinit()
2273 rxq->descs, in mvneta_rxq_deinit()
2274 rxq->descs_phys); in mvneta_rxq_deinit()
2276 rxq->descs = NULL; in mvneta_rxq_deinit()
2277 rxq->last_desc = 0; in mvneta_rxq_deinit()
2278 rxq->next_desc_to_proc = 0; in mvneta_rxq_deinit()
2279 rxq->descs_phys = 0; in mvneta_rxq_deinit()
2797 struct mvneta_rx_queue *rxq = &pp->rxqs[queue]; in mvneta_ethtool_set_coalesce() local
2798 rxq->time_coal = c->rx_coalesce_usecs; in mvneta_ethtool_set_coalesce()
2799 rxq->pkts_coal = c->rx_max_coalesced_frames; in mvneta_ethtool_set_coalesce()
2800 mvneta_rx_pkts_coal_set(pp, rxq, rxq->pkts_coal); in mvneta_ethtool_set_coalesce()
2801 mvneta_rx_time_coal_set(pp, rxq, rxq->time_coal); in mvneta_ethtool_set_coalesce()
2932 struct mvneta_rx_queue *rxq = &pp->rxqs[queue]; in mvneta_init() local
2933 rxq->id = queue; in mvneta_init()
2934 rxq->size = pp->rx_ring_size; in mvneta_init()
2935 rxq->pkts_coal = MVNETA_RX_COAL_PKTS; in mvneta_init()
2936 rxq->time_coal = MVNETA_RX_COAL_USEC; in mvneta_init()