Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для bdancer

Старожил


Сообщения: 170
Благодарности: 1

Профиль | Сайт | Отправить PM | Цитировать


Нашел на kerneltrap.org

Код: Выделить весь код
 
Common subdirectories: a/2.6.x and b/2.6.x 
diff -puN a/agpgart_be.c b/agpgart_be.c 
--- a/agpgart_be.c	2004-05-06 22:51:27.000000000 -0400 
+++ b/agpgart_be.c	2004-06-17 12:44:19.000000000 -0400 
@@ -1402,7 +1402,7 @@ unsigned long agp_generic_alloc_page(voi 
     } 
 #endif 
 
-    atomic_inc(&page->count); 
+    get_page(page); 
     set_bit(PG_locked, &page->flags); 
     atomic_inc(&agp_bridge.current_memory_agp); 
 
@@ -1449,7 +1449,7 @@ void agp_generic_destroy_page(unsigned l 
     put_page(page); 
     UnlockPage(page); 
 #else /* AGPGART_2_4_19 */ 
-    atomic_dec(&page->count);                                                 
+    __put_page(page);                                                 
     clear_bit(PG_locked, &page->flags);                                       
     wake_up(&page->wait);                                                     
 #endif /* AGPGART_2_4_19 */ 
@@ -4413,7 +4413,7 @@ static unsigned long ali_alloc_page(void 
     if (page == NULL) 
         return 0; 
 
-    atomic_inc(&page->count); 
+    get_page(page); 
     set_bit(PG_locked, &page->flags); 
     atomic_inc(&agp_bridge.current_memory_agp); 
 
@@ -4509,7 +4509,7 @@ static void ali_destroy_page(unsigned lo 
     put_page(page); 
     UnlockPage(page); 
 #else /* AGPGART_2_4_19 */ 
-    atomic_dec(&page->count); 
+    __put_page(page); 
     clear_bit(PG_locked, &page->flags); 
     wake_up(&page->wait); 
 #endif /* AGPGART_2_4_19 */ 
diff -puN a/firegl_public.c b/firegl_public.c 
--- a/firegl_public.c	2004-03-17 17:00:29.000000000 -0500 
+++ b/firegl_public.c	2004-06-17 12:44:54.000000000 -0400 
@@ -2010,7 +2010,7 @@ static __inline__ vm_nopage_ret_t do_vm_ 
     pMmPage = virt_to_page(kaddr); 
 #endif /* LINUX_VERSION_CODE < 0x020400 */ 
 
-    atomic_inc(&(pMmPage->count));  /* inc usage count of page */ 
+    get_page(pMmPage);  /* inc usage count of page */ 
 
 #if LINUX_VERSION_CODE >= 0x020400 
   //  __KE_DEBUG3("vm-address 0x%08lx => kernel-page-address 0x%p\n", 
@@ -2052,7 +2052,7 @@ static __inline__ vm_nopage_ret_t do_vm_ 
     // Don't increment page usage count, cause ctx pages are allocated 
     // with drm_alloc_pages, which marks all pages as reserved. Reserved 
     // pages' usage count is not decremented by the kernel during unmap!!! 
-    atomic_inc(&(pMmPage->count)); /* inc usage count of page */ 
+    get_page(pMmPage); /* inc usage count of page */ 
 #endif 
 
 #if LINUX_VERSION_CODE >= 0x020400
Добавлено:

Хто не понял это надо заганть в файл (например ati-driver-patch), а потом
Код: Выделить весь код
cd /lib/modules/fglrx 
patch -Np1 -i ati-driver-patch
По поводу Np1 точно не помню, но типа того

-------
Linux User Group Of Ryazan (LUGR)


Отправлено: 19:25, 27-07-2004 | #5