Skip to content

Commit 55a4e77

Browse files
moore-brosdavem330
authored andcommitted
net: ethernet: mediatek: fix runtime warning raised by inconsistent struct device pointers passed to DMA API
Runtime warning occurs if DMA-API debug feature is enabled that would be raised by pointers passed to DMA API as arguments to inconsistent struct device objects, so that the patch makes them usage aligned between DMA operations such as dma_map_*() and dma_unmap_*() to eliminate the warning. Signed-off-by: Sean Wang <sean.wang@mediatek.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent b2025c7 commit 55a4e77

File tree

1 file changed

+13
-13
lines changed

1 file changed

+13
-13
lines changed

drivers/net/ethernet/mediatek/mtk_eth_soc.c

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -558,15 +558,15 @@ static inline struct mtk_tx_buf *mtk_desc_to_tx_buf(struct mtk_tx_ring *ring,
558558
return &ring->buf[idx];
559559
}
560560

561-
static void mtk_tx_unmap(struct device *dev, struct mtk_tx_buf *tx_buf)
561+
static void mtk_tx_unmap(struct mtk_eth *eth, struct mtk_tx_buf *tx_buf)
562562
{
563563
if (tx_buf->flags & MTK_TX_FLAGS_SINGLE0) {
564-
dma_unmap_single(dev,
564+
dma_unmap_single(eth->dev,
565565
dma_unmap_addr(tx_buf, dma_addr0),
566566
dma_unmap_len(tx_buf, dma_len0),
567567
DMA_TO_DEVICE);
568568
} else if (tx_buf->flags & MTK_TX_FLAGS_PAGE0) {
569-
dma_unmap_page(dev,
569+
dma_unmap_page(eth->dev,
570570
dma_unmap_addr(tx_buf, dma_addr0),
571571
dma_unmap_len(tx_buf, dma_len0),
572572
DMA_TO_DEVICE);
@@ -611,9 +611,9 @@ static int mtk_tx_map(struct sk_buff *skb, struct net_device *dev,
611611
if (skb_vlan_tag_present(skb))
612612
txd4 |= TX_DMA_INS_VLAN | skb_vlan_tag_get(skb);
613613

614-
mapped_addr = dma_map_single(&dev->dev, skb->data,
614+
mapped_addr = dma_map_single(eth->dev, skb->data,
615615
skb_headlen(skb), DMA_TO_DEVICE);
616-
if (unlikely(dma_mapping_error(&dev->dev, mapped_addr)))
616+
if (unlikely(dma_mapping_error(eth->dev, mapped_addr)))
617617
return -ENOMEM;
618618

619619
WRITE_ONCE(itxd->txd1, mapped_addr);
@@ -639,10 +639,10 @@ static int mtk_tx_map(struct sk_buff *skb, struct net_device *dev,
639639

640640
n_desc++;
641641
frag_map_size = min(frag_size, MTK_TX_DMA_BUF_LEN);
642-
mapped_addr = skb_frag_dma_map(&dev->dev, frag, offset,
642+
mapped_addr = skb_frag_dma_map(eth->dev, frag, offset,
643643
frag_map_size,
644644
DMA_TO_DEVICE);
645-
if (unlikely(dma_mapping_error(&dev->dev, mapped_addr)))
645+
if (unlikely(dma_mapping_error(eth->dev, mapped_addr)))
646646
goto err_dma;
647647

648648
if (i == nr_frags - 1 &&
@@ -695,7 +695,7 @@ static int mtk_tx_map(struct sk_buff *skb, struct net_device *dev,
695695
tx_buf = mtk_desc_to_tx_buf(ring, itxd);
696696

697697
/* unmap dma */
698-
mtk_tx_unmap(&dev->dev, tx_buf);
698+
mtk_tx_unmap(eth, tx_buf);
699699

700700
itxd->txd3 = TX_DMA_LS0 | TX_DMA_OWNER_CPU;
701701
itxd = mtk_qdma_phys_to_virt(ring, itxd->txd2);
@@ -852,11 +852,11 @@ static int mtk_poll_rx(struct napi_struct *napi, int budget,
852852
netdev->stats.rx_dropped++;
853853
goto release_desc;
854854
}
855-
dma_addr = dma_map_single(&eth->netdev[mac]->dev,
855+
dma_addr = dma_map_single(eth->dev,
856856
new_data + NET_SKB_PAD,
857857
ring->buf_size,
858858
DMA_FROM_DEVICE);
859-
if (unlikely(dma_mapping_error(&netdev->dev, dma_addr))) {
859+
if (unlikely(dma_mapping_error(eth->dev, dma_addr))) {
860860
skb_free_frag(new_data);
861861
netdev->stats.rx_dropped++;
862862
goto release_desc;
@@ -871,7 +871,7 @@ static int mtk_poll_rx(struct napi_struct *napi, int budget,
871871
}
872872
skb_reserve(skb, NET_SKB_PAD + NET_IP_ALIGN);
873873

874-
dma_unmap_single(&netdev->dev, trxd.rxd1,
874+
dma_unmap_single(eth->dev, trxd.rxd1,
875875
ring->buf_size, DMA_FROM_DEVICE);
876876
pktlen = RX_DMA_GET_PLEN0(trxd.rxd2);
877877
skb->dev = netdev;
@@ -953,7 +953,7 @@ static int mtk_poll_tx(struct mtk_eth *eth, int budget)
953953
done[mac]++;
954954
budget--;
955955
}
956-
mtk_tx_unmap(eth->dev, tx_buf);
956+
mtk_tx_unmap(eth, tx_buf);
957957

958958
ring->last_free = desc;
959959
atomic_inc(&ring->free_count);
@@ -1108,7 +1108,7 @@ static void mtk_tx_clean(struct mtk_eth *eth)
11081108

11091109
if (ring->buf) {
11101110
for (i = 0; i < MTK_DMA_SIZE; i++)
1111-
mtk_tx_unmap(eth->dev, &ring->buf[i]);
1111+
mtk_tx_unmap(eth, &ring->buf[i]);
11121112
kfree(ring->buf);
11131113
ring->buf = NULL;
11141114
}

0 commit comments

Comments
 (0)