Re: use generic DMA mapping code in powerpc V4

From: Rui Salvaterra
Date: Fri Nov 30 2018 - 06:44:55 EST


On Fri, 30 Nov 2018 at 10:32, Christoph Hellwig <hch@xxxxxx> wrote:
>
> Hi Rui,
>
> can you check if the patch below fixes the issue for you?
>
> diff --git a/arch/powerpc/sysdev/dart_iommu.c b/arch/powerpc/sysdev/dart_iommu.c
> index 2e24fc87ed84..809797dbe169 100644
> --- a/arch/powerpc/sysdev/dart_iommu.c
> +++ b/arch/powerpc/sysdev/dart_iommu.c
> @@ -392,7 +392,9 @@ static void pci_dma_dev_setup_dart(struct pci_dev *dev)
>
> static bool iommu_bypass_supported_dart(struct pci_dev *dev, u64 mask)
> {
> - return dart_is_u4 && dart_device_on_pcie(&dev->dev);
> + return dart_is_u4 &&
> + dart_device_on_pcie(&dev->dev) &&
> + mask >= DMA_BIT_MASK(40);
> }
>
> void __init iommu_init_early_dart(struct pci_controller_ops *controller_ops)

Hi, Christoph,

Thanks for the quick response! I applied it on top of your
powerpc-dma.4 branch and retested.
I'm not seeing nouveau complaining anymore (I'm not using X11 or any
DE, though).
In any case and FWIW, this series is

Tested-by: Rui Salvaterra <rsalvaterra@xxxxxxxxx>

Thanks,
Rui