generic.c (f838bad1b3be8ca0c785ee0e0c570dfda74cf377) generic.c (da503fa60b84d5945deb3ab74efdd0bec61df4a1)
1/*
2 * AGPGART driver.
3 * Copyright (C) 2004 Silicon Graphics, Inc.
4 * Copyright (C) 2002-2005 Dave Jones.
5 * Copyright (C) 1999 Jeff Hartmann.
6 * Copyright (C) 1999 Precision Insight, Inc.
7 * Copyright (C) 1999 Xi Graphics, Inc.
8 *

--- 188 unchanged lines hidden (view full) ---

197 }
198
199 if (curr->type != 0) {
200 curr->bridge->driver->free_by_type(curr);
201 return;
202 }
203 if (curr->page_count != 0) {
204 for (i = 0; i < curr->page_count; i++) {
1/*
2 * AGPGART driver.
3 * Copyright (C) 2004 Silicon Graphics, Inc.
4 * Copyright (C) 2002-2005 Dave Jones.
5 * Copyright (C) 1999 Jeff Hartmann.
6 * Copyright (C) 1999 Precision Insight, Inc.
7 * Copyright (C) 1999 Xi Graphics, Inc.
8 *

--- 188 unchanged lines hidden (view full) ---

197 }
198
199 if (curr->type != 0) {
200 curr->bridge->driver->free_by_type(curr);
201 return;
202 }
203 if (curr->page_count != 0) {
204 for (i = 0; i < curr->page_count; i++) {
205 curr->bridge->driver->agp_destroy_page(gart_to_virt(curr->memory[i]), AGP_PAGE_DESTROY_UNMAP);
205 curr->memory[i] = (unsigned long)gart_to_virt(curr->memory[i]);
206 curr->bridge->driver->agp_destroy_page((void *)curr->memory[i],
207 AGP_PAGE_DESTROY_UNMAP);
206 }
207 for (i = 0; i < curr->page_count; i++) {
208 }
209 for (i = 0; i < curr->page_count; i++) {
208 curr->bridge->driver->agp_destroy_page(gart_to_virt(curr->memory[i]), AGP_PAGE_DESTROY_FREE);
210 curr->bridge->driver->agp_destroy_page((void *)curr->memory[i],
211 AGP_PAGE_DESTROY_FREE);
209 }
210 }
211 agp_free_key(curr->key);
212 agp_free_page_array(curr);
213 kfree(curr);
214}
215EXPORT_SYMBOL(agp_free_memory);
216

--- 1139 unchanged lines hidden ---
212 }
213 }
214 agp_free_key(curr->key);
215 agp_free_page_array(curr);
216 kfree(curr);
217}
218EXPORT_SYMBOL(agp_free_memory);
219

--- 1139 unchanged lines hidden ---