]> git.pld-linux.org Git - packages/xorg-driver-video-nvidia-legacy-390xx.git/blobdiff - kernel-5.10.patch
up to 390.141
[packages/xorg-driver-video-nvidia-legacy-390xx.git] / kernel-5.10.patch
diff --git a/kernel-5.10.patch b/kernel-5.10.patch
deleted file mode 100644 (file)
index 053e9c1..0000000
+++ /dev/null
@@ -1,206 +0,0 @@
---- NVIDIA-Linux-x86_64-390.138-no-compat32/kernel/common/inc/nv-linux.h.orig  2020-12-22 11:58:13.756901968 +0100
-+++ NVIDIA-Linux-x86_64-390.138-no-compat32/kernel/common/inc/nv-linux.h       2020-12-22 12:34:56.069935099 +0100
-@@ -1304,7 +1304,8 @@
-  * device.  So if SWIOTLB is enabled, we should avoid making
-  * mapping calls.
-  */
--static inline NvBool nv_dma_maps_swiotlb(struct pci_dev *dev)
-+static inline NvBool
-+nv_dma_maps_swiotlb(struct pci_dev *dev)
- {
-     NvBool swiotlb_in_use = NV_FALSE;
- #if defined(CONFIG_SWIOTLB)
-@@ -1316,7 +1317,6 @@
-      * get_dma_ops() interface.
-      */
-     #if defined(NV_GET_DMA_OPS_PRESENT)
--      #if defined(NV_DMA_MAP_OPS_PRESENT) || defined(NV_SWIOTLB_DMA_OPS_PRESENT)
-     /*
-      * The __attribute__ ((unused)) is necessary because in at least one
-      * case, *none* of the preprocessor branches below are taken, and
-@@ -1324,14 +1324,11 @@
-      * happen with the (NV_IS_EXPORT_SYMBOL_PRESENT_swiotlb_map_sg_attrs == 1)
-      * case.
-      */
--    const struct dma_map_ops *ops __attribute__ ((unused)) = get_dma_ops(&dev->dev);
--      #else
--    const struct dma_mapping_ops *ops __attribute__ ((unused)) = get_dma_ops(&dev->dev);
--      #endif
-+    const struct dma_map_ops *ops __attribute__ ((unused)) = get_dma_ops(&dev->dev);
-     #else
-     const struct dma_mapping_ops *ops __attribute__ ((unused)) = dma_ops;
-     #endif
--    #if defined(NV_DMA_MAP_OPS_PRESENT) || defined(NV_SWIOTLB_DMA_OPS_PRESENT)
-+
-     /*
-      * The switch from dma_mapping_ops -> dma_map_ops coincided with the
-      * switch from swiotlb_map_sg -> swiotlb_map_sg_attrs.
-@@ -1352,9 +1349,9 @@
-        * NV_IS_EXPORT_SYMBOL_PRESENT_swiotlb_dma_ops == 0) does
-        * nothing, and ends up dropping us out to the last line of this function,
-        * effectively returning false. The nearly-human-readable version of that
--       * case is "Either struct dma_map_ops or struct swiotlb_dma_ops is present
--       * (NV_DMA_MAP_OPS_PRESENT or NV_SWIOTLB_DMA_OPS_PRESENT is defined) but
--       * neither swiotlb_map_sg_attrs nor swiotlb_dma_ops is present".
-+       * case is "struct swiotlb_dma_ops is present (NV_SWIOTLB_DMA_OPS_PRESENT
-+       * is defined) but neither swiotlb_map_sg_attrs nor swiotlb_dma_ops is
-+       * present".
-        *
-        * That can happen on kernels that fall within below range:
-        *
-@@ -1378,17 +1375,6 @@
-        * we just return NV_FALSE and in nv_compute_gfp_mask() we check for
-        * whether swiotlb could possibly be used (outside of swiotlb=force).
-        */
--    #else
--    swiotlb_in_use = (ops->map_sg == swiotlb_map_sg);
--    #endif
--  #elif defined(NVCPU_X86_64)
--    /*
--     * Fallback for old 2.6 kernels - if the DMA operations infrastructure
--     * isn't in place, use the swiotlb flag. Before dma_ops was added, this
--     * flag used to be exported. It still exists in modern kernels but is no
--     * longer exported.
--     */
--    swiotlb_in_use = (swiotlb == 1);
-   #endif
- #endif
-diff --color -ur NVIDIA-Linux-x86_64-390.138-no-compat32.orig/kernel/common/inc/nv-linux.h NVIDIA-Linux-x86_64-390.138-no-compat32/kernel/common/inc/nv-linux.h
---- NVIDIA-Linux-x86_64-390.138-no-compat32.orig/kernel/common/inc/nv-linux.h  2020-12-22 12:36:18.220333393 +0100
-+++ NVIDIA-Linux-x86_64-390.138-no-compat32/kernel/common/inc/nv-linux.h       2020-12-22 12:43:57.293884303 +0100
-@@ -178,6 +178,10 @@
- #include <linux/dma-mapping.h>
- #endif
-+#if defined(NV_LINUX_DMA_MAP_OPS_H_PRESENT)
-+#include <linux/dma-map-ops.h>
-+#endif
-+
- #if defined(CONFIG_SWIOTLB) && defined(NVCPU_AARCH64)
- #include <linux/swiotlb.h>
- #endif
-diff --color -ur NVIDIA-Linux-x86_64-390.138-no-compat32.orig/kernel/conftest.sh NVIDIA-Linux-x86_64-390.138-no-compat32/kernel/conftest.sh
---- NVIDIA-Linux-x86_64-390.138-no-compat32.orig/kernel/conftest.sh    2020-12-22 12:36:18.166999801 +0100
-+++ NVIDIA-Linux-x86_64-390.138-no-compat32/kernel/conftest.sh 2020-12-22 12:43:18.766880222 +0100
-@@ -134,6 +134,7 @@
-     FILES="$FILES linux/fence.h"
-     FILES="$FILES linux/ktime.h"
-     FILES="$FILES linux/dma-resv.h"
-+    FILES="$FILES linux/dma-map-ops.h"
-     # Arch specific headers which need testing
-     FILES_ARCH="asm/book3s/64/hash-64k.h"
-@@ -2097,8 +2098,20 @@
-             #
-             # Determine if the get_dma_ops() function is present.
-             #
-+            # The structure was made available to all architectures by commit
-+            # e1c7e324539a ("dma-mapping: always provide the dma_map_ops
-+            # based implementation") in v4.5
-+            #
-+            # Commit 0a0f0d8be76d ("dma-mapping: split <linux/dma-mapping.h>")
-+            # in v5.10-rc1 (2020-09-22), moved get_dma_ops() function
-+            # prototype from <linux/dma-mapping.h> to <linux/dma-map-ops.h>.
-+            #
-             CODE="
-+            #if defined(NV_LINUX_DMA_MAP_OPS_H_PRESENT)
-+            #include <linux/dma-map-ops.h>
-+            #else
-             #include <linux/dma-mapping.h>
-+            #endif
-             void conftest_get_dma_ops(void) {
-                 get_dma_ops();
-             }"
-diff --color -ur NVIDIA-Linux-x86_64-390.138-no-compat32.orig/kernel/conftest.sh NVIDIA-Linux-x86_64-390.138-no-compat32/kernel/conftest.sh
---- NVIDIA-Linux-x86_64-390.138-no-compat32.orig/kernel/conftest.sh    2020-12-22 13:14:54.092636780 +0100
-+++ NVIDIA-Linux-x86_64-390.138-no-compat32/kernel/conftest.sh 2020-12-22 13:17:31.066679257 +0100
-@@ -4244,6 +4244,30 @@
-             compile_check_conftest "$CODE" "NV_VGA_TRYGET_PRESENT" "" "functions"
-         ;;
-+
-+        drm_prime_pages_to_sg_has_drm_device_arg)
-+            #
-+            # Determine if drm_prime_pages_to_sg() has 'dev' argument.
-+            #
-+            # drm_prime_pages_to_sg() is updated to take 'dev' argument by commit
-+            # 707d561f77b5 ("drm: allow limiting the scatter list size.").
-+            #
-+            CODE="
-+            #if defined(NV_DRM_DRMP_H_PRESENT)
-+            #include <drm/drmP.h>
-+            #endif
-+            #if defined(NV_DRM_DRM_PRIME_H_PRESENT)
-+            #include <drm/drm_prime.h>
-+            #endif
-+
-+            struct sg_table *drm_prime_pages_to_sg(struct drm_device *dev,
-+                                                   struct page **pages,
-+                                                   unsigned int nr_pages) {
-+                return 0;
-+            }"
-+
-+            compile_check_conftest "$CODE" "NV_DRM_PRIME_PAGES_TO_SG_HAS_DRM_DEVICE_ARG" "" "types"
-+        ;;
-     esac
- }
-diff --color -ur NVIDIA-Linux-x86_64-390.138-no-compat32.orig/kernel/nvidia-drm/nvidia-drm-gem-user-memory.c NVIDIA-Linux-x86_64-390.138-no-compat32/kernel/nvidia-drm/nvidia-drm-gem-user-memory.c
---- NVIDIA-Linux-x86_64-390.138-no-compat32.orig/kernel/nvidia-drm/nvidia-drm-gem-user-memory.c        2020-05-14 14:29:25.000000000 +0200
-+++ NVIDIA-Linux-x86_64-390.138-no-compat32/kernel/nvidia-drm/nvidia-drm-gem-user-memory.c     2020-12-22 13:18:37.296993224 +0100
-@@ -29,6 +29,7 @@
- #endif
- #include "nvidia-drm-gem-user-memory.h"
-+#include "nvidia-drm-helper.h"
- #include "nvidia-drm-ioctl.h"
- static inline
-@@ -46,9 +46,11 @@
-     struct nv_drm_gem_object *nv_gem)
- {
-     struct nv_drm_gem_user_memory *nv_user_memory = to_nv_user_memory(nv_gem);
-+    struct drm_gem_object *gem = &nv_gem->base;
--    return drm_prime_pages_to_sg(nv_user_memory->pages,
--                                 nv_user_memory->pages_count);
-+    return nv_drm_prime_pages_to_sg(gem->dev,
-+                                    nv_user_memory->pages,
-+                                    nv_user_memory->pages_count);
- }
- static void *__nv_drm_gem_user_memory_prime_vmap(
-diff --color -ur NVIDIA-Linux-x86_64-390.138-no-compat32.orig/kernel/nvidia-drm/nvidia-drm-helper.h NVIDIA-Linux-x86_64-390.138-no-compat32/kernel/nvidia-drm/nvidia-drm-helper.h
---- NVIDIA-Linux-x86_64-390.138-no-compat32.orig/kernel/nvidia-drm/nvidia-drm-helper.h 2020-05-14 14:29:24.000000000 +0200
-+++ NVIDIA-Linux-x86_64-390.138-no-compat32/kernel/nvidia-drm/nvidia-drm-helper.h      2020-12-22 13:18:10.323531096 +0100
-@@ -55,6 +55,21 @@
- #endif
- }
-+#if defined(NV_DRM_DRM_PRIME_H_PRESENT)
-+#include <drm/drm_prime.h>
-+#endif
-+ 
-+static inline struct sg_table*
-+nv_drm_prime_pages_to_sg(struct drm_device *dev,
-+                         struct page **pages, unsigned int nr_pages)
-+{
-+#if defined(NV_DRM_PRIME_PAGES_TO_SG_HAS_DRM_DEVICE_ARG)
-+    return drm_prime_pages_to_sg(dev, pages, nr_pages);
-+#else
-+    return drm_prime_pages_to_sg(pages, nr_pages);
-+#endif
-+}
-+
- #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE)
- /*
-diff --color -ur NVIDIA-Linux-x86_64-390.138-no-compat32.orig/kernel/nvidia-drm/nvidia-drm.Kbuild NVIDIA-Linux-x86_64-390.138-no-compat32/kernel/nvidia-drm/nvidia-drm.Kbuild
---- NVIDIA-Linux-x86_64-390.138-no-compat32.orig/kernel/nvidia-drm/nvidia-drm.Kbuild   2020-05-14 11:37:09.000000000 +0200
-+++ NVIDIA-Linux-x86_64-390.138-no-compat32/kernel/nvidia-drm/nvidia-drm.Kbuild        2020-12-22 13:32:37.631385816 +0100
-@@ -92,3 +92,4 @@
- NV_CONFTEST_TYPE_COMPILE_TESTS += drm_gem_prime_export_has_dev_arg
- NV_CONFTEST_TYPE_COMPILE_TESTS += vm_fault_t
- NV_CONFTEST_TYPE_COMPILE_TESTS += drm_gem_object_has_resv
-+NV_CONFTEST_TYPE_COMPILE_TESTS += drm_prime_pages_to_sg_has_drm_device_arg
This page took 0.096112 seconds and 4 git commands to generate.