ionic: use dma range APIs
authorShannon Nelson <shannon.nelson@amd.com>
Wed, 14 Feb 2024 17:59:03 +0000 (09:59 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 16 Feb 2024 08:48:08 +0000 (08:48 +0000)
Convert Rx datapath handling to use the DMA range APIs
in preparation for adding XDP handling.

Signed-off-by: Shannon Nelson <shannon.nelson@amd.com>
Reviewed-by: Brett Creeley <brett.creeley@amd.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/pensando/ionic/ionic_txrx.c

index acc1343113c29f1998384f1e41889180d401c400..9865cad616494f15418c184eaa6d0a7c27fa80a1 100644 (file)
@@ -225,9 +225,8 @@ static struct sk_buff *ionic_rx_frags(struct ionic_queue *q,
                frag_len = min_t(u16, len, ionic_rx_buf_size(buf_info));
                len -= frag_len;
 
-               dma_sync_single_for_cpu(dev,
-                                       ionic_rx_buf_pa(buf_info),
-                                       frag_len, DMA_FROM_DEVICE);
+               dma_sync_single_range_for_cpu(dev, ionic_rx_buf_pa(buf_info),
+                                             0, frag_len, DMA_FROM_DEVICE);
 
                skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags,
                                buf_info->page, buf_info->page_offset, frag_len,
@@ -276,11 +275,11 @@ static struct sk_buff *ionic_rx_copybreak(struct ionic_queue *q,
                return NULL;
        }
 
-       dma_sync_single_for_cpu(dev, ionic_rx_buf_pa(buf_info),
-                               len, DMA_FROM_DEVICE);
+       dma_sync_single_range_for_cpu(dev, ionic_rx_buf_pa(buf_info),
+                                     0, len, DMA_FROM_DEVICE);
        skb_copy_to_linear_data(skb, ionic_rx_buf_va(buf_info), len);
-       dma_sync_single_for_device(dev, ionic_rx_buf_pa(buf_info),
-                                  len, DMA_FROM_DEVICE);
+       dma_sync_single_range_for_device(dev, ionic_rx_buf_pa(buf_info),
+                                        0, len, DMA_FROM_DEVICE);
 
        skb_put(skb, len);
        skb->protocol = eth_type_trans(skb, q->lif->netdev);