diff options
author | Lenard Spencer <lenardrspencer@gmai.com> | 2022-08-12 05:06:31 +0100 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2022-08-13 10:40:36 +0700 |
commit | beaa7ef4bcc4d5e97324162ec31aec50fab0f046 (patch) | |
tree | d2cd620e942df3642f5b16ccfc49cd5d8b74ca29 | |
parent | c7e4aa3293fcdf396e080247ff5f16b137edc6e6 (diff) |
system/nvidia-legacy390-kernel: Updated for version 390.154.
Signed-off-by: Dave Woodfall <dave@slackbuilds.org>
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
5 files changed, 10 insertions, 200 deletions
diff --git a/system/nvidia-legacy390-kernel/README b/system/nvidia-legacy390-kernel/README index 9b9edc3be089..a4d06f73b916 100644 --- a/system/nvidia-legacy390-kernel/README +++ b/system/nvidia-legacy390-kernel/README @@ -3,19 +3,15 @@ driver. You also need the nvidia-driver package from SlackBuilds.org. To build the package for a kernel different from the running one, start the script setting the KERNEL variable as in - KERNEL=4.6.3 ./nvidia-legacy470-kernel.SlackBuild + KERNEL=4.6.3 ./nvidia-legacy390-kernel.SlackBuild A default config file is placed at /usr/share/X11/xorg.conf.d/10-nvidia.conf to make sure that X loads the nvidia module. If you need to make -changes, move that file to /etc/X11/xorg.conf.d/ and edit the copy. +changes, copy that file to /etc/X11/xorg.conf.d/ and edit the copy. You do not need this file at all if you have a proper and complete -xorg.conf. +/etc/X11/xorg.conf. The xf86-video-nouveau-blacklist package from /extra is required. The Nvidia 390.xx series will be supported through December 2022. - -NOTE FOR -CURRENT: The script now includes a patch for the 5.18 kernel -(BIG thanks to Archlinux for this one). It is NOT necessary to remove -it for earlier kernels. diff --git a/system/nvidia-legacy390-kernel/nvidia-fix-linux-5.19.patch b/system/nvidia-legacy390-kernel/nvidia-fix-linux-5.19.patch deleted file mode 100644 index 50f46efc2a7a..000000000000 --- a/system/nvidia-legacy390-kernel/nvidia-fix-linux-5.19.patch +++ /dev/null @@ -1,29 +0,0 @@ -From cc4acfadcd71ee07c8d1b29411620a79451780b9 Mon Sep 17 00:00:00 2001 -From: Joan Bruguera <joanbrugueram@gmail.com> -Date: Wed, 13 Apr 2022 21:21:13 +0200 -Subject: [PATCH] Buildfix NVIDIA 470.129.06 for Linux 5.19-rc1 - ---- - nvidia-drm/nvidia-dma-resv-helper.h | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/nvidia-drm/nvidia-dma-resv-helper.h b/nvidia-drm/nvidia-dma-resv-helper.h -index ad8800d..65ea1f8 100644 ---- a/nvidia-drm/nvidia-dma-resv-helper.h -+++ b/nvidia-drm/nvidia-dma-resv-helper.h -@@ -39,6 +39,15 @@ - #include <linux/reservation.h> - #endif - -+#include <linux/version.h> -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 19, 0)) -+// Rel. commit "dma-buf: specify usage while adding fences to dma_resv obj v7" (Christian König, 9 Nov 2021) -+static inline void dma_resv_add_excl_fence(struct dma_resv *obj, struct dma_fence *fence) -+{ -+ dma_resv_add_fence(obj, fence, DMA_RESV_USAGE_WRITE); -+} -+#endif -+ - #include <nvidia-dma-fence-helper.h> - - #if defined(NV_LINUX_DMA_RESV_H_PRESENT) diff --git a/system/nvidia-legacy390-kernel/nvidia-legacy390-kernel-5.18.patch b/system/nvidia-legacy390-kernel/nvidia-legacy390-kernel-5.18.patch deleted file mode 100644 index 70ebf15f2230..000000000000 --- a/system/nvidia-legacy390-kernel/nvidia-legacy390-kernel-5.18.patch +++ /dev/null @@ -1,152 +0,0 @@ -diff --git a/kernel/common/inc/nv.h b/kernel/common/inc/nv.h -index def0551..f7db7ed 100644 ---- a/kernel/common/inc/nv.h -+++ b/kernel/common/inc/nv.h -@@ -12,6 +12,11 @@ - #ifndef _NV_H_ - #define _NV_H_ - -+#include <linux/version.h> -+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)) -+#include <pci-dma-compat.h> -+#endif -+ - #include <nvlimits.h> - #include <nvtypes.h> - #include <nvCpuUuid.h> -diff --git a/kernel/common/inc/pci-dma-compat.h b/kernel/common/inc/pci-dma-compat.h -new file mode 100644 -index 0000000..4e94d4e ---- /dev/null -+++ b/kernel/common/inc/pci-dma-compat.h -@@ -0,0 +1,130 @@ -+/* SPDX-License-Identifier: GPL-2.0 */ -+/* include this file if the platform implements the dma_ DMA Mapping API -+ * and wants to provide the pci_ DMA Mapping API in terms of it */ -+ -+#ifndef _ASM_GENERIC_PCI_DMA_COMPAT_H -+#define _ASM_GENERIC_PCI_DMA_COMPAT_H -+ -+#include <linux/dma-mapping.h> -+#include <linux/pci.h> -+ -+/* This defines the direction arg to the DMA mapping routines. */ -+#define PCI_DMA_BIDIRECTIONAL DMA_BIDIRECTIONAL -+#define PCI_DMA_TODEVICE DMA_TO_DEVICE -+#define PCI_DMA_FROMDEVICE DMA_FROM_DEVICE -+#define PCI_DMA_NONE DMA_NONE -+ -+static inline void * -+pci_alloc_consistent(struct pci_dev *hwdev, size_t size, -+ dma_addr_t *dma_handle) -+{ -+ return dma_alloc_coherent(&hwdev->dev, size, dma_handle, GFP_ATOMIC); -+} -+ -+static inline void * -+pci_zalloc_consistent(struct pci_dev *hwdev, size_t size, -+ dma_addr_t *dma_handle) -+{ -+ return dma_alloc_coherent(&hwdev->dev, size, dma_handle, GFP_ATOMIC); -+} -+ -+static inline void -+pci_free_consistent(struct pci_dev *hwdev, size_t size, -+ void *vaddr, dma_addr_t dma_handle) -+{ -+ dma_free_coherent(&hwdev->dev, size, vaddr, dma_handle); -+} -+ -+static inline dma_addr_t -+pci_map_single(struct pci_dev *hwdev, void *ptr, size_t size, int direction) -+{ -+ return dma_map_single(&hwdev->dev, ptr, size, (enum dma_data_direction)direction); -+} -+ -+static inline void -+pci_unmap_single(struct pci_dev *hwdev, dma_addr_t dma_addr, -+ size_t size, int direction) -+{ -+ dma_unmap_single(&hwdev->dev, dma_addr, size, (enum dma_data_direction)direction); -+} -+ -+static inline dma_addr_t -+pci_map_page(struct pci_dev *hwdev, struct page *page, -+ unsigned long offset, size_t size, int direction) -+{ -+ return dma_map_page(&hwdev->dev, page, offset, size, (enum dma_data_direction)direction); -+} -+ -+static inline void -+pci_unmap_page(struct pci_dev *hwdev, dma_addr_t dma_address, -+ size_t size, int direction) -+{ -+ dma_unmap_page(&hwdev->dev, dma_address, size, (enum dma_data_direction)direction); -+} -+ -+static inline int -+pci_map_sg(struct pci_dev *hwdev, struct scatterlist *sg, -+ int nents, int direction) -+{ -+ return dma_map_sg(&hwdev->dev, sg, nents, (enum dma_data_direction)direction); -+} -+ -+static inline void -+pci_unmap_sg(struct pci_dev *hwdev, struct scatterlist *sg, -+ int nents, int direction) -+{ -+ dma_unmap_sg(&hwdev->dev, sg, nents, (enum dma_data_direction)direction); -+} -+ -+static inline void -+pci_dma_sync_single_for_cpu(struct pci_dev *hwdev, dma_addr_t dma_handle, -+ size_t size, int direction) -+{ -+ dma_sync_single_for_cpu(&hwdev->dev, dma_handle, size, (enum dma_data_direction)direction); -+} -+ -+static inline void -+pci_dma_sync_single_for_device(struct pci_dev *hwdev, dma_addr_t dma_handle, -+ size_t size, int direction) -+{ -+ dma_sync_single_for_device(&hwdev->dev, dma_handle, size, (enum dma_data_direction)direction); -+} -+ -+static inline void -+pci_dma_sync_sg_for_cpu(struct pci_dev *hwdev, struct scatterlist *sg, -+ int nelems, int direction) -+{ -+ dma_sync_sg_for_cpu(&hwdev->dev, sg, nelems, (enum dma_data_direction)direction); -+} -+ -+static inline void -+pci_dma_sync_sg_for_device(struct pci_dev *hwdev, struct scatterlist *sg, -+ int nelems, int direction) -+{ -+ dma_sync_sg_for_device(&hwdev->dev, sg, nelems, (enum dma_data_direction)direction); -+} -+ -+static inline int -+pci_dma_mapping_error(struct pci_dev *pdev, dma_addr_t dma_addr) -+{ -+ return dma_mapping_error(&pdev->dev, dma_addr); -+} -+ -+#ifdef CONFIG_PCI -+static inline int pci_set_dma_mask(struct pci_dev *dev, u64 mask) -+{ -+ return dma_set_mask(&dev->dev, mask); -+} -+ -+static inline int pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask) -+{ -+ return dma_set_coherent_mask(&dev->dev, mask); -+} -+#else -+static inline int pci_set_dma_mask(struct pci_dev *dev, u64 mask) -+{ return -EIO; } -+static inline int pci_set_consistent_dma_mask(struct pci_dev *dev, u64 mask) -+{ return -EIO; } -+#endif -+ -+#endif diff --git a/system/nvidia-legacy390-kernel/nvidia-legacy390-kernel.SlackBuild b/system/nvidia-legacy390-kernel/nvidia-legacy390-kernel.SlackBuild index adc90a758176..2e13a4be04a2 100644 --- a/system/nvidia-legacy390-kernel/nvidia-legacy390-kernel.SlackBuild +++ b/system/nvidia-legacy390-kernel/nvidia-legacy390-kernel.SlackBuild @@ -28,8 +28,8 @@ cd $(dirname $0) ; CWD=$(pwd) PRGNAM=nvidia-legacy390-kernel -VERSION=${VERSION:-390.151} -BUILD=${BUILD:-3} +VERSION=${VERSION:-390.154} +BUILD=${BUILD:-1} TAG=${TAG:-_SBo} PKGTYPE=${PKGTYPE:-tgz} @@ -83,14 +83,9 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; -# Patch for 5.18 kernel (Thanks to archlinux for this one) -patch -p1 < $CWD/nvidia-legacy390-kernel-5.18.patch - ( unset ARCH cd kernel || exit 1 -# Patch for 5.19 kernel - patch -p1 < $CWD/nvidia-fix-linux-5.19.patch # CC=${CC:-gcc} suppresses an otherwise harmless "compiler mismatch" # message. If you custom-build your kernel with clang, # then pass CC=clang to this script. diff --git a/system/nvidia-legacy390-kernel/nvidia-legacy390-kernel.info b/system/nvidia-legacy390-kernel/nvidia-legacy390-kernel.info index 891869d5b189..ea06e248b254 100644 --- a/system/nvidia-legacy390-kernel/nvidia-legacy390-kernel.info +++ b/system/nvidia-legacy390-kernel/nvidia-legacy390-kernel.info @@ -1,10 +1,10 @@ PRGNAM="nvidia-legacy390-kernel" -VERSION="390.151" +VERSION="390.154" HOMEPAGE="http://www.nvidia.com" -DOWNLOAD="https://download.nvidia.com/XFree86/Linux-x86/390.151/NVIDIA-Linux-x86-390.151.run" -MD5SUM="fe68121d6846dc23ceec22ff005cc478" -DOWNLOAD_x86_64="https://download.nvidia.com/XFree86/Linux-x86_64/390.151/NVIDIA-Linux-x86_64-390.151.run" -MD5SUM_x86_64="4f545ea0f8da13b387f3c16d0a57b446" +DOWNLOAD="https://download.nvidia.com/XFree86/Linux-x86/390.154/NVIDIA-Linux-x86-390.154.run" +MD5SUM="6166b031a618a7a2ef824abdae075610" +DOWNLOAD_x86_64="https://download.nvidia.com/XFree86/Linux-x86_64/390.154/NVIDIA-Linux-x86_64-390.154.run" +MD5SUM_x86_64="1050874ea7f8f20f5b8dbd89bdb64229" REQUIRES="" MAINTAINER="Lenard Spencer" EMAIL="lenardrspencer@gmai.com" |