Prosba o patcha do steownikow ATI dla k2.6.11

Czyli jak najefektywniej (lub efektowniej) skonfigurować Slackware'a w komputerze domowym

Moderatorzy: Moderatorzy, Administratorzy

Masza
Użytkownik
Posty: 100
Rejestracja: 2004-07-18, 22:14

Prosba o patcha do steownikow ATI dla k2.6.11

Post autor: Masza »

Witam. Czy ma ktos moze, lub moglby tu skopiowac lub przeslac mi na email patcha do tych sterownikow dla jajka 2.6.11 ??

Walsnie sobie skompilowalem najnowszego kernela i oczywiscie ATI nie dziala...najnowsze sterowniki ati 8.12...tez nie chca sie skompilowac...

Probowalem wejsc na ta strone (programista.org) na ktorej byly te poprawki ale niesttey ona nie dziala.

Moge poprosic o skopiowanie tutaj tego patcha ??

ew. mail masza02@wp.pl

co za shit to aTi niech ich kule biją...
|Slackware 10.2|KDE 3.5|
Linux Registered: #308891

Masza
Użytkownik
Posty: 100
Rejestracja: 2004-07-18, 22:14

Re: Prosba o patcha do steownikow ATI dla k2.6.11

Post autor: Masza »

oki znalazlem w sieci :))
jakby ktos byl zainsteresowany:
http://www.rage3d.com/board/showthread. ... t=p1.patch

sprawdzone dzialają sprawnie :)

Kod: Zaznacz cały

maszka@hideaway:~$ uname -r
2.6.11.7-Slackware
maszka@hideaway:~$ fglrxinfo
display: :0.0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: RADEON 9600 XT Generic
OpenGL version string: 1.3.5010 (X4.3.0-8.12.10)

maszka@hideaway:~$ fgl_glxgears
2826 frames in 5.0 seconds = 565.200 FPS
2828 frames in 5.0 seconds = 565.600 FPS
Przerwany potok
|Slackware 10.2|KDE 3.5|
Linux Registered: #308891

Awatar użytkownika
snaj
Moderator w st. spocz.
Posty: 1608
Rejestracja: 2004-10-10, 16:32
Lokalizacja: Warszawa
Kontakt:

Re: Prosba o patcha do steownikow ATI dla k2.6.11

Post autor: snaj »

No to jak widac wydali nowa wersje patchy bo poprzednia wersja jakby nie dzialala - dlatego na swojej stronce zamiescilem poprawione i juz dzialajace na tym forum nawet jesli sie nie myle dawalem linki ...
*
[color=blue]Sieci[/color]/[color=green]Serwery[/color]/[color=red]Security[/color] - Freelancer
*

Masza
Użytkownik
Posty: 100
Rejestracja: 2004-07-18, 22:14

Re: Prosba o patcha do steownikow ATI dla k2.6.11

Post autor: Masza »

wlasnie cos na ta stronke Twoja nie moge wejsc... ;]
|Slackware 10.2|KDE 3.5|
Linux Registered: #308891

Awatar użytkownika
snaj
Moderator w st. spocz.
Posty: 1608
Rejestracja: 2004-10-10, 16:32
Lokalizacja: Warszawa
Kontakt:

Re: Prosba o patcha do steownikow ATI dla k2.6.11

Post autor: snaj »

Bo sa przejsciowe chwilowe z nia, ktore moga potrwac moze i do 2miechow :/
*
[color=blue]Sieci[/color]/[color=green]Serwery[/color]/[color=red]Security[/color] - Freelancer
*

Uffizi
Użytkownik
Posty: 15
Rejestracja: 2005-01-29, 17:43
Kontakt:

Re: Prosba o patcha do steownikow ATI dla k2.6.11

Post autor: Uffizi »

ja u siebie uzylem tych 2.
fglrx'y z ati.com dla xorg'a kernel 2.6.11.5

patch1:
2005-03-02 22:32 diff -lu or.c agpgart_be.c Page 1


