use generic DMA mapping code in powerpc V4

Rui Salvaterra rsalvaterra at gmail.com
Fri Nov 30 22:44:41 AEDT 2018


On Fri, 30 Nov 2018 at 10:32, Christoph Hellwig <hch at lst.de> 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 at gmail.com>

Thanks,
Rui


More information about the Linuxppc-dev mailing list