diff options
| -rw-r--r-- | arch/x86/kernel/pci-gart_64.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/x86/kernel/pci-gart_64.c b/arch/x86/kernel/pci-gart_64.c index d0d18db5d2a4..a614ee10f846 100644 --- a/arch/x86/kernel/pci-gart_64.c +++ b/arch/x86/kernel/pci-gart_64.c | |||
| @@ -630,6 +630,7 @@ static __init int init_k8_gatt(struct agp_kern_info *info) | |||
| 630 | struct pci_dev *dev; | 630 | struct pci_dev *dev; |
| 631 | void *gatt; | 631 | void *gatt; |
| 632 | int i, error; | 632 | int i, error; |
| 633 | unsigned long start_pfn, end_pfn; | ||
| 633 | 634 | ||
| 634 | printk(KERN_INFO "PCI-DMA: Disabling AGP.\n"); | 635 | printk(KERN_INFO "PCI-DMA: Disabling AGP.\n"); |
| 635 | aper_size = aper_base = info->aper_size = 0; | 636 | aper_size = aper_base = info->aper_size = 0; |
| @@ -674,6 +675,16 @@ static __init int init_k8_gatt(struct agp_kern_info *info) | |||
| 674 | 675 | ||
| 675 | printk(KERN_INFO "PCI-DMA: aperture base @ %x size %u KB\n", | 676 | printk(KERN_INFO "PCI-DMA: aperture base @ %x size %u KB\n", |
| 676 | aper_base, aper_size>>10); | 677 | aper_base, aper_size>>10); |
| 678 | |||
| 679 | /* need to map that range */ | ||
| 680 | end_pfn = (aper_base>>PAGE_SHIFT) + (aper_size>>PAGE_SHIFT); | ||
| 681 | if (end_pfn > max_low_pfn_mapped) { | ||
| 682 | start_pfn = max_low_pfn_mapped; | ||
| 683 | max_low_pfn_mapped = init_memory_mapping(start_pfn<<PAGE_SHIFT, | ||
| 684 | end_pfn<<PAGE_SHIFT); | ||
| 685 | if (max_pfn_mapped < max_low_pfn_mapped) | ||
| 686 | max_pfn_mapped = max_low_pfn_mapped; | ||
| 687 | } | ||
| 677 | return 0; | 688 | return 0; |
| 678 | 689 | ||
| 679 | nommu: | 690 | nommu: |
