From: Scott Wood Date: Mon, 24 Dec 2018 02:09:39 +0000 (-0600) Subject: Revert "powerpc/fsl_pci: simplify fsl_pci_dma_set_mask" X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=63d86876f32440a45b6f9d42ab2fb7f68b3a8bf7;p=linux.git Revert "powerpc/fsl_pci: simplify fsl_pci_dma_set_mask" This reverts commit c6e5485e0cb509292a14e880e1944143f99758c7 due to failures such as: e1000e 2000:01:00.0: Tx DMA map failed Signed-off-by: Scott Wood --- diff --git a/arch/powerpc/sysdev/fsl_pci.c b/arch/powerpc/sysdev/fsl_pci.c index f82d274fc91dc..918be816b0977 100644 --- a/arch/powerpc/sysdev/fsl_pci.c +++ b/arch/powerpc/sysdev/fsl_pci.c @@ -135,7 +135,7 @@ static int fsl_pci_dma_set_mask(struct device *dev, u64 dma_mask) * mapping that allows addressing any RAM address from across PCI. */ if (dev_is_pci(dev) && dma_mask >= pci64_dma_offset * 2 - 1) { - dev->bus_dma_mask = 0; + set_dma_ops(dev, &dma_nommu_ops); set_dma_offset(dev, pci64_dma_offset); } @@ -395,6 +395,10 @@ static void setup_pci_atmu(struct pci_controller *hose) out_be32(&pci->piw[win_idx].piwar, piwar); } + /* + * install our own dma_set_mask handler to fixup dma_ops + * and dma_offset + */ ppc_md.dma_set_mask = fsl_pci_dma_set_mask; pr_info("%pOF: Setup 64-bit PCI DMA window\n", hose->dn);