Skip to content

Commit

Permalink
next packages main rebuild for 5.1.0
Browse files Browse the repository at this point in the history
patch needed for all nvidia next packages, no working patch available yet for 390xx

cpupower 5.0
  • Loading branch information
demmm committed May 6, 2019
1 parent 43c5702 commit 2064afd
Show file tree
Hide file tree
Showing 12 changed files with 295 additions and 39 deletions.
6 changes: 3 additions & 3 deletions bbswitch-next/PKGBUILD
@@ -1,17 +1,17 @@

_extramodules=extramodules-5.0-next
_extramodules=extramodules-5.1-next
_kver="$(cat /lib/modules/${_extramodules}/version)"

pkgname=bbswitch-next
_pkgname=bbswitch
pkgver=0.8
pkgrel=28
pkgrel=29
pkgdesc="Kernel module allowing to switch dedicated graphics card on Optimus laptops (linux-next version)"
arch=('x86_64')
url="http://github.com/Bumblebee-Project/bbswitch"
license=('GPL')
install=bbswitch-next.install
depends=('linux-next>=5.0' 'linux-next<5.1')
depends=('linux-next>=5.1' 'linux-next<5.2')
makedepends=('linux-next-headers' 'elfutils')
source=("https://github.com/Bumblebee-Project/bbswitch/archive/v${pkgver}.tar.gz")
md5sums=('5b116b31ace3604ddf9d1fc1f4bc5807')
Expand Down
6 changes: 3 additions & 3 deletions bbswitch-next/bbswitch-next.install
@@ -1,15 +1,15 @@
post_install() {
EXTRAMODULES='extramodules-5.0-next'
EXTRAMODULES='extramodules-5.1-next'
depmod $(cat /lib/modules/$EXTRAMODULES/version)
echo 'In order to use nvidia module, reboot the system.'
}

post_upgrade() {
EXTRAMODULES='extramodules-5.0-next'
EXTRAMODULES='extramodules-5.1-next'
depmod $(cat /lib/modules/$EXTRAMODULES/version)
}

post_remove() {
EXTRAMODULES='extramodules-5.0-next'
EXTRAMODULES='extramodules-5.1-next'
depmod $(cat /lib/modules/$EXTRAMODULES/version)
}
6 changes: 3 additions & 3 deletions cpupower/PKGBUILD
@@ -1,6 +1,6 @@

pkgname=cpupower
pkgver=4.20
pkgver=5.0
pkgrel=1
pkgdesc='Linux kernel tool to examine and tune power saving related features of your processor'
license=('GPL2')
Expand All @@ -10,12 +10,12 @@ depends=('pciutils')
makedepends=('asciidoc' 'xmlto')
backup=('etc/default/cpupower')
options=('!strip')
source=("https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-${pkgver}.tar.xz"
source=("https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-${pkgver}.tar.xz"
#"https://cdn.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.5.xz"
'cpupower.conf'
'cpupower.service'
'cpupower.systemd')
md5sums=('d39dd4ba2d5861c54b90d49be19eaf31'
md5sums=('7381ce8aac80a01448e065ce795c19c0'
'fb4b3d184850f5972c5a1bba3ead4e05'
'2450e8ff41b30eb58d43b5fffbfde1f4'
'e02e88977fbdde29a2ae38aa064a367d')
Expand Down
14 changes: 8 additions & 6 deletions nvidia-390xx-next/PKGBUILD
@@ -1,30 +1,32 @@

_extramodules=extramodules-5.0-next
_extramodules=extramodules-5.1-next
_kver=$(cat /lib/modules/${_extramodules}/version)

pkgname=nvidia-390xx-next
pkgver=390.116
pkgrel=16
pkgrel=17
pkgdesc="NVIDIA drivers for linux-next, 390xx legacy version."
arch=('x86_64')
url="https://www.nvidia.com/page/home.html"
depends=('linux-next>=5.0' 'linux-next<5.1' "nvidia-390xx-utils=${pkgver}")
depends=('linux-next>=5.1' 'linux-next<5.2' "nvidia-390xx-utils=${pkgver}")
makedepends=('linux-next-headers')
conflicts=('nvidia-next')
install=nvidia-next.install
license=('custom')

_pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"

source=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/${_pkg}.run")
md5sums=('2bf2f9b7dcaea8cb2c30813ab4e57f71')
source=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/${_pkg}.run"
'linux-5.1.patch')
md5sums=('2bf2f9b7dcaea8cb2c30813ab4e57f71'
'234d53510e52ff90d1cf8dac3cf07d56')

build() {
cd "${srcdir}"
sh "${_pkg}.run" --extract-only

cd "${_pkg}"
#patch -p1 -i ${srcdir}/linux-4.10.patch
patch -p1 -i ${srcdir}/linux-5.1.patch
# linux 4.19 needed
#sed -i -e 's|drm_mode_connector_attach_encoder|drm_connector_attach_encoder|g' kernel/nvidia-drm/nvidia-drm-encoder.c
#sed -i -e 's|drm_mode_connector_update_edid_property|drm_connector_update_edid_property|g' kernel/nvidia-drm/nvidia-drm-connector.c
Expand Down
12 changes: 6 additions & 6 deletions nvidia-bumblebee-next/PKGBUILD
@@ -1,16 +1,16 @@


_extramodules=extramodules-5.0-next
_extramodules=extramodules-5.1-next
_kver=$(cat /lib/modules/${_extramodules}/version)

pkgname=nvidia-bumblebee-next
_pkgname=nvidia-bumblebee
pkgver=418.56
pkgrel=11
pkgrel=12
pkgdesc="NVIDIA drivers for linux-next. Packaged for Bumblebee"
arch=('x86_64')
url="https://www.nvidia.com/page/home.html"
depends=('linux-next>=5.0' 'linux-next<5.1' "nvidia-utils-bumblebee")
depends=('linux-next>=5.1' 'linux-next<5.2' "nvidia-utils-bumblebee")
makedepends=('linux-next-headers')
provides=("nvidia-next=${pkgver}")
conflicts=('nvidia-next')
Expand All @@ -21,17 +21,17 @@ options=('!strip')
_pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
#_pkg="NVIDIA-Linux-x86_64-${pkgver}"
source=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run"
'linux-4.15.patch')
'linux-5.1.patch')
#source=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}.run")
md5sums=('a644b5b7507b8edbfa6977640032d566'
'8199d52a02a6a758291c80a94f12008c')
'234d53510e52ff90d1cf8dac3cf07d56')

