aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/amd_iommu.c
diff options
context:
space:
mode:
authorJoerg Roedel <joerg.roedel@amd.com>2009-05-22 12:40:54 +0200
committerJoerg Roedel <joerg.roedel@amd.com>2009-05-28 18:18:33 +0200
commit47bccd6bb2b866449d3ecf2ba350ac1c7473b2b8 (patch)
tree966614593b32453d4d75db4c2df1e9f4d79d144b /arch/x86/kernel/amd_iommu.c
parentamd-iommu: don't preallocate page tables with CONFIG_IOMMU_STRESS (diff)
downloadlinux-dev-47bccd6bb2b866449d3ecf2ba350ac1c7473b2b8.tar.xz
linux-dev-47bccd6bb2b866449d3ecf2ba350ac1c7473b2b8.zip
amd-iommu: don't free dma adresses below 512MB with CONFIG_IOMMU_STRESS
This will test the automatic aperture enlargement code. This is important because only very few devices will ever trigger this code path. So force it under CONFIG_IOMMU_STRESS. Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Diffstat (limited to 'arch/x86/kernel/amd_iommu.c')
-rw-r--r--arch/x86/kernel/amd_iommu.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/x86/kernel/amd_iommu.c b/arch/x86/kernel/amd_iommu.c
index 33434c497a6a..04ff5ec4ac0e 100644
--- a/arch/x86/kernel/amd_iommu.c
+++ b/arch/x86/kernel/amd_iommu.c
@@ -824,6 +824,11 @@ static void dma_ops_free_addresses(struct dma_ops_domain *dom,
BUG_ON(i >= APERTURE_MAX_RANGES || range == NULL);
+#ifdef CONFIG_IOMMU_STRESS
+ if (i < 4)
+ return;
+#endif
+
if (address >= dom->next_address)
dom->need_flush = true;