projects / fglrx-packaging.git / commitdiff
Build Results
 
Summary

Description: The git repository for the ATI/AMD fglrx packaging scripts.
Last Change: Thu 2/4/10 2:40

Recent Commits
Time
Signed-Off By
Description
Commit Diff
Thu 2/4/10 2:39
Mario Limonciello  
Convert to alternatives... 
Thu 2/4/10 1:55
Mario Limonciello  
Drop old kdelnk file... 
Thu 2/4/10 0:49
Mario Limonciello  
Drop arch stuff for fglrx... 
Wed 2/3/10 1:56
Mario Limonciello  
Migrate over to dh7. No... 
Wed 2/3/10 1:22
Mario Limonciello  
Bump standard version for... 
Sat 1/30/10 16:05
Anssi Hannula  
Mandriva: adapt for... 
 
> --git a/Ubuntu/ChangeLog b/Ubuntu/ChangeLog
index 0dcae38
..aebccc2 100755
--- a/Ubuntu/ChangeLog
+++ b/Ubuntu/ChangeLog
@@ -1,+1,@@
+
2008-07-21 Mario Limonciello <mario_limonciello@Dell.com>
+        * 
dists/intrepid/patches/02_2.6.26_support.patch:
+        - 
Update to current firegl_public.c in 8.512 release
+        * dists/intrepid/changelog.in:
+        - 
Sync changelog wUbuntu
+
 
2008-07-08 Mario Limonciello <mario_limonciello@Dell.com>
         * 
dists/intrepid/xorg-driver-fglrx.postrm:
         - 
