|
@@ -768,10 +768,9 @@ int __init gart_iommu_init(void)
|
|
|
aper_base = info.aper_base;
|
|
|
end_pfn = (aper_base>>PAGE_SHIFT) + (aper_size>>PAGE_SHIFT);
|
|
|
|
|
|
- if (end_pfn > max_low_pfn_mapped) {
|
|
|
- start_pfn = (aper_base>>PAGE_SHIFT);
|
|
|
+ start_pfn = PFN_DOWN(aper_base);
|
|
|
+ if (!pfn_range_is_mapped(start_pfn, end_pfn))
|
|
|
init_memory_mapping(start_pfn<<PAGE_SHIFT, end_pfn<<PAGE_SHIFT);
|
|
|
- }
|
|
|
|
|
|
pr_info("PCI-DMA: using GART IOMMU.\n");
|
|
|
iommu_size = check_iommu_size(info.aper_base, aper_size);
|