summaryrefslogtreecommitdiffstats
path: root/drivers/iommu
diff options
context:
space:
mode:
authorJoerg Roedel <jroedel@suse.de>2016-07-26 15:31:23 +0200
committerJoerg Roedel <jroedel@suse.de>2016-07-26 15:56:39 +0200
commitffec219770dadd32171e6dd927e1d83d3218529f (patch)
treecb04c4cfbdbd8a7fb19ac6ee28674d565ec54cd0 /drivers/iommu
parent3254de6bf74fe94c197c9f819fe62a3a3c36f073 (diff)
downloadop-kernel-dev-ffec219770dadd32171e6dd927e1d83d3218529f.zip
op-kernel-dev-ffec219770dadd32171e6dd927e1d83d3218529f.tar.gz
iommu/amd: Initialize dma-ops domains with 3-level page-table
A two-level page-table can map up to 1GB of address space. With the IOVA allocator now in use, the allocated addresses are often more closely to 4G, which requires the address space to be increased much more often. Avoid that by using a three-level page-table by default. Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'drivers/iommu')
-rw-r--r--drivers/iommu/amd_iommu.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
index 9703913..33c177b 100644
--- a/drivers/iommu/amd_iommu.c
+++ b/drivers/iommu/amd_iommu.c
@@ -1673,7 +1673,7 @@ static struct dma_ops_domain *dma_ops_domain_alloc(void)
if (protection_domain_init(&dma_dom->domain))
goto free_dma_dom;
- dma_dom->domain.mode = PAGE_MODE_2_LEVEL;
+ dma_dom->domain.mode = PAGE_MODE_3_LEVEL;
dma_dom->domain.pt_root = (void *)get_zeroed_page(GFP_KERNEL);
dma_dom->domain.flags = PD_DMA_OPS_MASK;
if (!dma_dom->domain.pt_root)
OpenPOWER on IntegriCloud