]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
net: ethernet: mtk_eth_soc: rely on GFP_KERNEL for dma_alloc_coherent whenever possible
authorLorenzo Bianconi <lorenzo@kernel.org>
Fri, 20 May 2022 18:11:26 +0000 (20:11 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sun, 22 May 2022 21:24:32 +0000 (22:24 +0100)
Rely on GFP_KERNEL for dma descriptors mappings in mtk_tx_alloc(),
mtk_rx_alloc() and mtk_init_fq_dma() since they are run in non-irq
context.

Signed-off-by: Lorenzo Bianconi <lorenzo@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mediatek/mtk_eth_soc.c

index 16f131445d8b861836c04ab0840b6e0f4fbd1703..ccd864c968b248f3ae1f4add3ae2f7352a590c2b 100644 (file)
@@ -816,7 +816,7 @@ static int mtk_init_fq_dma(struct mtk_eth *eth)
        eth->scratch_ring = dma_alloc_coherent(eth->dma_dev,
                                               cnt * sizeof(struct mtk_tx_dma),
                                               &eth->phy_scratch_ring,
-                                              GFP_ATOMIC);
+                                              GFP_KERNEL);
        if (unlikely(!eth->scratch_ring))
                return -ENOMEM;
 
@@ -1591,7 +1591,7 @@ static int mtk_tx_alloc(struct mtk_eth *eth)
                goto no_tx_mem;
 
        ring->dma = dma_alloc_coherent(eth->dma_dev, MTK_DMA_SIZE * sz,
-                                      &ring->phys, GFP_ATOMIC);
+                                      &ring->phys, GFP_KERNEL);
        if (!ring->dma)
                goto no_tx_mem;
 
@@ -1609,8 +1609,7 @@ static int mtk_tx_alloc(struct mtk_eth *eth)
         */
        if (!MTK_HAS_CAPS(eth->soc->caps, MTK_QDMA)) {
                ring->dma_pdma = dma_alloc_coherent(eth->dma_dev, MTK_DMA_SIZE * sz,
-                                                   &ring->phys_pdma,
-                                                   GFP_ATOMIC);
+                                                   &ring->phys_pdma, GFP_KERNEL);
                if (!ring->dma_pdma)
                        goto no_tx_mem;
 
@@ -1722,7 +1721,7 @@ static int mtk_rx_alloc(struct mtk_eth *eth, int ring_no, int rx_flag)
 
        ring->dma = dma_alloc_coherent(eth->dma_dev,
                                       rx_dma_size * sizeof(*ring->dma),
-                                      &ring->phys, GFP_ATOMIC);
+                                      &ring->phys, GFP_KERNEL);
        if (!ring->dma)
                return -ENOMEM;