generic.c (5bc65793cbf8da0d35f19ef025dda22887e79e80) generic.c (a51b34593f691a0837d752a1394dcee19483c607)
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 *

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

1165
1166 page = alloc_page(GFP_KERNEL | GFP_DMA32);
1167 if (page == NULL)
1168 return NULL;
1169
1170 map_page_into_agp(page);
1171
1172 get_page(page);
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 *

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

1165
1166 page = alloc_page(GFP_KERNEL | GFP_DMA32);
1167 if (page == NULL)
1168 return NULL;
1169
1170 map_page_into_agp(page);
1171
1172 get_page(page);
1173 SetPageLocked(page);
1174 atomic_inc(&agp_bridge->current_memory_agp);
1175 return page_address(page);
1176}
1177EXPORT_SYMBOL(agp_generic_alloc_page);
1178
1179
1180void agp_generic_destroy_page(void *addr)
1181{
1182 struct page *page;
1183
1184 if (addr == NULL)
1185 return;
1186
1187 page = virt_to_page(addr);
1188 unmap_page_from_agp(page);
1189 put_page(page);
1173 atomic_inc(&agp_bridge->current_memory_agp);
1174 return page_address(page);
1175}
1176EXPORT_SYMBOL(agp_generic_alloc_page);
1177
1178
1179void agp_generic_destroy_page(void *addr)
1180{
1181 struct page *page;
1182
1183 if (addr == NULL)
1184 return;
1185
1186 page = virt_to_page(addr);
1187 unmap_page_from_agp(page);
1188 put_page(page);
1190 unlock_page(page);
1191 free_page((unsigned long)addr);
1192 atomic_dec(&agp_bridge->current_memory_agp);
1193}
1194EXPORT_SYMBOL(agp_generic_destroy_page);
1195
1196/* End Basic Page Allocation Routines */
1197
1198

--- 139 unchanged lines hidden ---
1189 free_page((unsigned long)addr);
1190 atomic_dec(&agp_bridge->current_memory_agp);
1191}
1192EXPORT_SYMBOL(agp_generic_destroy_page);
1193
1194/* End Basic Page Allocation Routines */
1195
1196

--- 139 unchanged lines hidden ---