Summary
Description: The git repository for the ATI/AMD fglrx packaging scripts.
Last Change: Thu 2/4/10 2:40
Recent Commits
>
--git a/Ubuntu/dists/intrepid/patches/02_2.6.26_support.patch b/Ubuntu/dists/intrepid/patches/02_2.6.26_support.patch
deleted file mode 100644
index a94205d..0000000
--- a/Ubuntu/dists/intrepid/patches/02_2.6.26_support.patch
+++ /dev/null
@@ -1,1632 +0,0 @@
-#This patch enables 2.6.26 support until AMD officially supports it.
-#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 -x '*.orig' -x '*~' 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>
-
--#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
- #error Kernel versions older than 2.6.0 are no longer supported by this module.
--#endif
-+#endif
-
- #include <linux/autoconf.h>
-
--#if !defined(CONFIG_X86_PC)
-+#if !defined(CONFIG_X86_PC)
- #if !defined(CONFIG_X86_64)
- #if !defined(CONFIG_X86_VOYAGER)
- #if !defined(CONFIG_X86_NUMAQ)
-@@ -62,10 +62,10 @@
- * distribution would even include such a kernel patch. */
- #ifdef CONFIG_MEM_MIRROR
- /* Prevent asm/mm_track.h from being included in subsequent
-- * kernel headers as that would redefine CONFIG_MEM_MIRROR. */
-+ * kernel headers as that would redefine CONFIG_MEM_MIRROR. */
- #ifndef CONFIG_X86_64
- #define __I386_MMTRACK_H__
--#define mm_track(ptep)
-+#define mm_track(ptep)
- #else
- #define __X86_64_MMTRACK_H__
- #define mm_track_pte(ptep)
-@@ -93,7 +93,7 @@
- #include <linux/kernel.h>
- #include <linux/fs.h>
- #include <linux/proc_fs.h>
--#include <linux/init.h>
-+//#include <linux/init.h>
- #include <linux/file.h>
- #include <linux/pci.h>
- #include <linux/wait.h>
-@@ -151,8 +151,8 @@
- #include "linux/freezer.h"
- #endif
-
--// For 2.6.18 or higher, the UTS_RELEASE is defined in the linux/utsrelease.h.
--#ifndef UTS_RELEASE
-+// For 2.6.18 or higher, the UTS_RELEASE is defined in the linux/utsrelease.h.
-+#ifndef UTS_RELEASE
- #include <linux/utsrelease.h>
- #endif
-
-@@ -215,7 +215,7 @@
-
- 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) \
- {
-@@ -283,7 +283,7 @@
-
- static int firegl_pat_enabled = 0;
- static unsigned long KCL_pat[2];
--static unsigned long KCL_orig_pat[2];
-+static unsigned long KCL_orig_pat[2];
-
- static int ATI_API_CALL KCL_enable_pat(void);
- static void ATI_API_CALL KCL_disable_pat(void);
-@@ -322,7 +322,7 @@
- #endif
-
- __ke_ssize_t ip_firegl_read( struct file *filp,
-- char *buf,
-+ char *buf,
- __ke_size_t size,
- __ke_loff_t *off_ptr)
- {
-@@ -334,7 +334,7 @@
- }
-
- __ke_ssize_t ip_firegl_write( struct file *filp,
-- const char *buf,
-+ const char *buf,
- __ke_size_t size,
- __ke_loff_t *off_ptr)
- {
-@@ -477,34 +477,34 @@
- return firegl_debug_proc_write(file, buffer, count, data);
- }
-
--static int
-+static int
- firegl_interrupt_open_wrap(
-- struct inode *inode,
-- struct file *file)
-+ struct inode *inode,
-+ struct file *file)
- {
- return firegl_interrupt_open(inode, file);
- }
-
--static int
-+static int
- firegl_interrupt_release_wrap(
-- struct inode *inode,
-- struct file *file)
-+ struct inode *inode,
-+ struct file *file)
- {
- return firegl_interrupt_release(inode, file);
- }
-
--static ssize_t
-+static ssize_t
- firegl_interrupt_read_wrap(
-- struct file *user_file,
-- char __user *user_buf,
-- size_t user_buf_size,
-+ struct file *user_file,
-+ char __user *user_buf,
-+ size_t user_buf_size,
- loff_t *user_file_pos)
- {
- return (ssize_t) firegl_interrupt_read(user_file, user_buf, user_buf_size, user_file_pos);
- }
-
--static unsigned int
--firegl_interrupt_poll_wrap(struct file *user_file, poll_table *pt)
-+static unsigned int
-+firegl_interrupt_poll_wrap(struct file *user_file, poll_table *pt)
- {
- if(firegl_interrupt_poll(user_file, (__ke_poll_table*)pt))
- {
-@@ -516,11 +516,11 @@
- }
- }
-
--static ssize_t
-+static ssize_t
- firegl_interrupt_write_wrap(
-- struct file *user_file,
-- const char __user *user_buf,
-- size_t user_buf_size,
-+ struct file *user_file,
-+ const char __user *user_buf,
-+ size_t user_buf_size,
- loff_t *user_file_pos)
- {
- return (ssize_t) firegl_interrupt_write(user_file, user_buf, user_buf_size, user_file_pos);
-@@ -530,7 +530,7 @@
- * param func function to be wrapped
- * return None */
-
--static void
-+static void
- firegl_smp_func_parameter_wrap(
- void *func)
- {
-@@ -545,7 +545,7 @@
- .write = firegl_interrupt_write_wrap
- };
-
--__ke_proc_list_t firegl_proc_list[] =
-+__ke_proc_list_t firegl_proc_list[] =
- {
- { "name", drm_name_info_wrap, NULL},
- { "mem", drm_mem_info_wrap, NULL},
-@@ -613,11 +613,11 @@
- {
- ent->proc_fops = (struct file_operations*)list->fops;
- }
--
-+
- {
- ent->data = (dev->pubdev.signature == FGL_DEVICE_SIGNATURE)? firegl_find_device(minor) : (dev);
- }
--
-+
- list++;
- }
-
-@@ -663,7 +663,7 @@
- {
- remove_proc_entry("dri", NULL);
- __KE_DEBUG("remove proc dri. \n");
-- }
-+ }
- return 0;
- }
-
-@@ -701,12 +701,12 @@
- {
- int i;
- int count = 0;
--
-+
- __KE_DEBUG("firegl_stub_getminor: name=\"%s\"\n", name);
-
-- for( i = 0; i < FIREGL_STUB_MAXCARDS; i++ )
-+ for( i = 0; i < FIREGL_STUB_MAXCARDS; i++ )
- {
-- if( !firegl_stub_list[i].fops )
-+ if( !firegl_stub_list[i].fops )
- {
- firegl_stub_list[i].name = name;
- firegl_stub_list[i].fops = fops;
-@@ -733,16 +733,16 @@
- if (minor < 0 || minor >= FIREGL_STUB_MAXCARDS)
- {
- return -1;
-- }
-+ }
- firegl_proc_cleanup(minor, firegl_stub_root, firegl_stub_list[minor].dev_root, firegl_stub_list[minor].proclist);
- firegl_stub_list[minor].name = NULL;
- firegl_stub_list[minor].fops = NULL;
- firegl_stub_list[minor].proclist = NULL;
-
-- if( minor == (firegl_minors-1) )
-+ if( minor == (firegl_minors-1) )
- {
- unregister_chrdev(DRM_MAJOR, "drm");
-- }
-+ }
- return 0;
- }
-
-@@ -766,7 +766,7 @@
- return -1;
- } else if(err == -EBUSY) {
-
-- // the registering of the module's device has failed
-+ // the registering of the module's device has failed
- // because there was already some other drm module loaded.
- __KE_DEBUG("register_chrdev() failed with -EBUSY\n");
- return -1;
-@@ -798,7 +798,7 @@
- /* 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
-- don't have pm_message_t defined.
-+ don't have pm_message_t defined.
- */
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,14)
- static int fglrx_pci_suspend(struct pci_dev *pdev, pm_message_t pm_event)
-@@ -834,9 +834,9 @@
-
- if (!ret)
- {
--
-- // since privdev->pcidev is acquired in X server, use pdev
-- // directly here to allow suspend/resume without X server start.
-+
-+ // since privdev->pcidev is acquired in X server, use pdev
-+ // directly here to allow suspend/resume without X server start.
- firegl_pci_save_state((__ke_pci_dev_t*)pdev, privdev);
- pci_disable_device(pdev);
- PMSG_EVENT(pdev->dev.power.power_state) = state;
-@@ -888,13 +888,13 @@
- // before pci_set_master!
- firegl_pci_restore_state((__ke_pci_dev_t*)pdev, privdev);
-
-- if (pci_enable_device(pdev))
-+ if (pci_enable_device(pdev))
- {
- __KE_ERROR("Cannot enable PCI device.\n");
-- }
-+ }
-
- pci_set_master(pdev);
--
-+
- firegl_cail_powerup(privdev);
-
- if (PMSG_EVENT(pdev->dev.power.power_state) == PM_EVENT_SUSPEND)
-@@ -905,7 +905,7 @@
- return 0;
- }
-
--static struct pci_driver fglrx_pci_driver =
-+static struct pci_driver fglrx_pci_driver =
- {
- .name = "fglrx_pci",
- .id_table = fglrx_pci_table,
-@@ -961,10 +961,10 @@
- {
- pid = (struct pci_device_id *) &fglrx_pci_table[i];
- pdev = NULL;
-- while (( pdev = pci_get_subsys(pid->vendor,
-- pid->device,
-- PCI_ANY_ID,
-- PCI_ANY_ID,
-+ while (( pdev = pci_get_subsys(pid->vendor,
-+ pid->device,
-+ PCI_ANY_ID,
-+ PCI_ANY_ID,
- pdev)) != NULL)
- {
- num_of_devices++;
-@@ -974,7 +974,7 @@
-
- if (firegl_init_device_heads(num_of_devices))
- {
-- return -ENOMEM;
-+ return -ENOMEM;
- }
-
- for (i=0; fglrx_pci_table[i].vendor != 0; i++)
-@@ -982,15 +982,15 @@
- pid = (struct pci_device_id *) &fglrx_pci_table[i];
-
- pdev = NULL;
-- while (( pdev = pci_get_subsys(pid->vendor,
-- pid->device,
-- PCI_ANY_ID,
-- PCI_ANY_ID,
-+ while (( pdev = pci_get_subsys(pid->vendor,
-+ pid->device,
-+ PCI_ANY_ID,
-+ PCI_ANY_ID,
- pdev)) != NULL)
- {
- if ((ret_code = firegl_get_dev(pubdev, pdev)))
- {
-- return ret_code;
-+ return ret_code;
- }
-
- j++;
-@@ -1023,7 +1023,7 @@
- // init global vars that are in fact constants
- __ke_HZ = HZ;
-
--#ifdef _KE_SERIAL_DEBUG
-+#ifdef _KE_SERIAL_DEBUG
- __ke_SetSerialPort();
- #endif
-
-@@ -1035,11 +1035,11 @@
- return retcode;
- }
-
--#ifdef FIREGL_CF_SUPPORT
-+#ifdef FIREGL_CF_SUPPORT
- adapter_chain_init();
- cf_object_init();
--#endif
--
-+#endif
-+
- // init DRM proc list
- drm_proclist = kmalloc((DRM_PROC_ENTRIES + 1) * sizeof(__ke_proc_list_t), GFP_KERNEL);
- if ( drm_proclist == NULL )
-@@ -1127,7 +1127,7 @@
- dev->pubdev.date,
- firegl_minors);
-
--
-+
- #ifdef FIREGL_POWER_MANAGEMENT
- if (pci_register_driver (&fglrx_pci_driver) < 0)
- {
-@@ -1157,12 +1157,12 @@
- {
- KCL_disable_pat();
- __KE_INFO("Disable PAT\n");
-- }
-+ }
- #endif // FIREGL_USWC_SUPPORT
-
- for (i = 0; i < count; i++)
- {
-- if ( firegl_stub_unregister(i) )
-+ if ( firegl_stub_unregister(i) )
- {
- __KE_ERROR("Cannot unload module on minor: %d\n", i);
- }
-@@ -1184,10 +1184,10 @@
- dev->pubdev.patchlevel,
- dev->pubdev.date);
-
--#ifdef FIREGL_CF_SUPPORT
-+#ifdef FIREGL_CF_SUPPORT
- cf_object_cleanup();
-- adapter_chain_cleanup();
--#endif // FIREGL_CF_SUPPORT
-+ adapter_chain_cleanup();
-+#endif // FIREGL_CF_SUPPORT
-
- firegl_private_cleanup (&dev->pubdev);
-
-@@ -1265,18 +1265,18 @@
- void ATI_API_CALL __ke_remove_wait_queue(__ke_wait_queue_head_t* queue_head, __ke_wait_queue_t* entry)
- {
- // current->state = TASK_RUNNING;
-- remove_wait_queue((wait_queue_head_t*)(void *)queue_head,
-+ remove_wait_queue((wait_queue_head_t*)(void *)queue_head,
- (wait_queue_t*)(void *)entry);
- }
-
- void ATI_API_CALL __ke_init_waitqueue_head(__ke_wait_queue_head_t* queue_head)
- {
-- init_waitqueue_head((wait_queue_head_t*)(void *)queue_head);
-+ init_waitqueue_head((wait_queue_head_t*)(void *)queue_head);
- }
-
- void ATI_API_CALL __ke_wait_event_interruptible(__ke_wait_queue_head_t* queue_head, int condition)
- {
-- wait_event_interruptible(*((wait_queue_head_t*)(void *)queue_head), condition);
-+ wait_event_interruptible(*((wait_queue_head_t*)(void *)queue_head), condition);
- }
-
- void ATI_API_CALL __ke_poll_wait(struct file* filp, __ke_wait_queue_head_t* queue_head, __ke_poll_table* pt)
-@@ -1287,13 +1287,13 @@
- void ATI_API_CALL *__ke_asyncio_alloc_sema()
- {
- int i;
--
-+
- for(i=0; i<FIREGL_ASYNCIO_MAX_SEMA; i++)
- {
- if(fireglAsyncioSemaphoreUsed[i] != 1)
- {
- fireglAsyncioSemaphoreUsed[i] = 1;
--
-+
- return &(fireglAsyncioSemaphore[i]);
- }
- }
-@@ -1303,7 +1303,7 @@
- void ATI_API_CALL __ke_asyncio_free_sema(struct semaphore *pSema)
- {
- int i;
--
-+
- for(i=0; i<FIREGL_ASYNCIO_MAX_SEMA; i++)
- {
- if( &(fireglAsyncioSemaphore[i]) == pSema )
-@@ -1317,15 +1317,15 @@
- void ATI_API_CALL __ke_asyncio_init_sema(void)
- {
- int i;
--
-+
- for(i=0; i<FIREGL_ASYNCIO_MAX_SEMA; i++)
- {
- fireglAsyncioSemaphoreUsed[i] = 0;
- }
--}
-+}
-
--int ATI_API_CALL __ke_fasync_helper( int fd,
-- struct file *filep,
-+int ATI_API_CALL __ke_fasync_helper( int fd,
-+ struct file *filep,
- int mode,
- struct fasync_struct **pasync_queue)
- {
-@@ -1403,33 +1403,33 @@
- {
- struct task_struct *p;
- int process_terminated = 1;
--
--#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17)
-+
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17)
- rcu_read_lock();
--#else
-+#else
- read_lock(&tasklist_lock);
--#endif
-- p = find_task_by_pid( pid );
-- if (p)
-+#endif
-+ p = find_task_by_vpid( pid );
-+ if (p)
- {
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,10)
-- if (p->exit_state != EXIT_ZOMBIE && p->exit_state != EXIT_DEAD)
-+ if (p->exit_state != EXIT_ZOMBIE && p->exit_state != EXIT_DEAD)
- #else
-- if (!(p->flags & PF_EXITING))
-+ if (!(p->flags & PF_EXITING))
- #endif
- {
- process_terminated = 0;
- }
-- }
--#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17)
-+ }
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17)
- rcu_read_unlock();
--#else
-+#else
- read_unlock(&tasklist_lock);
--#endif
-+#endif
- return process_terminated;
- }
-
--/** /brief Call global OS kernel task/thread scheduler
-+/** /brief Call global OS kernel task/thread scheduler
- * /return Nonzero if a system call was awakened by a signal
- */
- int ATI_API_CALL KCL_GetSignalStatus(void)
-@@ -1483,15 +1483,15 @@
- unblock_all_signals();
- }
-
--#if defined(__i386__)
-+#if defined(__i386__)
- #ifndef __HAVE_ARCH_CMPXCHG
--static inline
--unsigned long __fgl_cmpxchg(volatile void *ptr, unsigned long old,
-- unsigned long new, int size)
--{
-- unsigned long prev;
-- switch (size) {
-- case 1:
-+static inline
-+unsigned long __fgl_cmpxchg(volatile void *ptr, unsigned long old,
-+ unsigned long new, int size)
-+{
-+ unsigned long prev;
-+ switch (size) {
-+ case 1:
- __asm__ __volatile__(LOCK_PREFIX "cmpxchgb %b1,%2"
- : "=a"(prev)
- : "q"(new), "m"(*__xg(ptr)), "0"(old)
-@@ -1602,7 +1602,7 @@
- */
- KCL_TYPE_Pid ATI_API_CALL KCL_GetPid(void)
- {
-- return current->pid;
-+ return current->pid;
- }
-
- /** /brief Return the current Thread Group ID
-@@ -1610,7 +1610,7 @@
- */
- KCL_TYPE_Pid ATI_API_CALL KCL_GetTgid(void)
- {
-- return current->tgid;
-+ return current->tgid;
- }
-
- /** /brief Return the effective user ID
-@@ -1706,7 +1706,7 @@
- 1
- #else
- 0
--#endif
-+#endif
- };
-
- /** /brief Check whether a kernel configuration parameter is defined
-@@ -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)
- {
-- return (pci_alloc_consistent( (struct pci_dev*)(void *)dev, size, dma_handle));
-+ return (pci_alloc_consistent( (struct pci_dev*)(void *)dev, size, dma_handle));
- }
-
- void ATI_API_CALL __ke_pci_free_consistent(__ke_pci_dev_t* dev, int size, unsigned long cpu_addr,
- unsigned int dma_handle)
- {
-- pci_free_consistent( (struct pci_dev*)(void *)dev, size, (void *)cpu_addr,
-+ pci_free_consistent( (struct pci_dev*)(void *)dev, size, (void *)cpu_addr,
- (unsigned long)dma_handle);
- }
- #endif // __ia64__
-@@ -1822,7 +1822,7 @@
-
- /** \brief This function maps OS independent error conditions to OS defined error codes
- * \param errcode OS independent error condition code
-- * \return OS kernel defined error code corresponding to the requested error condition
-+ * \return OS kernel defined error code corresponding to the requested error condition
- */
- int ATI_API_CALL KCL_GetErrorCode(KCL_ENUM_ErrorCode errcode)
- {
-@@ -1840,7 +1840,7 @@
- int ATI_API_CALL firegl_get_user_ptr(u32 *src, void **dst)
- {
- unsigned long temp;
-- int err = get_user(temp, src);
-+ int err = get_user(temp, src);
- *dst = (void*) temp;
- return err;
- }
-@@ -2019,7 +2019,7 @@
- */
- int ATI_API_CALL KCL_AtomicDecAndTest(KCL_TYPE_Atomic* v)
- {
-- return atomic_dec_and_test((atomic_t*)v);
-+ return atomic_dec_and_test((atomic_t*)v);
- }
-
- /*****************************************************************************/
-@@ -2394,7 +2394,7 @@
- struct page *page = NULL;
-
- page = vmalloc_to_page(vmalloc_addr);
-- if(page == NULL)
-+ if(page == NULL)
- {
- __KE_ERROR("__ke_vmalloc_to_addr: invalid page!");
- return NULL;
-@@ -2436,7 +2436,7 @@
- retcode = do_munmap(current->mm,
- addr,
- len);
--#endif
-+#endif
- up_write(¤t->mm->mmap_sem);
- return retcode;
- }
-@@ -2480,10 +2480,10 @@
- minus = !minus;
- }
- else
-- {
-+ {
- ubase = base;
- }
--
-+
- do_div(un, ubase);
- return (minus? -un : un);
- }
-@@ -2513,7 +2513,7 @@
- else
- {
- ubase = base;
-- }
-+ }
-
- rem = do_div(un, ubase);
- return (minus? -rem : rem);
-@@ -2544,7 +2544,7 @@
- vaddr = (void *) vmap(pages, count);
- #else
- #ifdef VM_MAP
-- vaddr = (void *) vmap(pages, count, VM_MAP, PAGE_KERNEL);
-+ vaddr = (void *) vmap(pages, count, VM_MAP, PAGE_KERNEL);
- #else
- vaddr = (void *) vmap(pages, count, 0, PAGE_KERNEL);
- #endif
-@@ -2600,7 +2600,7 @@
- }
- #endif // defined(VM_MAP) || defined(vunmap)
-
--/** \brief Reserve a memory page
-+/** \brief Reserve a memory page
- *
- * \param pt Kernel logical address of the page
- *
-@@ -2612,7 +2612,7 @@
- SetPageReserved(virt_to_page((unsigned long)pt));
- }
-
--/** \brief Unreserve a memory page
-+/** \brief Unreserve a memory page
- *
- * \param pt Kernel logical address of the page
- *
-@@ -2624,7 +2624,7 @@
- ClearPageReserved(virt_to_page((unsigned long)pt));
- }
-
--/** \brief Lock a memory page
-+/** \brief Lock a memory page
- *
- * \param pt Kernel logical address of the page
- *
-@@ -2633,14 +2633,14 @@
- */
- void ATI_API_CALL KCL_LockMemPage(void* pt)
- {
--#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,15)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,15)
- SetPageReserved(virt_to_page((unsigned long)pt));
- #else
- lock_page(virt_to_page((unsigned long)pt));
- #endif
- }
-
--/** \brief Unlock a memory page
-+/** \brief Unlock a memory page
- *
- * \param pt Kernel logical address of the page
- *
-@@ -2649,7 +2649,7 @@
- */
- void ATI_API_CALL KCL_UnlockMemPage(void* pt)
- {
--#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,15)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,15)
- ClearPageReserved(virt_to_page((unsigned long)pt));
- #else
- unlock_page(virt_to_page((unsigned long)pt));
-@@ -2674,7 +2674,7 @@
- return memory->vmptr;
- }
- #endif
--
-+
- void* ATI_API_CALL __ke_ioremap(unsigned long offset, unsigned long size)
- {
- return ioremap(offset, size);
-@@ -2724,7 +2724,7 @@
- {
- /*Some kernel developer removed the export of symbol "flush_tlb_page" on 2.6.25 x86_64 SMP kernel.
- Define a simple version here.*/
--#if defined(__x86_64__) && defined(__SMP__) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25))
-+#if defined(__x86_64__) && defined(__SMP__) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25))
- on_each_cpu(KCL_flush_tlb_one, &va, 1, 1);
- #else
- flush_tlb_page(vma, va);
-@@ -2884,9 +2884,9 @@
- static inline int ptep_clear_flush_dirty(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep)
- {
- int ret = 0;
--
-+
- DBG_ENTER("0x%08X, 0x%08X, 0x%08X->0x%08X", vma, addr, ptep, *ptep);
--
-+
- if (pte_dirty(*ptep))
- {
- #ifdef __x86_64__
-@@ -2901,19 +2901,19 @@
- {
- pte_update(vma->vm_mm, addr, ptep);
- }
--#endif
-+#endif
- }
-
- DBG_TRACE("0x%08X->0x%08X", ptep, *ptep);
--
-+
- // Flush Translation Lookaside Buffers
- if (ret)
- {
- KCL_flush_tlb_onepage(vma,addr);
- }
--
-+
- DBG_LEAVE("%d", ret);
--
-+
- return ret;
- }
- #endif
-@@ -3279,7 +3279,7 @@
- return 0;
- #else
- return 1;
--#endif
-+#endif
- #else /* !CONFIG_MTRR */
- return 0;
- #endif /* !CONFIG_MTRR */
-@@ -3305,7 +3305,7 @@
-
- int ATI_API_CALL __ke_has_vmap(void)
- {
--// We disable vmap for 2.4.x kernel to work around the big memory( > 4GB ) issue.
-+// We disable vmap for 2.4.x kernel to work around the big memory( > 4GB ) issue.
- #if defined(VM_MAP) || defined(vunmap)
- return 1;
- #else
-@@ -3372,7 +3372,7 @@
- {
- struct pci_dev* dev = (struct pci_dev*)pcidev;
- return PCI_FUNC(dev->devfn);
--}
-+}
-
- __ke_dma_addr_t ATI_API_CALL __ke_pci_map_single (__ke_pci_dev_t *pdev, void *buffer, __ke_size_t size, int direction)
- {
-@@ -3525,12 +3525,12 @@
- return (int)(agpmem->page_count);
- }
-
--void ATI_API_CALL __ke_agp_memory_get_memory(struct _agp_memory* agpmem,
-+void ATI_API_CALL __ke_agp_memory_get_memory(struct _agp_memory* agpmem,
- unsigned long **memory_ptr)
- {
- __KE_DEBUG("[%s] agpmem=0x%016lx agpmem->memory=0x%016lx [0]=0x%016x",
-- __FUNCTION__,
-- (unsigned long)agpmem,
-+ __FUNCTION__,
-+ (unsigned long)agpmem,
- (unsigned long)agpmem->memory,
- (agpmem->memory)[0]);
-
-@@ -3539,18 +3539,9 @@
-
- /*****************************************************************************/
-
--#ifndef NOPAGE_SIGBUS
--#define NOPAGE_SIGBUS 0
--#endif /* !NOPAGE_SIGBUS */
--
- typedef struct page mem_map_t;
- typedef mem_map_t *vm_nopage_ret_t;
-
--static __inline__ vm_nopage_ret_t do_vm_nopage(struct vm_area_struct* vma,
-- unsigned long address)
--{
-- return 0; /* Disallow mremap */
--}
-
- #ifdef __AGP__BUILTIN__
- #ifdef __ia64__
-@@ -3575,19 +3566,20 @@
- return page;
- }
- }
-- return NOPAGE_SIGBUS; /* Disallow mremap */
-+ return VM_FAULT_SIGBUS; /* Disallow mremap */
- }
-
- #endif /* __ia64__ */
- #endif /* __AGP__BUILTIN__ */
-
-
--static __inline__ vm_nopage_ret_t do_vm_shm_nopage(struct vm_area_struct* vma,
-- unsigned long address)
-+static __inline__ int do_vm_shm_nopage(struct vm_area_struct* vma,
-+ struct vm_fault *vmf)
- {
- pgd_t* pgd_p;
- pmd_t* pmd_p;
- pte_t pte;
-+ unsigned long address = (unsigned long)vmf->virtual_address;
- unsigned long vma_offset;
- unsigned long pte_linear;
- mem_map_t* pMmPage;
-@@ -3616,7 +3608,7 @@
- (unsigned long)__ke_vm_offset(vma));
-
- if (address > vma->vm_end)
-- return NOPAGE_SIGBUS; /* address is out of range */
-+ return VM_FAULT_SIGBUS; /* address is out of range */
-
- /* Calculate offset into VMA */
- vma_offset = address - vma->vm_start;
-@@ -3628,7 +3620,7 @@
- pte_linear = firegl_get_addr_from_vm(vma);
- if (!pte_linear)
- {
-- return NOPAGE_SIGBUS; /* bad address */
-+ return VM_FAULT_SIGBUS; /* bad address */
- }
- pte_linear += vma_offset;
-
-@@ -3656,7 +3648,9 @@
-
- // __KE_DEBUG3("vm-address 0x%08lx => kernel-page-address 0x%p\n",
- // address, page_address(pMmPage));
-- return pMmPage;
-+ vmf->page = pMmPage;
-+
-+ return 0;
- }
-
- /*
-@@ -3665,8 +3659,10 @@
- (which is one ore more pages in size)
-
- */
--static __inline__ vm_nopage_ret_t do_vm_dma_nopage(struct vm_area_struct* vma, unsigned long address)
-+static __inline__ int do_vm_dma_nopage(struct vm_area_struct* vma,
-+ struct vm_fault *vmf)
- {
-+ unsigned long address = (unsigned long) vmf->virtual_address;
- unsigned long kaddr;
- mem_map_t* pMmPage;
-
-@@ -3682,7 +3678,7 @@
- kaddr = firegl_get_addr_from_vm(vma);
- if (!kaddr)
- {
-- return NOPAGE_SIGBUS; /* bad address */
-+ return VM_FAULT_SIGBUS; /* bad address */
- }
- kaddr += (address - vma->vm_start);
-
-@@ -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!!!
- //
-- // For kernel >= 2.6.15, We should reenable this, because the VM sub-system
-- // will decrement the pages' usage count even for the pages marked as reserved
-+ // For kernel >= 2.6.15, We should reenable this, because the VM sub-system
-+ // will decrement the pages' usage count even for the pages marked as reserved
- // - MC.
- get_page(pMmPage); /* inc usage count of page */
- #endif
-
- __KE_DEBUG3("vm-address 0x%08lx => kernel-page-address 0x%p\n",
- address, page_address(pMmPage));
-- return pMmPage;
-+ vmf->page = pMmPage;
-+
-+ return 0;
- }
-
--static __inline__ vm_nopage_ret_t do_vm_kmap_nopage(struct vm_area_struct* vma, unsigned long address)
-+static __inline__ int do_vm_kmap_nopage(struct vm_area_struct* vma,
-+ struct vm_fault *vmf)
- {
-+ unsigned long address = (unsigned long) vmf->virtual_address;
- unsigned long kaddr;
- mem_map_t* pMmPage;
-
-@@ -3716,13 +3716,14 @@
- if ((pMmPage = (mem_map_t*) firegl_get_pagetable_page_from_vm(vma)))
- {
- get_page(pMmPage);
-- return pMmPage;
-+ vmf->page = pMmPage;
-+ return 0;
- }
-
- kaddr = firegl_get_addr_from_vm(vma);
- if (!kaddr)
- {
-- return NOPAGE_SIGBUS; /* bad address */
-+ return VM_FAULT_SIGBUS; /* bad address */
- }
- kaddr += (address - vma->vm_start);
-
-@@ -3735,50 +3736,52 @@
-
- __KE_DEBUG3("vm-address 0x%08lx => kernel-page-address 0x%p\n", address, page_address(pMmPage));
-
-- return pMmPage;
-+ vmf->page = pMmPage;
-+ return 0;
- }
-
--/**
-+/**
- **
-- ** This routine is intented to locate the page table through the
-+ ** This routine is intented to locate the page table through the
- ** pagelist table created earlier in dev-> pcie
- **/
--static __inline__ vm_nopage_ret_t do_vm_pcie_nopage(struct vm_area_struct* vma,
-- unsigned long address)
-+static __inline__ int do_vm_pcie_nopage(struct vm_area_struct* vma,
-+ struct vm_fault *vmf)
- {
-
-+ unsigned long address = (unsigned long)vmf->virtual_address;
- unsigned long vma_offset;
-- unsigned long i;
-+ unsigned long i;
- mem_map_t* pMmPage;
- struct firegl_pcie_mem* pciemem;
- unsigned long* pagelist;
--
-+
- drm_device_t *dev = (drm_device_t *)firegl_get_dev_from_vm(vma);
- if (dev == NULL)
- {
- __KE_ERROR("dev is NULL\n");
-- return NOPAGE_SIGBUS;
-+ return VM_FAULT_SIGBUS;
- }
-
- if (address > vma->vm_end)
- {
- __KE_ERROR("address out of range\n");
-- return NOPAGE_SIGBUS; /* address is out of range */
-+ return VM_FAULT_SIGBUS; /* address is out of range */
- }
- pciemem = firegl_get_pciemem_from_addr ( vma, address);
- if (pciemem == NULL)
- {
- __KE_ERROR("No pciemem found! \n");
-- return NOPAGE_SIGBUS;
-- }
-+ return VM_FAULT_SIGBUS;
-+ }
- pagelist = firegl_get_pagelist_from_vm(vma);
-
-- if (pagelist == NULL)
-+ if (pagelist == NULL)
- {
- __KE_ERROR("No pagelist! \n");
-- return NOPAGE_SIGBUS;
-+ return VM_FAULT_SIGBUS;
- }
--
-+
- /** Find offset in vma */
- vma_offset = address - vma->vm_start;
- /** Which entry in the pagelist */
-@@ -3790,15 +3793,17 @@
- if (page_address(pMmPage) == 0x0)
- {
- __KE_ERROR("Invalid page address\n");
-- return NOPAGE_SIGBUS;
-+ return VM_FAULT_SIGBUS;
- }
-- return pMmPage;
-+
-+ vmf->page = pMmPage;
-+ return 0;
- }
-
--static __inline__ vm_nopage_ret_t do_vm_gart_nopage(struct vm_area_struct* vma,
-- unsigned long address)
-+static __inline__ int do_vm_gart_nopage(struct vm_area_struct* vma,
-+ struct vm_fault *vmf)
- {
--
-+ unsigned long address = (unsigned long) vmf->virtual_address;
- unsigned long page_addr;
- unsigned long offset;
- struct page *page;
-@@ -3806,36 +3811,31 @@
- if (address > vma->vm_end)
- {
- __KE_ERROR("Invalid virtual address\n");
-- return NOPAGE_SIGBUS; /* Disallow mremap */
-- }
-+ return VM_FAULT_SIGBUS; /* Disallow mremap */
-+ }
-
- offset = address - vma->vm_start;
--#ifdef FIREGL_CF_SUPPORT
-+#ifdef FIREGL_CF_SUPPORT
- page_addr = mc_heap_get_page_addr(vma, offset);
- #else
- page_addr = firegl_cmmqs_get_pageaddr_from_vm(vma, offset);
--#endif
-+#endif
- if( !page_addr)
- {
- __KE_ERROR("Invalid page address\n");
-- return NOPAGE_SIGBUS; /* Disallow mremap */
-+ return VM_FAULT_SIGBUS; /* Disallow mremap */
- }
- page = virt_to_page(page_addr);
- get_page(page);
-
-- return page;
-+ vmf->page = page;
-+ return 0;
- }
-
--
--
--#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,0)
--
--static vm_nopage_ret_t vm_nopage(struct vm_area_struct* vma,
-- unsigned long address,
-- int *type)
-+static int vm_nopage(struct vm_area_struct* vma,
-+ struct vm_fault *vmf, int type)
- {
-- if (type) *type = VM_FAULT_MINOR;
-- return do_vm_nopage(vma, address);
-+ return VM_FAULT_SIGBUS;
- }
-
- #ifdef __AGP__BUILTIN__
-@@ -3867,12 +3867,10 @@
- (which is one or more pages in size)
-
- */
--static vm_nopage_ret_t vm_shm_nopage(struct vm_area_struct* vma,
-- unsigned long address,
-- int *type)
-+static int vm_shm_nopage(struct vm_area_struct* vma,
-+ struct vm_fault *vmf, int type)
- {
-- if (type) *type = VM_FAULT_MINOR;
-- return do_vm_shm_nopage(vma, address);
-+ return do_vm_shm_nopage(vma, vmf);
- }
-
- /*
-@@ -3881,115 +3879,29 @@
- (which is one ore more pages in size)
-
- */
--static vm_nopage_ret_t vm_dma_nopage(struct vm_area_struct* vma,
-- unsigned long address,
-- int *type)
-+static int vm_dma_nopage(struct vm_area_struct* vma,
-+ struct vm_fault *vmf, int type)
- {
-- if (type) *type = VM_FAULT_MINOR;
-- return do_vm_dma_nopage(vma, address);
--}
--
--static vm_nopage_ret_t vm_kmap_nopage(struct vm_area_struct* vma,
-- unsigned long address,
-- int *type)
--{
-- if (type) *type = VM_FAULT_MINOR;
-- return do_vm_kmap_nopage(vma, address);
--}
--
--static vm_nopage_ret_t vm_pcie_nopage(struct vm_area_struct* vma,
-- unsigned long address,
-- int *type)
--{
-- return do_vm_pcie_nopage(vma, address);
-+ return do_vm_dma_nopage(vma, vmf);
- }
-
--static vm_nopage_ret_t vm_gart_nopage(struct vm_area_struct* vma,
-- unsigned long address,
-- int *type)
-+static int vm_kmap_nopage(struct vm_area_struct* vma,
-+ struct vm_fault *vmf, int type)
- {
-- return do_vm_gart_nopage(vma, address);
-+ return do_vm_kmap_nopage(vma, vmf);
- }
-
--#else /* LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,0) */
--
--static vm_nopage_ret_t vm_nopage(struct vm_area_struct* vma,
-- unsigned long address,
-- int write_access)
-+static int vm_pcie_nopage(struct vm_area_struct* vma,
-+ struct vm_fault *vmf, int type)
- {
-- return do_vm_nopage(vma, address);
-+ return do_vm_pcie_nopage(vma, vmf);
- }
-
--#ifdef __AGP__BUILTIN__
--#ifdef __ia64__
--
--
--static vm_nopage_ret_t vm_cant_nopage(struct vm_area_struct* vma,
-- unsigned long address,
-- int write_access)
-+static int vm_gart_nopage(struct vm_area_struct* vma,
-+ struct vm_fault *vmf, int type)
- {
-- return do_vm_cant_nopage(vma, address);
-+ return do_vm_gart_nopage(vma, vmf);
- }
--#endif /* __ia64__ */
--#endif /* __AGP__BUILTIN__ */
--
--/*
--
-- This function is called when a page of a mmap()'ed area is not currently
-- visible in the specified VMA.
-- Return value is the associated physical address for the requested page.
-- (If not implemented, then the kernel default routine would allocate a new,
-- zeroed page for servicing us)
--
-- Possible errors: SIGBUS, OutOfMem
--
-- This routine is intended to remap addresses of SHM SAREA
-- (which is one or more pages in size)
--
-- */
--static vm_nopage_ret_t vm_shm_nopage(struct vm_area_struct* vma,
-- unsigned long address,
-- int write_access)
--{
-- return do_vm_shm_nopage(vma, address);
--}
--
--/*
--
-- This routine is intended to remap addresses of a OpenGL context
-- (which is one ore more pages in size)
--
--*/
--static vm_nopage_ret_t vm_dma_nopage(struct vm_area_struct* vma,
-- unsigned long address,
-- int write_access)
--{
-- return do_vm_dma_nopage(vma, address);
--}
--
--static vm_nopage_ret_t vm_kmap_nopage(struct vm_area_struct* vma,
-- unsigned long address,
-- int write_access)
--{
-- return do_vm_kmap_nopage(vma, address);
--}
--
--static vm_nopage_ret_t vm_pcie_nopage(struct vm_area_struct* vma,
-- unsigned long address,
-- int write_access)
--{
-- return do_vm_pcie_nopage(vma, address);
--}
--
--static vm_nopage_ret_t vm_gart_nopage(struct vm_area_struct* vma,
-- unsigned long address,
-- int *type)
--{
-- return do_vm_gart_nopage(vma, address);
--}
--
--
--#endif /* LINUX_VERSION_CODE > KERNEL_VERSION(2,6,0) */
-
- void* ATI_API_CALL __ke_vma_file_priv(struct vm_area_struct* vma)
- {
-@@ -4040,7 +3952,7 @@
- *(buf + i++) = pgprot & _PAGE_DIRTY ? 'd' : '-';
- *(buf + i++) = pgprot & _PAGE_PSE ? 'm' : 'k';
- *(buf + i++) = pgprot & _PAGE_GLOBAL ? 'g' : 'l';
--#endif /* __i386__ */
-+#endif /* __i386__ */
- *(buf + i++) = 0;
-
- return buf;
-@@ -4069,9 +3981,9 @@
- return buf;
- }
-
--char* ATI_API_CALL __ke_vm_phys_addr_str(struct vm_area_struct* vma,
-- char* buf,
-- unsigned long virtual_addr,
-+char* ATI_API_CALL __ke_vm_phys_addr_str(struct vm_area_struct* vma,
-+ char* buf,
-+ unsigned long virtual_addr,
- __ke_dma_addr_t* phys_address)
- {
- pgd_t* pgd_p;
-@@ -4174,7 +4086,7 @@
-
- static struct vm_operations_struct vm_ops =
- {
-- nopage: ip_vm_nopage,
-+ fault: ip_vm_nopage,
- open: ip_drm_vm_open,
- close: ip_drm_vm_close,
- };
-@@ -4183,7 +4095,7 @@
- #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: 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: 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: 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 =
- {
-- 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: 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: ip_vm_gart_nopage,
-+ fault: ip_vm_gart_nopage,
- open: ip_drm_vm_open,
- close: ip_drm_vm_close,
- };
-@@ -4236,14 +4148,14 @@
- #ifndef __ia64__
- static struct vm_operations_struct vm_agp_bq_ops =
- {
-- nopage: ip_vm_nopage,
-+ fault: ip_vm_nopage,
- open: ip_drm_vm_open,
- close: ip_drm_vm_close,
- };
- #else
- static struct vm_operations_struct vm_cant_agp_bq_ops =
- {
-- nopage: ip_vm_cant_nopage,
-+ fault: ip_vm_cant_nopage,
- open: ip_drm_vm_open,
- close: ip_drm_vm_close,
- };
-@@ -4298,7 +4210,7 @@
- vma->vm_ops = &vm_ops;
- break;
-
--#ifdef FIREGL_USWC_SUPPORT
-+#ifdef FIREGL_USWC_SUPPORT
- case __KE_ADPT_REG:
- {
- #ifdef __ia64__
-@@ -4318,7 +4230,7 @@
- }
- else
- {
-- vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
-+ vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
- }
- }
- #endif /* __i386__ */
-@@ -4337,7 +4249,7 @@
- vma->vm_ops = &vm_ops;
- }
- break;
--#endif
-+#endif
-
- case __KE_SHM:
- vma->vm_flags |= VM_SHM | VM_RESERVED; /* Don't swap */
-@@ -4371,7 +4283,7 @@
-
- #ifdef __AGP__BUILTIN__
- case __KE_AGP:
-- // if(dev->agp->cant_use_aperture == 1)
-+ // if(dev->agp->cant_use_aperture == 1)
- #ifdef __ia64__
- {
- /*
-@@ -4395,9 +4307,9 @@
- if( firegl_pat_enabled )
- {
- vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
-- }
-+ }
- }
--#endif
-+#endif
-
- if (REMAP_PAGE_RANGE(vma,offset))
- {
-@@ -4414,8 +4326,8 @@
- #endif
- break;
- case __KE_AGP_BQS:
-- // if(dev->agp->cant_use_aperture == 1)
--#ifdef __ia64__
-+ // if(dev->agp->cant_use_aperture == 1)
-+#ifdef __ia64__
- {
- /*
- * On some systems we can't talk to bus dma address from
-@@ -4438,9 +4350,9 @@
- if( firegl_pat_enabled )
- {
- vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
-- }
-+ }
- }
--#endif
-+#endif
-
- if (REMAP_PAGE_RANGE(vma,offset))
- {
-@@ -4469,15 +4381,15 @@
- break;
-
- case __KE_GART_USWC:
--#ifdef FIREGL_USWC_SUPPORT
-+#ifdef FIREGL_USWC_SUPPORT
- if (boot_cpu_data.x86 > 3)
- {
- if( firegl_pat_enabled )
- {
- vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
-- }
-+ }
- }
--#endif
-+#endif
- // fall through
- case __KE_GART_CACHEABLE:
- vma->vm_flags |= VM_RESERVED;
-@@ -4527,7 +4439,7 @@
- #define FIREGL_agp_backend_release _X(agp_backend_release)
- #define FIREGL_agp_memory _X(agp_memory)
-
--unsigned int __ke_firegl_agpgart_inuse = AGPGART_INUSE_NONE;
-+unsigned int __ke_firegl_agpgart_inuse = AGPGART_INUSE_NONE;
-
- #if defined(CONFIG_AGP) || defined(CONFIG_AGP_MODULE)
- /*****************************************************************************/
-@@ -4642,7 +4554,7 @@
- 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;
-+ __ke_firegl_agpgart_inuse = KERNEL26_AGPGART_INUSE;
- {
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,12)
- firegl_pci_device = (struct pci_dev*)(void*)pcidev;
-@@ -4778,7 +4690,7 @@
-
- if (AGP_AVAILABLE(copy_info))
- {
-- struct agp_kern_info kern;
-+ struct agp_kern_info kern;
-
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,12)
- if (firegl_agp_bridge == NULL)
-@@ -4876,7 +4788,7 @@
-
- int ATI_API_CALL __ke_read_agp_caps_registers(__ke_pci_dev_t* dev, unsigned int *caps)
- {
-- return -EINVAL;
-+ return -EINVAL;
- }
-
- int ATI_API_CALL __ke_agp_acquire(__ke_pci_dev_t* dev)
-@@ -4913,9 +4825,9 @@
-
- /** \brief Runs a function on all other CPUs
- * \param func_to_call function to be called on all other cpus
-- * \return None
-+ * \return None
- */
--void ATI_API_CALL KCL_CallFuncOnOtherCpus(firegl_void_routine_t func_to_call)
-+void ATI_API_CALL KCL_CallFuncOnOtherCpus(firegl_void_routine_t func_to_call)
- {
- #ifdef CONFIG_SMP
- smp_call_function( firegl_smp_func_parameter_wrap, (void*)func_to_call, 0, 1 );
-@@ -4926,7 +4838,7 @@
-
- int ATI_API_CALL KCL_is_pat_enabled(void)
- {
-- return firegl_pat_enabled;
-+ return firegl_pat_enabled;
- }
-
- static int ATI_API_CALL KCL_has_pat(void)
-@@ -4942,7 +4854,7 @@
- {
- unsigned long cr0=0, cr4=0;
- unsigned long flags;
--
-+
- local_irq_save(flags);
- cr0 = read_cr0() | 0x40000000;
- write_cr0(cr0);
-@@ -4973,7 +4885,7 @@
- {
- unsigned long cr0 = 0, cr4 = 0;
- unsigned long flags;
--
-+
- local_irq_save(flags);
- cr0 = read_cr0() | 0x40000000;
- write_cr0(cr0);
-@@ -4985,7 +4897,7 @@
- write_cr4(cr4 & ~X86_CR4_PGE);
- }
- __flush_tlb();
--
-+
- wrmsr(MSR_IA32_CR_PAT, KCL_orig_pat[0], KCL_orig_pat[1]);
-
- cr0 = read_cr0();
-@@ -5008,7 +4920,7 @@
- __KE_INFO("USWC is disabled in module parameters\n");
- return 0;
- }
--
-+
- if (!KCL_has_pat())
- {
- return 0;
-@@ -5018,13 +4930,13 @@
-
- for ( i = 0; i < 2; i++ )
- {
-- for (j = 0; j < 4; j ++)
-+ for (j = 0; j < 4; j ++)
- {
- if (((KCL_orig_pat[i] >> (j * 8)) & 0xFF) == 1)
-- {
-+ {
- __KE_ERROR("Pat entry %d is already configured\n", (i+1)*(j+1));
- return 0;
-- }
-+ }
- }
- }
-
-@@ -5096,7 +5008,7 @@
- } kasContext_t;
-
- /** \brief KAS context */
--static kasContext_t kasContext;
-+static kasContext_t kasContext;
-
- /** \brief Kernel support required to enable KAS */
- #if defined(cmpxchg) && \
-@@ -5398,7 +5310,7 @@
- DBG_TRACE("Interrupt handler returned 0x%08X", ret);
-
- kasSetExecutionLevel(orig_level);
-- spin_unlock(&kasContext.lock_ih);
-+ spin_unlock(&kasContext.lock_ih);
-
- DBG_LEAVE("%d", ret);
- return ret;
-@@ -5673,7 +5585,7 @@
- #endif
- spinlock_t lock; /* OS spinlock object protecting the cache */
- unsigned int routine_type; /* Type of routine the cache might be accessed from */
-- char name[14]; /* Cache object name (kernel 2.4 restricts its length to 19 chars) */
-+ char name[24]; /* Cache object name (kernel 2.4 restricts its length to 19 chars) */
- } kasSlabCache_t;
-
- /** \brief Return Slab Cache object size
-@@ -5711,7 +5623,8 @@
-
- slabcache_obj->routine_type = access_type;
- spin_lock_init(&(slabcache_obj->lock));
-- sprintf(slabcache_obj->name, "kas(%08lX)",(unsigned long)slabcache_obj);
-+ snprintf(slabcache_obj->name, sizeof(slabcache_obj->name),
-+ "kas(%p)", slabcache_obj);
-
- DBG_TRACE("creating slab object '%s'", slabcache_obj->name);
-
-@@ -6627,7 +6540,7 @@
-
- kas_xadd(puiDestination, iAdd, ret, "l");
-
-- return ret + iAdd;
-+ return ret + iAdd;
- #else
- return 0xDEADC0DE; /* To make compiler happy */
- #endif
-@@ -6710,7 +6623,7 @@
- #ifdef FIREGL_CF_SUPPORT
-
- void *ATI_API_CALL KCL_lock_init()
--{
-+{
- spinlock_t *lock;
-
- lock = kmalloc(sizeof(*lock), GFP_KERNEL);
-@@ -6722,7 +6635,7 @@
- }
-
- void ATI_API_CALL KCL_lock_deinit(void *plock)
--{
-+{
- if (plock == NULL)
- {
- __KE_ERROR("plock is NULL\n");
-diff -Nur -x '*.orig' -x '*~' 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,7 +78,7 @@
- if (!pgd_present(*(pgd_p)))
- {
- __KE_ERROR("FATAL ERROR: User queue buffer not present! (pgd)\n");
-- return (unsigned long)NOPAGE_SIGBUS; /* Something bad happened; generate SIGBUS */
-+ return VM_FAULT_SIGBUS; /* Something bad happened; generate SIGBUS */
- /* alternatively we could generate a NOPAGE_OOM "out of memory" */
- }
- } while(0)
-@@ -91,7 +91,7 @@
- if (!pud_present(*(pud_p)))
- {
- __KE_ERROR("FATAL ERROR: User queue buffer not present! (pud)\n");
-- return (unsigned long)NOPAGE_SIGBUS; /* Something bad happened; generate SIGBUS */
-+ return VM_FAULT_SIGBUS; /* Something bad happened; generate SIGBUS */
- /* alternatively we could generate a NOPAGE_OOM "out of memory" */
- }
- pmd_p = pmd_offset(pud_p, pte_linear);
-@@ -111,7 +111,7 @@
- if (!pmd_present(*(pmd_p)))
- {
- __KE_ERROR("FATAL ERROR: User queue buffer not present! (pmd)\n");
-- return (unsigned long)NOPAGE_SIGBUS; /* Something bad happened; generate SIGBUS */
-+ return VM_FAULT_SIGBUS; /* Something bad happened; generate SIGBUS */
- /* alternatively we could generate a NOPAGE_OOM "out of memory" */
- }
- } while(0)
-@@ -157,7 +157,7 @@
- if (!pte_present(pte))
- {
- __KE_ERROR("FATAL ERROR: User queue buffer not present! (pte)\n");
-- return (unsigned long)NOPAGE_SIGBUS; /* Something bad happened; generate SIGBUS */
-+ return VM_FAULT_SIGBUS; /* Something bad happened; generate SIGBUS */
- /* alternatively we could generate a NOPAGE_OOM "out of memory" */
- }
- } while(0)
<
Copyright © 2010 by Phoronix Media