[PATCH] Insert GART region into resource map
Patch inserts the GART region into the iomem resource map. The GART will then be visible within /proc/iomem. It will also allow for other users utilizing the GART to subreserve the region (agp or IOMMU). Signed-off-by: Aaron Durbin <adurbin@google.com> Signed-off-by: Andi Kleen <ak@suse.de>
This commit is contained in:
		
					parent
					
						
							
								9abd79280b
							
						
					
				
			
			
				commit
				
					
						56dd669a13
					
				
			
		
					 1 changed files with 20 additions and 1 deletions
				
			
		| 
						 | 
				
			
			@ -17,6 +17,7 @@
 | 
			
		|||
#include <linux/pci_ids.h>
 | 
			
		||||
#include <linux/pci.h>
 | 
			
		||||
#include <linux/bitops.h>
 | 
			
		||||
#include <linux/ioport.h>
 | 
			
		||||
#include <asm/e820.h>
 | 
			
		||||
#include <asm/io.h>
 | 
			
		||||
#include <asm/proto.h>
 | 
			
		||||
| 
						 | 
				
			
			@ -33,6 +34,18 @@ int fallback_aper_force __initdata = 0;
 | 
			
		|||
 | 
			
		||||
int fix_aperture __initdata = 1;
 | 
			
		||||
 | 
			
		||||
static struct resource gart_resource = {
 | 
			
		||||
	.name	= "GART",
 | 
			
		||||
	.flags	= IORESOURCE_MEM,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static void __init insert_aperture_resource(u32 aper_base, u32 aper_size)
 | 
			
		||||
{
 | 
			
		||||
	gart_resource.start = aper_base;
 | 
			
		||||
	gart_resource.end = aper_base + aper_size - 1;
 | 
			
		||||
	insert_resource(&iomem_resource, &gart_resource);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/* This code runs before the PCI subsystem is initialized, so just
 | 
			
		||||
   access the northbridge directly. */
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -62,6 +75,7 @@ static u32 __init allocate_aperture(void)
 | 
			
		|||
	}
 | 
			
		||||
	printk("Mapping aperture over %d KB of RAM @ %lx\n",
 | 
			
		||||
	       aper_size >> 10, __pa(p)); 
 | 
			
		||||
	insert_aperture_resource((u32)__pa(p), aper_size);
 | 
			
		||||
	return (u32)__pa(p); 
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -233,8 +247,13 @@ void __init iommu_hole_init(void)
 | 
			
		|||
		last_aper_base = aper_base;
 | 
			
		||||
	} 
 | 
			
		||||
 | 
			
		||||
	if (!fix && !fallback_aper_force) 
 | 
			
		||||
	if (!fix && !fallback_aper_force) {
 | 
			
		||||
		if (last_aper_base) {
 | 
			
		||||
			unsigned long n = (32 * 1024 * 1024) << last_aper_order;
 | 
			
		||||
			insert_aperture_resource((u32)last_aper_base, n);
 | 
			
		||||
		}
 | 
			
		||||
		return; 
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (!fallback_aper_force)
 | 
			
		||||
		aper_alloc = search_agp_bridge(&aper_order, &valid_agp); 
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue