summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomas Chvatal <scarabeus@gentoo.org>2009-06-26 11:19:43 +0000
committerTomas Chvatal <scarabeus@gentoo.org>2009-06-26 11:19:43 +0000
commit7536f234e580911ae7868eb2fc110153005c3aaf (patch)
treeac1fc284d38b6d367e1a0f400cc37739ea267f02
parentstable x86, bug 270243 (diff)
downloadgentoo-2-7536f234e580911ae7868eb2fc110153005c3aaf.tar.gz
gentoo-2-7536f234e580911ae7868eb2fc110153005c3aaf.tar.bz2
gentoo-2-7536f234e580911ae7868eb2fc110153005c3aaf.zip
Add the missing patches :(. Per bug #275427. I seriously hate cvs, only thing i run now to fix it is echangelog and repoman commit so why it was not picked before.
(Portage version: 2.2_rc33/cvs/Linux x86_64)
-rw-r--r--x11-drivers/ati-drivers/ChangeLog9
-rw-r--r--x11-drivers/ati-drivers/files/kernel/2.6.29.patch100
-rw-r--r--x11-drivers/ati-drivers/files/kernel/2.6.30-enable_msi.patch13
-rw-r--r--x11-drivers/ati-drivers/files/kernel/2.6.30-irqreturn_t.patch17
-rw-r--r--x11-drivers/ati-drivers/files/kernel/2.6.30-rt_compat.patch26
-rw-r--r--x11-drivers/ati-drivers/files/kernel/2.6.30-tlb_flush.patch11
6 files changed, 175 insertions, 1 deletions
diff --git a/x11-drivers/ati-drivers/ChangeLog b/x11-drivers/ati-drivers/ChangeLog
index e5b03d4fe835..2df105b824e5 100644
--- a/x11-drivers/ati-drivers/ChangeLog
+++ b/x11-drivers/ati-drivers/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for x11-drivers/ati-drivers
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ChangeLog,v 1.157 2009/06/25 16:31:08 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ChangeLog,v 1.158 2009/06/26 11:19:43 scarabeus Exp $
+
+ 26 Jun 2009; Tomáš Chvátal <scarabeus@gentoo.org>
+ +files/kernel/2.6.29.patch, +files/kernel/2.6.30-enable_msi.patch,
+ +files/kernel/2.6.30-irqreturn_t.patch,
+ +files/kernel/2.6.30-rt_compat.patch,
+ +files/kernel/2.6.30-tlb_flush.patch:
+ Add the missing patches :(. Per bug #275427.
*ati-drivers-9.6 (25 Jun 2009)
diff --git a/x11-drivers/ati-drivers/files/kernel/2.6.29.patch b/x11-drivers/ati-drivers/files/kernel/2.6.29.patch
new file mode 100644
index 000000000000..d8c1a894246b
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/kernel/2.6.29.patch
@@ -0,0 +1,100 @@
+Quick-and-dirty fixes to build on 2.6.29-rcX kernels.
+
+diff -Nparu build_mod/firegl_public.c fglrx-8.573-new/common/lib/modules/fglrx/build_mod/firegl_public.c
+--- build_mod/firegl_public.c 2009-01-23 20:00:26.000000000 -0200
++++ fglrx-8.573-new/common/lib/modules/fglrx/build_mod/firegl_public.c 2009-02-13 15:25:00.000000000 -0200
+@@ -1460,7 +1460,11 @@ KCL_TYPE_Pid ATI_API_CALL KCL_GetTgid(vo
+ */
+ KCL_TYPE_Uid ATI_API_CALL KCL_GetEffectiveUid(void)
+ {
++#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,28)
++ return current->cred->euid;
++#else
+ return current->euid;
++#endif
+ }
+
+ /** /brief Delay execution for the specified number of microseconds
+@@ -1832,15 +1836,30 @@ int ATI_API_CALL KCL_PosixSecurityCapChe
+ */
+ void ATI_API_CALL KCL_PosixSecurityCapSetIPCLock(unsigned int lock)
+ {
++
++#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,28)
++ struct cred *new = prepare_creds();
++ if (!new) {
++ printk(KERN_ERR "fglrx: could not allocate memory\n");
++ return;
++ }
++#else
++#define new current
++#endif
+ if (lock == 0 )
+ {
+- cap_lower(current->cap_effective, CAP_IPC_LOCK);
++ cap_lower(new->cap_effective, CAP_IPC_LOCK);
+ }
+ else
+ {
+- cap_raise(current->cap_effective, CAP_IPC_LOCK);
++ cap_raise(new->cap_effective, CAP_IPC_LOCK);
+ }
+- return;
++
++#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,28)
++ commit_creds(new);
++#else
++#undef new
++#endif
+ }
+
+ /** \brief Get number of available RAM pages
+diff -Nparu build_mod/firegl_public.h fglrx-8.573-new/common/lib/modules/fglrx/build_mod/firegl_public.h
+--- build_mod/firegl_public.h 2009-01-23 20:00:26.000000000 -0200
++++ fglrx-8.573-new/common/lib/modules/fglrx/build_mod/firegl_public.h 2009-02-16 14:02:50.000000000 -0300
+@@ -18,6 +18,7 @@
+ #define _FIREGL_PUBLIC_H_
+
+ #include <stdarg.h>
++#include <asm/pgtable.h>
+ #include "kcl_pci.h"
+ #include "kcl_io.h"
+
+@@ -590,6 +591,11 @@ extern unsigned long KCL_SYSINFO_
+ #define cpu_has_pge test_bit(X86_FEATURE_PGE, &boot_cpu_data.x86_capability)
+ #endif
+
++#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,28)
++#undef pgprot_writecombine
++#undef pgprot_noncached
++#endif
++
+ #ifndef pgprot_writecombine
+ #define pgprot_writecombine(prot) __pgprot((pgprot_val(prot) & ~(_PAGE_PCD)) | _PAGE_PWT)
+ #endif
+@@ -598,6 +604,7 @@ extern unsigned long KCL_SYSINFO_
+ #define pgprot_noncached(prot) __pgprot(pgprot_val(prot) | _PAGE_PCD | _PAGE_PWT)
+ #endif
+
++
+ #endif //FIREGL_USWC_SUPPORT
+
+
+diff -Nparu build_mod/kcl_acpi.c fglrx-8.573-new/common/lib/modules/fglrx/build_mod/kcl_acpi.c
+--- build_mod/kcl_acpi.c 2009-01-23 20:00:26.000000000 -0200
++++ fglrx-8.573-new/common/lib/modules/fglrx/build_mod/kcl_acpi.c 2009-02-13 15:25:00.000000000 -0200
+@@ -18,6 +18,12 @@
+ #include <linux/autoconf.h>
+ #include <linux/acpi.h>
+
++#if LINUX_VERSION_CODE > KERNEL_VERSION(2,6,28)
++#include <../drivers/acpi/acpica/acconfig.h>
++#include <../drivers/acpi/acpica/aclocal.h>
++#include <../drivers/acpi/acpica/acobject.h>
++#endif
++
+ #include "kcl_config.h"
+ #include "kcl_type.h"
+ #include "kcl_acpi.h"
+ #include "kcl_acpi.h"
+
diff --git a/x11-drivers/ati-drivers/files/kernel/2.6.30-enable_msi.patch b/x11-drivers/ati-drivers/files/kernel/2.6.30-enable_msi.patch
new file mode 100644
index 000000000000..77812e1f6039
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/kernel/2.6.30-enable_msi.patch
@@ -0,0 +1,13 @@
+diff -Naur a/common/lib/modules/fglrx/build_mod/kcl_pci.c b/common/lib/modules/fglrx/build_mod/kcl_pci.c
+--- a/common/lib/modules/fglrx/build_mod/kcl_pci.c 2009-05-31 12:05:01.115508741 -0500
++++ b/common/lib/modules/fglrx/build_mod/kcl_pci.c 2009-05-31 12:06:15.871506492 -0500
+@@ -310,3 +310,8 @@
+ }
+ #endif //__x86_64__
+
++#undef pci_enable_msi
++int pci_enable_msi(struct pci_dev *pdev)
++{
++return pci_enable_msi_block(pdev, 1);
++}
+
diff --git a/x11-drivers/ati-drivers/files/kernel/2.6.30-irqreturn_t.patch b/x11-drivers/ati-drivers/files/kernel/2.6.30-irqreturn_t.patch
new file mode 100644
index 000000000000..1ac0212b7cb0
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/kernel/2.6.30-irqreturn_t.patch
@@ -0,0 +1,17 @@
+diff -Naur a/common/lib/modules/fglrx/build_mod/drm_os_linux.h b/common/lib/modules/fglrx/build_mod/drm_os_linux.h
+--- a/common/lib/modules/fglrx/build_mod/drm_os_linux.h 2009-05-27 19:24:11.944421623 -0500
++++ b/common/lib/modules/fglrx/build_mod/drm_os_linux.h 2009-05-27 19:28:12.424780164 -0500
+@@ -42,10 +42,12 @@
+ #define DRM_IRQ_ARGS int irq, void *arg, struct pt_regs *regs
+ /** backwards compatibility with old irq return values */
+ #ifndef IRQ_HANDLED
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
+ typedef void irqreturn_t;
+ #define IRQ_HANDLED /* nothing */
+ #define IRQ_NONE /* nothing */
+ #endif
++#endif
+
+ /** AGP types */
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,5,70)
+
diff --git a/x11-drivers/ati-drivers/files/kernel/2.6.30-rt_compat.patch b/x11-drivers/ati-drivers/files/kernel/2.6.30-rt_compat.patch
new file mode 100644
index 000000000000..69725ee43b18
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/kernel/2.6.30-rt_compat.patch
@@ -0,0 +1,26 @@
+--- a/common/lib/modules/fglrx/build_mod/firegl_public.c
++++ b/common/lib/modules/fglrx/build_mod/firegl_public.c
+@@ -1352,7 +1352,11 @@
+ int process_terminated = 1;
+
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17)
++#if !defined(CONFIG_PREEMPT_RT)
+ rcu_read_lock();
++#else
++ preempt_disable();
++#endif
+ #else
+ read_lock(&tasklist_lock);
+ #endif
+@@ -1373,7 +1377,11 @@
+ }
+ }
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,17)
++#if !defined(CONFIG_PREEMPT_RT)
+ rcu_read_unlock();
++#else
++ preempt_disable();
++#endif
+ #else
+ read_unlock(&tasklist_lock);
+ #endif
diff --git a/x11-drivers/ati-drivers/files/kernel/2.6.30-tlb_flush.patch b/x11-drivers/ati-drivers/files/kernel/2.6.30-tlb_flush.patch
new file mode 100644
index 000000000000..f74ee2fbdd58
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/kernel/2.6.30-tlb_flush.patch
@@ -0,0 +1,11 @@
+--- common/lib/modules/fglrx/build_mod/firegl_public.c
++++ common/lib/modules/fglrx/build_mod/firegl_public.c
+@@ -2308,7 +2308,7 @@
+ * kernel < 2.6.27, on_each_cpu has 4 parameters.
+ * kernel >= 2.6.27, on_each_cpu has 3 parameters (removed the "retry" parameter)
+ */
+-#if defined(__x86_64__) && (defined(__SMP__) || defined(CONFIG_SMP)) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25))
++#if defined(CONFIG_SMP) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25))
+ # if (LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27))
+ on_each_cpu(KCL_flush_tlb_one, &va, 1, 1);
+ # else