commit:     5c7604800fef9c0b99674970467fb9feec9ec723
Author:     Emil Karlson <jekarlson <AT> gmail <DOT> com>
AuthorDate: Thu Feb 12 20:03:26 2015 +0000
Commit:     Emil Karlson <jekarlson <AT> gmail <DOT> com>
CommitDate: Thu Feb 12 20:03:26 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/x11.git;a=commit;h=5c760480

x11-drivers/ati-drivers: fix compile on linux-3.19

---
 .../ati-drivers/ati-drivers-14.12-r3.ebuild        |  2 +
 .../get-percpu-without-preempt-on-linux-3.19.patch | 45 ++++++++++++++++++++++
 2 files changed, 47 insertions(+)

diff --git a/x11-drivers/ati-drivers/ati-drivers-14.12-r3.ebuild 
b/x11-drivers/ati-drivers/ati-drivers-14.12-r3.ebuild
index b4aa191..a792e68 100644
--- a/x11-drivers/ati-drivers/ati-drivers-14.12-r3.ebuild
+++ b/x11-drivers/ati-drivers/ati-drivers-14.12-r3.ebuild
@@ -327,6 +327,8 @@ src_prepare() {
        # Compile fix, #526602
        epatch "${FILESDIR}/use-kernel_fpu_begin.patch"
 
+       epatch "${FILESDIR}/get-percpu-without-preempt-on-linux-3.19.patch"
+
        cd "${MODULE_DIR}"
 
        # bugged fglrx build system, this file should be copied by hand

diff --git 
a/x11-drivers/ati-drivers/files/get-percpu-without-preempt-on-linux-3.19.patch 
b/x11-drivers/ati-drivers/files/get-percpu-without-preempt-on-linux-3.19.patch
new file mode 100644
index 0000000..d2c6f70
--- /dev/null
+++ 
b/x11-drivers/ati-drivers/files/get-percpu-without-preempt-on-linux-3.19.patch
@@ -0,0 +1,45 @@
+From 56ca74832b1f97c8e89329a313c7ca2405cd26cb Mon Sep 17 00:00:00 2001
+From: Emil Karlson <jekarl...@gmail.com>
+Date: Thu, 12 Feb 2015 21:59:46 +0200
+Subject: [PATCH] get percpu without preempton linux-3.19
+
+---
+ common/lib/modules/fglrx/build_mod/firegl_public.c | 15 ++++++++++++---
+ 1 file changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/common/lib/modules/fglrx/build_mod/firegl_public.c 
b/common/lib/modules/fglrx/build_mod/firegl_public.c
+index 360b6ac..3cba36e 100755
+--- a/common/lib/modules/fglrx/build_mod/firegl_public.c
++++ b/common/lib/modules/fglrx/build_mod/firegl_public.c
+@@ -4816,8 +4816,13 @@ static unsigned long kasSetExecutionLevel(unsigned long 
level)
+ {
+     unsigned long orig_level;
+ 
+-    orig_level = __get_cpu_var(kasExecutionLevel);
+-    __get_cpu_var(kasExecutionLevel) = level;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,19,0)
++      orig_level = __get_cpu_var(kasExecutionLevel);
++      __get_cpu_var(kasExecutionLevel) = level;
++#else
++    orig_level = (*this_cpu_ptr(&(kasExecutionLevel)));
++    (*this_cpu_ptr(&(kasExecutionLevel))) = level;
++#endif
+ 
+     return orig_level;
+ }
+@@ -4829,7 +4834,11 @@ static unsigned long kasSetExecutionLevel(unsigned long 
level)
+  */
+ static unsigned long kas_GetExecutionLevel(void)
+ {
+-    return __get_cpu_var(kasExecutionLevel);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,19,0)
++      return __get_cpu_var(kasExecutionLevel);
++#else
++      return (*this_cpu_ptr(&(kasExecutionLevel)));
++#endif
+ }
+ 
+ /** \brief Type definition for kas_spin_lock() parameter */
+-- 
+2.0.5
+

Reply via email to