build() {
cd "${srcdir}"
sh "${_pkg}.run" --extract-only

cd "${_pkg}"
#patch -p1 -i ${srcdir}/linux-4.15.patch
patch -p1 -i ${srcdir}/linux-5.1.patch

cd "${srcdir}/${_pkg}/kernel"
make SYSSRC=/lib/modules/"${_kver}/build" module
Expand Down
127 changes: 127 additions & 0 deletions nvidia-bumblebee-next/linux-5.1.patch
@@ -0,0 +1,127 @@
diff --git a/kernel/conftest.sh b/kernel/conftest.sh
index 2dd63b4..a01d877 100755
--- a/kernel/conftest.sh
+++ b/kernel/conftest.sh
@@ -107,6 +107,7 @@ test_headers() {
FILES="$FILES drm/drm_drv.h"
FILES="$FILES drm/drm_framebuffer.h"
FILES="$FILES drm/drm_connector.h"
+ FILES="$FILES drm/drm_probe_helper.h"
FILES="$FILES generated/autoconf.h"
FILES="$FILES generated/compile.h"
FILES="$FILES generated/utsrelease.h"
diff --git a/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.c b/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.c
index 998fcc2..a25664f 100644
--- a/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.c
+++ b/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.c
@@ -24,6 +24,8 @@

#if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE)

+#include <linux/version.h>
+
#include "nvidia-drm-gem-nvkms-memory.h"
#include "nvidia-drm-ioctl.h"

@@ -330,15 +332,24 @@ done:

/* XXX Move these vma operations to os layer */

+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0)
+static vm_fault_t __nv_drm_vma_fault(struct vm_area_struct *vma,
+ struct vm_fault *vmf)
+#else
static int __nv_drm_vma_fault(struct vm_area_struct *vma,
struct vm_fault *vmf)
+#endif
{
unsigned long address = nv_page_fault_va(vmf);
struct drm_gem_object *gem = vma->vm_private_data;
struct nv_drm_gem_nvkms_memory *nv_nvkms_memory = to_nv_nvkms_memory(
to_nv_gem_object(gem));
unsigned long page_offset, pfn;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0)
+ vm_fault_t ret = VM_FAULT_SIGBUS;
+#else
int ret = -EINVAL;
+#endif

pfn = (unsigned long)(uintptr_t)nv_nvkms_memory->pPhysicalAddress;
pfn >>= PAGE_SHIFT;
@@ -377,7 +388,11 @@ static int __nv_drm_vma_fault(struct vm_area_struct *vma,
*/

#if defined(NV_VM_OPS_FAULT_REMOVED_VMA_ARG)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0)
+static vm_fault_t nv_drm_vma_fault(struct vm_fault *vmf)
+#else
static int nv_drm_vma_fault(struct vm_fault *vmf)
+#endif
{
return __nv_drm_vma_fault(vmf->vma, vmf);
}
diff --git a/kernel/nvidia-drm/nvidia-drm-priv.h b/kernel/nvidia-drm/nvidia-drm-priv.h
index f16bea9..7ea1bca 100644
--- a/kernel/nvidia-drm/nvidia-drm-priv.h
+++ b/kernel/nvidia-drm/nvidia-drm-priv.h
@@ -33,6 +33,10 @@
#include <drm/drm_gem.h>
#endif

+#if defined(NV_DRM_DRM_PROBE_HELPER_H_PRESENT)
+#include <drm/drm_probe_helper.h>
+#endif
+
#include "nvidia-drm-os-interface.h"

#include "nvkms-kapi.h"
diff --git a/kernel/nvidia-uvm/uvm8.c b/kernel/nvidia-uvm/uvm8.c
index 4446798..8cf3d51 100644
--- a/kernel/nvidia-uvm/uvm8.c
+++ b/kernel/nvidia-uvm/uvm8.c
@@ -166,13 +166,21 @@ static void uvm_destroy_vma_semaphore_pool(struct vm_area_struct *vma)
// If a fault handler is not set, paths like handle_pte_fault in older kernels
// assume the memory is anonymous. That would make debugging this failure harder
// so we force it to fail instead.
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0)
+static vm_fault_t uvm_vm_fault_sigbus(struct vm_area_struct *vma, struct vm_fault *vmf)
+#else
static int uvm_vm_fault_sigbus(struct vm_area_struct *vma, struct vm_fault *vmf)
+#endif
{
UVM_DBG_PRINT_RL("Fault to address 0x%lx in disabled vma\n", nv_page_fault_va(vmf));
return VM_FAULT_SIGBUS;
}

+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0)
+static vm_fault_t uvm_vm_fault_sigbus_wrapper(struct vm_fault *vmf)
+#else
static int uvm_vm_fault_sigbus_wrapper(struct vm_fault *vmf)
+#endif
{
#if defined(NV_VM_OPS_FAULT_REMOVED_VMA_ARG)
return uvm_vm_fault_sigbus(vmf->vma, vmf);
@@ -390,7 +398,11 @@ static void uvm_vm_close_managed(struct vm_area_struct *vma)
uvm_record_unlock_mmap_sem_write(&current->mm->mmap_sem);
}

