Date: Tuesday, December 25, 2018 @ 13:27:49
  Author: andyrtr
Revision: 342732

upgpkg: nvidia-390xx-lts 1:390.87-7

upstream update 4.19.12 rebuild

Added:
  nvidia-390xx-lts/trunk/kernel-4.16.patch
  nvidia-390xx-lts/trunk/kernel-4.19.patch
Modified:
  nvidia-390xx-lts/trunk/PKGBUILD

-------------------+
 PKGBUILD          |   22 +++++++++++++-----
 kernel-4.16.patch |   33 +++++++++++++++++++++++++++
 kernel-4.19.patch |   63 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 112 insertions(+), 6 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2018-12-25 13:17:56 UTC (rev 342731)
+++ PKGBUILD    2018-12-25 13:27:49 UTC (rev 342732)
@@ -2,18 +2,22 @@
 
 pkgname=nvidia-390xx-lts
 pkgver=390.87
-_extramodules=extramodules-4.14-lts
-pkgrel=6
+_extramodules=extramodules-4.19-lts
+pkgrel=7
 epoch=1
 arch=('x86_64')
 url="http://www.nvidia.com/";
-makedepends=("nvidia-390xx-utils=${pkgver}" 'linux-lts' 
'linux-lts-headers>=4.14.90')
+makedepends=("nvidia-390xx-utils=${pkgver}" 'linux-lts' 
'linux-lts-headers>=4.19.12')
 provides=('nvidia-390xx')
 conflicts=('nvidia-lts')
 license=('custom')
 options=('!strip')
-source=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run";)
-sha512sums=('91f8639718b8511f56e8c01caafc5a061a3ae1e84202ad261fae94bf83b2c9db8eb5910a9a2b35f668bb3c82dfb3978ca037930a71e396d105c4b4b25c269ed8')
+source=("http://us.download.nvidia.com/XFree86/Linux-x86_64/${pkgver}/NVIDIA-Linux-x86_64-${pkgver}-no-compat32.run";
+        kernel-4.16.patch
+        kernel-4.19.patch)
+sha512sums=('91f8639718b8511f56e8c01caafc5a061a3ae1e84202ad261fae94bf83b2c9db8eb5910a9a2b35f668bb3c82dfb3978ca037930a71e396d105c4b4b25c269ed8'
+            
'ad1185d998adbf89abf7aea300e5b3bbabe2296016f42592fbc232a6c3983f233df1103d37f35a041f12cc1c722d3edce813a4a1b215784a49c7f0e3e652b5af'
+            
'8521f9d7ef27e1d53a12c6d4bda5cecc8025052175c410d35a267922d8dbb3874be55d034349b32f2c054ae5ffedcb5e135558bc1b6baecd5e0006ea5881930d')
 
 _pkg="NVIDIA-Linux-x86_64-${pkgver}-no-compat32"
 
