diff options
Diffstat (limited to 'drivers/char/agp/ati-agp.c')
-rw-r--r-- | drivers/char/agp/ati-agp.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/char/agp/ati-agp.c b/drivers/char/agp/ati-agp.c index 33656e144cc5..3b2ecbe86ebe 100644 --- a/drivers/char/agp/ati-agp.c +++ b/drivers/char/agp/ati-agp.c | |||
@@ -302,7 +302,8 @@ static int ati_insert_memory(struct agp_memory * mem, | |||
302 | addr = (j * PAGE_SIZE) + agp_bridge->gart_bus_addr; | 302 | addr = (j * PAGE_SIZE) + agp_bridge->gart_bus_addr; |
303 | cur_gatt = GET_GATT(addr); | 303 | cur_gatt = GET_GATT(addr); |
304 | writel(agp_bridge->driver->mask_memory(agp_bridge, | 304 | writel(agp_bridge->driver->mask_memory(agp_bridge, |
305 | mem->pages[i], mem->type), | 305 | page_to_phys(mem->pages[i]), |
306 | mem->type), | ||
306 | cur_gatt+GET_GATT_OFF(addr)); | 307 | cur_gatt+GET_GATT_OFF(addr)); |
307 | } | 308 | } |
308 | readl(GET_GATT(agp_bridge->gart_bus_addr)); /* PCI posting */ | 309 | readl(GET_GATT(agp_bridge->gart_bus_addr)); /* PCI posting */ |
@@ -359,7 +360,7 @@ static int ati_create_gatt_table(struct agp_bridge_data *bridge) | |||
359 | 360 | ||
360 | agp_bridge->gatt_table_real = (u32 *)page_dir.real; | 361 | agp_bridge->gatt_table_real = (u32 *)page_dir.real; |
361 | agp_bridge->gatt_table = (u32 __iomem *) page_dir.remapped; | 362 | agp_bridge->gatt_table = (u32 __iomem *) page_dir.remapped; |
362 | agp_bridge->gatt_bus_addr = virt_to_gart(page_dir.real); | 363 | agp_bridge->gatt_bus_addr = virt_to_phys(page_dir.real); |
363 | 364 | ||
364 | /* Write out the size register */ | 365 | /* Write out the size register */ |
365 | current_size = A_SIZE_LVL2(agp_bridge->current_size); | 366 | current_size = A_SIZE_LVL2(agp_bridge->current_size); |
@@ -389,7 +390,7 @@ static int ati_create_gatt_table(struct agp_bridge_data *bridge) | |||
389 | 390 | ||
390 | /* Calculate the agp offset */ | 391 | /* Calculate the agp offset */ |
391 | for (i = 0; i < value->num_entries / 1024; i++, addr += 0x00400000) { | 392 | for (i = 0; i < value->num_entries / 1024; i++, addr += 0x00400000) { |
392 | writel(virt_to_gart(ati_generic_private.gatt_pages[i]->real) | 1, | 393 | writel(virt_to_phys(ati_generic_private.gatt_pages[i]->real) | 1, |
393 | page_dir.remapped+GET_PAGE_DIR_OFF(addr)); | 394 | page_dir.remapped+GET_PAGE_DIR_OFF(addr)); |
394 | readl(page_dir.remapped+GET_PAGE_DIR_OFF(addr)); /* PCI Posting. */ | 395 | readl(page_dir.remapped+GET_PAGE_DIR_OFF(addr)); /* PCI Posting. */ |
395 | } | 396 | } |