--- or.c 2005-01-31 19:50:00.000000000 +0200
+++ agpgart_be.c 2005-03-02 22:19:25.000000000 +0200
@@ -261,6 +261,12 @@
#define firegl_pci_find_class(class,from) pci_find_class(class,from)
#endif

+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,11)
+#define firegl_pci_find_class(class,from) pci_get_class(class,from)
+#else
+#define firegl_pci_find_class(class,from) pci_find_class(class,from)
+#endif
+
int agp_backend_acquire(void)
{
if (agp_bridge.type == NOT_SUPPORTED) {
@@ -4075,6 +4081,13 @@
}
}
}
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,11)
+ // the reference count has been increased in agp_backend_initialize.
+ if (device)
+ pci_dev_put(device);
+#endif
+
/*
* PASS3: Figure out the 8X/4X setting and enable the
* target (our motherboard chipset).
@@ -5283,6 +5296,12 @@
pci_dev_put(device);
#endif

+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,11)
+ // the reference count has been increased in agp_backend_initialize.
+ if (device)
+ pci_dev_put(device);
+#endif
+
return(0); /* success */
}

@@ -7428,6 +7447,11 @@
return rc;
}

+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,11)
+ // decrease the reference count.
+ pci_dev_put(agp_bridge.dev);
+#endif
+
if (agp_bridge.needs_scratch_page == TRUE) {
agp_bridge.scratch_page = agp_bridge.agp_alloc_page();
patch2:
--- 2.c 2005-02-10 04:15:00.000000000 +0200
+++ firegl_public.c 2005-03-02 22:21:42.000000000 +0200
@@ -1664,13 +1664,22 @@
{
unsigned long pte_linear;
pgd_t* pgd_p;
+#if LINUX_VERSION_CODE > 0x02060a /* KERNEL_VERSION(2,6,11) */
+ pud_t* pud_p;
+#endif
pmd_t* pmd_p;
pte_t* pte_p;
pte_t pte;

pte_linear = VMALLOC_VMADDR(virtual_addr); // convert to pte linear address (x86 => nop)
pgd_p = pgd_offset(mm, pte_linear);
+#if LINUX_VERSION_CODE > 0x02060a /* KERNEL_VERSION(2,6,11) */
+ pud_p = pud_offset(pgd_p, pte_linear);
+ pmd_p = pmd_offset(pud_p, pte_linear);
+#else
pmd_p = pmd_offset(pgd_p, pte_linear);
+#endif
+
#ifndef FGL_ATOMIC_PTE
#if LINUX_VERSION_CODE > 0x020500
pte_p = pte_offset_kernel(pmd_p, pte_linear);
@@ -2100,6 +2109,9 @@
unsigned long address)
{
pgd_t* pgd_p;
+#if LINUX_VERSION_CODE > 0x02060a /* KERNEL_VERSION(2,6,11) */
+ pud_t* pud_p;
+#endif
pmd_t* pmd_p;
pte_t* pte_p;
pte_t pte;
@@ -2200,7 +2212,12 @@
/* alternatively we could generate a NOPAGE_OOM "out of memory" */
}
/* locate medium level page table (x86 => nop) */
+#if LINUX_VERSION_CODE > 0x02060a /* KERNEL_VERSION(2,6,11) */
+ pud_p = pud_offset(pgd_p, pte_linear);
+ pmd_p = pmd_offset(pud_p, pte_linear);
+#else
pmd_p = pmd_offset(pgd_p, pte_linear);
+#endif
if (!pmd_present(*pmd_p))
{
__KE_ERROR("FATAL ERROR: User queue buffer not present! (pmd)\n");
@@ -2564,13 +2581,21 @@
{
unsigned long pte_linear;
pgd_t* pgd_p;
+#if LINUX_VERSION_CODE > 0x02060a /* KERNEL_VERSION(2,6,11) */
+ pud_t* pud_p;
+#endif
pmd_t* pmd_p;
pte_t* pte_p;
pte_t pte;

pte_linear = VMALLOC_VMADDR(virtual_addr); // convert to pte linear address (x86 => nop)
pgd_p = pgd_offset(vma->vm_mm, pte_linear);
+#if LINUX_VERSION_CODE > 0x02060a /* KERNEL_VERSION(2,6,11) */
+ pud_p = pud_offset(pgd_p, pte_linear);
+ pmd_p = pmd_offset(pud_p, pte_linear);
+#else
pmd_p = pmd_offset(pgd_p, pte_linear);
+#endif
#ifndef FGL_ATOMIC_PTE
#if LINUX_VERSION_CODE > 0x020500
pte_p = pte_offset_kernel(pmd_p, pte_linear);
@@ -2719,13 +2744,13 @@
#endif /* __ia64__ */
vma->vm_flags |= VM_IO; /* not in core dump */
}
- if (remap_page_range(FGL_VMA_API_PASS
+ if (remap_pfn_range(FGL_VMA_API_PASS
vma->vm_start,
- __ke_vm_offset(vma),
+ __ke_vm_offset(vma) >> PAGE_SHIFT,
vma->vm_end - vma->vm_start,
vma->vm_page_prot))
{
- __KE_DEBUG("remap_page_range failed\n");
+ __KE_DEBUG("remap_pfn_range failed\n");
return -EAGAIN;
}
vma->vm_flags |= VM_SHM | VM_RESERVED; /* Don't swap */
@@ -2786,13 +2811,13 @@
{
if (__ke_vm_offset(vma) >= __pa(high_memory))
vma->vm_flags |= VM_IO; /* not in core dump */
- if (remap_page_range(FGL_VMA_API_PASS
+ if (remap_pfn_range(FGL_VMA_API_PASS
vma->vm_start,
- __ke_vm_offset(vma),
+ __ke_vm_offset(vma) >> PAGE_SHIFT,
vma->vm_end - vma->vm_start,
vma->vm_page_prot))
{
- __KE_DEBUG("remap_page_range failed\n");
+ __KE_DEBUG("remap_pfn_range failed\n");
return -EAGAIN;
}
#ifdef __x86_64__
@@ -2823,13 +2848,13 @@
{
if (__ke_vm_offset(vma) >= __pa(high_memory))
vma->vm_flags |= VM_IO; /* not in core dump */
- if (remap_page_range(FGL_VMA_API_PASS
+ if (remap_pfn_range(FGL_VMA_API_PASS
vma->vm_start,
- __ke_vm_offset(vma),
+ __ke_vm_offset(vma) >> PAGE_SHIFT,
vma->vm_end - vma->vm_start,
vma->vm_page_prot))
{
- __KE_DEBUG("remap_page_range failed\n");
+ __KE_DEBUG("remap_pfn_range failed\n");
return -EAGAIN;
}
#ifdef __x86_64__
@@ -2873,6 +2898,37 @@

#if LINUX_VERSION_CODE >= 0x020400

+#if LINUX_VERSION_CODE >= 0x02060b
+
+typedef struct {
+ void (*free_memory)(struct agp_memory *);
+ struct agp_memory * (*allocate_memory)(size_t, u32);
+ int (*bind_memory)(struct agp_memory *, off_t);
+ int (*unbind_memory)(struct agp_memory *);
+ void (*enable)(u32);
+ int (*acquire)(void);
+ void (*release)(void);
+ int (*copy_info)(struct agp_kern_info *);
+} drm_agp_t;
+
+static const drm_agp_t drm_agp = {
+ &agp_free_memory,
+ &agp_allocate_memory,
+ &agp_bind_memory,
+ &agp_unbind_memory,
+ &agp_enable,
+ &agp_backend_acquire,
+ &agp_backend_release,
+ &agp_copy_info
+};
+#undef DRM_AGP_MODULE_GET
+#undef DRM_AGP_MODULE_PUT
+
+#define DRM_AGP_MODULE_GET &drm_agp
+#define DRM_AGP_MODULE_PUT
+
+#endif
+
static const drm_agp_t *drm_agp_module_stub = NULL;

#define AGP_FUNCTIONS 8
wszystko dziala idealnie
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: RADEON 9200 DDR Generic
OpenGL version string: 1.3.4893 (X4.3.0-8.10.19)

glxgears:
9423 frames in 5.0 seconds = 1884.600 FPS
10303 frames in 5.0 seconds = 2060.600 FPS
10289 frames in 5.0 seconds = 2057.800 FPS

miesozer
Użytkownik
Posty: 141
Rejestracja: 2005-04-13, 11:18
Lokalizacja: z wietnamu, hej!
Kontakt:

Re: Prosba o patcha do steownikow ATI dla k2.6.11

Post autor: miesozer »

Mam radeona 9200 i wszystko chyba dziala jak powinno (glxgears - ponad 2000 fps, fgl_gears - 350fps) ale glxinfo na koncu wywala cos takiego:

Kod: Zaznacz cały

0x23 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  1 0 Slow
0x24 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  1 0 Slow
0x25 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  1 0 Slow
0x26 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  1 0 Slow
0x27 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  1 0 None
0x28 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  1 0 None
0x29 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  1 0 None
0x2a 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  1 0 None
0x2b 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  1 0 Slow
0x2c 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  1 0 Slow
0x2d 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  1 0 Slow
0x2e 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  1 0 Slow
0x2f 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  1 0 None
0x30 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  1 0 None
0x31 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  1 0 None
0x32 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  1 0 None
....i moje pytanie (pewnie glupie:)) czy to jest normalne tzn. te wszystkie 'slow' i 'none'?
Ostatnio zmieniony 2006-04-06, 14:28 przez miesozer, łącznie zmieniany 1 raz.

KrzychuG
Użytkownik
Posty: 482
Rejestracja: 2004-08-18, 20:22
Lokalizacja: Toruń
Kontakt:

Re: Prosba o patcha do steownikow ATI dla k2.6.11

Post autor: KrzychuG »

Ja mam co prawda inne sterowniki do ATI i inna karte, ale u mnie wyglada to podobnie, czyli tak:

Kod: Zaznacz cały

   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav
 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat
----------------------------------------------------------------------
0x23 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x24 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x25 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0x26 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x27 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x28 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x29 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0x2a 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x2b 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x2c 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x2d 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0x2e 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x2f 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x30 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x31 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0x32 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
Cokolwiek to jest i cokolwiek znaczy wyglada, ze tak juz musi byc ;)
It's time to quit the game...

Uffizi
Użytkownik
Posty: 15
Rejestracja: 2005-01-29, 17:43
Kontakt:

Re: Prosba o patcha do steownikow ATI dla k2.6.11

Post autor: Uffizi »

moim zdaniem to "cos" informuje o rodzaju karty (chipset, zegar, pamieci itp.). ja mam radeona 9200 i u mnie pokazuje chyba to samo:
visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat
----------------------------------------------------------------------
0x23 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 1 0 Slow
0x24 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 1 0 Slow
0x25 24 tc 0 32 0 r y . 8 8 8 8 0 24 0 16 16 16 16 1 0 Slow
0x26 24 tc 0 32 0 r . . 8 8 8 8 0 24 0 16 16 16 16 1 0 Slow
0x27 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 1 0 None
0x28 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 1 0 None
0x29 24 tc 0 32 0 r y . 8 8 8 8 0 24 0 0 0 0 0 1 0 None
0x2a 24 tc 0 32 0 r . . 8 8 8 8 0 24 0 0 0 0 0 1 0 None
0x2b 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 1 0 Slow
0x2c 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 1 0 Slow
0x2d 24 dc 0 32 0 r y . 8 8 8 8 0 24 0 16 16 16 16 1 0 Slow
0x2e 24 dc 0 32 0 r . . 8 8 8 8 0 24 0 16 16 16 16 1 0 Slow
0x2f 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 1 0 None
0x30 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 1 0 None
0x31 24 dc 0 32 0 r y . 8 8 8 8 0 24 0 0 0 0 0 1 0 None
0x32 24 dc 0 32 0 r . . 8 8 8 8 0 24 0 0 0 0 0 1 0 None

Raven
Użytkownik
Posty: 8
Rejestracja: 2005-04-05, 17:26

Re: Prosba o patcha do steownikow ATI dla k2.6.11

Post autor: Raven »

Witam !
Masza, a mozesz mi wskazac dokladniej ktore to patche sa odpowiednie dla kernela 2.6.11.7 i xorg 6.8 + najnowsze stery ATI. Bo jakos nie moge dojsc ktore z tych 8-u sciagnac - sorry ale jestem noobem :( .
Szkoda ze ta stronka kolegi Snaja nie dziala, bo zdaje sie ze tam byly odpowiednie latki.

I z miejsca sie pytam o instalacje patcha:

Kod: Zaznacz cały

cd /lib/modules/fglrx/build_mod
patch -p1 < ../PATCH_NAME.patch
... gdzie jak rozumiem "../PATCH_NAME.patch" to sciezka do pliku/laty (np.: /home/costam.patch)?
I jeszcze ta opcja ... -p(jeden) czy -p(eL) ?
W manie sa obie opcje, ale nie mowia mi nic .... wiec jako noob pytam :D.
Z gory dzieki za odpowiedz.

Masza
Użytkownik
Posty: 100
Rejestracja: 2004-07-18, 22:14

Re: Prosba o patcha do steownikow ATI dla k2.6.11

Post autor: Masza »

patch1:

Kod: Zaznacz cały

--- or.c
+++ agpgart_be.c
@@ -261,6 +261,12 @@
 #define firegl_pci_find_class(class,from) pci_find_class(class,from)
 #endif
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,11) 
+#define firegl_pci_find_class(class,from) pci_get_class(class,from)
+#else
+#define firegl_pci_find_class(class,from) pci_find_class(class,from)
+#endif
+
 int agp_backend_acquire(void)
 {
 	if (agp_bridge.type == NOT_SUPPORTED) {
@@ -4075,6 +4081,13 @@
 			}
 		}
 	}
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,11) 
+            // the reference count has been increased in agp_backend_initialize.
+        if (device)
+            pci_dev_put(device); 
+#endif
+
 	/*
 	 * PASS3: Figure out the 8X/4X setting and enable the
 	 *        target (our motherboard chipset).
@@ -5283,6 +5296,12 @@
             pci_dev_put(device); 
 #endif
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,11) 
+            // the reference count has been increased in agp_backend_initialize.
+        if (device)
+            pci_dev_put(device); 
+#endif
+
     return(0); /* success */
 }
 
@@ -7428,6 +7447,11 @@
 		return rc;
 	}
 
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,11)
+        // decrease the reference count.
+        pci_dev_put(agp_bridge.dev);
+#endif
+
 	if (agp_bridge.needs_scratch_page == TRUE) {
 		agp_bridge.scratch_page = agp_bridge.agp_alloc_page();
patch2:

Kod: Zaznacz cały

--- 2.c
+++ firegl_public.c
@@ -1663,13 +1663,22 @@
 {
     unsigned long pte_linear;
     pgd_t* pgd_p;
+#if LINUX_VERSION_CODE > 0x02060a     /* KERNEL_VERSION(2,6,11) */
+    pud_t* pud_p;
+#endif
     pmd_t* pmd_p;
     pte_t* pte_p;
     pte_t  pte;
 
     pte_linear = VMALLOC_VMADDR(virtual_addr);  // convert to pte linear address (x86 => nop)
     pgd_p = pgd_offset(mm, pte_linear);
+#if LINUX_VERSION_CODE > 0x02060a     /* KERNEL_VERSION(2,6,11) */
+    pud_p = pud_offset(pgd_p, pte_linear);
+    pmd_p = pmd_offset(pud_p, pte_linear);
+#else
     pmd_p = pmd_offset(pgd_p, pte_linear);
+#endif
+
 #ifndef FGL_ATOMIC_PTE
 #if LINUX_VERSION_CODE > 0x020500
     pte_p = pte_offset_kernel(pmd_p, pte_linear);
@@ -2099,6 +2108,9 @@
                                                    unsigned long address)
 {
     pgd_t* pgd_p;
+#if LINUX_VERSION_CODE > 0x02060a     /* KERNEL_VERSION(2,6,11) */
+    pud_t* pud_p;
+#endif
     pmd_t* pmd_p;
     pte_t* pte_p;
     pte_t  pte;
@@ -2199,7 +2211,12 @@
         /* alternatively we could generate a NOPAGE_OOM "out of memory" */
     }
     /*  locate medium level page table (x86 => nop) */
+#if LINUX_VERSION_CODE > 0x02060a     /* KERNEL_VERSION(2,6,11) */
+    pud_p = pud_offset(pgd_p, pte_linear);
+    pmd_p = pmd_offset(pud_p, pte_linear);
+#else
     pmd_p = pmd_offset(pgd_p, pte_linear);
+#endif
     if (!pmd_present(*pmd_p))
     {
         __KE_ERROR("FATAL ERROR: User queue buffer not present! (pmd)\n");
@@ -2563,13 +2580,21 @@
 {
     unsigned long pte_linear;
     pgd_t* pgd_p;
+#if LINUX_VERSION_CODE > 0x02060a     /* KERNEL_VERSION(2,6,11) */
+    pud_t* pud_p;
+#endif
     pmd_t* pmd_p;
     pte_t* pte_p;
     pte_t  pte;
 
     pte_linear = VMALLOC_VMADDR(virtual_addr);  // convert to pte linear address (x86 => nop)
     pgd_p = pgd_offset(vma->vm_mm, pte_linear);
+#if LINUX_VERSION_CODE > 0x02060a     /* KERNEL_VERSION(2,6,11) */
+    pud_p = pud_offset(pgd_p, pte_linear);
+    pmd_p = pmd_offset(pud_p, pte_linear);
+#else
     pmd_p = pmd_offset(pgd_p, pte_linear);
+#endif
 #ifndef FGL_ATOMIC_PTE
 #if LINUX_VERSION_CODE > 0x020500
     pte_p = pte_offset_kernel(pmd_p, pte_linear);
@@ -2718,13 +2743,13 @@
 #endif /* __ia64__ */
                 vma->vm_flags |= VM_IO; /* not in core dump */
             }
-            if (remap_page_range(FGL_VMA_API_PASS
+            if (remap_pfn_range(FGL_VMA_API_PASS
                                  vma->vm_start,
-                                 __ke_vm_offset(vma),
+                                 __ke_vm_offset(vma) >> PAGE_SHIFT,
                                  vma->vm_end - vma->vm_start,
                                  vma->vm_page_prot))
             {
-                __KE_DEBUG("remap_page_range failed\n");
+                __KE_DEBUG("remap_pfn_range failed\n");
                 return -EAGAIN;
             }
             vma->vm_flags |= VM_SHM | VM_RESERVED; /* Don't swap */
@@ -2785,13 +2810,13 @@
 			{
 				if (__ke_vm_offset(vma) >= __pa(high_memory))
 					vma->vm_flags |= VM_IO; /* not in core dump */
-				if (remap_page_range(FGL_VMA_API_PASS
+				if (remap_pfn_range(FGL_VMA_API_PASS
 									 vma->vm_start,
-									 __ke_vm_offset(vma),
+									 __ke_vm_offset(vma) >> PAGE_SHIFT,
 									 vma->vm_end - vma->vm_start,
 									 vma->vm_page_prot))
 				{
-					__KE_DEBUG("remap_page_range failed\n");
+					__KE_DEBUG("remap_pfn_range failed\n");
 					return -EAGAIN;
 				}
 #ifdef __x86_64__
@@ -2822,13 +2847,13 @@
 			{
 				if (__ke_vm_offset(vma) >= __pa(high_memory))
 					vma->vm_flags |= VM_IO; /* not in core dump */
-				if (remap_page_range(FGL_VMA_API_PASS
+				if (remap_pfn_range(FGL_VMA_API_PASS
 									 vma->vm_start,
-									 __ke_vm_offset(vma),
+									 __ke_vm_offset(vma) >> PAGE_SHIFT,
 									 vma->vm_end - vma->vm_start,
 									 vma->vm_page_prot))
 				{
-					__KE_DEBUG("remap_page_range failed\n");
+					__KE_DEBUG("remap_pfn_range failed\n");
 					return -EAGAIN;
 				}
 #ifdef __x86_64__
@@ -2872,6 +2897,37 @@
 
 #if LINUX_VERSION_CODE >= 0x020400
 
+#if LINUX_VERSION_CODE >= 0x02060b
+
+typedef struct {
+       void                    (*free_memory)(struct agp_memory *);
+       struct agp_memory *     (*allocate_memory)(size_t, u32);
+       int                     (*bind_memory)(struct agp_memory *, off_t);
+       int                     (*unbind_memory)(struct agp_memory *);
+       void                    (*enable)(u32);
+       int                     (*acquire)(void);
+       void                    (*release)(void);
+       int                     (*copy_info)(struct agp_kern_info *);
+} drm_agp_t;
+
+static const drm_agp_t drm_agp = {
+       &agp_free_memory,
+       &agp_allocate_memory,
+       &agp_bind_memory,
+       &agp_unbind_memory,
+       &agp_enable,
+       &agp_backend_acquire,
+       &agp_backend_release,
+       &agp_copy_info
+};
+#undef DRM_AGP_MODULE_GET
+#undef DRM_AGP_MODULE_PUT
+
+#define DRM_AGP_MODULE_GET      &drm_agp
+#define DRM_AGP_MODULE_PUT 
+
+#endif
+
 static const drm_agp_t  *drm_agp_module_stub = NULL;
 
 #define AGP_FUNCTIONS		8
dzialaja na kernelu 2.6.11.7.

patch -p1 < /sciezka/nazwa_pliku_z_patchem

p(jeden) :)))

jak nie zalapie sciezki podczas patchowania (File to patch), to bedziesz musial ja wpisac recznie :)

po tym normalna kompilacja sterownikow i powino cykać.
|Slackware 10.2|KDE 3.5|
Linux Registered: #308891

Raven
Użytkownik
Posty: 8
Rejestracja: 2005-04-05, 17:26

Re: Prosba o patcha do steownikow ATI dla k2.6.11

Post autor: Raven »

No i nic :(
Przy patchowaniu pojawiaja sie bledy , jak rowniez przy make.
No nic, pozostaje czekac na jakies poprawione stery i cieszyc sie grafika w windzie :/.
Z tego co widze to mniejsze problemy sa z Geforcami. Moze z czasem sie cos poprawi.

Masza
Użytkownik
Posty: 100
Rejestracja: 2004-07-18, 22:14

Re: Prosba o patcha do steownikow ATI dla k2.6.11

Post autor: Masza »

owszem bledy sie pojawiaja, ale sterowniki dzialja...przynajmniej u mnie...
|Slackware 10.2|KDE 3.5|
Linux Registered: #308891

Raven
Użytkownik
Posty: 8
Rejestracja: 2005-04-05, 17:26

Re: Prosba o patcha do steownikow ATI dla k2.6.11

Post autor: Raven »

Udalo mi sie ruszyc ATI na patchu 2.6.11.7 do pobrania >>STAD<<
Niestety Masza, na tych twoich nie szlo :/.
A swoja droga to dziwi mnie polityka ATI. Powinni bardziej dbac o klientow - to zaden problem dla takiego koncernu zatrudnic ze 2 osoby zajmujace sie driverami dla Linuxa. Wtedy klient nie musialby sie martwic jaki OS wybrac zeby mu sprzet chodzil.

Masza
Użytkownik
Posty: 100
Rejestracja: 2004-07-18, 22:14

Re: Prosba o patcha do steownikow ATI dla k2.6.11

Post autor: Masza »

hmm no dziwne to jest, bo identyczny kernel i identyczne sterowniki i..identyczny system ;)))

chyab ze..jakiego Xorga masz?? bo ja 6.8.1 :) moze w tym problem :)

ahh to ati :))
|Slackware 10.2|KDE 3.5|
Linux Registered: #308891

ODPOWIEDZ