nvidia390: update to 390.157.

This commit is contained in:
Andrew Benson 2022-11-24 22:00:36 -06:00
parent 36c53cd2d6
commit eef6d5326a
3 changed files with 5 additions and 164 deletions

View File

@ -146,7 +146,7 @@ libnvidia-gtk2.so.346.47 nvidia-gtklibs-346.47_1 ignore
libnvidia-gtk3.so.346.47 nvidia-gtklibs-346.47_1 ignore
libnvidia-glcore.so.390.87 nvidia390-libs-390.87_1 ignore
libnvidia-glsi.so.346.72 nvidia-libs-346.72_1 ignore
libnvidia-fatbinaryloader.so.390.154 nvidia390-libs-390.154_1 ignore
libnvidia-fatbinaryloader.so.390.157 nvidia390-libs-390.154_1 ignore
libnvidia-fatbinaryloader.so.430.40 nvidia-libs-430.40_1 ignore
libglapi.so.0 libglapi-7.11_1
libgbm.so.1 libgbm-9.0_1

View File

@ -1,154 +0,0 @@
https://aur.archlinux.org/cgit/aur.git/plain/kernel-5.18.patch?h=nvidia-390xx-utils
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

View File

@ -3,8 +3,8 @@
_desc="NVIDIA drivers (GeForce 400, 500 series)"
pkgname=nvidia390
version=390.154
revision=2
version=390.157
revision=1
maintainer="Andrew Benson <abenson+void@gmail.com>"
license="custom:NVIDIA Proprietary"
homepage="https://www.nvidia.com/en-us/drivers/unix/"
@ -22,11 +22,11 @@ conflicts="xserver-abi-video>25_1"
if [ "$XBPS_TARGET_MACHINE" = "i686" ]; then
_pkg="NVIDIA-Linux-x86-${version}"
distfiles="http://uk.download.nvidia.com/XFree86/Linux-x86/${version}/${_pkg}.run"
checksum=5ee871b84bd9f28e225b7a3e5f1be1f9e2d0067f37b8d6b8d0c251702f06d3e7
checksum=55d65e0a4539a9cb796200c5f1082fe263fb0951deaaf96a9cffeb8a80f70799
else
_pkg="NVIDIA-Linux-x86_64-${version}-no-compat32"
distfiles="http://uk.download.nvidia.com/XFree86/Linux-x86_64/${version}/${_pkg}.run"
checksum=20a10d71b13e03924a26b822d80884d961a8e2c61564645049d727f7d5a814ec
checksum=162317a49aa5a521eb888ec12119bfe5a45cec4e8653efc575a2d04fb05bf581
fi
patch_args="-Np1 --directory=${XBPS_BUILDDIR}/${pkgname}-${version}/${_pkg}/kernel"
@ -40,11 +40,6 @@ do_extract() {
cd ${_pkg}
}
do_patch() {
cd ${_pkg}
patch -p1 < ${FILESDIR}/kernel-5.18.patch
}
pre_install() {
cd ${_pkg}
cp nvidia_icd.json.template nvidia_icd.json