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 + #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 + #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 + #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 + #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 #include +#include + #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 + 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 + #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE) #include 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 + #include #include #include 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 + #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 #include +#include + #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 + #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 + #include #include #include 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 #include +#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);