Commit ffec2197 authored by Joerg Roedel's avatar Joerg Roedel

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: default avatarJoerg Roedel <jroedel@suse.de>
parent 3254de6b
...@@ -1673,7 +1673,7 @@ static struct dma_ops_domain *dma_ops_domain_alloc(void) ...@@ -1673,7 +1673,7 @@ static struct dma_ops_domain *dma_ops_domain_alloc(void)
if (protection_domain_init(&dma_dom->domain)) if (protection_domain_init(&dma_dom->domain))
goto free_dma_dom; 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.pt_root = (void *)get_zeroed_page(GFP_KERNEL);
dma_dom->domain.flags = PD_DMA_OPS_MASK; dma_dom->domain.flags = PD_DMA_OPS_MASK;
if (!dma_dom->domain.pt_root) if (!dma_dom->domain.pt_root)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment