diff options
author | Tomas Chvatal <scarabeus@gentoo.org> | 2009-06-26 11:19:43 +0000 |
---|---|---|
committer | Tomas Chvatal <scarabeus@gentoo.org> | 2009-06-26 11:19:43 +0000 |
commit | 7536f234e580911ae7868eb2fc110153005c3aaf (patch) | |
tree | ac1fc284d38b6d367e1a0f400cc37739ea267f02 | |
parent | stable x86, bug 270243 (diff) | |
download | gentoo-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)
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 |