summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorVi0L02017-02-12 22:04:21 +0100
committerVi0L02017-02-12 22:04:21 +0100
commit4126c17ef324a85853d19714f7abe542aebcf07d (patch)
tree0a2c0320c88c6e2cbee761848a1f9f2749728068
parent810814ee53eb2acfdab918331ab17cb5e0335d4b (diff)
downloadaur-4126c17ef324a85853d19714f7abe542aebcf07d.tar.gz
15.12-13: initial 4.10 kernel support + provides/conflicts additions
-rw-r--r--.SRCINFO15
-rw-r--r--4.10-arch-sling00-virtual_address-acpi_get_table_with_size.patch129
-rw-r--r--PKGBUILD26
3 files changed, 156 insertions, 14 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 94f2696c67ab..68bf037d5887 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = catalyst-test
pkgdesc = AMD/ATI Catalyst drivers for linux AKA Crimson. catalyst-dkms + catalyst-utils + lib32-catalyst-utils + experimental powerXpress suppport. PRE-GCN Radeons are optionally supported
pkgver = 15.12
- pkgrel = 12
+ pkgrel = 13
url = http://www.amd.com
install = catalyst-test.install
arch = i686
@@ -9,7 +9,7 @@ pkgbase = catalyst-test
license = custom
depends = dkms
depends = linux>=3.0
- depends = linux<4.10
+ depends = linux<4.11
depends = linux-headers
depends = xorg-server>=1.7.0
depends = xorg-server<1.18.0
@@ -23,7 +23,7 @@ pkgbase = catalyst-test
depends = make
depends = patch
depends = libxinerama
- depends = mesa>=10.1.0-4
+ depends = mesa
optdepends = qt4: to run ATi Catalyst Control Center (amdcccle)
optdepends = libxxf86vm: to run ATi Catalyst Control Center (amdcccle)
optdepends = opencl-headers: headers necessary for OpenCL development
@@ -34,6 +34,7 @@ pkgbase = catalyst-test
provides = libatical=15.12
provides = catalyst=15.12
provides = catalyst-utils=15.12
+ provides = catalyst-dkms=15.12
provides = catalyst-hook=15.12
provides = catalyst-libgl=15.12
provides = opencl-catalyst=15.12
@@ -42,6 +43,8 @@ pkgbase = catalyst-test
provides = mesa-libgl
provides = mesa-libgl-git
provides = opencl-driver
+ provides = libgles
+ provides = libegl
conflicts = libgl
conflicts = catalyst
conflicts = catalyst-daemon
@@ -49,8 +52,12 @@ pkgbase = catalyst-test
conflicts = catalyst-hook
conflicts = catalyst-utils
conflicts = catalyst-dkms
+ conflicts = opencl-catalyst
conflicts = mesa-libgl
conflicts = mesa-libgl-git
+ conflicts = libgles
+ conflicts = libegl
+ conflicts = opencl-amd
options = staticlibs
options = libtool
options = !strip
@@ -83,6 +90,7 @@ pkgbase = catalyst-test
source = 4.7-arch-cpu_has_pge-v2.patch
source = 4.9_over_4.6-arch-get_user_pages_remote.patch
source = catalyst-15.9_control_file.tar.gz
+ source = 4.10-arch-sling00-virtual_address-acpi_get_table_with_size.patch
md5sums = 39808c8a9bcc9041f1305e3531b60622
md5sums = af7fb8ee4fc96fd54c5b483e33dc71c4
md5sums = bdafe749e046bfddee2d1c5e90eabd83
@@ -111,6 +119,7 @@ pkgbase = catalyst-test
md5sums = 37eef5103a11d8136979463e7bc31091
md5sums = 194cb44e9e2ab0e65b6267aca66d0400
md5sums = e98e50bebe96b08ca680aed6ca505356
+ md5sums = 05f6364db877d9c4bdf1592deda905b7
pkgname = catalyst-test
diff --git a/4.10-arch-sling00-virtual_address-acpi_get_table_with_size.patch b/4.10-arch-sling00-virtual_address-acpi_get_table_with_size.patch
new file mode 100644
index 000000000000..b4103abd82eb
--- /dev/null
+++ b/4.10-arch-sling00-virtual_address-acpi_get_table_with_size.patch
@@ -0,0 +1,129 @@
+diff -uNr 17.2/common/lib/modules/fglrx/build_mod/firegl_public.c 17.2b/common/lib/modules/fglrx/build_mod/firegl_public.c
+--- 17.2/common/lib/modules/fglrx/build_mod/firegl_public.c 2017-02-12 19:41:19.000000000 +0100
++++ 17.2b/common/lib/modules/fglrx/build_mod/firegl_public.c 2017-02-12 20:27:36.924630194 +0100
+@@ -3225,7 +3225,9 @@
+ int ret;
+
+ down_read(&current->mm->mmap_sem);
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,9,0)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)
++ ret = get_user_pages_remote(current, current->mm, vaddr, page_cnt, 1, (struct page **)page_list, NULL, NULL);
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4,9,0)
+ ret = get_user_pages_remote(current, current->mm, vaddr, page_cnt, 1, (struct page **)page_list, NULL);
+ #elif LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0)
+ ret = get_user_pages_remote(current, current->mm, vaddr, page_cnt, 1, 0, (struct page **)page_list, NULL);
+@@ -3249,7 +3251,9 @@
+ int ret;
+
+ down_read(&current->mm->mmap_sem);
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,9,0)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)
++ ret = get_user_pages_remote(current, current->mm, vaddr, page_cnt, 0, (struct page **)page_list, NULL, NULL);
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4,9,0)
+ ret = get_user_pages_remote(current, current->mm, vaddr, page_cnt, 0, (struct page **)page_list, NULL);
+ #elif LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0)
+ ret = get_user_pages_remote(current, current->mm, vaddr, page_cnt, 0, 0, (struct page **)page_list, NULL);
+@@ -3626,7 +3630,9 @@
+ unsigned long vma_offset;
+ unsigned long pte_linear;
+ mem_map_t* pMmPage;
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)
++ unsigned long address = (unsigned long) (vmf->address);
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)
+ unsigned long address = (unsigned long) (vmf->virtual_address);
+ #endif
+
+@@ -3701,7 +3707,9 @@
+ {
+ unsigned long kaddr;
+ mem_map_t* pMmPage;
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)
++ unsigned long address = (unsigned long) (vmf->address);
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)
+ unsigned long address = (unsigned long) (vmf->virtual_address);
+ #endif
+
+@@ -3746,7 +3754,9 @@
+ {
+ unsigned long kaddr;
+ mem_map_t* pMmPage;
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)
++ unsigned long address = (unsigned long) (vmf->address);
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)
+ unsigned long address = (unsigned long) (vmf->virtual_address);
+ #endif
+
+@@ -3809,7 +3819,9 @@
+ mem_map_t* pMmPage;
+ struct firegl_pcie_mem* pciemem;
+ unsigned long* pagelist;
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)
++ unsigned long address = (unsigned long) (vmf->address);
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)
+ unsigned long address = (unsigned long) (vmf->virtual_address);
+ #endif
+
+@@ -3871,7 +3883,9 @@
+
+ unsigned long offset;
+ struct page *page;
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)
++ unsigned long address = (unsigned long) (vmf->address);
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,26)
+ unsigned long address = (unsigned long) (vmf->virtual_address);
+ #endif
+
+@@ -4166,12 +4180,21 @@
+
+ #else
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)
++#define TRACE_FAULT(_f, _v,_a) \
++ int ret; \
++ KCL_DEBUG_TRACEIN(FN_DRM_NOPAGE, (unsigned long)_a->address, NULL); \
++ ret = _f(_v,_a); \
++ KCL_DEBUG_TRACEOUT(FN_DRM_NOPAGE, ret, NULL); \
++ return ret;
++#else
+ #define TRACE_FAULT(_f, _v,_a) \
+ int ret; \
+ KCL_DEBUG_TRACEIN(FN_DRM_NOPAGE, (unsigned long)_a->virtual_address, NULL); \
+ ret = _f(_v,_a); \
+ KCL_DEBUG_TRACEOUT(FN_DRM_NOPAGE, ret, NULL); \
+ return ret;
++#endif
+
+ static int ip_vm_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
+ {
+diff -uNr 17.2/common/lib/modules/fglrx/build_mod/kcl_acpi.c 17.2b/common/lib/modules/fglrx/build_mod/kcl_acpi.c
+--- 17.2/common/lib/modules/fglrx/build_mod/kcl_acpi.c 2017-02-12 19:41:19.000000000 +0100
++++ 17.2b/common/lib/modules/fglrx/build_mod/kcl_acpi.c 2017-02-12 20:40:04.632067465 +0100
+@@ -363,7 +363,10 @@
+ {
+ struct acpi_table_header *hdr;
+ acpi_size tbl_size ;
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,3)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)
++ tbl_size = hdr->length;
++ if (!ACPI_SUCCESS(acpi_get_table("VFCT", 1, &hdr)))
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,3)
+ if (!ACPI_SUCCESS(acpi_get_table_with_size("VFCT", 1, &hdr, &tbl_size)))
+ #else
+ tbl_size = 0x7fffffff;
+@@ -1041,7 +1044,10 @@
+ return KCL_ACPI_ERROR;
+ }
+
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,3)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,10,0)
++ tbl_size = hdr->length;
++ if (!ACPI_SUCCESS(acpi_get_table(id, 0, &hdr)))
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3,6,3)
+ if (!ACPI_SUCCESS(acpi_get_table_with_size(id, 0, &hdr, &tbl_size)))
+ #else
+ tbl_size = 0x7fffffff;
diff --git a/PKGBUILD b/PKGBUILD
index ee508f508353..14236c59d818 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -23,6 +23,7 @@
# Contributor: Philip Muller @ Manjaro (4.4 kernel patch)
# Contributor: aslmaswd (acpi main script)
# Contributor: npfeiler (libcl/opencl-icd-loader cleaning)
+# Contributor: sling00 (4.10 kernel patch)
_old_control=n #for pre-GCN users who has problems with default config, pick =y to enable catalyst 15.9 control file
@@ -30,7 +31,7 @@ _old_control=n #for pre-GCN users who has problems with default config, pick =y
pkgname=catalyst-test
pkgver=15.12
-pkgrel=12
+pkgrel=13
# _betano=1.0
_amdver=15.302
pkgdesc="AMD/ATI Catalyst drivers for linux AKA Crimson. catalyst-dkms + catalyst-utils + lib32-catalyst-utils + experimental powerXpress suppport. PRE-GCN Radeons are optionally supported"
@@ -38,24 +39,24 @@ arch=('i686' 'x86_64')
url="http://www.amd.com"
license=('custom')
options=('staticlibs' 'libtool' '!strip' '!upx')
-depends=('dkms' 'linux>=3.0' 'linux<4.10' 'linux-headers' 'xorg-server>=1.7.0' 'xorg-server<1.18.0' 'libxrandr' 'libsm' 'fontconfig' 'libxcursor' 'libxi' 'gcc-libs' 'gcc>4.0.0' 'make' 'patch' 'libxinerama' 'mesa>=10.1.0-4')
+depends=('dkms' 'linux>=3.0' 'linux<4.11' 'linux-headers' 'xorg-server>=1.7.0' 'xorg-server<1.18.0' 'libxrandr' 'libsm' 'fontconfig' 'libxcursor' 'libxi' 'gcc-libs' 'gcc>4.0.0' 'make' 'patch' 'libxinerama' 'mesa')
optdepends=('qt4: to run ATi Catalyst Control Center (amdcccle)'
'libxxf86vm: to run ATi Catalyst Control Center (amdcccle)'
'opencl-headers: headers necessary for OpenCL development'
'acpid: acpi event support / atieventsd'
'procps-ng: brings pgrep used in acpi event support'
'opencl-icd-loader: OpenCL ICD Bindings')
-conflicts=('libgl' 'catalyst' 'catalyst-daemon' 'catalyst-generator' 'catalyst-hook' 'catalyst-utils' 'catalyst-dkms' 'mesa-libgl' 'mesa-libgl-git')
-provides=('libgl' "libatical=${pkgver}" "catalyst=${pkgver}" "catalyst-utils=${pkgver}" "catalyst-hook=${pkgver}" "catalyst-libgl=${pkgver}" "opencl-catalyst=${pkgver}" 'dri' 'libtxc_dxtn' 'mesa-libgl' 'mesa-libgl-git' 'opencl-driver')
+conflicts=('libgl' 'catalyst' 'catalyst-daemon' 'catalyst-generator' 'catalyst-hook' 'catalyst-utils' 'catalyst-dkms' 'opencl-catalyst' 'mesa-libgl' 'mesa-libgl-git' 'libgles' 'libegl' 'opencl-amd')
+provides=('libgl' "libatical=${pkgver}" "catalyst=${pkgver}" "catalyst-utils=${pkgver}" "catalyst-dkms=${pkgver}" "catalyst-hook=${pkgver}" "catalyst-libgl=${pkgver}" "opencl-catalyst=${pkgver}" 'dri' 'libtxc_dxtn' 'mesa-libgl' 'mesa-libgl-git' 'opencl-driver' 'libgles' 'libegl')
if [ "${CARCH}" = "x86_64" ]; then
warning "x86_64 system detected"
warning "[multilib] repository must be uncommented in /etc/pacman.conf to add lib32-catalyst-utils into the package"
if [[ `cat /etc/pacman.conf | grep -c "#\[multilib]"` = 0 ]]; then
warning "OK, lib32-catalyst-utils will be added to the package"
- depends+=('lib32-libxext' 'lib32-libdrm' 'lib32-libxinerama' 'lib32-mesa>=10.1.0-4')
- conflicts+=('lib32-libgl' 'lib32-catalyst-utils' 'lib32-mesa-libgl' 'lib32-mesa-libgl-git')
- provides+=('lib32-libgl' "lib32-catalyst-utils=${pkgver}" "lib32-catalyst-libgl=${pkgver}" "lib32-opencl-catalyst=${pkgver}" 'lib32-dri' 'lib32-libtxc_dxtn' 'lib32-mesa-libgl' 'lib32-mesa-libgl-git' 'lib32-opencl-driver')
+ depends+=('lib32-libxext' 'lib32-libdrm' 'lib32-libxinerama' 'lib32-mesa')
+ conflicts+=('lib32-libgl' 'lib32-catalyst-utils' 'lib32-opencl-catalyst' 'lib32-mesa-libgl' 'lib32-mesa-libgl-git' 'lib32-libgles' 'lib32-libegl')
+ provides+=('lib32-libgl' "lib32-catalyst-utils=${pkgver}" "lib32-catalyst-libgl=${pkgver}" "lib32-opencl-catalyst=${pkgver}" 'lib32-dri' 'lib32-libtxc_dxtn' 'lib32-mesa-libgl' 'lib32-mesa-libgl-git' 'lib32-opencl-driver' 'lib32-libgles' 'lib32-libegl')
optdepends+=('lib32-opencl-icd-loader: OpenCL ICD Bindings (32-bit)')
else
warning "lib32-catalyst-utils will NOT be added to the package"
@@ -100,7 +101,8 @@ source=(
makesh-dont-check-gcc-version.patch
4.7-arch-cpu_has_pge-v2.patch
4.9_over_4.6-arch-get_user_pages_remote.patch
- catalyst-15.9_control_file.tar.gz)
+ catalyst-15.9_control_file.tar.gz
+ 4.10-arch-sling00-virtual_address-acpi_get_table_with_size.patch)
md5sums=('39808c8a9bcc9041f1305e3531b60622'
'af7fb8ee4fc96fd54c5b483e33dc71c4'
@@ -129,7 +131,8 @@ md5sums=('39808c8a9bcc9041f1305e3531b60622'
'10829e3b992b3e80a6e78c8e27748703'
'37eef5103a11d8136979463e7bc31091'
'194cb44e9e2ab0e65b6267aca66d0400'
- 'e98e50bebe96b08ca680aed6ca505356')
+ 'e98e50bebe96b08ca680aed6ca505356'
+ '05f6364db877d9c4bdf1592deda905b7')
build() {
@@ -210,7 +213,7 @@ package() {
install -m644 X11R6/${_lib}/*.cap ${pkgdir}/usr/lib
install -m755 X11R6/${_lib}/modules/dri/*.so ${pkgdir}/usr/lib/xorg/modules/dri
install -m755 ${_lib}/*.so* ${pkgdir}/usr/lib
- rm ${pkgdir}/usr/lib/libOpenCL.so.1 #opencl-icd-loader provides this
+ rm ${pkgdir}/usr/lib/libOpenCL.so.1 #opencl-icd-loader provides this
# install -m755 ${_lib}/hsa/* ${pkgdir}/usr/lib/hsa #removed in 14.1
## QT libs (only 2 files) - un-comment 2 lines below if you don't want to install qt package
@@ -324,6 +327,7 @@ package() {
patch -Np1 -i ../makesh-dont-check-gcc-version.patch
patch -Np1 -i ../4.7-arch-cpu_has_pge-v2.patch
patch -Np1 -i ../4.9_over_4.6-arch-get_user_pages_remote.patch
+ patch -Np1 -i ../4.10-arch-sling00-virtual_address-acpi_get_table_with_size.patch
# Prepare modules source files
install -dm755 ${pkgdir}/usr/src/fglrx-${pkgver}/2.6.x
@@ -356,7 +360,7 @@ package() {
install -dm755 ${pkgdir}/usr/lib32/xorg/modules/dri
# install -dm755 ${pkgdir}/usr/lib32/hsa #removed in 14.1
install -m755 lib/*.so* ${pkgdir}/usr/lib32
- rm ${pkgdir}/usr/lib32/libOpenCL.so.1 # lib32-opencl-icd-loader provides this
+ rm ${pkgdir}/usr/lib32/libOpenCL.so.1 #lib32-opencl-icd-loader provides this
# install -m755 lib/hsa/* ${pkgdir}/usr/lib32/hsa #removed in 14.1
install -m755 X11R6/lib/fglrx/fglrx-libGL.so.1.2 ${pkgdir}/usr/lib32/fglrx
install -m755 X11R6/lib/libAMDXvBA.so.1.0 ${pkgdir}/usr/lib32