aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/tile/Kconfig6
-rw-r--r--mm/bounce.c8
2 files changed, 11 insertions, 3 deletions
diff --git a/arch/tile/Kconfig b/arch/tile/Kconfig
index cf4bb69ea8e5..932e4430f7f3 100644
--- a/arch/tile/Kconfig
+++ b/arch/tile/Kconfig
@@ -406,6 +406,12 @@ config TILE_USB
406 Provides USB host adapter support for the built-in EHCI and OHCI 406 Provides USB host adapter support for the built-in EHCI and OHCI
407 interfaces on TILE-Gx chips. 407 interfaces on TILE-Gx chips.
408 408
409# USB OHCI needs the bounce pool since tilegx will often have more
410# than 4GB of memory, but we don't currently use the IOTLB to present
411# a 32-bit address to OHCI. So we need to use a bounce pool instead.
412config NEED_BOUNCE_POOL
413 def_bool USB_OHCI_HCD
414
409config HOTPLUG 415config HOTPLUG
410 bool "Support for hot-pluggable devices" 416 bool "Support for hot-pluggable devices"
411 ---help--- 417 ---help---
diff --git a/mm/bounce.c b/mm/bounce.c
index d1be02ca1889..042086775561 100644
--- a/mm/bounce.c
+++ b/mm/bounce.c
@@ -24,23 +24,25 @@
24 24
25static mempool_t *page_pool, *isa_page_pool; 25static mempool_t *page_pool, *isa_page_pool;
26 26
27#ifdef CONFIG_HIGHMEM 27#if defined(CONFIG_HIGHMEM) || defined(CONFIG_NEED_BOUNCE_POOL)
28static __init int init_emergency_pool(void) 28static __init int init_emergency_pool(void)
29{ 29{
30#ifndef CONFIG_MEMORY_HOTPLUG 30#if defined(CONFIG_HIGHMEM) && !defined(CONFIG_MEMORY_HOTPLUG)
31 if (max_pfn <= max_low_pfn) 31 if (max_pfn <= max_low_pfn)
32 return 0; 32 return 0;
33#endif 33#endif
34 34
35 page_pool = mempool_create_page_pool(POOL_SIZE, 0); 35 page_pool = mempool_create_page_pool(POOL_SIZE, 0);
36 BUG_ON(!page_pool); 36 BUG_ON(!page_pool);
37 printk("highmem bounce pool size: %d pages\n", POOL_SIZE); 37 printk("bounce pool size: %d pages\n", POOL_SIZE);
38 38
39 return 0; 39 return 0;
40} 40}
41 41
42__initcall(init_emergency_pool); 42__initcall(init_emergency_pool);
43#endif
43 44
45#ifdef CONFIG_HIGHMEM
44/* 46/*
45 * highmem version, map in to vec 47 * highmem version, map in to vec
46 */ 48 */