|
@@ -519,7 +519,11 @@ static __init int init_k8_gatt(struct agp_kern_info *info)
|
|
|
gatt_size = (aper_size >> PAGE_SHIFT) * sizeof(u32);
|
|
|
gatt = (void *)__get_free_pages(GFP_KERNEL, get_order(gatt_size));
|
|
|
if (!gatt)
|
|
|
- panic("Cannot allocate GATT table");
|
|
|
+ panic("Cannot allocate GATT table");
|
|
|
+ if (change_page_attr_addr((unsigned long)gatt, gatt_size >> PAGE_SHIFT, PAGE_KERNEL_NOCACHE))
|
|
|
+ panic("Could not set GART PTEs to uncacheable pages");
|
|
|
+ global_flush_tlb();
|
|
|
+
|
|
|
memset(gatt, 0, gatt_size);
|
|
|
agp_gatt_table = gatt;
|
|
|
|