12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- From dee3f591103910c8d8b2a6d57879ccd2a4be4b10 Mon Sep 17 00:00:00 2001
- Message-ID: <dee3f591103910c8d8b2a6d57879ccd2a4be4b10.1706067287.git.daniel@makrotopia.org>
- From: Daniel Golle <[email protected]>
- Date: Wed, 24 Jan 2024 03:19:49 +0000
- Subject: [PATCH net] net: ethernet: mtk_eth_soc: set coherent mask to get PPE
- working
- To: Felix Fietkau <[email protected]>,
- Sean Wang <[email protected]>,
- Mark Lee <[email protected]>,
- Lorenzo Bianconi <[email protected]>,
- David S. Miller <[email protected]>,
- Eric Dumazet <[email protected]>,
- Jakub Kicinski <[email protected]>,
- Paolo Abeni <[email protected]>,
- Matthias Brugger <[email protected]>,
- AngeloGioacchino Del Regno <[email protected]>,
- Daniel Golle <[email protected]>,
- [email protected],
- [email protected],
- [email protected],
- [email protected]
- Set DMA coherent mask to 32-bit which makes PPE offloading engine start
- working on BPi-R4 which got 4 GiB of RAM.
- Fixes: 2d75891ebc09 ("net: ethernet: mtk_eth_soc: support 36-bit DMA addressing on MT7988")
- Suggested-by: Elad Yifee <[email protected]>
- Signed-off-by: Daniel Golle <[email protected]>
- ---
- drivers/net/ethernet/mediatek/mtk_eth_soc.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
- --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
- +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
- @@ -4885,7 +4885,10 @@ static int mtk_probe(struct platform_dev
- }
-
- if (MTK_HAS_CAPS(eth->soc->caps, MTK_36BIT_DMA)) {
- - err = dma_set_mask_and_coherent(&pdev->dev, DMA_BIT_MASK(36));
- + err = dma_set_mask(&pdev->dev, DMA_BIT_MASK(36));
- + if (!err)
- + err = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
- +
- if (err) {
- dev_err(&pdev->dev, "Wrong DMA config\n");
- return -EINVAL;
|