aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/sysdev/dart_iommu.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/sysdev/dart_iommu.c')
-rw-r--r--arch/powerpc/sysdev/dart_iommu.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/powerpc/sysdev/dart_iommu.c b/arch/powerpc/sysdev/dart_iommu.c
index a5b40d1460f1..25bc25fe0d93 100644
--- a/arch/powerpc/sysdev/dart_iommu.c
+++ b/arch/powerpc/sysdev/dart_iommu.c
@@ -251,8 +251,11 @@ static void allocate_dart(void)
251 * 16MB (1 << 24) alignment. We allocate a full 16Mb chuck since we 251 * 16MB (1 << 24) alignment. We allocate a full 16Mb chuck since we
252 * will blow up an entire large page anyway in the kernel mapping. 252 * will blow up an entire large page anyway in the kernel mapping.
253 */ 253 */
254 dart_tablebase = __va(memblock_alloc_base(1UL<<24, 254 dart_tablebase = memblock_alloc_try_nid_raw(SZ_16M, SZ_16M,
255 1UL<<24, 0x80000000L)); 255 MEMBLOCK_LOW_LIMIT, SZ_2G,
256 NUMA_NO_NODE);
257 if (!dart_tablebase)
258 panic("Failed to allocate 16MB below 2GB for DART table\n");
256 259
257 /* There is no point scanning the DART space for leaks*/ 260 /* There is no point scanning the DART space for leaks*/
258 kmemleak_no_scan((void *)dart_tablebase); 261 kmemleak_no_scan((void *)dart_tablebase);