Clean up AMD64 diversions properly.
diff --git a/Ubuntu/dists/intrepid/changelog.in b/Ubuntu/dists/intrepid/changelog.in
index d1dbca6
..8e9a663 100644
--- a/Ubuntu/dists/intrepid/changelog.in
+++ b/Ubuntu/dists/intrepid/changelog.in
@@ -1,+1,14 @@
+
fglrx-installer (2:8.512-0ubuntu1intrepidurgency=low
+
+  * New 
upstream release.
+  * 
Update 02_2.6.26_support.dpatch for changes in firegl_public.c.
+  * 
debian/control:
+    - 
Depend upon libstdc++5.
+  * debian/xorg-driver-fglrx.postrm:
+    - 
Clean up AMD64 diversions properly.
+
+ -- 
Mario Limonciello <mario_limonciello@dell.com>  Mon21 Jul 2008 13:58:26 -0500
+
 
fglrx-installer (2:8.501-0ubuntu3intrepidurgency=low

   
drop debian/patches/01_2.6.25.patch:
diff --git a/Ubuntu/dists/intrepid/patches/02_2.6.26_support.patch b/Ubuntu/dists/intrepid/patches/02_2.6.26_support.patch
index 317d1da
..a94205d 100644
--- a/Ubuntu/dists/intrepid/patches/02_2.6.26_support.patch
+++ b/Ubuntu/dists/intrepid/patches/02_2.6.26_support.patch
@@ -2,+2,@@
 
#It is originally by   Zilvina Valinskas <zilvinas@ilibox.com>
 #and adapted for AMD's 8-6 driver by Mario Limonciello <Mario_Limonciello@Dell.com>

-diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/firegl_public.c fglrx-installer-8.501.new/lib/modules/fglrx/build_mod/firegl_public.c
---- fglrx-installer-8.501/lib/modules/fglrx/build_mod/firegl_public.c    2008-06-19 01:45:20.000000000 -0500
-+++ fglrx-installer-8.501.new/lib/modules/fglrx/build_mod/firegl_public.c    2008-07-07 14:06:02.000000000 -0500
+diff -Nur -'*.orig' -'*~' fglrx-installer-8.512/lib/modules/fglrx/build_mod/firegl_public.c fglrx-installer-8.512.new/lib/modules/fglrx/build_mod/firegl_public.c
+--- fglrx-installer-8.512/lib/modules/fglrx/build_mod/firegl_public.c    2008-07-21 14:32:08.000000000 -0400
++++ fglrx-installer-8.512.new/lib/modules/fglrx/build_mod/firegl_public.c    2008-07-21 14:31:48.000000000 -0400
 
@@ -24,13 +24,13 @@
  
// ============================================================
  #include <linux/version.h>
@@ -55,16 +55,16 @@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
  
#include <linux/utsrelease.h>
  #endif

-@@ -210,+210,@@
int __ke_debuglevel 0;
int __ke_moduleflags 0;
+@@ -
215,+215,@@
+
+ static 
void ATI_API_CALL __ke_printstr(const char *str);

 -static 
struct pci_device_id fglrx_pci_table[] =
 +static 
struct pci_device_id fglrx_pci_table[] =
  {
  
#define FGL_ASIC_ID(x)                      \
     
{                           
-@@ -
278,+278,@@
+@@ -
283,+283,@@

  static 
int firegl_pat_enabled 0;
  static 
unsigned long KCL_pat[2];
@@ -
73,+73,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/

  static 
int ATI_API_CALL KCL_enable_pat(void);
  static 
void ATI_API_CALL KCL_disable_pat(void);
-@@ -
305,+305,@@
+@@ -
322,+322,@@
  
#endif

  
__ke_ssize_t ip_firegl_readstruct file *filp,
@@ -
82,+82,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
                           
__ke_size_t size,
                           
__ke_loff_t *off_ptr)
  {
-@@ -
313,+313,@@
+@@ -
334,+334,@@
  }

  
__ke_ssize_t ip_firegl_writestruct file *filp,
@@ -
91,+91,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
                            
__ke_size_t size,
                            
__ke_loff_t *off_ptr)
  {
-@@ -
449,34 +449,34 @@
READ_PROC_WRAP(firegl_bios_version)
READ_PROC_WRAP(firegl_interrupt_info)
+@@ -
477,34 +477,34 @@
+     return 
firegl_debug_proc_write(filebuffercountdata);
+ }

 -static 
int
 
+static int
@@ -138,+138,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
  {
      if(
firegl_interrupt_poll(user_file, (__ke_poll_table*)pt))
      {
-@@ -
488,11 +488,11 @@
+@@ -
516,11 +516,11 @@
      }
  }

@@ -
154,+154,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
          
loff_t *user_file_pos)
  {
      return (
ssize_tfiregl_interrupt_write(user_fileuser_bufuser_buf_sizeuser_file_pos);
-@@ -
502,+502,@@
+@@ -
530,+530,@@
   *  
param func function to be wrapped
   
*  return None */

@@ -
163,+163,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
  
firegl_smp_func_parameter_wrap(
  
void *func)
  {
-@@ -
517,+517,@@
+@@ -
545,+545,@@
      .
write      firegl_interrupt_write_wrap
  
};

@@ -
172,+172,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
  {
      { 
"name",           drm_name_info_wrap,         NULL},
      { 
"mem",            drm_mem_info_wrap,          NULL},
-@@ -
586,11 +586,11 @@
+@@ -
613,11 +613,11 @@
          {
              
ent->proc_fops = (struct file_operations*)list->fops;
          }
@@ -
186,+186,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
          list++;
      }

-@@ -
623,+623,@@
+@@ -
663,+663,@@
      {
          
remove_proc_entry("dri"NULL);
          
__KE_DEBUG("remove proc dri. \n");
@@ -
195,+195,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
      return 
0;
  }

-@@ -
661,12 +661,12 @@
+@@ -
701,12 +701,12 @@
  {
      
int i;
          
int count 0;
@@ -
211,+211,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
              {
          
firegl_stub_list[i].name name;
          
firegl_stub_list[i].fops fops;
-@@ -
693,16 +693,16 @@
+@@ -
733,16 +733,16 @@
      if (
minor || minor >= FIREGL_STUB_MAXCARDS)
      {
          return -
1;
@@ -
231,+231,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
      return 
0;
  }

-@@ -
726,+726,@@
+@@ -
766,+766,@@
          return -
1;
      } else if(
err == -EBUSY) {

@@ -
240,+240,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
          
// because there was already some other drm module loaded.
          
__KE_DEBUG("register_chrdev() failed with -EBUSY\n");
      return -
1;
-@@ -
758,+758,@@
+@@ -
798,+798,@@
  
/* Starting from 2.6.14, kernel has new struct defined for pm_message_t,
     we have to handle this case separately.
     2.6.11/12/13 kernels have pm_message_t defined as int and older kernels
@@ -249,7 +249,7 @@ diff -Nur -x '*.orig' -x '*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
   */
  #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,14)
  
static int fglrx_pci_suspend(struct pci_dev *pdevpm_message_t pm_event)
-@@ -
794,+794,@@
+@@ -
834,+834,@@

      if (!
ret)
      {
@@ -
262,+262,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
          
firegl_pci_save_state((__ke_pci_dev_t*)pdevprivdev);
          
pci_disable_device(pdev);
          
PMSG_EVENT(pdev->dev.power.power_state) = state;
-@@ -
848,13 +848,13 @@
+@@ -
888,13 +888,13 @@
      
// before pci_set_master!
      
firegl_pci_restore_state((__ke_pci_dev_t*)pdevprivdev);

@@ -
279,+279,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
      
firegl_cail_powerup(privdev);

      if (
PMSG_EVENT(pdev->dev.power.power_state) == PM_EVENT_SUSPEND)
-@@ -
865,+865,@@
+@@ -
905,+905,@@
      return 
0;
  }

@@ -
288,+288,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
  {
      .
name           "fglrx_pci",
      .
id_table       fglrx_pci_table,
-@@ -
921,10 +921,10 @@
+@@ -
961,10 +961,10 @@
      {
          
pid = (struct pci_device_id *) &fglrx_pci_table[i];
          
pdev NULL;
@@ -
303,+303,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
                                         
pdev)) != NULL)
          {
              
num_of_devices++;
-@@ -
934,+934,@@
+@@ -
974,+974,@@

      if (
firegl_init_device_heads(num_of_devices))
      {
@@ -
312,+312,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
      }

      for (
i=0fglrx_pci_table[i].vendor != 0i++)
-@@ -
942,15 +942,15 @@
+@@ -
982,15 +982,15 @@
          
pid = (struct pci_device_id *) &fglrx_pci_table[i];

          
pdev NULL;
@@ -
333,+333,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
              }

              
j++;
-@@ -
983,+983,@@
+@@ -
1023,+1023,@@
      
// init global vars that are in fact constants
      
__ke_HZ HZ;

@@ -
342,+342,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
      
__ke_SetSerialPort();
  
#endif

-@@ -995,11 +995,11 @@
+@@ -
1035,11 +1035,11 @@
          return 
retcode;
      }

@@ -
357,+357,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
      
// init DRM proc list
      
drm_proclist kmalloc((DRM_PROC_ENTRIES 1) * sizeof(__ke_proc_list_t), GFP_KERNEL);
      if ( 
drm_proclist == NULL )
-@@ -
1087,+1087,@@
+@@ -
1127,+1127,@@
              
dev->pubdev.date,
              
firegl_minors);

@@ -
366,+366,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
  
#ifdef FIREGL_POWER_MANAGEMENT
      
if (pci_register_driver (&fglrx_pci_driver) < 0)
      {
-@@ -
1117,12 +1117,12 @@
+@@ -
1157,12 +1157,12 @@
      {
         
KCL_disable_pat();
         
__KE_INFO("Disable PAT\n");
@@ -
381,+381,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
          {
              
__KE_ERROR("Cannot unload module on minor: %d\n"i);
          }
-@@ -
1144,10 +1144,10 @@
+@@ -
1184,10 +1184,10 @@
              
dev->pubdev.patchlevel,
              
dev->pubdev.date);

@@ -
395,+395,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/

      
firegl_private_cleanup (&dev->pubdev);

-@@ -
1225,18 +1225,18 @@
+@@ -
1265,18 +1265,18 @@
  
void ATI_API_CALL __ke_remove_wait_queue(__ke_wait_queue_head_tqueue_head__ke_wait_queue_tentry)
  {
  
//    current->state = TASK_RUNNING;
@@ -417,+417,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
  }

  
void ATI_API_CALL __ke_poll_wait(struct filefilp__ke_wait_queue_head_tqueue_head__ke_poll_tablept)
-@@ -
1247,13 +1247,13 @@
+@@ -
1287,13 +1287,13 @@
  
void ATI_API_CALL *__ke_asyncio_alloc_sema()
  {
      
int i;
@@ -
433,+433,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
              return &(
fireglAsyncioSemaphore[i]);
          }
      }
-@@ -
1263,+1263,@@
+@@ -
1303,+1303,@@
  
void ATI_API_CALL __ke_asyncio_free_sema(struct semaphore *pSema)
  {
      
int i;
@@ -
442,+442,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
      for(
i=0i<FIREGL_ASYNCIO_MAX_SEMAi++)
      {
          if( &(
fireglAsyncioSemaphore[i]) == pSema )
-@@ -
1277,15 +1277,15 @@
+@@ -
1317,15 +1317,15 @@
  
void ATI_API_CALL __ke_asyncio_init_sema(void)
  {
      
int i;
@@ -
462,+462,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
                          
int mode,
                          
struct fasync_struct **pasync_queue)
  {
-@@ -
1359,33 +1359,33 @@
+@@ -
1403,33 +1403,33 @@
  {
     
struct task_struct *p;
     
int process_terminated 1;
@@ -
509,+509,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
   *  /return 
Nonzero if a system call was awakened by a signal
   
*/
  
int ATI_API_CALL KCL_GetSignalStatus(void)
-@@ -
1439,15 +1439,15 @@
+@@ -
1483,15 +1483,15 @@
      
unblock_all_signals();
  }

@@ -
533,+533,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
          
__asm__ __volatile__(LOCK_PREFIX "cmpxchgb %b1,%2"
                               
"=a"(prev)
                               : 
"q"(new), "m"(*__xg(ptr)), "0"(old)
-@@ -
1558,+1558,@@
+@@ -
1602,+1602,@@
   */
  
KCL_TYPE_Pid ATI_API_CALL KCL_GetPid(void)
  {
@@ -
542,+542,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
  }

  
/** /brief Return the current Thread Group ID
-@@ -1566,7 +1566,7 @@
+@@ -1610,7 +1610,7 @@
   */
  
KCL_TYPE_Pid ATI_API_CALL KCL_GetTgid(void)
  {
@@ -
551,+551,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
  }

  
/** /brief Return the effective user ID
-@@ -1662,7 +1662,7 @@
+@@ -1706,7 +1706,7 @@
      1
  #else
      0
@@ -560,7 +560,7 @@ diff -Nur -x '*.orig' -x '*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
  };

  /** /brief Check whether a kernel configuration parameter is defined
-@@ -1730,13 +1730,13 @@
+@@ -1792,13 +1792,13 @@
  #if defined(__x86_64__) || defined(__ia64__)
  void* ATI_API_CALL __ke_pci_alloc_consistent(__ke_pci_dev_t* dev, int size, void *dma_handle)
  {
@@ -576,7 +576,7 @@ diff -Nur -x '*.orig' -x '*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
          (unsigned long)dma_handle);
  }
  #endif // __ia64__
-@@ -1760,7 +1760,7 @@
+@@ -1822,7 +1822,7 @@

  /** \brief This function maps OS independent error conditions to OS defined error codes
   *  \param errcode OS independent error condition code
@@ -585,7 +585,7 @@ diff -Nur -x '*.orig' -x '*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
   */
  
int ATI_API_CALL KCL_GetErrorCode(KCL_ENUM_ErrorCode errcode)
  {
-@@ -
1778,+1778,@@
+@@ -
1840,+1840,@@
  
int ATI_API_CALL firegl_get_user_ptr(u32 *srcvoid **dst)
  {
    
unsigned long temp;
@@ -
594,89 +594,16 @@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
    *
dst = (void*) temp;
    return 
err;
  }
-@@ -
1918,+1918,@@
-
int ATI_API_CALL __ke_atomic_dec_and_test(voidv)
+@@ -
2019,+2019,@@
+  */
int ATI_API_CALL KCL_AtomicDecAndTest(KCL_TYPE_Atomicv)
  {
 -    return 
atomic_dec_and_test((atomic_t*)v);
 +    return 
atomic_dec_and_test((atomic_t*)v);
  }

  
/*****************************************************************************/
-@@ -2018,19 +2018,19 @@
#endif
-
#ifdef _KE_SERIAL_DEBUG
--// To enable serial port debug message dumping,just define _KE_SERIAL_DEBUG in firegl_public.h file.
--// Connect two PC with a null modern serial cable. run Hyper ternimal on the remote machine.
--// It's useful to debug resume if network not works properly and serial port is not recovered
-+// To enable serial port debug message dumping,just define _KE_SERIAL_DEBUG in firegl_public.h file.
-+// Connect two PC with a null modern serial cable. run Hyper ternimal on the remote machine.
-+// It's useful to debug resume if network not works properly and serial port is not recovered
// properly when fglrx resume hook is called...
--
--
-+
-+
#define SER_DATA_PORT       0x3f8
#define SER_INT_CTRL_PORT   SER_DATA_PORT + 1
#define SER_INT_STAT_PORT   SER_DATA_PORT + 2
#define SER_LINE_CTRL_PORT  SER_DATA_PORT + 3
#define SER_MODEM_CTRL_PORT SER_DATA_PORT + 4
#define SER_LINE_STAT_PORT  SER_DATA_PORT + 5
--
-+
void ATI_API_CALL __ke_printc(char c)
- {
-      while((
inb(SER_LINE_STAT_PORT) & 0x20) == ); //wait until Transmitter Holding Register Empty
-@@ -2040,+2040,@@
void ATI_API_CALL __ke_printstr(const char *str)
- {
-     
int len strlen(str);
--    while(
len--)__ke_printc(*str++);
-+    while(
len--)__ke_printc(*str++);
- }
-
int ATI_API_CALL __ke_SerPrint(const char *format, ...)
-@@ -
2053,26 +2053,26 @@
-     
vsprintf(bufferformatap);
-
-     
va_end(ap);
--
-+
-     
__ke_printstr(buffer);
--
-+
-     return 
0;
- }
void ATI_API_CALL __ke_SetSerialPort()
- {
-     
DRM_INFO("setup serial port\n");
--    
outb(0x00,  SER_INT_CTRL_PORT);   // Turn off interrupts
-+    outb(0x00,  SER_INT_CTRL_PORT);   // Turn off interrupts
-
--    
outb(0x80,  SER_LINE_CTRL_PORT);  // SET DLAB ON
--    outb(0x01,  SER_DATA_PORT);  // Set Baud rate - Divisor Latch Low Byte
--                             // 0x01 = 115,200 ,0x02 =  57,600,  0x06 =  19,200 BPS, 0x0C =   9,600 BPS
--    outb(0x00,  SER_DATA_PORT 1);  // Set Baud rate - Divisor Latch High Byte
--    outb(0x03,  SER_LINE_CTRL_PORT); // reset DLAB ,8 Bits, No Parity, 1 Stop Bit
--    outb(0xC7,  SER_DATA_PORT 2);  // FIFO Control Register
-+    outb(0x80,  SER_LINE_CTRL_PORT);  // SET DLAB ON
-+    outb(0x01,  SER_DATA_PORT);  // Set Baud rate - Divisor Latch Low Byte
-+                             // 0x01 = 115,200 ,0x02 =  57,600,  0x06 =  19,200 BPS, 0x0C =   9,600 BPS
-+    outb(0x00,  SER_DATA_PORT 1);  // Set Baud rate - Divisor Latch High Byte
-+    outb(0x03,  SER_LINE_CTRL_PORT); // reset DLAB ,8 Bits, No Parity, 1 Stop Bit
-+    outb(0xC7,  SER_DATA_PORT 2);  // FIFO Control Register
-     outb(0x0b,  SER_DATA_PORT 4);  // Turn on DTR, RTS, and OUT2
--
-+
-     
__ke_printstr("serial port 0x3f8 is set ready for message print out \n");
--}
-+}
#endif
-
/** \brief Get number of available RAM pages
-@@ -2256,7 +2256,7 @@
+@@ -2394,7 +2394,7 @@
      struct page *page = NULL;

      page = vmalloc_to_page(vmalloc_addr);
@@ -685,7 +612,7 @@ diff -Nur -x '*.orig' -x '*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
      {
          __KE_ERROR("__ke_vmalloc_to_addr: invalid page!");
          return NULL;
-@@ -2298,7 +2298,7 @@
+@@ -2436,7 +2436,7 @@
      retcode = do_munmap(current->mm,
                          addr,
                          len);
@@ -694,7 +621,7 @@ diff -Nur -x '*.orig' -x '*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
      up_write(&current->mm->mmap_sem);
      return retcode;
  }
-@@ -2342,10 +2342,10 @@
+@@ -2480,10 +2480,10 @@
         minus = !minus;
      }
      else
@@ -707,7 +634,7 @@ diff -Nur -x '*.orig' -x '*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
      do_div(un, ubase);
      return (minus? -un : un);
  }
-@@ -2375,7 +2375,7 @@
+@@ -2513,7 +2513,7 @@
      else
      {
         ubase = base;
@@ -716,7 +643,7 @@ diff -Nur -x '*.orig' -x '*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/

      rem = do_div(un, ubase);
      return (minus? -rem : rem);
-@@ -2406,7 +2406,7 @@
+@@ -2544,7 +2544,7 @@
      vaddr = (void *) vmap(pages, count);
  #else
  #ifdef VM_MAP
@@ -725,7 +652,7 @@ diff -Nur -x '*.orig' -x '*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
  #else
      vaddr = (void *) vmap(pages, count, 0, PAGE_KERNEL);
  #endif
-@@ -2462,7 +2462,7 @@
+@@ -2600,7 +2600,7 @@
  }
  #endif  // defined(VM_MAP) || defined(vunmap)

@@ -734,7 +661,7 @@ diff -Nur -x '*.orig' -x '*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
   *
   * \param pt Kernel logical address of the page
   *
-@@ -2474,7 +2474,7 @@
+@@ -2612,7 +2612,7 @@
      SetPageReserved(virt_to_page((unsigned long)pt));
  }

@@ -743,7 +670,7 @@ diff -Nur -x '*.orig' -x '*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
   *
   * \param pt Kernel logical address of the page
   *
-@@ -2486,7 +2486,7 @@
+@@ -2624,7 +2624,7 @@
      ClearPageReserved(virt_to_page((unsigned long)pt));
  }

@@ -752,7 +679,7 @@ diff -Nur -x '*.orig' -x '*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
   *
   * \param pt Kernel logical address of the page
   *
-@@ -2495,14 +2495,14 @@
+@@ -2633,14 +2633,14 @@
   */
  
void ATI_API_CALL KCL_LockMemPage(voidpt)
  {
@@ -
769,+696,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
   *
   * 
param pt Kernel logical address of the page
   
*
-@@ -
2511,+2511,@@
+@@ -
2649,+2649,@@
   */
  
void ATI_API_CALL KCL_UnlockMemPage(voidpt)
  {
@@ -
778,+705,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
      
ClearPageReserved(virt_to_page((unsigned long)pt));
  
#else
      
unlock_page(virt_to_page((unsigned long)pt));
-@@ -
2536,+2536,@@
+@@ -
2674,+2674,@@
      return 
memory->vmptr;
  }
  
#endif
@@ -787,+714,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
  
voidATI_API_CALL __ke_ioremap(unsigned long offsetunsigned long size)
  {
      return 
ioremap(offsetsize);
-@@ -
2592,+2592,@@
+@@ -
2724,+2724,@@
  {
  
/*Some kernel developer removed the export of symbol "flush_tlb_page" on 2.6.25 x86_64 SMP kernel.
    Define a simple version here.*/
@@ -796,+723,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
      
on_each_cpu(KCL_flush_tlb_one, &va11);
  
#else
      
flush_tlb_page(vmava);
-@@ -
2698,+2698,@@
+@@ -
2884,+2884,@@
  static 
inline int ptep_clear_flush_dirty(struct vm_area_struct *vmaunsigned long addrpte_t *ptep)
  {
      
int ret 0;
@@ -
808,+735,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
      if (
pte_dirty(*ptep))
      {
  
#ifdef __x86_64__
-@@ -2715,19 +2715,19 @@
+@@ -
2901,19 +2901,19 @@
          {
              
pte_update(vma->vm_mmaddrptep);
          }
@@ -
832,16 +759,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
      return 
ret;
  }
  
#endif
-@@ -2754,+2754,@@
-  * 
the virtual address
-  *
-  * 
param mm Pointer to the memory descriptor structure
-- * param virtual_addr Virtual address
-+ * param virtual_addr Virtual address
-  *
-  * return 
Old value of the "dirty" flag on success or negative on error
-  *
-@@ -
3015,+3015,@@
+@@ -
3279,+3279,@@
         return 
0;
  
#else
      
return 1;
@@ -
850,+768,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
  
#else /* !CONFIG_MTRR */
      
return 0;
  
#endif /* !CONFIG_MTRR */
-@@ -3041,+3041,@@
+@@ -
3305,+3305,@@

  
int ATI_API_CALL __ke_has_vmap(void)
  {
@@ -
859,16 +777,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
  
#if defined(VM_MAP) || defined(vunmap)
      
return 1;
  
#else
-@@ -3063,+3063,@@
- {
-     return 
0;
- }
--
#endif
-+#endif
-
/*****************************************************************************/
-
-@@ -
3124,+3124,@@
+@@ -
3372,+3372,@@
  {
      
struct pci_devdev = (struct pci_dev*)pcidev;
      return 
PCI_FUNC(dev->devfn);
@@ -
877,25 +786,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/

  
__ke_dma_addr_t ATI_API_CALL __ke_pci_map_single (__ke_pci_dev_t *pdevvoid *buffer__ke_size_t sizeint direction)
  {
-@@ -
3211,+3211,@@
-     return 
IRQ_HANDLED;
- }
#endif
--
-+
int ATI_API_CALL __ke_request_irq(unsigned int irq,
-     
void (*ATI_API_CALL handler)(intvoid *, void *),
-     const 
char *dev_namevoid *dev_id)
-@@ -
3224,+3224,@@
-         
SA_SHIRQ,
#else
-         IRQF_SHARED,
--
#endif
-+#endif
-         dev_name,
-         
dev_id);
- }
-@@ -
3260,12 +3260,12 @@
+@@ -
3525,12 +3525,12 @@
      return (int)(
agpmem->page_count);
  }

@@ -
911,+802,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
                 (
unsigned long)agpmem->memory,
                 (
agpmem->memory)[0]);

-@@ -
3274,18 +3274,@@
+@@ -
3539,18 +3539,@@

  
/*****************************************************************************/

@@ -930,+821,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/

  
#ifdef __AGP__BUILTIN__
  #ifdef __ia64__
-@@ -3310,19 +3301,20 @@
+@@ -
3575,19 +3566,20 @@
              return 
page;
          }
      }
@@ -
954,+845,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
      
unsigned long vma_offset;
      
unsigned long pte_linear;
      
mem_map_tpMmPage;
-@@ -
3351,+3343,@@
+@@ -
3616,+3608,@@
              (
unsigned long)__ke_vm_offset(vma));

      if (
address vma->vm_end)
@@ -
963,+854,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/

      
/*  Calculate offset into VMA */
      
vma_offset address vma->vm_start;
-@@ -
3363,+3355,@@
+@@ -
3628,+3620,@@
      
pte_linear firegl_get_addr_from_vm(vma);
      if (!
pte_linear)
      {
@@ -
972,+863,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
      }
      
pte_linear += vma_offset;

-@@ -
3391,+3383,@@
+@@ -
3656,+3648,@@

      
//  __KE_DEBUG3("vm-address 0x%08lx => kernel-page-address 0x%p\n",
      //    address, page_address(pMmPage));
@@ -983,+874,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
  }

  
/*
-@@ -3400,8 +3394,10 @@
+@@ -3665,8 +3659,10 @@
        (which is one ore more pages in size)

  */
@@ -995,+886,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
      
unsigned long kaddr;
      
mem_map_tpMmPage;

-@@ -
3417,+3413,@@
+@@ -
3682,+3678,@@
      
kaddr firegl_get_addr_from_vm(vma);
      if (!
kaddr)
      {
@@ -
1004,+895,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
      }
      
kaddr += (address vma->vm_start);

-@@ -
3429,19 +3425,23 @@
+@@ -
3694,19 +3690,23 @@
      
// with drm_alloc_pages, which marks all pages as reserved. Reserved
      // pages' usage count is not decremented by the kernel during unmap!!!
      //
@@ -1032,+923,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
      
unsigned long kaddr;
      
mem_map_tpMmPage;

-@@ -
3451,13 +3451,14 @@
+@@ -
3716,13 +3716,14 @@
      if ((
pMmPage = (mem_map_t*) firegl_get_pagetable_page_from_vm(vma)))
      {
          
get_page(pMmPage);
@@ -
1049,+940,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
      }
      
kaddr += (address vma->vm_start);

-@@ -
3470,50 +3471,52 @@
+@@ -
3735,50 +3736,52 @@

      
__KE_DEBUG3("vm-address 0x%08lx => kernel-page-address 0x%p\n"addresspage_address(pMmPage));

@@ -
1116,+1007,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
      
/** Find offset in  vma */
      
vma_offset address vma->vm_start;
      
/** Which entry in the pagelist */
-@@ -3525,15 +3528,17 @@
+@@ -
3790,15 +3793,17 @@
      if (
page_address(pMmPage) == 0x0)
      {
          
__KE_ERROR("Invalid page address\n");
@@ -
1139,+1030,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
      
unsigned long page_addr;
      
unsigned long offset;
      
struct page *page;
-@@ -
3541,36 +3546,31 @@
+@@ -
3806,36 +3811,31 @@
      if (
address vma->vm_end)
      {
          
__KE_ERROR("Invalid virtual address\n");
@@ -
1178,+1069,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
 -                                 
unsigned long address,
 -                                 
int *type)
 +static 
int vm_nopage(struct vm_area_structvma,
-+             
struct vm_fault *vmf)
++             
struct vm_fault *vmfint type)
  {
 -    if (
type) *type VM_FAULT_MINOR;
 -        return 
do_vm_nopage(vmaaddress);
@@ -
1186,+1077,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
  }

  
#ifdef __AGP__BUILTIN__
-@@ -3602,12 +3602,10 @@
+@@ -
3867,12 +3867,10 @@
      (
which is one or more pages in size)

   */
@@ -
1194,+1085,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
 -                                     
unsigned long address,
 -                                     
int *type)
 +static 
int vm_shm_nopage(struct vm_area_structvma,
-+             
struct vm_fault *vmf)
++             
struct vm_fault *vmfint type)
  {
 -    if (
type) *type VM_FAULT_MINOR;
 -        return 
do_vm_shm_nopage(vmaaddress);
@@ -
1202,+1093,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
  }

  
/*
-@@ -3616,116 +3614,30 @@
+@@ -3881,115 +3879,29 @@
        (which is one ore more pages in size)

  */
@@ -1210,47 +1101,50 @@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
 -                                     
unsigned long address,
 -                                     
int *type)
 +static 
int vm_dma_nopage(struct vm_area_structvma,
-+             
struct vm_fault *vmf)
++             
struct vm_fault *vmfint type)
  {
 -    if (
type) *type VM_FAULT_MINOR;
 -        return 
do_vm_dma_nopage(vmaaddress);
-+        return 
do_vm_dma_nopage(vmavmf);
- }
-
+-}
+-
 -static 
