diff mbox

x86: Remove dma32_reserve_bootmem

Message ID 4D90CBE5.6090706@kernel.org (mailing list archive)
State Superseded, archived
Headers show

Commit Message

Yinghai Lu March 28, 2011, 5:56 p.m. UTC
None

Comments

Jesse Barnes April 12, 2011, 4:11 p.m. UTC | #1
On Mon, 28 Mar 2011 10:56:53 -0700
Yinghai Lu <yinghai@kernel.org> wrote:

> 
> That is workaround for holding dma32 buf when early bootmem could use up
> those range on system that have lots of RAM.
> 
> Now x86 is using memblock, and even nobootmem wrapper do top-down allocation.
> 
> So We could remove those not needed code now.
> 
> Signed-off-by: Yinghai Lu <yinghai@kernel.org>
> 

Looks like a nice cleanup, can you re-send based on my linux-next
branch?

Thanks,
diff mbox

Patch

Index: linux-2.6/arch/x86/include/asm/pci.h
===================================================================
--- linux-2.6.orig/arch/x86/include/asm/pci.h
+++ linux-2.6/arch/x86/include/asm/pci.h
@@ -135,8 +135,6 @@  void default_teardown_msi_irqs(struct pc
  #include "pci_64.h"
  #endif
  
-void dma32_reserve_bootmem(void);
-
  /* implement the pci_ DMA API in terms of the generic device dma_ one */
  #include <asm-generic/pci-dma-compat.h>
  
Index: linux-2.6/arch/x86/kernel/pci-dma.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/pci-dma.c
+++ linux-2.6/arch/x86/kernel/pci-dma.c
@@ -68,74 +68,10 @@  int dma_set_mask(struct device *dev, u64
  }
  EXPORT_SYMBOL(dma_set_mask);
  
-#if defined(CONFIG_X86_64) && !defined(CONFIG_NUMA)
-static __initdata void *dma32_bootmem_ptr;
-static unsigned long dma32_bootmem_size __initdata = (128ULL<<20);
-
-static int __init parse_dma32_size_opt(char *p)
-{
-	if (!p)
-		return -EINVAL;
-	dma32_bootmem_size = memparse(p, &p);
-	return 0;
-}
-early_param("dma32_size", parse_dma32_size_opt);
-
-void __init dma32_reserve_bootmem(void)
-{
-	unsigned long size, align;
-	if (max_pfn <= MAX_DMA32_PFN)
-		return;
-
-	/*
-	 * check aperture_64.c allocate_aperture() for reason about
-	 * using 512M as goal
-	 */
-	align = 64ULL<<20;
-	size = roundup(dma32_bootmem_size, align);
-	dma32_bootmem_ptr = __alloc_bootmem_nopanic(size, align,
-				 512ULL<<20);
-	/*
-	 * Kmemleak should not scan this block as it may not be mapped via the
-	 * kernel direct mapping.
-	 */
-	kmemleak_ignore(dma32_bootmem_ptr);
-	if (dma32_bootmem_ptr)
-		dma32_bootmem_size = size;
-	else
-		dma32_bootmem_size = 0;
-}
-static void __init dma32_free_bootmem(void)
-{
-
-	if (max_pfn <= MAX_DMA32_PFN)
-		return;
-
-	if (!dma32_bootmem_ptr)
-		return;
-
-	free_bootmem(__pa(dma32_bootmem_ptr), dma32_bootmem_size);
-
-	dma32_bootmem_ptr = NULL;
-	dma32_bootmem_size = 0;
-}
-#else
-void __init dma32_reserve_bootmem(void)
-{
-}
-static void __init dma32_free_bootmem(void)
-{
-}
-
-#endif
-
  void __init pci_iommu_alloc(void)
  {
  	struct iommu_table_entry *p;
  
-	/* free the range so iommu could get some range less than 4G */
-	dma32_free_bootmem();
-
  	sort_iommu_table(__iommu_table, __iommu_table_end);
  	check_iommu_entries(__iommu_table, __iommu_table_end);
  
Index: linux-2.6/arch/x86/kernel/setup.c
===================================================================
--- linux-2.6.orig/arch/x86/kernel/setup.c
+++ linux-2.6/arch/x86/kernel/setup.c
@@ -988,7 +988,6 @@  void __init setup_arch(char **cmdline_p)
  
  	initmem_init();
  	memblock_find_dma_reserve();
-	dma32_reserve_bootmem();
  
  #ifdef CONFIG_KVM_CLOCK
  	kvmclock_init();