From ae2a4d1ece5414bfe9e145d4fc34dc7c7da064e3 Mon Sep 17 00:00:00 2001 From: MilhouseVH Date: Mon, 3 Feb 2020 22:25:17 +0000 Subject: [PATCH] xf86-video-nvidia: update to xf86-video-nvidia-440.59 --- .../x11/driver/xf86-video-nvidia/package.mk | 4 +- ...video-nvidia-0000-fix-for-kernel-5.5.patch | 412 ------------------ .../xf86-video-nvidia/udev.d/96-nvidia.rules | 4 + 3 files changed, 6 insertions(+), 414 deletions(-) delete mode 100644 packages/x11/driver/xf86-video-nvidia/patches/xf86-video-nvidia-0000-fix-for-kernel-5.5.patch diff --git a/packages/x11/driver/xf86-video-nvidia/package.mk b/packages/x11/driver/xf86-video-nvidia/package.mk index 741e175af8..ae6b5e61f0 100644 --- a/packages/x11/driver/xf86-video-nvidia/package.mk +++ b/packages/x11/driver/xf86-video-nvidia/package.mk @@ -6,8 +6,8 @@ PKG_NAME="xf86-video-nvidia" # Remember to run "python packages/x11/driver/xf86-video-nvidia/scripts/make_nvidia_udev.py" and commit changes to # "packages/x11/driver/xf86-video-nvidia/udev.d/96-nvidia.rules" whenever bumping version. # Host may require installation of python-lxml and python-requests packages. -PKG_VERSION="440.44" -PKG_SHA256="794fdfc8e65c203ae482f59df7e55050ddcf0a11af2a95eaa1a10c7d48ec7e0f" +PKG_VERSION="440.59" +PKG_SHA256="87c05aeadd260034b4d429de5be8032ead2103adee7aedc1adbb15c0ce3c6f28" PKG_ARCH="x86_64" PKG_LICENSE="nonfree" PKG_SITE="http://www.nvidia.com/" diff --git a/packages/x11/driver/xf86-video-nvidia/patches/xf86-video-nvidia-0000-fix-for-kernel-5.5.patch b/packages/x11/driver/xf86-video-nvidia/patches/xf86-video-nvidia-0000-fix-for-kernel-5.5.patch deleted file mode 100644 index 2cd11cefce..0000000000 --- a/packages/x11/driver/xf86-video-nvidia/patches/xf86-video-nvidia-0000-fix-for-kernel-5.5.patch +++ /dev/null @@ -1,412 +0,0 @@ -From 237dbf195aa9e0341579821fcbcca1947040582c Mon Sep 17 00:00:00 2001 -From: MilhouseVH -Date: Tue, 24 Dec 2019 02:38:46 +0000 -Subject: [PATCH] Fix for kernel 5.5-rc - -Credit: https://devtalk.nvidia.com/default/topic/1068332/linux/nvidia-driver-does-not-build-on-linux-v5-5-release-candidate-kernel/post/5411562/#5411562 ---- - kernel/common/inc/nv-drm.h | 36 +++++++++++++++++++++ - kernel/conftest.sh | 31 ++++++++++++++++++ - kernel/nvidia-drm/nvidia-drm-connector.c | 14 ++++++++ - kernel/nvidia-drm/nvidia-drm-connector.h | 2 +- - kernel/nvidia-drm/nvidia-drm-crtc.h | 2 +- - kernel/nvidia-drm/nvidia-drm-drv.c | 2 +- - kernel/nvidia-drm/nvidia-drm-encoder.h | 2 +- - kernel/nvidia-drm/nvidia-drm-fb.h | 2 +- - kernel/nvidia-drm/nvidia-drm-gem.h | 2 +- - kernel/nvidia-drm/nvidia-drm-helper.c | 2 +- - kernel/nvidia-drm/nvidia-drm-helper.h | 2 +- - kernel/nvidia-drm/nvidia-drm-modeset.h | 2 +- - kernel/nvidia-drm/nvidia-drm-os-interface.h | 2 +- - kernel/nvidia-drm/nvidia-drm-prime-fence.h | 2 +- - kernel/nvidia-drm/nvidia-drm-priv.h | 2 +- - kernel/nvidia-drm/nvidia-drm-utils.h | 2 +- - 16 files changed, 94 insertions(+), 13 deletions(-) - create mode 100644 kernel/common/inc/nv-drm.h - -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* --- -2.20.1 - diff --git a/packages/x11/driver/xf86-video-nvidia/udev.d/96-nvidia.rules b/packages/x11/driver/xf86-video-nvidia/udev.d/96-nvidia.rules index e93186f8bf..36e4e0b5ba 100644 --- a/packages/x11/driver/xf86-video-nvidia/udev.d/96-nvidia.rules +++ b/packages/x11/driver/xf86-video-nvidia/udev.d/96-nvidia.rules @@ -209,6 +209,8 @@ ATTRS{device}=="0x1cba", GOTO="configure_nvidia" ATTRS{device}=="0x1cbb", GOTO="configure_nvidia" ATTRS{device}=="0x1cbc", GOTO="configure_nvidia" ATTRS{device}=="0x1cbd", GOTO="configure_nvidia" +ATTRS{device}=="0x1cfa", GOTO="configure_nvidia" +ATTRS{device}=="0x1cfb", GOTO="configure_nvidia" ATTRS{device}=="0x1d01", GOTO="configure_nvidia" ATTRS{device}=="0x1d10", GOTO="configure_nvidia" ATTRS{device}=="0x1d11", GOTO="configure_nvidia" @@ -226,6 +228,8 @@ ATTRS{device}=="0x1db6", GOTO="configure_nvidia" ATTRS{device}=="0x1db7", GOTO="configure_nvidia" ATTRS{device}=="0x1db8", GOTO="configure_nvidia" ATTRS{device}=="0x1dba", GOTO="configure_nvidia" +ATTRS{device}=="0x1df0", GOTO="configure_nvidia" +ATTRS{device}=="0x1df2", GOTO="configure_nvidia" ATTRS{device}=="0x1df5", GOTO="configure_nvidia" ATTRS{device}=="0x1df6", GOTO="configure_nvidia" ATTRS{device}=="0x1e02", GOTO="configure_nvidia"