Re: use generic DMA mapping code in powerpc V4
From: Christian Zigotzky <hidden>
Date: 2019-02-06 13:45:44
Also in:
linux-arch, linux-iommu, linux-mm, lkml
From: Christian Zigotzky <hidden>
Date: 2019-02-06 13:45:44
Also in:
linux-arch, linux-iommu, linux-mm, lkml
On 04 February 2019 at 01:38PM, Christoph Hellwig wrote:
It seems like the pasemi driver fails to set a DMA mask, but seems otherwise 64-bit DMA capable. The old PPC code didn't verify the dma mask during the map operations, but the x86-derived generic code does. This patch just sets the DMA mask. Olof: does this look ok? The DMA device seems to not directly bound by the net driver, but not really used by anything else in tree either..diff --git a/drivers/net/ethernet/pasemi/pasemi_mac.c b/drivers/net/ethernet/pasemi/pasemi_mac.c index d21041554507..d98bd447c536 100644 --- a/drivers/net/ethernet/pasemi/pasemi_mac.c +++ b/drivers/net/ethernet/pasemi/pasemi_mac.c@@ -1716,6 +1716,7 @@ pasemi_mac_probe(struct pci_dev *pdev, const struct pci_device_id *ent) err = -ENODEV; goto out; } + dma_set_mask(&mac->dma_pdev->dev, DMA_BIT_MASK(32)); mac->iob_pdev = pci_get_device(PCI_VENDOR_ID_PASEMI, 0xa001, NULL); if (!mac->iob_pdev) {
Hello Christoph, I patched the source code from the Git 'powerpc-dma.6' with your patch today. Unfortunately the P.A. Semi Ethernet doesn't work with the patched Git kernel. After that I tried it with the patch applied over the working setup again (powerpc/dma: use the dma_direct mapping routines). Unfortunately after compiling and booting, the P.A. Semi Ethernet doesn't work either. Cheers, Christian