vm_nopage_ret_t vm_kmap_nopage(struct vm_area_structvma,
 -                                     
unsigned long address,
 -                                     
int *type)
-+static 
int vm_kmap_nopage(struct vm_area_structvma,
-+              
struct vm_fault *vmf)
- {
+-{
 -    if (
type) *type VM_FAULT_MINOR;
 -        return 
do_vm_kmap_nopage(vmaaddress);
-+        return 
do_vm_kmap_nopage(vmavmf);
- }
-
+-}
+-
 -static 
vm_nopage_ret_t vm_pcie_nopage(struct vm_area_structvma,
 -                                     
unsigned long address,
 -                                     
int *type)
 -{
 -       return 
do_vm_pcie_nopage(vmaaddress);
--}
--
++        return 
do_vm_dma_nopage(vmavmf);
+ }
+
 -static 
vm_nopage_ret_t vm_gart_nopage(struct vm_area_structvma,
 -                                      
unsigned long address,
 -                                      
int *type)
--{
++static 
int vm_kmap_nopage(struct vm_area_structvma,
++              
struct vm_fault *vmfint type)
+ {
 -       return 
do_vm_gart_nopage(vmaaddress);
--}
--
++        return 
do_vm_kmap_nopage(vmavmf);
+ }
+
 -