@@ -20,6 +24,12 @@
 prepare() {
     sh "${_pkg}.run" --extract-only
     cd "${_pkg}"
+    # Restore phys_to_dma support (still needed for 396.18)
+    # https://bugs.archlinux.org/task/58074
+    patch -Np1 -i ../kernel-4.16.patch
+
+    # Ad-hoc patch
+    patch -Np1 -i ../kernel-4.19.patch
 }
 
 build() {
@@ -30,7 +40,7 @@
 
 package() {
     pkgdesc="NVIDIA drivers for linux-lts, 390xx legacy branch"
-    depends=('linux-lts>=4.14.90' "nvidia-390xx-utils=${pkgver}" 'libgl')
+    depends=('linux-lts>=4.19.12' "nvidia-390xx-utils=${pkgver}" 'libgl')
 
     install -Dt "${pkgdir}/usr/lib/modules/${_extramodules}" -m644 \
       "${srcdir}/${_pkg}/kernel"/nvidia{,-modeset,-drm,-uvm}.ko

Added: kernel-4.16.patch
===================================================================
--- kernel-4.16.patch                           (rev 0)
+++ kernel-4.16.patch   2018-12-25 13:27:49 UTC (rev 342732)
@@ -0,0 +1,33 @@
+diff --git a/kernel/common/inc/nv-linux.h b/kernel/common/inc/nv-linux.h
+index 10fc418..22ef968 100644
+--- a/kernel/common/inc/nv-linux.h
++++ b/kernel/common/inc/nv-linux.h
+@@ -175,7 +175,11 @@ static inline uid_t __kuid_val(kuid_t uid)
+ 
+ #if defined(NV_VM_INSERT_PAGE_PRESENT)
+ #include <linux/pagemap.h>
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)
+ #include <linux/dma-mapping.h>
++#else
++#include <linux/dma-direct.h>
++#endif
+ #endif
+ 
+ #if defined(CONFIG_SWIOTLB) && defined(NVCPU_AARCH64)
+diff --git a/kernel/conftest.sh b/kernel/conftest.sh
+index b23dbb4..42dc576 100755
+--- a/kernel/conftest.sh
++++ b/kernel/conftest.sh
+@@ -1906,7 +1906,12 @@ compile_test() {
+             # Determine if the phys_to_dma function is present.
+             #
+             CODE="
++            #include <linux/version.h>
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 16, 0)
+             #include <linux/dma-mapping.h>
++#else
++            #include <linux/dma-direct.h>
++#endif
+             void conftest_phys_to_dma(void) {
+                 phys_to_dma();
+             }"

Added: kernel-4.19.patch
===================================================================
--- kernel-4.19.patch                           (rev 0)
+++ kernel-4.19.patch   2018-12-25 13:27:49 UTC (rev 342732)
@@ -0,0 +1,63 @@
+diff -u -r a/kernel/conftest.sh b/kernel/conftest.sh
+--- a/kernel/conftest.sh       2018-11-01 11:00:14.429126159 +0000
++++ b/kernel/conftest.sh       2018-11-01 11:03:08.199579458 +0000
+@@ -2372,8 +2372,13 @@
+             #
+             CODE="
+             #include <drm/drmP.h>
++            #include <linux/version.h>
+             void 
conftest_drm_mode_connector_list_update_has_merge_type_bits_arg(void) {
++            #if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0)
+                 drm_mode_connector_list_update(
++            #else
++                drm_connector_list_update(
++            #endif
+                     NULL,  /* struct drm_connector *connector */
+                     true); /* bool merge_type_bits */
+             }"
+diff -u -r a/kernel/nvidia-drm/nvidia-drm-connector.c 
b/kernel/nvidia-drm/nvidia-drm-connector.c
+--- a/kernel/nvidia-drm/nvidia-drm-connector.c 2018-08-22 00:55:29.000000000 
+0000
++++ b/kernel/nvidia-drm/nvidia-drm-connector.c 2018-11-01 11:08:14.643715031 
+0000
+@@ -34,6 +34,7 @@
+ 
+ #include <drm/drm_atomic.h>
+ #include <drm/drm_atomic_helper.h>
++#include <linux/version.h>
+ 
+ static void nv_drm_connector_destroy(struct drm_connector *connector)
+ {
+@@ -226,7 +227,11 @@
+ 
+ 
+     if (nv_connector->edid != NULL) {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0)
+         drm_mode_connector_update_edid_property(
++#else
++        drm_connector_update_edid_property(
++#endif
+             connector, nv_connector->edid);
+     }
+ 
+diff -u -r a/kernel/nvidia-drm/nvidia-drm-encoder.c 
b/kernel/nvidia-drm/nvidia-drm-encoder.c
+--- a/kernel/nvidia-drm/nvidia-drm-encoder.c   2018-08-22 00:55:29.000000000 
+0000
++++ b/kernel/nvidia-drm/nvidia-drm-encoder.c   2018-11-01 11:08:32.210427737 
+0000
+@@ -34,6 +34,7 @@
+ 
+ #include <drm/drm_atomic.h>
+ #include <drm/drm_atomic_helper.h>
++#include <linux/version.h>
+ 
+ static void nv_drm_encoder_destroy(struct drm_encoder *encoder)
+ {
+@@ -216,7 +217,11 @@
+ 
+     /* Attach encoder and connector */
+ 
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 19, 0)
+     ret = drm_mode_connector_attach_encoder(connector, encoder);
++#else
++    ret = drm_connector_attach_encoder(connector, encoder);
++#endif
+ 
+     if (ret != 0) {
+         NV_DRM_DEV_LOG_ERR(

Reply via email to