diff options
author | Joerg Roedel <joerg.roedel@amd.com> | 2009-09-02 10:55:24 -0400 |
---|---|---|
committer | Joerg Roedel <joerg.roedel@amd.com> | 2009-09-03 10:03:49 -0400 |
commit | 8f7a017ce05ed4522809448e169daa44fe6edeb1 (patch) | |
tree | a1c59481bfa6bd9a0eea9783bff84af65b5fb02e /arch/x86/kernel | |
parent | bad1cac28a707c69301a4d0612da9ccbecd51953 (diff) |
x86/amd-iommu: Use 2-level page tables for dma_ops domains
The driver now supports a dynamic number of levels for IO
page tables. This allows to reduce the number of levels for
dma_ops domains by one because a dma_ops domain has usually
an address space size between 128MB and 4G.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Diffstat (limited to 'arch/x86/kernel')
-rw-r--r-- | arch/x86/kernel/amd_iommu.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kernel/amd_iommu.c b/arch/x86/kernel/amd_iommu.c index 6ffb3e637657..addf6588c366 100644 --- a/arch/x86/kernel/amd_iommu.c +++ b/arch/x86/kernel/amd_iommu.c | |||
@@ -1010,7 +1010,7 @@ static struct dma_ops_domain *dma_ops_domain_alloc(struct amd_iommu *iommu) | |||
1010 | dma_dom->domain.id = domain_id_alloc(); | 1010 | dma_dom->domain.id = domain_id_alloc(); |
1011 | if (dma_dom->domain.id == 0) | 1011 | if (dma_dom->domain.id == 0) |
1012 | goto free_dma_dom; | 1012 | goto free_dma_dom; |
1013 | dma_dom->domain.mode = PAGE_MODE_3_LEVEL; | 1013 | dma_dom->domain.mode = PAGE_MODE_2_LEVEL; |
1014 | dma_dom->domain.pt_root = (void *)get_zeroed_page(GFP_KERNEL); | 1014 | dma_dom->domain.pt_root = (void *)get_zeroed_page(GFP_KERNEL); |
1015 | dma_dom->domain.flags = PD_DMA_OPS_MASK; | 1015 | dma_dom->domain.flags = PD_DMA_OPS_MASK; |
1016 | dma_dom->domain.priv = dma_dom; | 1016 | dma_dom->domain.priv = dma_dom; |