#else   /* LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,0) */
 
-
 -static 
vm_nopage_ret_t vm_nopage(struct vm_area_structvma,
 -                                 
unsigned long address,
 -                                 
int write_access)
--{
++static 
int vm_pcie_nopage(struct vm_area_structvma,
++              
struct vm_fault *vmfint type)
+ {
 -    return 
do_vm_nopage(vmaaddress);
--}
--
++    return 
do_vm_pcie_nopage(vmavmf);
+ }
+
 -
#ifdef __AGP__BUILTIN__
 
-#ifdef __ia64__
 
-
@@ -
1258,+1152,12 @@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
 -static 
vm_nopage_ret_t vm_cant_nopage(struct vm_area_structvma,
 -                                 
unsigned long address,
 -                                 
int write_access)
--{
++static 
int vm_gart_nopage(struct vm_area_structvma,
++              
struct vm_fault *vmfint type)
+ {
 -    return 
do_vm_cant_nopage(vmaaddress);
--}
++       return 
do_vm_gart_nopage(vmavmf);
+ }
 -
#endif /* __ia64__ */
 
-#endif /* __AGP__BUILTIN__ */
 
-
@@ -
1301,13 +1198,10 @@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
 -static 
vm_nopage_ret_t vm_kmap_nopage(struct vm_area_structvma,
 -                                     
unsigned long address,
 -                                     
int write_access)
-+static 
int vm_pcie_nopage(struct vm_area_structvma,
-+              
struct vm_fault *vmf)
- {
+-{
 -     return 
do_vm_kmap_nopage(vmaaddress);
-+    return 
do_vm_pcie_nopage(vmavmf);
- }
-
+-}
+-
 -static 
