drivers/net/ethernet/alteon/acenic.c | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-)
After introduction of dma_map_phys(), there is no need to convert
from physical address to struct page in order to map page. So let's
use it directly.
Signed-off-by: Chu Guangqing <chuguangqing@inspur.com>
---
drivers/net/ethernet/alteon/acenic.c | 26 +++++++++++---------------
1 file changed, 11 insertions(+), 15 deletions(-)
diff --git a/drivers/net/ethernet/alteon/acenic.c b/drivers/net/ethernet/alteon/acenic.c
index 9e6f91df2ba0..090413f1eba7 100644
--- a/drivers/net/ethernet/alteon/acenic.c
+++ b/drivers/net/ethernet/alteon/acenic.c
@@ -1639,10 +1639,9 @@ static void ace_load_std_rx_ring(struct net_device *dev, int nr_bufs)
if (!skb)
break;
- mapping = dma_map_page(&ap->pdev->dev,
- virt_to_page(skb->data),
- offset_in_page(skb->data),
- ACE_STD_BUFSIZE, DMA_FROM_DEVICE);
+ mapping = dma_map_phys(&ap->pdev->dev,
+ virt_to_phys(skb->data),
+ ACE_STD_BUFSIZE, DMA_FROM_DEVICE, 0);
ap->skb->rx_std_skbuff[idx].skb = skb;
dma_unmap_addr_set(&ap->skb->rx_std_skbuff[idx],
mapping, mapping);
@@ -1700,10 +1699,9 @@ static void ace_load_mini_rx_ring(struct net_device *dev, int nr_bufs)
if (!skb)
break;
- mapping = dma_map_page(&ap->pdev->dev,
- virt_to_page(skb->data),
- offset_in_page(skb->data),
- ACE_MINI_BUFSIZE, DMA_FROM_DEVICE);
+ mapping = dma_map_phys(&ap->pdev->dev,
+ virt_to_phys(skb->data),
+ ACE_MINI_BUFSIZE, DMA_FROM_DEVICE, 0);
ap->skb->rx_mini_skbuff[idx].skb = skb;
dma_unmap_addr_set(&ap->skb->rx_mini_skbuff[idx],
mapping, mapping);
@@ -1756,10 +1754,9 @@ static void ace_load_jumbo_rx_ring(struct net_device *dev, int nr_bufs)
if (!skb)
break;
- mapping = dma_map_page(&ap->pdev->dev,
- virt_to_page(skb->data),
- offset_in_page(skb->data),
- ACE_JUMBO_BUFSIZE, DMA_FROM_DEVICE);
+ mapping = dma_map_phys(&ap->pdev->dev,
+ virt_to_phys(skb->data),
+ ACE_JUMBO_BUFSIZE, DMA_FROM_DEVICE, 0);
ap->skb->rx_jumbo_skbuff[idx].skb = skb;
dma_unmap_addr_set(&ap->skb->rx_jumbo_skbuff[idx],
mapping, mapping);
@@ -2362,9 +2359,8 @@ ace_map_tx_skb(struct ace_private *ap, struct sk_buff *skb,
dma_addr_t mapping;
struct tx_ring_info *info;
- mapping = dma_map_page(&ap->pdev->dev, virt_to_page(skb->data),
- offset_in_page(skb->data), skb->len,
- DMA_TO_DEVICE);
+ mapping = dma_map_phys(&ap->pdev->dev, skb->data,
+ skb->len, DMA_TO_DEVICE, 0);
info = ap->skb->tx_skbuff + idx;
info->skb = tail;
--
2.43.7
On Tue, Oct 21, 2025 at 10:09:39AM +0800, Chu Guangqing wrote: > After introduction of dma_map_phys(), there is no need to convert > from physical address to struct page in order to map page. So let's > use it directly. > > Signed-off-by: Chu Guangqing <chuguangqing@inspur.com> > --- > drivers/net/ethernet/alteon/acenic.c | 26 +++++++++++--------------- > 1 file changed, 11 insertions(+), 15 deletions(-) I don't see dma_unmap_phys() in this patch. Thanks
On 10/21/25 4:09 AM, Chu Guangqing wrote: > @@ -2362,9 +2359,8 @@ ace_map_tx_skb(struct ace_private *ap, struct sk_buff *skb, > dma_addr_t mapping; > struct tx_ring_info *info; > > - mapping = dma_map_page(&ap->pdev->dev, virt_to_page(skb->data), > - offset_in_page(skb->data), skb->len, > - DMA_TO_DEVICE); > + mapping = dma_map_phys(&ap->pdev->dev, skb->data, > + skb->len, DMA_TO_DEVICE, 0); It looks like here a virt_to_phys() is missing around skb->data. /P
On 10/20/2025 7:09 PM, Chu Guangqing wrote: > After introduction of dma_map_phys(), there is no need to convert > from physical address to struct page in order to map page. So let's > use it directly. > > Signed-off-by: Chu Guangqing <chuguangqing@inspur.com> > --- Subject should include the tree tag to help automation when determining where to apply the patch. Since this isn't a fix, this should target the next tree with [PATCH net-next]. In the future try to remember to include the tree in your tags for the subject. The change itself looks reasonable. This converts the chain of virt_to_page and offset_in_page of the driver followed by page_to_phys in the core dma_map_page code into just virt_to_phys in the driver. Makes sense. Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
© 2016 - 2026 Red Hat, Inc.