diff options
Diffstat (limited to 'kernel-5.1.patch')
-rw-r--r-- | kernel-5.1.patch | 258 |
1 files changed, 258 insertions, 0 deletions
diff --git a/kernel-5.1.patch b/kernel-5.1.patch new file mode 100644 index 000000000000..0a51ea695827 --- /dev/null +++ b/kernel-5.1.patch @@ -0,0 +1,258 @@ +diff --git a/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.c b/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.c +index 1db7777..863bb77 100644 +--- a/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.c ++++ b/kernel/nvidia-drm/nvidia-drm-gem-nvkms-memory.c +@@ -20,6 +20,8 @@ + * DEALINGS IN THE SOFTWARE. + */ + ++#include <linux/version.h> ++ + #include "nvidia-drm-conftest.h" + + #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE) + +diff --git a/kernel/nvidia-drm/nvidia-drm-encoder.c b/kernel/nvidia-drm/nvidia-drm-encoder.c +index f66bbd7c9..4de87a271 100644 +--- a/kernel/nvidia-drm/nvidia-drm-encoder.c ++++ b/kernel/nvidia-drm/nvidia-drm-encoder.c +@@ -20,6 +20,8 @@ + * DEALINGS IN THE SOFTWARE. + */ + ++#include <linux/version.h> ++ + #include "nvidia-drm-conftest.h" /* NV_DRM_ATOMIC_MODESET_AVAILABLE */ + + #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE) + +diff --git a/kernel/nvidia-drm/nvidia-drm-drv.c b/kernel/nvidia-drm/nvidia-drm-drv.c +index 58fd2724a..fc9169a96 100644 +--- a/kernel/nvidia-drm/nvidia-drm-drv.c ++++ b/kernel/nvidia-drm/nvidia-drm-drv.c +@@ -20,6 +20,8 @@ + * DEALINGS IN THE SOFTWARE. + */ + ++#include <linux/version.h> ++ + #include "nvidia-drm-conftest.h" /* NV_DRM_AVAILABLE and NV_DRM_DRM_GEM_H_PRESENT */ + + #include "nvidia-drm-priv.h" + +diff --git a/kernel/nvidia-drm/nvidia-drm-connector.c b/kernel/nvidia-drm/nvidia-drm-connector.c +index 4dd12d112..44c9d8ed3 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 <linux/version.h> ++ + #include "nvidia-drm-conftest.h" /* NV_DRM_ATOMIC_MODESET_AVAILABLE */ + + #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE) + +diff --git a/kernel/common/inc/nv.h b/kernel/common/inc/nv.h +index d52c2a1ef..f6dc2dc32 100644 +--- a/kernel/common/inc/nv.h ++++ b/kernel/common/inc/nv.h +@@ -18,6 +18,8 @@ + #include <stdarg.h> + #include <nv-kernel-interface-api.h> + ++#include <linux/version.h> ++ + #if !defined(NV_MIN) + #define NV_MIN(_a,_b) ((_a) < (_b) ? (_a) : (_b)) + #endif + +diff --git a/kernel/nvidia-drm/nvidia-drm-gem.h b/kernel/nvidia-drm/nvidia-drm-gem.h +index f276588db..7cbdbe632 100644 +--- a/kernel/nvidia-drm/nvidia-drm-gem.h ++++ b/kernel/nvidia-drm/nvidia-drm-gem.h +@@ -38,6 +38,8 @@ + + #endif + ++#include <linux/version.h> ++ + struct nv_drm_gem_object; + + struct nv_drm_gem_object_funcs { + +diff --git a/kernel/nvidia-drm/nvidia-drm-helper.c b/kernel/nvidia-drm/nvidia-drm-helper.c +index 4ccf81929..7fb59bbb3 100644 +--- a/kernel/nvidia-drm/nvidia-drm-helper.c ++++ b/kernel/nvidia-drm/nvidia-drm-helper.c +@@ -29,6 +29,8 @@ + + #include "nvidia-drm-helper.h" + ++#include <linux/version.h> ++ + #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE) + + #include <drm/drmP.h> + +diff --git a/kernel/nvidia-drm/nvidia-drm-linux.c b/kernel/nvidia-drm/nvidia-drm-linux.c +index 5a2bbc18c..133d8fe64 100644 +--- a/kernel/nvidia-drm/nvidia-drm-linux.c ++++ b/kernel/nvidia-drm/nvidia-drm-linux.c +@@ -20,6 +20,8 @@ + * DEALINGS IN THE SOFTWARE. + */ + ++#include <linux/version.h> ++ + #include <linux/module.h> + #include <linux/slab.h> + #include <linux/err.h> + +diff --git a/kernel/nvidia-uvm/uvm_linux.h b/kernel/nvidia-uvm/uvm_linux.h +index 8707ac070..990cefbd4 100644 +--- a/kernel/nvidia-uvm/uvm_linux.h ++++ b/kernel/nvidia-uvm/uvm_linux.h +@@ -29,6 +29,8 @@ + // + // + ++#include <linux/version.h> ++ + #ifndef _UVM_LINUX_H + #define _UVM_LINUX_H + +diff --git a/kernel/nvidia/nvlink_linux.c b/kernel/nvidia/nvlink_linux.c +index c13b72515..db691679c 100644 +--- a/kernel/nvidia/nvlink_linux.c ++++ b/kernel/nvidia/nvlink_linux.c +@@ -37,6 +37,8 @@ + #include <linux/string.h> + #include <linux/mutex.h> + ++#include <linux/version.h> ++ + #define MAX_ERROR_STRING 512 + + #define NV_MAX_ISR_DELAY_US 20000 + +diff --git a/kernel/nvidia/os-interface.c b/kernel/nvidia/os-interface.c +index d1c889f69..88c57b2da 100644 +--- a/kernel/nvidia/os-interface.c ++++ b/kernel/nvidia/os-interface.c +@@ -14,6 +14,8 @@ + #include "os-interface.h" + #include "nv-linux.h" + ++#include <linux/version.h> ++ + #define MAX_ERROR_STRING 512 + static char nv_error_string[MAX_ERROR_STRING]; + nv_spinlock_t nv_error_string_lock; + +diff --git a/kernel/nvidia-modeset/nvidia-modeset-linux.c b/kernel/nvidia-modeset/nvidia-modeset-linux.c +index 1b9148ee7..4c1bd3617 100644 +--- a/kernel/nvidia-modeset/nvidia-modeset-linux.c ++++ b/kernel/nvidia-modeset/nvidia-modeset-linux.c +@@ -8,6 +8,8 @@ + * _NVRM_COPYRIGHT_END_ + */ + ++#include <linux/version.h> ++ + #include <linux/module.h> + #include <linux/kernel.h> + #include <linux/slab.h> + +diff --git a/kernel/nvidia-drm/nvidia-drm-connector.c b/kernel/nvidia-drm/nvidia-drm-connector.c +index 4dd12d112..44c9d8ed3 100644 +--- a/kernel/nvidia-drm/nvidia-drm-connector.c ++++ b/kernel/nvidia-drm/nvidia-drm-connector.c +@@ -201,6 +203,12 @@ nv_drm_connector_detect(struct drm_connector *connector, bool force) + return __nv_drm_connector_detect_internal(connector); + } + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0) ++int drm_helper_probe_single_connector_modes(struct drm_connector ++ *connector, uint32_t maxX, ++ uint32_t maxY); ++#endif ++ + static struct drm_connector_funcs nv_connector_funcs = { + #if defined NV_DRM_ATOMIC_HELPER_CONNECTOR_DPMS_PRESENT + .dpms = drm_atomic_helper_connector_dpms, +diff --git a/kernel/nvidia-drm/nvidia-drm-drv.c b/kernel/nvidia-drm/nvidia-drm-drv.c +index 58fd2724a..fc9169a96 100644 +--- a/kernel/nvidia-drm/nvidia-drm-drv.c ++++ b/kernel/nvidia-drm/nvidia-drm-drv.c +@@ -35,6 +37,13 @@ + #include "nvidia-drm-gem-nvkms-memory.h" + #include "nvidia-drm-gem-user-memory.h" + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0) ++void drm_kms_helper_poll_init(struct drm_device *dev); ++void drm_kms_helper_poll_fini(struct drm_device *dev); ++bool drm_helper_hpd_irq_event(struct drm_device *dev); ++void drm_kms_helper_poll_disable(struct drm_device *dev); ++#endif ++ + #if defined(NV_DRM_AVAILABLE) + + #include "nvidia-drm-ioctl.h" +diff --git a/kernel/nvidia-drm/nvidia-drm-encoder.c b/kernel/nvidia-drm/nvidia-drm-encoder.c +index f66bbd7c9..4de87a271 100644 +--- a/kernel/nvidia-drm/nvidia-drm-encoder.c ++++ b/kernel/nvidia-drm/nvidia-drm-encoder.c +@@ -36,6 +38,10 @@ + #include <drm/drm_atomic.h> + #include <drm/drm_atomic_helper.h> + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0) ++void drm_kms_helper_hotplug_event(struct drm_device *dev); ++#endif ++ + static void nv_drm_encoder_destroy(struct drm_encoder *encoder) + { + struct nv_drm_encoder *nv_encoder = to_nv_encoder(encoder); +@@ -152,6 +158,12 @@ nv_drm_encoder_new(struct drm_device *dev, + return &nv_encoder->base; + } + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0) ++int drm_helper_probe_single_connector_modes(struct drm_connector ++ *connector, uint32_t maxX, ++ uint32_t maxY); ++#endif ++ + /* + * Add encoder for given NvKmsKapiDisplay + */ +diff --git a/kernel/nvidia-uvm/uvm8.c b/kernel/nvidia-uvm/uvm8.c +index 44467988e..4cba5dc33 100644 +--- a/kernel/nvidia-uvm/uvm8.c ++++ b/kernel/nvidia-uvm/uvm8.c +@@ -172,7 +172,11 @@ static int uvm_vm_fault_sigbus(struct vm_area_struct *vma, struct vm_fault *vmf) + return VM_FAULT_SIGBUS; + } + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0) + static int uvm_vm_fault_sigbus_wrapper(struct vm_fault *vmf) ++#else ++static vm_fault_t uvm_vm_fault_sigbus_wrapper(struct vm_fault *vmf) ++#endif + { + #if defined(NV_VM_OPS_FAULT_REMOVED_VMA_ARG) + return uvm_vm_fault_sigbus(vmf->vma, vmf); +@@ -507,7 +511,11 @@ convert_error: + } + } + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 1, 0) + static int uvm_vm_fault_wrapper(struct vm_fault *vmf) ++#else ++static vm_fault_t uvm_vm_fault_wrapper(struct vm_fault *vmf) ++#endif + { + #if defined(NV_VM_OPS_FAULT_REMOVED_VMA_ARG) + return uvm_vm_fault(vmf->vma, vmf); |