vm_nopage_ret_t vm_pcie_nopage(struct vm_area_structvma,
 -                                     
unsigned long address,
 -                                     
int write_access)
@@ -
1318,20 +1212,16 @@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
 -static 
vm_nopage_ret_t vm_gart_nopage(struct vm_area_structvma,
 -                                      
unsigned long address,
 -                                      
int *type)
-+static 
int vm_gart_nopage(struct vm_area_structvma,
-+              
struct vm_fault *vmf)
- {
+-{
 -       return 
do_vm_gart_nopage(vmaaddress);
-+       return 
do_vm_gart_nopage(vmavmf);
- }
-
+-}
 -
--
#endif /* LINUX_VERSION_CODE > KERNEL_VERSION(2,6,0) */
 
-
+-
#endif /* LINUX_VERSION_CODE > KERNEL_VERSION(2,6,0) */
+
  
voidATI_API_CALL __ke_vma_file_priv(struct vm_area_structvma)
  {
-     return 
vma->vm_file->private_data;
-@@ -
3775,+3687,@@
+@@ -
4040,+3952,@@
      *(
buf i++) = pgprot _PAGE_DIRTY    'd' '-';
      *(
buf i++) = pgprot _PAGE_PSE      'm' 'k';
      *(
buf i++) = pgprot _PAGE_GLOBAL   'g' 'l';
@@ -
1340,+1230,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
      *(
buf i++) = 0;

      return 
buf;
-@@ -
3804,+3716,@@
+@@ -
4069,+3981,@@
      return 
buf;
  }

