diff options
author | Vi0L0 | 2017-02-12 22:04:21 +0100 |
---|---|---|
committer | Vi0L0 | 2017-02-12 22:04:21 +0100 |
commit | 4126c17ef324a85853d19714f7abe542aebcf07d (patch) | |
tree | 0a2c0320c88c6e2cbee761848a1f9f2749728068 | |
parent | 810814ee53eb2acfdab918331ab17cb5e0335d4b (diff) | |
download | aur-4126c17ef324a85853d19714f7abe542aebcf07d.tar.gz |
15.12-13: initial 4.10 kernel support + provides/conflicts additions
-rw-r--r-- | .SRCINFO | 15 | ||||
-rw-r--r-- | 4.10-arch-sling00-virtual_address-acpi_get_table_with_size.patch | 129 | ||||
-rw-r--r-- | PKGBUILD | 26 |
3 files changed, 156 insertions, 14 deletions
@@ -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(¤t->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(¤t->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; @@ -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 |