If you add below code comment you can add my ACK in V6:Okay, I will add the annotation to the code in V6. Thanks.
Acked-by: Jesper Dangaard Brouer <hawk@xxxxxxxxxx>
@@ -1482,7 +1488,13 @@ fec_enet_tx_queue(struct net_device *ndev,u16 queue_id, int budget)
/* Free the sk buffer associated with this last transmit */
dev_kfree_skb_any(skb);
} else {
- xdp_return_frame(xdpf);
+ if (txq->tx_buf[index].type == FEC_TXBUF_T_XDP_NDO) {
+ xdp_return_frame_rx_napi(xdpf);
+ } else {
+ struct page *page = virt_to_head_page(xdpf->data);
+
I think this usage of page_pool_put_page() with dma_sync_size=0 requires a
comment, else we will forget why this okay...
I suggest:
/* PP dma_sync_size=0 as xmit already synced DMA for_device */
+ page_pool_put_page(page->pp, page, 0, true);@@ -1541,7
+ }
txq->tx_buf[index].xdp = NULL;
/* restore default tx buffer type: FEC_TXBUF_T_SKB */