@@ -
1353,110 +1243,92 @@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
                              
__ke_dma_addr_tphys_address)
  {
      
pgd_tpgd_p;
-@@ -
3830,+3742,@@
+@@ -
4174,+4086,@@

  static 
struct vm_operations_struct vm_ops =
  {
--    
nopage:  vm_nopage,
-+    
fault:   vm_nopage,
+-    
nopage:  ip_vm_nopage,
++    
fault:  ip_vm_nopage,
      
open:    ip_drm_vm_open,
      
close:   ip_drm_vm_close,
  };
-@@ -
3848,42 +3760,42 @@
+@@ -
4183,+4095,@@
#ifdef __ia64__
+ static struct vm_operations_struct vm_cant_ops =
+ {
+-    
nopage:  ip_vm_cant_nopage,
++    
fault:  ip_vm_cant_nopage,
+     
open:    ip_drm_vm_open,
+     
close:   ip_drm_vm_close,
+ };
+@@ -
4192,42 +4104,42 @@

  static 
struct vm_operations_struct vm_shm_ops =
  {
--    
nopage:  vm_shm_nopage,
-+    
fault:   do_vm_shm_nopage,
+-    
nopage:  ip_vm_shm_nopage,
++    
fault:  ip_vm_shm_nopage,
      
open:    ip_drm_vm_open,
      
close:   ip_drm_vm_close,
  };

  static 
struct vm_operations_struct vm_pci_bq_ops =
  {
--    
nopage:  vm_dma_nopage,
-+    
fault:   vm_dma_nopage,
+-    
nopage:  ip_vm_dma_nopage,
++    
fault:  ip_vm_dma_nopage,
      
open:    ip_drm_vm_open,
      
close:   ip_drm_vm_close,
  };

  static 
struct vm_operations_struct vm_ctx_ops =
  {
--    
nopage:  vm_dma_nopage,
-+    
fault:   vm_dma_nopage,
+-    
nopage:  ip_vm_dma_nopage,
++    
fault:  ip_vm_dma_nopage,
      
open:    ip_drm_vm_open,
      
close:   ip_drm_vm_close,
  };

--static 
struct vm_operations_struct vm_pcie_ops =
-+static 
struct vm_operations_struct vm_pcie_ops =
+ static 
struct vm_operations_struct vm_pcie_ops =
  {
--    
nopage:  vm_pcie_nopage,
-+    
fault:   vm_pcie_nopage,
+-    
nopage:  ip_vm_pcie_nopage,
++    
fault:  ip_vm_pcie_nopage,
      
open:    ip_drm_vm_open,
      
close:   ip_drm_vm_close,
  };

  static 
struct vm_operations_struct vm_kmap_ops =
  {
--    
nopage:  vm_kmap_nopage,
-+    
fault:   vm_kmap_nopage,
+-    
nopage:  ip_vm_kmap_nopage,
++    
fault:  ip_vm_kmap_nopage,
      
open:    ip_drm_vm_open,
      
close:   ip_drm_vm_close,
  };

  static 
struct vm_operations_struct vm_gart_ops =
  {
--    
nopage:  vm_gart_nopage,
-+    
fault:   vm_gart_nopage,
+-    
nopage:  ip_vm_gart_nopage,
++    
fault:  ip_vm_gart_nopage,
      
open:    ip_drm_vm_open,
      
close:   ip_drm_vm_close,
  };
-@@ -
3892,14 +3804,14 @@
+@@ -
4236,14 +4148,14 @@
  
#ifndef __ia64__
  
static struct vm_operations_struct vm_agp_bq_ops =
  {
--    
nopage:  vm_nopage,
-+    
fault:   vm_nopage,
+-    
nopage:  ip_vm_nopage,
++    
fault:  ip_vm_nopage,
      
open:    ip_drm_vm_open,
      
close:   ip_drm_vm_close,
  };
--
#else
-+#else
#else
  
static struct vm_operations_struct vm_cant_agp_bq_ops =
  {
--    
nopage:  vm_cant_nopage,
-+    
fault:   vm_cant_nopage,
+-    
nopage:  ip_vm_cant_nopage,
++    
fault:  ip_vm_cant_nopage,
      
open:    ip_drm_vm_open,
      
close:   ip_drm_vm_close,
  };
-@@ -
3934,19 +3846,19 @@
#ifdef __i386__
-                 if (boot_cpu_data.x86 3)
-                 {
--
#ifdef FIREGL_USWC_SUPPORT
-+#ifdef FIREGL_USWC_SUPPORT
-                     if (!firegl_pat_enabled)
--
#endif
-+#endif
-                     {
-                         
pgprot_val(vma->vm_page_prot) |= _PAGE_PCD;
-                         
pgprot_val(vma->vm_page_prot) &= ~_PAGE_PWT;
-                     }
--
#ifdef FIREGL_USWC_SUPPORT
-+#ifdef FIREGL_USWC_SUPPORT
-                     else
-                     {
-                         
vma->vm_page_prot pgprot_writecombine(vma->vm_page_prot);
--                    }
--
#endif
-+                    }
-+
#endif
-                 }
#endif /* __i386__ */
#ifdef __ia64__
-@@ -3965,+3877,@@
-             }
+@@ -
4298,+4210,@@
+             
vma->vm_ops = &vm_ops;
              break;

 -
