Re: use generic DMA mapping code in powerpc V4

From: Christoph Hellwig
Date: Mon Feb 04 2019 - 07:47:59 EST

On Mon, Feb 04, 2019 at 01:13:54PM +0100, Christian Zigotzky wrote:
>>> Results: The X1000 and X5000 boot but unfortunately the P.A. Semi Ethernet
>>> doesn't work.
>> Are there any interesting messages in the boot log? Can you send me
>> the dmesg?
> Here you are:

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

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) {