+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0)
+static vm_fault_t uvm_vm_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
+#else
static int uvm_vm_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
+#endif
{
uvm_va_space_t *va_space = uvm_va_space_get(vma->vm_file);
uvm_va_block_t *va_block;
@@ -507,7 +519,11 @@ convert_error:
}
}

+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0)
+static vm_fault_t uvm_vm_fault_wrapper(struct vm_fault *vmf)
+#else
static int uvm_vm_fault_wrapper(struct vm_fault *vmf)
+#endif
{
#if defined(NV_VM_OPS_FAULT_REMOVED_VMA_ARG)
return uvm_vm_fault(vmf->vma, vmf);
6 changes: 3 additions & 3 deletions nvidia-bumblebee-next/nvidia.install
Expand Up @@ -4,13 +4,13 @@ desktop=$(ps -e | grep kwin)
timestamp=$( date +%F-%T )

post_install() {
EXTRAMODULES='extramodules-5.0-next'
EXTRAMODULES='extramodules-5.1-next'
depmod $(cat /lib/modules/$EXTRAMODULES/version)
#echo 'In order to use nvidia module, reboot the system.'
}

post_upgrade() {
EXTRAMODULES='extramodules-5.0-next'
EXTRAMODULES='extramodules-5.1-next'
depmod $(cat /lib/modules/$EXTRAMODULES/version)

kdialog --warningyesno "NVIDIA 396.xx driver drops support for Fermi-based GPUs<br>
Expand Down Expand Up @@ -45,6 +45,6 @@ post_upgrade() {
}

post_remove() {
EXTRAMODULES='extramodules-5.0-next'
EXTRAMODULES='extramodules-5.1-next'
depmod $(cat /lib/modules/$EXTRAMODULES/version)
}
12 changes: 6 additions & 6 deletions nvidia-next/PKGBUILD
@@ -1,31 +1,31 @@

_extramodules=extramodules-5.0-next
_extramodules=extramodules-5.1-next
_kver=$(cat /lib/modules/${_extramodules}/version)

pkgname=nvidia-next
pkgver=418.56
pkgrel=11
pkgrel=12
pkgdesc="NVIDIA drivers for linux."
arch=('x86_64')
url="https://www.nvidia.com/page/home.html"
depends=('linux-next>=5.0' 'linux-next<5.1' "nvidia-utils=${pkgver}")
depends=('linux-next>=5.1' 'linux-next<5.2' "nvidia-utils=${pkgver}")
makedepends=('linux-next-headers')
license=('custom')
install=nvidia-next.install
options=('!strip')
_pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
#_pkg="NVIDIA-Linux-x86_64-${pkgver}"
source=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/${_pkg}.run"
'linux-4.15.patch')
'linux-5.1.patch')
md5sums=('a644b5b7507b8edbfa6977640032d566'
'8199d52a02a6a758291c80a94f12008c')
'234d53510e52ff90d1cf8dac3cf07d56')

build() {
cd "${srcdir}"
sh "${_pkg}.run" --extract-only

cd "${_pkg}"
#patch -p1 -i ${srcdir}/linux-4.15.patch
patch -p1 -i ${srcdir}/linux-5.1.patch

cd "${srcdir}/${_pkg}/kernel"
make SYSSRC=/lib/modules/"${_kver}/build" module
Expand Down

0 comments on commit 2064afd

Please sign in to comment.