#ifdef FIREGL_USWC_SUPPORT
@@ -1464,+1336,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
          case 
__KE_ADPT_REG:
              {
  
#ifdef __ia64__
-@@ -3985,+3897,@@
+@@ -
4318,+4230,@@
                      }
                      else
                      {
@@ -
1473,+1345,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
                      }
                  }
  
#endif /* __i386__ */
-@@ -4004,+3916,@@
+@@ -
4337,+4249,@@
              
vma->vm_ops = &vm_ops;
              }
              break;
@@ -
1482,+1354,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/

          case 
__KE_SHM:
              
vma->vm_flags |= VM_SHM VM_RESERVED/* Don't swap */
-@@ -4038,+3950,@@
+@@ -
4371,+4283,@@

  
#ifdef __AGP__BUILTIN__
          
case __KE_AGP:
@@ -
1491,+1363,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
  
#ifdef __ia64__
              
{
                  
/*
-@@ -4062,9 +3974,9 @@
+@@ -4395,9 +4307,9 @@
                      if( firegl_pat_enabled )
                      {
                          vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
@@ -1503,7 +1375,7 @@ diff -Nur -x '*.orig' -x '*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/

                  if (REMAP_PAGE_RANGE(vma,offset))
                  {
-@@ -4081,8 +3993,8 @@
+@@ -4414,8 +4326,8 @@
  #endif
              break;
          case __KE_AGP_BQS:
@@ -1514,7 +1386,7 @@ diff -Nur -x '*.orig' -x '*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
              {
                  /*
                   * On some systems we can't talk to bus dma address from
-@@ -4105,9 +4017,9 @@
+@@ -4438,9 +4350,9 @@
                      if( firegl_pat_enabled )
                      {
                         vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
@@ -1526,7 +1398,7 @@ diff -Nur -x '*.orig' -x '*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/

                  if (REMAP_PAGE_RANGE(vma,offset))
                  {
-@@ -4136,15 +4048,15 @@
+@@ -4469,15 +4381,15 @@
              break;

           case __KE_GART_USWC:
@@ -1545,7 +1417,7 @@ diff -Nur -x '*.orig' -x '*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
              // fall through
           case __KE_GART_CACHEABLE:
               vma->vm_flags |= VM_RESERVED;
-@@ -4194,7 +4106,7 @@
+@@ -4527,7 +4439,7 @@
  #define FIREGL_agp_backend_release  _X(agp_backend_release)
  #define FIREGL_agp_memory           _X(agp_memory)

@@ -1554,8 +1426,8 @@ diff -Nur -x '*.orig' -x '*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/

  #if defined(CONFIG_AGP) || defined(CONFIG_AGP_MODULE)
  /*****************************************************************************/
-@@ -4309,+4221,@@
int ATI_API_CALL __ke_agpgart_available(__ke_pci_dev_t *pcidevint use_internal)
+@@ -
4642,+4554,@@
int ATI_API_CALL __ke_agpgart_available(__ke_pci_dev_t *pcidev)
  {
      
drm_agp_module_stub = &drm_agp;
 -    
__ke_firegl_agpgart_inuse KERNEL26_AGPGART_INUSE;
@@ -
1563,16 +1435,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
      {
  
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,12)
          
firegl_pci_device = (struct pci_dev*)(void*)pcidev;
-@@ -
4362,+4274,@@
-     } else {
-          
available __ke_firegl_agpgart_available();
-     }
--
-+
-     return 
available;
- }
-
-@@ -
4467,+4379,@@
+@@ -
4778,+4690,@@

      if (
AGP_AVAILABLE(copy_info))
      {
@@ -
1581,+1444,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/

  
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,12)
          
