[arch-commits] CVS update of extra/modules/fglrx (3 files)

Tobias Powalowski tpowa at archlinux.org
Sat Oct 13 16:07:51 UTC 2007


    Date: Saturday, October 13, 2007 @ 12:07:51
  Author: tpowa
    Path: /home/cvs-extra/extra/modules/fglrx

   Added: kernel-2.6.23.patch (1.1)
Modified: PKGBUILD (1.9 -> 1.10) fglrx.install (1.3 -> 1.4)

'upgpkg: update to new kernel'


---------------------+
 PKGBUILD            |   14 ++++----
 fglrx.install       |    6 +--
 kernel-2.6.23.patch |   86 ++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 96 insertions(+), 10 deletions(-)


Index: extra/modules/fglrx/PKGBUILD
diff -u extra/modules/fglrx/PKGBUILD:1.9 extra/modules/fglrx/PKGBUILD:1.10
--- extra/modules/fglrx/PKGBUILD:1.9	Tue Sep 18 10:36:55 2007
+++ extra/modules/fglrx/PKGBUILD	Sat Oct 13 12:07:50 2007
@@ -1,11 +1,11 @@
-# $Id: PKGBUILD,v 1.9 2007/09/18 14:36:55 travis Exp $
+# $Id: PKGBUILD,v 1.10 2007/10/13 16:07:50 tpowa Exp $
 # Maintainer: Travis Willard <travisw at wmpub.ca>
 # Contributor: amdviaman
 
 pkgname=fglrx
 pkgver=8.41.7
-_kernel_version=2.6.22
-pkgrel=1
+_kernel_version=2.6.23
+pkgrel=2
 pkgdesc="Proprietary AMD/ATI kernel drivers for Radeon brand cards. Stock kernel."
 arch=('i686' 'x86_64')
 url="http://www.ati.amd.com"
@@ -15,9 +15,7 @@
 makedepends=()
 replaces=('ati-fglrx')
 install=${pkgname}.install
-source=(http://www2.ati.com/drivers/linux/ati-driver-installer-$pkgver-x86.x86_64.run)
-md5sums=('0b43b45499ced87a6bd30d99faed25cc')
-sha1sums=('fe556f3ffc6517586809278d8295ca254faefbf0')
+source=(http://www2.ati.com/drivers/linux/ati-driver-installer-$pkgver-x86.x86_64.run kernel-2.6.23.patch)
 
 _kernver=${_kernel_version}-ARCH
 
@@ -41,6 +39,7 @@
     fi
     cd $startdir/src
     cd $startdir/src/lib/modules/fglrx/build_mod/
+    patch -Np0 -i $startdir/src/kernel-2.6.23.patch || return 1
 
     # Build the kernel module
     cp 2.6.x/Makefile .
@@ -53,4 +52,5 @@
     sed -i -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" $startdir/$install
 
 }
-
+md5sums=('0b43b45499ced87a6bd30d99faed25cc'
+         '3bcb3038a0905942f61418d69b8b895b')
Index: extra/modules/fglrx/fglrx.install
diff -u extra/modules/fglrx/fglrx.install:1.3 extra/modules/fglrx/fglrx.install:1.4
--- extra/modules/fglrx/fglrx.install:1.3	Mon Jul  9 16:33:02 2007
+++ extra/modules/fglrx/fglrx.install	Sat Oct 13 12:07:51 2007
@@ -13,20 +13,20 @@
   echo "You can use the tool 'aticonfig' to generate an xorg.conf file."
   echo "Remember to add fglrx to the MODULES list in /etc/rc.conf."
   echo "--------------------------------------------------------------"
-  KERNEL_VERSION=2.6.22-ARCH
+  KERNEL_VERSION=2.6.23-ARCH
   depmod -v $KERNEL_VERSION > /dev/null 2>&1
 }
 
 # arg 1:  the new package version
 # arg 2:  the old package version
 post_upgrade() {
-  KERNEL_VERSION=2.6.22-ARCH
+  KERNEL_VERSION=2.6.23-ARCH
   depmod -v $KERNEL_VERSION > /dev/null 2>&1
 }
 
 # arg 1:  the old package version
 post_remove() {
-  KERNEL_VERSION=2.6.22-ARCH
+  KERNEL_VERSION=2.6.23-ARCH
   depmod -v $KERNEL_VERSION > /dev/null 2>&1
 }
 
