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 --- |