Commit cae1f1c3 authored by Daniel Golle's avatar Daniel Golle Committed by Jakub Kicinski
Browse files

net: ethernet: mtk_eth_soc: set DMA coherent mask to get PPE working



Set DMA coherent mask to 32-bit which makes PPE offloading engine start
working on BPi-R4 which got 4 GiB of RAM.

Fixes: 2d75891e ("net: ethernet: mtk_eth_soc: support 36-bit DMA addressing on MT7988")
Suggested-by: default avatarElad Yifee <eladwf@users.github.com>
Signed-off-by: default avatarDaniel Golle <daniel@makrotopia.org>
Link: https://lore.kernel.org/r/97e90925368b405f0974b9b15f1b7377c4a329ad.1706113251.git.daniel@makrotopia.org


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent d833683d
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -4761,7 +4761,10 @@ static int mtk_probe(struct platform_device *pdev)
	}

	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;