if (firegl_agp_bridge == NULL)
-@@ -
4565,+4477,@@
+@@ -
4876,+4788,@@

  
int ATI_API_CALL __ke_read_agp_caps_registers(__ke_pci_dev_tdevunsigned int *caps)
  {
@@ -
1590,+1453,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
  }

  
int ATI_API_CALL __ke_agp_acquire(__ke_pci_dev_tdev)
-@@ -
4607,+4519,@@
+@@ -
4913,+4825,@@

  
/** \brief Runs a function on all other CPUs
   *  \param func_to_call function to be called on all other cpus
@@ -1602,7 +1465,7 @@ diff -Nur -x '*.orig' -x '*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
  {
  #ifdef CONFIG_SMP
      smp_call_function( firegl_smp_func_parameter_wrap, (void*)func_to_call, 0, 1 );
-@@ -4716,7 +4628,7 @@
+@@ -4926,7 +4838,7 @@

  int ATI_API_CALL KCL_is_pat_enabled(void)
  {
@@ -1611,7 +1474,7 @@ diff -Nur -x '*.orig' -x '*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
  }

  static int ATI_API_CALL KCL_has_pat(void)
-@@ -4732,7 +4644,7 @@
+@@ -4942,7 +4854,7 @@
  {
      unsigned long cr0=0, cr4=0;
      unsigned long flags;
@@ -1620,7 +1483,7 @@ diff -Nur -x '*.orig' -x '*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
      local_irq_save(flags);
      cr0 = read_cr0() | 0x40000000;
      write_cr0(cr0);
-@@ -4763,7 +4675,7 @@
+@@ -4973,7 +4885,7 @@
  {
      unsigned long cr0 = 0, cr4 = 0;
      unsigned long flags;
@@ -1629,7 +1492,7 @@ diff -Nur -x '*.orig' -x '*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
      local_irq_save(flags);
      cr0 = read_cr0() | 0x40000000;
      write_cr0(cr0);
-@@ -4775,7 +4687,7 @@
+@@ -4985,7 +4897,7 @@
         write_cr4(cr4 & ~X86_CR4_PGE);
      }
       __flush_tlb();
@@ -1638,7 +1501,7 @@ diff -Nur -x '*.orig' -x '*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
      wrmsr(MSR_IA32_CR_PAT,  KCL_orig_pat[0], KCL_orig_pat[1]);

      cr0 = read_cr0();
-@@ -4798,7 +4710,7 @@
+@@ -5008,7 +4920,7 @@
           __KE_INFO("USWC is disabled in module parameters\n");
           return 0;
       }
@@ -1647,7 +1510,7 @@ diff -Nur -x '*.orig' -x '*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
       if (!KCL_has_pat())
       {
          return 0;
-@@ -4808,13 +4720,13 @@
+@@ -5018,13 +4930,13 @@

       for ( i = 0; i < 2; i++ )
       {
@@ -1664,7 +1527,7 @@ diff -Nur -x '*.orig' -x '*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
          }
      }

-@@ -4886,7 +4798,7 @@
+@@ -5096,7 +5008,7 @@
  } kasContext_t;

  /** \brief KAS context */
@@ -1673,+1536,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/

  
/** \brief Kernel support required to enable KAS */
  #if defined(cmpxchg)                        && \
-@@ -5188,+5100,@@
+@@ -
5398,+5310,@@
      
DBG_TRACE("Interrupt handler returned 0x%08X"ret);

      
kasSetExecutionLevel(orig_level);
@@ -
1682,+1545,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/

      
DBG_LEAVE("%d"ret);
      return 
ret;
-@@ -
5463,+5375,@@
+@@ -
5673,+5585,@@
  
#endif
      
spinlock_t lock;            /* OS spinlock object protecting the cache */
      
unsigned int routine_type;  /* Type of routine the cache might be accessed from */
@@ -1691,+1554,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
  } 
kasSlabCache_t;

  
/** \brief Return Slab Cache object size
-@@ -5501,7 +5413,8 @@
+@@ -5711,7 +5623,8 @@

      slabcache_obj->routine_type = access_type;
      spin_lock_init(&(slabcache_obj->lock));
@@ -1701,7 +1564,7 @@ diff -Nur -x '*.orig' -x '*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/

      DBG_TRACE("creating slab object '%s'", slabcache_obj->name);

-@@ -6417,7 +6330,7 @@
+@@ -6627,7 +6540,7 @@

      kas_xadd(puiDestination, iAdd, ret, "l");

@@ -1710,7 +1573,7 @@ diff -Nur -x '*.orig' -x '*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
  #else
      return 0xDEADC0DE; /* To make compiler happy */
  #endif
-@@ -6500,+6413,@@
+@@ -
6710,+6623,@@
  
#ifdef FIREGL_CF_SUPPORT

  
void *ATI_API_CALL KCL_lock_init()
@@ -
1719,+1582,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
      
spinlock_t *lock;

      
lock kmalloc(sizeof(*lock), GFP_KERNEL);
-@@ -
6512,+6425,@@
+@@ -
6722,+6635,@@
  }

  
void ATI_API_CALL KCL_lock_deinit(void *plock)
@@ -
1728,+1591,@@ diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/
      if (
plock == NULL)
      {
          
__KE_ERROR("plock is NULL\n");
-
diff -Nur -'*.orig' -'*~' fglrx-installer-8.501/lib/modules/fglrx/build_mod/firegl_public.h fglrx-installer-8.501.new/lib/modules/fglrx/build_mod/firegl_public.h
---- fglrx-installer-8.501/lib/modules/fglrx/build_mod/firegl_public.h    2008-06-19 01:45:20.000000000 -0500
-+++ fglrx-installer-8.501.new/lib/modules/fglrx/build_mod/firegl_public.h    2008-07-07 14:06:44.000000000 -0500
+diff -Nur -'*.orig' -'*~' fglrx-installer-8.512/lib/modules/fglrx/build_mod/firegl_public.h fglrx-installer-8.512.new/lib/modules/fglrx/build_mod/firegl_public.h
+--- fglrx-installer-8.512/lib/modules/fglrx/build_mod/firegl_public.h    2008-07-21 14:32:08.000000000 -0400
++++ fglrx-installer-8.512.new/lib/modules/fglrx/build_mod/firegl_public.h    2008-07-21 14:32:14.000000000 -0400
 
@@ -78,+78,@@
      if (!
pgd_present(*(pgd_p)))    
      { 
<
 
Phoronix.com
Linux Driver Forums
Copyright © 2010 by Phoronix Media