summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--x11-drivers/ati-drivers/ati-drivers-14.12-r3.ebuild3
-rw-r--r--x11-drivers/ati-drivers/ati-drivers-14.4.ebuild2
-rw-r--r--x11-drivers/ati-drivers/files/ati-drivers-14.12-linux-3.19.patch28
-rw-r--r--x11-drivers/nvidia-drivers/files/nvidia-drivers-3.19.patch20
-rw-r--r--x11-drivers/nvidia-drivers/nvidia-drivers-304.125.ebuild4
5 files changed, 56 insertions, 1 deletions
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 31ec4329..168b39e8 100644
--- a/x11-drivers/ati-drivers/ati-drivers-14.12-r3.ebuild
+++ b/x11-drivers/ati-drivers/ati-drivers-14.12-r3.ebuild
@@ -164,6 +164,9 @@ src_prepare() {
# Compile fix, #526602
epatch "${FILESDIR}/use-kernel_fpu_begin.patch"
+ # Linux 3.19 support
+ epatch "${FILESDIR}/${P}-linux-3.19.patch"
+
cd "${MODULE_DIR}"
# bugged fglrx build system, this file should be copied by hand
cp ${ARCH_DIR}/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x
diff --git a/x11-drivers/ati-drivers/ati-drivers-14.4.ebuild b/x11-drivers/ati-drivers/ati-drivers-14.4.ebuild
index a3bfd92b..9892b7c8 100644
--- a/x11-drivers/ati-drivers/ati-drivers-14.4.ebuild
+++ b/x11-drivers/ati-drivers/ati-drivers-14.4.ebuild
@@ -10,7 +10,7 @@ DESCRIPTION="Ati precompiled drivers for Radeon Evergreen (HD5000 Series) and ne
HOMEPAGE="http://www.amd.com"
RUN="${WORKDIR}/fglrx-14.10.1006/amd-driver-installer-14.10.1006-x86.x86_64.run"
SLOT="1"
-DRIVERS_URI="mirror://sabayon/${CATEGORY}/amd-catalyst-14-4-linux-x86-x86-64.zip"
+DRIVERS_URI="mirror://kogaion/${CATEGORY}/amd-catalyst-14-4-linux-x86-x86-64.zip"
XVBA_SDK_URI="http://developer.amd.com/wordpress/media/2012/10/xvba-sdk-0.74-404001.tar.gz"
SRC_URI="${DRIVERS_URI} ${XVBA_SDK_URI}"
FOLDER_PREFIX="common/"
diff --git a/x11-drivers/ati-drivers/files/ati-drivers-14.12-linux-3.19.patch b/x11-drivers/ati-drivers/files/ati-drivers-14.12-linux-3.19.patch
new file mode 100644
index 00000000..9594972d
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/ati-drivers-14.12-linux-3.19.patch
@@ -0,0 +1,28 @@
+--- a/common/lib/modules/fglrx/build_mod/firegl_public.c
++++ b/common/lib/modules/fglrx/build_mod/firegl_public.c
+@@ -4823,8 +4823,13 @@
+ {
+ unsigned long orig_level;
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,0)
++ orig_level = __this_cpu_read(kasExecutionLevel);
++ __this_cpu_write(kasExecutionLevel,level);
++#else
+ orig_level = __get_cpu_var(kasExecutionLevel);
+ __get_cpu_var(kasExecutionLevel) = level;
++#endif
+
+ return orig_level;
+ }
+@@ -4836,7 +4841,11 @@
+ */
+ static unsigned long kas_GetExecutionLevel(void)
+ {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,19,0)
++ return __this_cpu_read(kasExecutionLevel);
++#else
+ return __get_cpu_var(kasExecutionLevel);
++#endif
+ }
+
+ /** \brief Type definition for kas_spin_lock() parameter */
diff --git a/x11-drivers/nvidia-drivers/files/nvidia-drivers-3.19.patch b/x11-drivers/nvidia-drivers/files/nvidia-drivers-3.19.patch
new file mode 100644
index 00000000..3cdaa598
--- /dev/null
+++ b/x11-drivers/nvidia-drivers/files/nvidia-drivers-3.19.patch
@@ -0,0 +1,20 @@
+--- a/kernel/nv.c
++++ b/kernel/nv.c
+@@ -2026,7 +2026,7 @@ long nv_kern_unlocked_ioctl(
+ unsigned long i_arg
+ )
+ {
+- return nv_kern_ioctl(file->f_dentry->d_inode, file, cmd, i_arg);
++ return nv_kern_ioctl(file->f_path.dentry->d_inode, file, cmd, i_arg);
+ }
+
+ long nv_kern_compat_ioctl(
+@@ -2035,7 +2035,7 @@ long nv_kern_compat_ioctl(
+ unsigned long i_arg
+ )
+ {
+- return nv_kern_ioctl(file->f_dentry->d_inode, file, cmd, i_arg);
++ return nv_kern_ioctl(file->f_path.dentry->d_inode, file, cmd, i_arg);
+ }
+
+ /*
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-304.125.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-304.125.ebuild
index 3a119d3f..4a60d0f0 100644
--- a/x11-drivers/nvidia-drivers/nvidia-drivers-304.125.ebuild
+++ b/x11-drivers/nvidia-drivers/nvidia-drivers-304.125.ebuild
@@ -128,6 +128,10 @@ src_prepare() {
/usr/$(get_libdir)/libnvidia-opencl.so
EOF
+ if kernel_is ge 3 19 0; then
+ epatch "${FILESDIR}/${PN}-3.19.patch"
+ fi
+
# Allow user patches so they can support RC kernels and whatever else
epatch_user
}