Lines Matching refs:rxq

640 					  struct mvneta_rx_queue *rxq,  in mvneta_rxq_non_occup_desc_add()  argument
647 mvreg_write(pp, MVNETA_RXQ_STATUS_UPDATE_REG(rxq->id), in mvneta_rxq_non_occup_desc_add()
653 mvreg_write(pp, MVNETA_RXQ_STATUS_UPDATE_REG(rxq->id), in mvneta_rxq_non_occup_desc_add()
659 struct mvneta_rx_queue *rxq) in mvneta_rxq_busy_desc_num_get() argument
663 val = mvreg_read(pp, MVNETA_RXQ_STATUS_REG(rxq->id)); in mvneta_rxq_busy_desc_num_get()
671 struct mvneta_rx_queue *rxq, in mvneta_rxq_desc_num_update() argument
679 mvreg_write(pp, MVNETA_RXQ_STATUS_UPDATE_REG(rxq->id), val); in mvneta_rxq_desc_num_update()
699 mvreg_write(pp, MVNETA_RXQ_STATUS_UPDATE_REG(rxq->id), val); in mvneta_rxq_desc_num_update()
705 mvneta_rxq_next_desc_get(struct mvneta_rx_queue *rxq) in mvneta_rxq_next_desc_get() argument
707 int rx_desc = rxq->next_desc_to_proc; in mvneta_rxq_next_desc_get()
709 rxq->next_desc_to_proc = MVNETA_QUEUE_NEXT_DESC(rxq, rx_desc); in mvneta_rxq_next_desc_get()
710 prefetch(rxq->descs + rxq->next_desc_to_proc); in mvneta_rxq_next_desc_get()
711 return rxq->descs + rx_desc; in mvneta_rxq_next_desc_get()
729 struct mvneta_rx_queue *rxq, in mvneta_rxq_offset_set() argument
734 val = mvreg_read(pp, MVNETA_RXQ_CONFIG_REG(rxq->id)); in mvneta_rxq_offset_set()
739 mvreg_write(pp, MVNETA_RXQ_CONFIG_REG(rxq->id), val); in mvneta_rxq_offset_set()
782 struct mvneta_rx_queue *rxq, in mvneta_rxq_buf_size_set() argument
787 val = mvreg_read(pp, MVNETA_RXQ_SIZE_REG(rxq->id)); in mvneta_rxq_buf_size_set()
792 mvreg_write(pp, MVNETA_RXQ_SIZE_REG(rxq->id), val); in mvneta_rxq_buf_size_set()
797 struct mvneta_rx_queue *rxq) in mvneta_rxq_bm_disable() argument
801 val = mvreg_read(pp, MVNETA_RXQ_CONFIG_REG(rxq->id)); in mvneta_rxq_bm_disable()
803 mvreg_write(pp, MVNETA_RXQ_CONFIG_REG(rxq->id), val); in mvneta_rxq_bm_disable()
1187 struct mvneta_rx_queue *rxq, u32 value) in mvneta_rx_pkts_coal_set() argument
1189 mvreg_write(pp, MVNETA_RXQ_THRESHOLD_REG(rxq->id), in mvneta_rx_pkts_coal_set()
1191 rxq->pkts_coal = value; in mvneta_rx_pkts_coal_set()
1198 struct mvneta_rx_queue *rxq, u32 value) in mvneta_rx_time_coal_set() argument
1206 mvreg_write(pp, MVNETA_RXQ_TIME_COAL_REG(rxq->id), val); in mvneta_rx_time_coal_set()
1207 rxq->time_coal = value; in mvneta_rx_time_coal_set()
1489 struct mvneta_rx_queue *rxq) in mvneta_rxq_drop_pkts() argument
1493 rx_done = mvneta_rxq_busy_desc_num_get(pp, rxq); in mvneta_rxq_drop_pkts()
1494 for (i = 0; i < rxq->size; i++) { in mvneta_rxq_drop_pkts()
1495 struct mvneta_rx_desc *rx_desc = rxq->descs + i; in mvneta_rxq_drop_pkts()
1504 mvneta_rxq_desc_num_update(pp, rxq, rx_done, rx_done); in mvneta_rxq_drop_pkts()
1509 struct mvneta_rx_queue *rxq) in mvneta_rx() argument
1518 rx_done = mvneta_rxq_busy_desc_num_get(pp, rxq); in mvneta_rx()
1527 struct mvneta_rx_desc *rx_desc = mvneta_rxq_next_desc_get(rxq); in mvneta_rx()
1579 rxq->missed++; in mvneta_rx()
1618 mvneta_rxq_desc_num_update(pp, rxq, rx_done, rx_done); in mvneta_rx()
2203 static int mvneta_rxq_fill(struct mvneta_port *pp, struct mvneta_rx_queue *rxq, in mvneta_rxq_fill() argument
2209 memset(rxq->descs + i, 0, sizeof(struct mvneta_rx_desc)); in mvneta_rxq_fill()
2210 if (mvneta_rx_refill(pp, rxq->descs + i) != 0) { in mvneta_rxq_fill()
2212 __func__, rxq->id, i, num); in mvneta_rxq_fill()
2220 mvneta_rxq_non_occup_desc_add(pp, rxq, i); in mvneta_rxq_fill()
2248 struct mvneta_rx_queue *rxq) in mvneta_rxq_init() argument
2251 rxq->size = pp->rx_ring_size; in mvneta_rxq_init()
2254 rxq->descs = dma_alloc_coherent(pp->dev->dev.parent, in mvneta_rxq_init()
2255 rxq->size * MVNETA_DESC_ALIGNED_SIZE, in mvneta_rxq_init()
2256 &rxq->descs_phys, GFP_KERNEL); in mvneta_rxq_init()
2257 if (rxq->descs == NULL) in mvneta_rxq_init()
2260 BUG_ON(rxq->descs != in mvneta_rxq_init()
2261 PTR_ALIGN(rxq->descs, MVNETA_CPU_D_CACHE_LINE_SIZE)); in mvneta_rxq_init()
2263 rxq->last_desc = rxq->size - 1; in mvneta_rxq_init()
2266 mvreg_write(pp, MVNETA_RXQ_BASE_ADDR_REG(rxq->id), rxq->descs_phys); in mvneta_rxq_init()
2267 mvreg_write(pp, MVNETA_RXQ_SIZE_REG(rxq->id), rxq->size); in mvneta_rxq_init()
2270 mvneta_rxq_offset_set(pp, rxq, NET_SKB_PAD); in mvneta_rxq_init()
2273 mvneta_rx_pkts_coal_set(pp, rxq, rxq->pkts_coal); in mvneta_rxq_init()
2274 mvneta_rx_time_coal_set(pp, rxq, rxq->time_coal); in mvneta_rxq_init()
2277 mvneta_rxq_buf_size_set(pp, rxq, MVNETA_RX_BUF_SIZE(pp->pkt_size)); in mvneta_rxq_init()
2278 mvneta_rxq_bm_disable(pp, rxq); in mvneta_rxq_init()
2279 mvneta_rxq_fill(pp, rxq, rxq->size); in mvneta_rxq_init()
2286 struct mvneta_rx_queue *rxq) in mvneta_rxq_deinit() argument
2288 mvneta_rxq_drop_pkts(pp, rxq); in mvneta_rxq_deinit()
2290 if (rxq->descs) in mvneta_rxq_deinit()
2292 rxq->size * MVNETA_DESC_ALIGNED_SIZE, in mvneta_rxq_deinit()
2293 rxq->descs, in mvneta_rxq_deinit()
2294 rxq->descs_phys); in mvneta_rxq_deinit()
2296 rxq->descs = NULL; in mvneta_rxq_deinit()
2297 rxq->last_desc = 0; in mvneta_rxq_deinit()
2298 rxq->next_desc_to_proc = 0; in mvneta_rxq_deinit()
2299 rxq->descs_phys = 0; in mvneta_rxq_deinit()
2961 struct mvneta_rx_queue *rxq = &pp->rxqs[queue]; in mvneta_ethtool_set_coalesce() local
2962 rxq->time_coal = c->rx_coalesce_usecs; in mvneta_ethtool_set_coalesce()
2963 rxq->pkts_coal = c->rx_max_coalesced_frames; in mvneta_ethtool_set_coalesce()
2964 mvneta_rx_pkts_coal_set(pp, rxq, rxq->pkts_coal); in mvneta_ethtool_set_coalesce()
2965 mvneta_rx_time_coal_set(pp, rxq, rxq->time_coal); in mvneta_ethtool_set_coalesce()
3158 struct mvneta_rx_queue *rxq = &pp->rxqs[queue]; in mvneta_init() local
3159 rxq->id = queue; in mvneta_init()
3160 rxq->size = pp->rx_ring_size; in mvneta_init()
3161 rxq->pkts_coal = MVNETA_RX_COAL_PKTS; in mvneta_init()
3162 rxq->time_coal = MVNETA_RX_COAL_USEC; in mvneta_init()