From: Jan Palus Date: Wed, 24 Jun 2020 19:05:56 +0000 (+0200) Subject: up to 390.138 X-Git-Tag: auto/th/xorg-driver-video-nvidia-legacy-390xx-390.138-1 X-Git-Url: https://git.pld-linux.org/?p=packages%2Fxorg-driver-video-nvidia-legacy-390xx.git;a=commitdiff_plain;h=eb52342 up to 390.138 --- diff --git a/kernel-5.5.patch b/kernel-5.5.patch deleted file mode 100644 index bda326c..0000000 --- a/kernel-5.5.patch +++ /dev/null @@ -1,395 +0,0 @@ -diff --git a/.manifest b/.manifest -index a53265d..bc46234 100644 ---- a/.manifest -+++ b/.manifest -@@ -36,6 +36,7 @@ kernel/nvidia/nv-rsync.c 0644 KERNEL_MODULE_SRC INHERIT_PATH_DEPTH:1 MODULE:resm - kernel/nvidia/nv-report-err.c 0644 KERNEL_MODULE_SRC INHERIT_PATH_DEPTH:1 MODULE:resman - kernel/conftest.sh 0644 KERNEL_MODULE_SRC INHERIT_PATH_DEPTH:1 MODULE:resman - kernel/common/inc/nv.h 0644 KERNEL_MODULE_SRC INHERIT_PATH_DEPTH:1 MODULE:resman -+kernel/common/inc/nv-drm.h 0644 KERNEL_MODULE_SRC INHERIT_PATH_DEPTH:1 MODULE:resman - kernel/common/inc/nv-pgprot.h 0644 KERNEL_MODULE_SRC INHERIT_PATH_DEPTH:1 MODULE:resman - kernel/common/inc/nv-mm.h 0644 KERNEL_MODULE_SRC INHERIT_PATH_DEPTH:1 MODULE:resman - kernel/common/inc/nv-timer.h 0644 KERNEL_MODULE_SRC INHERIT_PATH_DEPTH:1 MODULE:resman -diff --git a/kernel/common/inc/nv-drm.h b/kernel/common/inc/nv-drm.h -new file mode 100644 -index 0000000..07e9f3c ---- /dev/null -+++ b/kernel/common/inc/nv-drm.h -@@ -0,0 +1,36 @@ -+#ifndef _NV_DRM_H_ -+#define _NV_DRM_H_ -+ -+#include "conftest.h" -+ -+#if defined(NV_DRM_DRMP_H_PRESENT) -+#include -+#else -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+#include -+ -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+#include -+ -+#include -+#endif -+ -+#endif -diff --git a/kernel/conftest.sh b/kernel/conftest.sh -index c9c2db3..dd22bb0 100755 ---- a/kernel/conftest.sh -+++ b/kernel/conftest.sh -@@ -1150,6 +1150,9 @@ compile_test() { - CODE=" - #if defined(NV_DRM_DRMP_H_PRESENT) - #include -+ #else -+ #include -+ #include - #endif - #if !defined(CONFIG_DRM) && !defined(CONFIG_DRM_MODULE) - #error DRM not enabled -@@ -1781,6 +1784,8 @@ compile_test() { - echo "$CONFTEST_PREAMBLE - #if defined(NV_DRM_DRMP_H_PRESENT) - #include -+ #else -+ #include - #endif - #include - #if !defined(CONFIG_DRM) && !defined(CONFIG_DRM_MODULE) -@@ -1909,7 +1914,11 @@ compile_test() { - # attached drivers") in v3.14 (2013-12-11) - # - CODE=" -+ #if defined(NV_DRM_DRMP_H_PRESENT) - #include -+ #else -+ #include -+ #endif - int conftest_drm_driver_has_legacy_dev_list(void) { - return offsetof(struct drm_driver, legacy_dev_list); - }" -@@ -1933,7 +1942,11 @@ compile_test() { - # 2017-07-23 e6fc3b68558e4c6d8d160b5daf2511b99afa8814 - # - CODE=" -+ #if defined(NV_DRM_DRMP_H_PRESENT) - #include -+ #else -+ #include -+ #endif - - int conftest_drm_crtc_init_with_planes_has_name_arg(void) { - return -@@ -1949,7 +1962,11 @@ compile_test() { - compile_check_conftest "$CODE" "NV_DRM_CRTC_INIT_WITH_PLANES_HAS_NAME_ARG" "" "types" - - CODE=" -+ #if defined(NV_DRM_DRMP_H_PRESENT) - #include -+ #else -+ #include -+ #endif - - int conftest_drm_encoder_init_has_name_arg(void) { - return -@@ -1964,7 +1981,11 @@ compile_test() { - compile_check_conftest "$CODE" "NV_DRM_ENCODER_INIT_HAS_NAME_ARG" "" "types" - - echo "$CONFTEST_PREAMBLE -+ #if defined(NV_DRM_DRMP_H_PRESENT) - #include -+ #else -+ #include -+ #endif - - int conftest_drm_universal_plane_init_has_format_modifiers_arg(void) { - return -@@ -1991,7 +2012,11 @@ compile_test() { - echo "#undef NV_DRM_UNIVERSAL_PLANE_INIT_HAS_FORMAT_MODIFIERS_ARG" | append_conftest "types" - - echo "$CONFTEST_PREAMBLE -+ #if defined(NV_DRM_DRMP_H_PRESENT) - #include -+ #else -+ #include -+ #endif - - int conftest_drm_universal_plane_init_has_name_arg(void) { - return -@@ -3084,7 +3109,9 @@ compile_test() { - # drm_framebuffer_{get,put}()") in v4.12 (2017-02-28). - # - CODE=" -+ #if defined(NV_DRM_DRMP_H_PRESENT) - #include -+ #endif - #if defined(NV_DRM_DRM_FRAMEBUFFER_H_PRESENT) - #include - #endif -@@ -3103,7 +3130,9 @@ compile_test() { - # drm_gem_object_{get,put}()") in v4.12 (2017-02-28). - # - CODE=" -+ #if defined(NV_DRM_DRMP_H_PRESENT) - #include -+ #endif - #if defined(NV_DRM_DRM_GEM_H_PRESENT) - #include - #endif -@@ -3122,7 +3151,9 @@ compile_test() { - # functions") in v4.15 (2017-09-26). - # - CODE=" -+ #if defined(NV_DRM_DRMP_H_PRESENT) - #include -+ #endif - #if defined(NV_DRM_DRM_DRV_H_PRESENT) - #include - #endif -diff --git a/kernel/nvidia-drm/nvidia-drm-connector.c b/kernel/nvidia-drm/nvidia-drm-connector.c -index 1553ebc..f851561 100644 ---- a/kernel/nvidia-drm/nvidia-drm-connector.c -+++ b/kernel/nvidia-drm/nvidia-drm-connector.c -@@ -20,6 +20,8 @@ - * DEALINGS IN THE SOFTWARE. - */ - -+#include -+ - #include "nvidia-drm-conftest.h" /* NV_DRM_ATOMIC_MODESET_AVAILABLE */ - - #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE) -@@ -71,7 +73,11 @@ static enum drm_connector_status __nv_drm_connector_detect_internal( - struct nv_drm_encoder *nv_detected_encoder = NULL; - - struct NvKmsKapiDynamicDisplayParams *pDetectParams = NULL; -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 5, 0) - unsigned int i; -+#else -+ struct drm_encoder *encoder = NULL; -+#endif - - BUG_ON(!mutex_is_locked(&dev->mode_config.mutex)); - -@@ -87,11 +93,16 @@ static enum drm_connector_status __nv_drm_connector_detect_internal( - goto done; - } - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 5, 0) - for (i = 0; - i < DRM_CONNECTOR_MAX_ENCODER && detected_encoder == NULL; i++) { - struct drm_encoder *encoder; -+#else -+ drm_connector_for_each_possible_encoder(connector, encoder) { -+#endif - struct nv_drm_encoder *nv_encoder; - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 5, 0) - if (connector->encoder_ids[i] == 0) { - break; - } -@@ -102,6 +113,7 @@ static enum drm_connector_status __nv_drm_connector_detect_internal( - BUG_ON(encoder != NULL); - continue; - } -+#endif - - /* - * DVI-I connectors can drive both digital and analog -@@ -169,6 +181,8 @@ static enum drm_connector_status __nv_drm_connector_detect_internal( - } - - detected_encoder = encoder; -+ -+ break; - } - } - -diff --git a/kernel/nvidia-drm/nvidia-drm-connector.h b/kernel/nvidia-drm/nvidia-drm-connector.h -index f74e22c..099390d 100644 ---- a/kernel/nvidia-drm/nvidia-drm-connector.h -+++ b/kernel/nvidia-drm/nvidia-drm-connector.h -@@ -27,7 +27,7 @@ - - #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE) - --#include -+#include "nv-drm.h" - - #include "nvtypes.h" - #include "nvkms-api-types.h" -diff --git a/kernel/nvidia-drm/nvidia-drm-crtc.h b/kernel/nvidia-drm/nvidia-drm-crtc.h -index 31ef3b5..5de3a51 100644 ---- a/kernel/nvidia-drm/nvidia-drm-crtc.h -+++ b/kernel/nvidia-drm/nvidia-drm-crtc.h -@@ -29,7 +29,7 @@ - - #include "nvidia-drm-helper.h" - --#include -+#include "nv-drm.h" - #include "nvtypes.h" - #include "nvkms-kapi.h" - -diff --git a/kernel/nvidia-drm/nvidia-drm-drv.c b/kernel/nvidia-drm/nvidia-drm-drv.c -index a66d3cc..06bf859 100644 ---- a/kernel/nvidia-drm/nvidia-drm-drv.c -+++ b/kernel/nvidia-drm/nvidia-drm-drv.c -@@ -39,7 +39,7 @@ - - #include "nvidia-drm-ioctl.h" - --#include -+#include "nv-drm.h" - - /* - * Commit fcd70cd36b9b ("drm: Split out drm_probe_helper.h") -diff --git a/kernel/nvidia-drm/nvidia-drm-encoder.h b/kernel/nvidia-drm/nvidia-drm-encoder.h -index bbaf986..af341a8 100644 ---- a/kernel/nvidia-drm/nvidia-drm-encoder.h -+++ b/kernel/nvidia-drm/nvidia-drm-encoder.h -@@ -32,7 +32,7 @@ - #if defined(NV_DRM_DRM_ENCODER_H_PRESENT) - #include - #else --#include -+#include "nv-drm.h" - #endif - - #include "nvkms-kapi.h" -diff --git a/kernel/nvidia-drm/nvidia-drm-fb.h b/kernel/nvidia-drm/nvidia-drm-fb.h -index 7f292ce..d13bc4c 100644 ---- a/kernel/nvidia-drm/nvidia-drm-fb.h -+++ b/kernel/nvidia-drm/nvidia-drm-fb.h -@@ -27,7 +27,7 @@ - - #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE) - --#include -+#include "nv-drm.h" - #include "nvidia-drm-gem-nvkms-memory.h" - #include "nvkms-kapi.h" - -diff --git a/kernel/nvidia-drm/nvidia-drm-gem.h b/kernel/nvidia-drm/nvidia-drm-gem.h -index b621969..326f810 100644 ---- a/kernel/nvidia-drm/nvidia-drm-gem.h -+++ b/kernel/nvidia-drm/nvidia-drm-gem.h -@@ -29,7 +29,7 @@ - - #include "nvidia-drm-priv.h" - --#include -+#include "nv-drm.h" - #include "nvkms-kapi.h" - - #if defined(NV_DRM_DRIVER_HAS_GEM_PRIME_RES_OBJ) -diff --git a/kernel/nvidia-drm/nvidia-drm-helper.c b/kernel/nvidia-drm/nvidia-drm-helper.c -index da602ac..e5d6daa 100644 ---- a/kernel/nvidia-drm/nvidia-drm-helper.c -+++ b/kernel/nvidia-drm/nvidia-drm-helper.c -@@ -31,7 +31,7 @@ - - #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE) - --#include -+#include "nv-drm.h" - #if defined(NV_DRM_DRM_ATOMIC_UAPI_H_PRESENT) - #include - #endif -diff --git a/kernel/nvidia-drm/nvidia-drm-helper.h b/kernel/nvidia-drm/nvidia-drm-helper.h -index 8f050d8..71c4b90 100644 ---- a/kernel/nvidia-drm/nvidia-drm-helper.h -+++ b/kernel/nvidia-drm/nvidia-drm-helper.h -@@ -27,7 +27,7 @@ - - #if defined(NV_DRM_AVAILABLE) - --#include -+#include "nv-drm.h" - - /* - * drm_dev_put() is added by commit 9a96f55034e41b4e002b767e9218d55f03bdff7d -diff --git a/kernel/nvidia-drm/nvidia-drm-modeset.h b/kernel/nvidia-drm/nvidia-drm-modeset.h -index 06659c5..e9d7b70 100644 ---- a/kernel/nvidia-drm/nvidia-drm-modeset.h -+++ b/kernel/nvidia-drm/nvidia-drm-modeset.h -@@ -27,7 +27,7 @@ - - #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE) - --#include -+#include "nv-drm.h" - - struct drm_atomic_state *nv_drm_atomic_state_alloc(struct drm_device *dev); - void nv_drm_atomic_state_clear(struct drm_atomic_state *state); -diff --git a/kernel/nvidia-drm/nvidia-drm-os-interface.h b/kernel/nvidia-drm/nvidia-drm-os-interface.h -index f43f851..7f4ff8b 100644 ---- a/kernel/nvidia-drm/nvidia-drm-os-interface.h -+++ b/kernel/nvidia-drm/nvidia-drm-os-interface.h -@@ -29,7 +29,7 @@ - - #if defined(NV_DRM_AVAILABLE) - --#include -+#include "nv-drm.h" - - /* Set to true when the atomic modeset feature is enabled. */ - extern bool nv_drm_modeset_module_param; -diff --git a/kernel/nvidia-drm/nvidia-drm-prime-fence.h b/kernel/nvidia-drm/nvidia-drm-prime-fence.h -index 20da923..f3cc2b4 100644 ---- a/kernel/nvidia-drm/nvidia-drm-prime-fence.h -+++ b/kernel/nvidia-drm/nvidia-drm-prime-fence.h -@@ -27,7 +27,7 @@ - - #if defined(NV_DRM_AVAILABLE) - --#include -+#include "nv-drm.h" - - #if defined(NV_DRM_DRIVER_HAS_GEM_PRIME_RES_OBJ) - -diff --git a/kernel/nvidia-drm/nvidia-drm-priv.h b/kernel/nvidia-drm/nvidia-drm-priv.h -index 9076835..77a95f3 100644 ---- a/kernel/nvidia-drm/nvidia-drm-priv.h -+++ b/kernel/nvidia-drm/nvidia-drm-priv.h -@@ -27,7 +27,7 @@ - - #if defined(NV_DRM_AVAILABLE) - --#include -+#include "nv-drm.h" - - #if defined(NV_DRM_DRM_GEM_H_PRESENT) - #include -diff --git a/kernel/nvidia-drm/nvidia-drm-utils.h b/kernel/nvidia-drm/nvidia-drm-utils.h -index 6d24120..95190c4 100644 ---- a/kernel/nvidia-drm/nvidia-drm-utils.h -+++ b/kernel/nvidia-drm/nvidia-drm-utils.h -@@ -27,7 +27,7 @@ - - #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE) - --#include -+#include "nv-drm.h" - #include "nvkms-kapi.h" - - struct NvKmsKapiConnectorInfo* diff --git a/kernel-5.6-x8664.patch b/kernel-5.6-x8664.patch deleted file mode 100644 index f11819b..0000000 --- a/kernel-5.6-x8664.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff --git a/kernel/nvidia-uvm/uvm_linux.h b/kernel/nvidia-uvm/uvm_linux.h -index 8784a82..c256cdb 100644 ---- a/kernel/nvidia-uvm/uvm_linux.h -+++ b/kernel/nvidia-uvm/uvm_linux.h -@@ -329,7 +329,16 @@ static inline uint64_t NV_DIV64(uint64_t dividend, uint64_t divisor, uint64_t *r - } - #endif - --#if defined(CLOCK_MONOTONIC_RAW) -+#if defined(NV_KTIME_GET_RAW_TS64_PRESENT) -+static inline NvU64 NV_GETTIME(void) -+{ -+ struct timespec64 ts64 = {0}; -+ -+ ktime_get_raw_ts64(&ts64); -+ -+ return (ts64.tv_sec * 1000000000ULL + ts64.tv_nsec); -+} -+#elif defined(CLOCK_MONOTONIC_RAW) - /* Return a nanosecond-precise value */ - static inline NvU64 NV_GETTIME(void) - { -@@ -345,7 +354,7 @@ static inline NvU64 NV_GETTIME(void) - * available non-GPL symbols. */ - static inline NvU64 NV_GETTIME(void) - { -- struct timeval tv = {0}; -+ struct nv_timeval tv = {0}; - - nv_gettimeofday(&tv); - diff --git a/kernel-5.6.patch b/kernel-5.6.patch deleted file mode 100644 index fd9875a..0000000 --- a/kernel-5.6.patch +++ /dev/null @@ -1,387 +0,0 @@ -diff --git a/kernel/common/inc/nv-linux.h b/kernel/common/inc/nv-linux.h -index 85041c2..ac5bb95 100644 ---- a/kernel/common/inc/nv-linux.h -+++ b/kernel/common/inc/nv-linux.h -@@ -553,7 +553,11 @@ static inline void *nv_ioremap(NvU64 phys, NvU64 size) - - static inline void *nv_ioremap_nocache(NvU64 phys, NvU64 size) - { -+#if defined(NV_IOREMAP_NOCACHE_PRESENT) - void *ptr = ioremap_nocache(phys, size); -+#else -+ void *ptr = ioremap(phys, size); -+#endif - if (ptr) - NV_MEMDBG_ADD(ptr, size); - return ptr; -diff --git a/kernel/common/inc/nv-procfs.h b/kernel/common/inc/nv-procfs.h -index 3c812ea..e57c4f9 100644 ---- a/kernel/common/inc/nv-procfs.h -+++ b/kernel/common/inc/nv-procfs.h -@@ -52,6 +52,19 @@ - }) - #endif - -+#if defined(NV_HAVE_PROC_OPS) -+#define NV_CREATE_PROC_FILE(filename,parent,__name,__data) \ -+ ({ \ -+ struct proc_dir_entry *__entry; \ -+ int mode = (S_IFREG | S_IRUGO); \ -+ const struct proc_ops *fops = &nv_procfs_##__name##_fops; \ -+ if (fops->proc_write != 0) \ -+ mode |= S_IWUSR; \ -+ __entry = NV_CREATE_PROC_ENTRY(filename, mode, parent, fops, \ -+ __data); \ -+ __entry; \ -+ }) -+#else - #define NV_CREATE_PROC_FILE(filename,parent,__name,__data) \ - ({ \ - struct proc_dir_entry *__entry; \ -@@ -63,6 +76,7 @@ - __data); \ - __entry; \ - }) -+#endif - - /* - * proc_mkdir_mode exists in Linux 2.6.9, but isn't exported until Linux 3.0. -@@ -104,6 +118,24 @@ - remove_proc_entry(entry->name, entry->parent); - #endif - -+#if defined(NV_HAVE_PROC_OPS) -+#define NV_DEFINE_PROCFS_SINGLE_FILE(__name) \ -+ static int nv_procfs_open_##__name( \ -+ struct inode *inode, \ -+ struct file *filep \ -+ ) \ -+ { \ -+ return single_open(filep, nv_procfs_read_##__name, \ -+ NV_PDE_DATA(inode)); \ -+ } \ -+ \ -+ static const struct proc_ops nv_procfs_##__name##_fops = { \ -+ .proc_open = nv_procfs_open_##__name, \ -+ .proc_read = seq_read, \ -+ .proc_lseek = seq_lseek, \ -+ .proc_release = single_release, \ -+ }; -+#else - #define NV_DEFINE_PROCFS_SINGLE_FILE(__name) \ - static int nv_procfs_open_##__name( \ - struct inode *inode, \ -@@ -121,6 +153,7 @@ - .llseek = seq_lseek, \ - .release = single_release, \ - }; -+#endif - - #endif /* CONFIG_PROC_FS */ - -diff --git a/kernel/common/inc/nv-time.h b/kernel/common/inc/nv-time.h -index 2c799c9..0206062 100644 ---- a/kernel/common/inc/nv-time.h -+++ b/kernel/common/inc/nv-time.h -@@ -30,7 +30,17 @@ - #include - #endif - --static inline void nv_gettimeofday(struct timeval *tv) -+#include -+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 6, 0) -+#define nv_timeval timeval -+#else -+struct nv_timeval { -+ __kernel_long_t tv_sec; -+ __kernel_suseconds_t tv_usec; -+}; -+#endif -+ -+static inline void nv_gettimeofday(struct nv_timeval *tv) - { - #ifdef NV_DO_GETTIMEOFDAY_PRESENT - do_gettimeofday(tv); -@@ -39,7 +44,7 @@ static inline void nv_gettimeofday(struct timeval *tv) - - ktime_get_real_ts64(&now); - -- *tv = (struct timeval) { -+ *tv = (struct nv_timeval) { - .tv_sec = now.tv_sec, - .tv_usec = now.tv_nsec/1000, - }; -diff --git a/kernel/conftest.sh b/kernel/conftest.sh -index ec9e093..463a464 100755 ---- a/kernel/conftest.sh -+++ b/kernel/conftest.sh -@@ -1197,6 +1197,22 @@ compile_test() { - compile_check_conftest "$CODE" "NV_IOREMAP_CACHE_PRESENT" "" "functions" - ;; - -+ ioremap_nocache) -+ # -+ # Determine if the ioremap_nocache() function is present. -+ # -+ # Removed by commit 4bdc0d676a64 ("remove ioremap_nocache and -+ # devm_ioremap_nocache") in v5.6 (2020-01-06) -+ # -+ CODE=" -+ #include -+ void conftest_ioremap_nocache(void) { -+ ioremap_nocache(); -+ }" -+ -+ compile_check_conftest "$CODE" "NV_IOREMAP_NOCACHE_PRESENT" "" "functions" -+ ;; -+ - ioremap_wc) - # - # Determine if the ioremap_wc() function is present. -@@ -1430,6 +1446,29 @@ compile_test() { - compile_check_conftest "$CODE" "NV_SG_ALLOC_TABLE_FROM_PAGES_PRESENT" "" "functions" - ;; - -+ proc_ops) -+ CODE=" -+ #include -+ int conftest_proc_ops(void) { -+ return offsetof(struct proc_ops, proc_open); -+ }" -+ -+ compile_check_conftest "$CODE" "NV_HAVE_PROC_OPS" "" "types" -+ ;; -+ -+ ktime_get_raw_ts64) -+ # -+ # Determine if the ktime_get_raw_ts64() function is present. -+ # -+ CODE=" -+ #include -+ int conftest_ktime_get_raw_ts64(void) { -+ ktime_get_raw_ts64(); -+ }" -+ -+ compile_check_conftest "$CODE" "NV_KTIME_GET_RAW_TS64_PRESENT" "" "functions" -+ ;; -+ - efi_enabled) - # - # Determine if the efi_enabled symbol is present, or if -diff --git a/kernel/nvidia-modeset/nvidia-modeset-linux.c b/kernel/nvidia-modeset/nvidia-modeset-linux.c -index d42aabb..f0404fb 100644 ---- a/kernel/nvidia-modeset/nvidia-modeset-linux.c -+++ b/kernel/nvidia-modeset/nvidia-modeset-linux.c -@@ -216,7 +216,7 @@ void NVKMS_API_CALL nvkms_usleep(NvU64 usec) - - NvU64 NVKMS_API_CALL nvkms_get_usec(void) - { -- struct timeval tv; -+ struct nv_timeval tv; - - nv_gettimeofday(&tv); - -diff --git a/kernel/nvidia/nv-procfs.c b/kernel/nvidia/nv-procfs.c -index 5808a88..bc60a08 100644 ---- a/kernel/nvidia/nv-procfs.c -+++ b/kernel/nvidia/nv-procfs.c -@@ -414,6 +414,15 @@ done: - return ((status < 0) ? status : (int)count); - } - -+#if defined(NV_HAVE_PROC_OPS) -+static struct proc_ops nv_procfs_registry_fops = { -+ .proc_open = nv_procfs_open_registry, -+ .proc_read = seq_read, -+ .proc_write = nv_procfs_write_file, -+ .proc_lseek = seq_lseek, -+ .proc_release = nv_procfs_close_registry, -+}; -+#else - static struct file_operations nv_procfs_registry_fops = { - .owner = THIS_MODULE, - .open = nv_procfs_open_registry, -@@ -422,6 +431,7 @@ static struct file_operations nv_procfs_registry_fops = { - .llseek = seq_lseek, - .release = nv_procfs_close_registry, - }; -+#endif - - /* - * Forwards error to nv_log_error which exposes data to vendor callback -@@ -517,12 +527,20 @@ done: - return status; - } - -+#if defined(NV_HAVE_PROC_OPS) -+static struct proc_ops nv_procfs_exercise_error_forwarding_fops = { -+ .proc_open = nv_procfs_open_exercise_error_forwarding, -+ .proc_write = nv_procfs_write_file, -+ .proc_release = nv_procfs_close_exercise_error_forwarding, -+}; -+#else - static struct file_operations nv_procfs_exercise_error_forwarding_fops = { - .owner = THIS_MODULE, - .open = nv_procfs_open_exercise_error_forwarding, - .write = nv_procfs_write_file, - .release = nv_procfs_close_exercise_error_forwarding, - }; -+#endif - - static int - nv_procfs_read_unbind_lock( -@@ -650,6 +668,15 @@ done: - return rc; - } - -+#if defined(NV_HAVE_PROC_OPS) -+static struct proc_ops nv_procfs_unbind_lock_fops = { -+ .proc_open = nv_procfs_open_unbind_lock, -+ .proc_read = seq_read, -+ .proc_write = nv_procfs_write_file, -+ .proc_lseek = seq_lseek, -+ .proc_release = nv_procfs_close_unbind_lock, -+}; -+#else - static struct file_operations nv_procfs_unbind_lock_fops = { - .owner = THIS_MODULE, - .open = nv_procfs_open_unbind_lock, -@@ -658,6 +685,7 @@ static struct file_operations nv_procfs_unbind_lock_fops = { - .llseek = seq_lseek, - .release = nv_procfs_close_unbind_lock, - }; -+#endif - - static int - nv_procfs_read_text_file( -diff --git a/kernel/nvidia/nvidia.Kbuild b/kernel/nvidia/nvidia.Kbuild -index 8ae1016..da7f135 100644 ---- a/kernel/nvidia/nvidia.Kbuild -+++ b/kernel/nvidia/nvidia.Kbuild -@@ -117,6 +117,7 @@ NV_CONFTEST_FUNCTION_COMPILE_TESTS += on_each_cpu - NV_CONFTEST_FUNCTION_COMPILE_TESTS += smp_call_function - NV_CONFTEST_FUNCTION_COMPILE_TESTS += acpi_evaluate_integer - NV_CONFTEST_FUNCTION_COMPILE_TESTS += ioremap_cache -+NV_CONFTEST_FUNCTION_COMPILE_TESTS += ioremap_nocache - NV_CONFTEST_FUNCTION_COMPILE_TESTS += ioremap_wc - NV_CONFTEST_FUNCTION_COMPILE_TESTS += acpi_walk_namespace - NV_CONFTEST_FUNCTION_COMPILE_TESTS += pci_domain_nr -@@ -169,7 +170,9 @@ NV_CONFTEST_TYPE_COMPILE_TESTS += outer_flush_all - NV_CONFTEST_TYPE_COMPILE_TESTS += proc_dir_entry - NV_CONFTEST_TYPE_COMPILE_TESTS += scatterlist - NV_CONFTEST_TYPE_COMPILE_TESTS += sg_table -+NV_CONFTEST_TYPE_COMPILE_TESTS += proc_ops - NV_CONFTEST_TYPE_COMPILE_TESTS += file_operations -+NV_CONFTEST_TYPE_COMPILE_TESTS += ktime_get_raw_ts64 - NV_CONFTEST_TYPE_COMPILE_TESTS += vm_operations_struct - NV_CONFTEST_TYPE_COMPILE_TESTS += atomic_long_type - NV_CONFTEST_TYPE_COMPILE_TESTS += pci_save_state -diff --git a/kernel/nvidia/nvlink_linux.c b/kernel/nvidia/nvlink_linux.c -index 0014280..537b257 100644 ---- a/kernel/nvidia/nvlink_linux.c -+++ b/kernel/nvidia/nvlink_linux.c -@@ -518,8 +518,8 @@ void * NVLINK_API_CALL nvlink_memcpy(void *dest, void *src, NvLength size) - - static NvBool nv_timer_less_than - ( -- const struct timeval *a, -- const struct timeval *b -+ const struct nv_timeval *a, -+ const struct nv_timeval *b - ) - { - return (a->tv_sec == b->tv_sec) ? (a->tv_usec < b->tv_usec) -@@ -528,9 +528,9 @@ static NvBool nv_timer_less_than - - static void nv_timeradd - ( -- const struct timeval *a, -- const struct timeval *b, -- struct timeval *result -+ const struct nv_timeval *a, -+ const struct nv_timeval *b, -+ struct nv_timeval *result - ) - { - result->tv_sec = a->tv_sec + b->tv_sec; -@@ -544,9 +544,9 @@ static void nv_timeradd - - static void nv_timersub - ( -- const struct timeval *a, -- const struct timeval *b, -- struct timeval *result -+ const struct nv_timeval *a, -+ const struct nv_timeval *b, -+ struct nv_timeval *result - ) - { - result->tv_sec = a->tv_sec - b->tv_sec; -@@ -566,7 +566,7 @@ void NVLINK_API_CALL nvlink_sleep(unsigned int ms) - unsigned long us; - unsigned long jiffies; - unsigned long mdelay_safe_msec; -- struct timeval tm_end, tm_aux; -+ struct nv_timeval tm_end, tm_aux; - - nv_gettimeofday(&tm_aux); - -diff --git a/kernel/nvidia/os-interface.c b/kernel/nvidia/os-interface.c -index 344daa8..39d0a19 100644 ---- a/kernel/nvidia/os-interface.c -+++ b/kernel/nvidia/os-interface.c -@@ -430,7 +430,7 @@ NV_STATUS NV_API_CALL os_get_current_time( - NvU32 *useconds - ) - { -- struct timeval tm; -+ struct nv_timeval tm; - - nv_gettimeofday(&tm); - -@@ -444,9 +444,15 @@ NV_STATUS NV_API_CALL os_get_current_time( - - void NV_API_CALL os_get_current_tick(NvU64 *nseconds) - { -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 5, 0) -+ struct timespec64 ts; -+ -+ jiffies_to_timespec64(jiffies, &ts); -+#else - struct timespec ts; - - jiffies_to_timespec(jiffies, &ts); -+#endif - - *nseconds = ((NvU64)ts.tv_sec * NSEC_PER_SEC + (NvU64)ts.tv_nsec); - } -@@ -502,7 +508,7 @@ NV_STATUS NV_API_CALL os_delay_us(NvU32 MicroSeconds) - unsigned long usec; - - #ifdef NV_CHECK_DELAY_ACCURACY -- struct timeval tm1, tm2; -+ struct nv_timeval tm1, tm2; - - nv_gettimeofday(&tm1); - #endif -@@ -542,9 +548,9 @@ NV_STATUS NV_API_CALL os_delay(NvU32 MilliSeconds) - unsigned long MicroSeconds; - unsigned long jiffies; - unsigned long mdelay_safe_msec; -- struct timeval tm_end, tm_aux; -+ struct nv_timeval tm_end, tm_aux; - #ifdef NV_CHECK_DELAY_ACCURACY -- struct timeval tm_start; -+ struct nv_timeval tm_start; - #endif - - nv_gettimeofday(&tm_aux); -@@ -1926,7 +1932,7 @@ static NV_STATUS NV_API_CALL _os_ipmi_receive_resp - { - struct ipmi_recv_msg *rx_msg; - int err_no; -- struct timeval tv; -+ struct nv_timeval tv; - NvU64 start_time; - - nv_gettimeofday(&tv); diff --git a/kernel-5.7.patch b/kernel-5.7.patch deleted file mode 100644 index 4f0c422..0000000 --- a/kernel-5.7.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/kernel/conftest.sh b/kernel/conftest.sh -index e0f937d..e2aa328 100755 ---- a/kernel/conftest.sh -+++ b/kernel/conftest.sh -@@ -139,6 +139,7 @@ test_headers() { - # Arch specific headers which need testing - FILES_ARCH="asm/book3s/64/hash-64k.h" - FILES_ARCH="$FILES_ARCH asm/set_memory.h" -+ FILES_ARCH="$FILES_ARCH asm/pgtable.h" - FILES_ARCH="$FILES_ARCH asm/powernv.h" - FILES_ARCH="$FILES_ARCH asm/tlbflush.h" - -@@ -422,6 +423,9 @@ compile_test() { - # Determine if the set_memory_array_uc() function is present. - # - CODE=" -+ #if defined(NV_ASM_PGTABLE_H_PRESENT) -+ #include -+ #endif - #if defined(NV_ASM_SET_MEMORY_H_PRESENT) - #include - #else diff --git a/xorg-driver-video-nvidia-legacy-390xx.spec b/xorg-driver-video-nvidia-legacy-390xx.spec index 43f375f..b1673e7 100644 --- a/xorg-driver-video-nvidia-legacy-390xx.spec +++ b/xorg-driver-video-nvidia-legacy-390xx.spec @@ -33,32 +33,28 @@ exit 1 %define no_install_post_check_so 1 -%define rel 7 +%define rel 1 %define pname xorg-driver-video-nvidia-legacy-390xx Summary: Linux Drivers for nVidia GeForce/Quadro Chips Summary(hu.UTF-8): Linux meghajtók nVidia GeForce/Quadro chipekhez Summary(pl.UTF-8): Sterowniki do kart graficznych nVidia GeForce/Quadro Name: %{pname}%{?_pld_builder:%{?with_kernel:-kernel}}%{_alt_kernel} # when updating version here, keep nvidia-settings.spec in sync as well -Version: 390.132 +Version: 390.138 Release: %{rel}%{?_pld_builder:%{?with_kernel:@%{_kernel_ver_str}}} Epoch: 1 License: nVidia Binary Group: X11 Source0: http://us.download.nvidia.com/XFree86/Linux-x86/%{version}/NVIDIA-Linux-x86-%{version}.run -# Source0-md5: 2677480ee20cd4918b1de9289b2d0af8 +# Source0-md5: 1247db325e3127324e28fb5f7c59ad50 Source1: http://us.download.nvidia.com/XFree86/Linux-x86_64/%{version}/NVIDIA-Linux-x86_64-%{version}-no-compat32.run -# Source1-md5: dcc8f272fef30c43a68d21b3379d99aa +# Source1-md5: 06e8b4f973719cb425a580542c861259 Source2: %{pname}-xinitrc.sh Source3: gl.pc.in Source4: 10-nvidia.conf Source5: 10-nvidia-modules.conf Patch0: X11-driver-nvidia-GL.patch Patch1: X11-driver-nvidia-desktop.patch -Patch2: kernel-5.5.patch -Patch3: kernel-5.6.patch -Patch4: kernel-5.6-x8664.patch -Patch5: kernel-5.7.patch URL: http://www.nvidia.com/object/unix.html BuildRequires: rpmbuild(macros) >= 1.701 %{?with_kernel:%{expand:%buildrequires_kernel kernel%%{_alt_kernel}-module-build >= 3:2.6.20.2}} @@ -265,12 +261,6 @@ rm -rf NVIDIA-Linux-x86*-%{version}* %endif %patch0 -p1 %patch1 -p1 -%patch2 -p1 -%patch3 -p1 -%ifarch %{x8664} -%patch4 -p1 -%endif -%patch5 -p1 echo 'EXTRA_CFLAGS += -Wno-pointer-arith -Wno-sign-compare -Wno-unused' >> kernel/Makefile.kbuild %build