Re: [PATCH v2 8/8] habanalabs: enable 64-bit DMA mask in POWER9
From: Oliver O'Halloran
Date: Wed Jun 12 2019 - 07:53:01 EST
On Wed, Jun 12, 2019 at 4:53 PM Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote:
>
> On Wed, Jun 12, 2019 at 04:35:22PM +1000, Oliver O'Halloran wrote:
> > Setting a 48 bit DMA mask doesn't work today because we only allocate
> > IOMMU tables to cover the 0..2GB range of PCI bus addresses.
>
> I don't think that is true upstream, and if it is we need to fix bug
> in the powerpc code. powerpc should be falling back treating a 48-bit
> dma mask like a 32-bit one at least, that is use dynamic iommu mappings
> instead of using the direct mapping. And from my reding of
> arch/powerpc/kernel/dma-iommu.c that is exactly what it does.
This is more or less what Alexey's patches fix. The IOMMU table
allocated for the 32bit DMA window is only sized for 2GB in the
platform code, see pnv_pci_ioda2_setup_default_config().