Index: extra/modules/fglrx/kernel-2.6.23.patch
diff -u /dev/null extra/modules/fglrx/kernel-2.6.23.patch:1.1
--- /dev/null	Sat Oct 13 12:07:51 2007
+++ extra/modules/fglrx/kernel-2.6.23.patch	Sat Oct 13 12:07:51 2007
@@ -0,0 +1,86 @@
+--- firegl_public.c.orig	2007-08-10 23:59:21.000000000 +0200
++++ firegl_public.c	2007-08-13 20:00:26.000000000 +0200
+@@ -214,6 +214,56 @@
+ #define preempt_enable()
+ #endif
+ 
++#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,22)
++#if defined(__i386__)
++#define ptep_test_and_clear_dirty(vma, addr, ptep) ({                  \
++       int __ret = 0;                                                  \
++       if (pte_dirty(*(ptep)))                                         \
++               __ret = test_and_clear_bit(_PAGE_BIT_DIRTY,             \
++                                               &(ptep)->pte_low);      \
++       if (__ret)                                                      \
++               pte_update((vma)->vm_mm, addr, ptep);                   \
++       __ret;                                                          \
++})
++
++static inline int pte_read(pte_t pte)	{ return (pte).pte_low & _PAGE_USER; }
++static inline int pte_user(pte_t pte)	{ return (pte).pte_low & _PAGE_USER; }
++#ifdef CONFIG_X86_PAE
++/*
++ * Is the pte executable?
++ */
++static inline int pte_x(pte_t pte)
++{
++        return !(pte_val(pte) & _PAGE_NX);
++}
++ 
++/*
++ * All present user-pages with !NX bit are user-executable:
++ */
++static inline int pte_exec(pte_t pte)
++{
++        return pte_user(pte) && pte_x(pte);
++}
++#else
++static inline int pte_exec(pte_t pte)
++{
++        return pte_user(pte);
++}
++#endif	/* PAE */
++
++#elif defined(__x86_64__)
++static inline int ptep_test_and_clear_dirty(struct vm_area_struct *vma,
++					unsigned long addr, pte_t *ptep)
++{
++	if (!pte_dirty(*ptep))
++		return 0;
++	return test_and_clear_bit(_PAGE_BIT_DIRTY, &ptep->pte);
++}
++static inline int pte_read(pte_t pte)	{ return pte_val(pte) & _PAGE_USER; }
++static inline int pte_exec(pte_t pte)	{ return !(pte_val(pte) & _PAGE_NX); }
++#endif
++#endif
++
+ // ============================================================
+ /* globals */
+ 
+@@ -2356,7 +2406,7 @@ void ATI_API_CALL __ke_put_vm_page_table
+ #ifndef ptep_clear_flush_dirty
+ #define ptep_clear_flush_dirty(__vma, __address, __ptep) \
+ ({							 \
+-    int __dirty = ptep_test_and_clear_dirty(__ptep);	 \
++    int __dirty = ptep_test_and_clear_dirty(__vma, __address, __ptep);	 \
+     if (__dirty)					 \
+         flush_tlb_page(__vma, __address);		 \
+     __dirty;						 \
+@@ -5303,7 +5353,7 @@ unsigned int ATI_API_CALL KAS_Spinlock_R
+ /** \brief Type definition of the structure describing Slab Cache object */
+ typedef struct tag_kasSlabCache_t
+ {
+-    kmem_cache_t* cache;        /* OS slab cache object */
++    struct kmem_cache *cache;	/* OS slab cache object */
+     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) */
+@@ -5349,7 +5399,7 @@ unsigned int ATI_API_CALL KAS_SlabCache_
+     DBG_TRACE("creating slab object '%s'", slabcache_obj->name);
+ 
+     if ((slabcache_obj->cache =
+-            kmem_cache_create(slabcache_obj->name, iEntrySize, 0, 0, NULL, NULL)))
++            kmem_cache_create(slabcache_obj->name, iEntrySize, 0, 0, NULL)))
+     {
+         ret = 1;
+     }




More information about the arch-commits mailing list