MLK-15007-1 iommu: arm: pgtable: alloc pagetable in DMA area
Normally the iommu pagetable could be in 64bit address space,
but we have one patch to address PCIE driver, 'commit
9e03e5076269
("MLK-15064-2 ARM64: DMA: limit the dma mask to be 32bit")'
The patch restrict swiotlb and iommu dma to be in 32bit address.
So if we allocate pages in highmem, then dma_map_single will return
a 32bit address. Then, we will get "Cannot accommodate DMA
translation for IOMMU page tables", because `dma != virt_to_phys(pages)`.
So we strict the lpae iommu pgtable in DMA area to fix this issue.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Vipul: while rebase on v4.19, apply manually and use
commit
4b123757eeaa iommu/io-pgtable-arm: Make allocations NUMA-aware
Signed-off-by: Vipul Kumar <vipul_kumar@mentor.com>