Advertisement
Guest User

0001-ultimate-huang-fix.patch

a guest
Jun 15th, 2019
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 5.14 KB | None | 0 0
  1. From 8102e8c0f4483c3e4e8bd8dbb41ec5ad757af382 Mon Sep 17 00:00:00 2001
  2. From: ox55ff <anonchik@example.com>
  3. Date: Sat, 15 Jun 2019 16:59:25 +0300
  4. Subject: [PATCH] ultimate-huang-fix
  5.  
  6. ---
  7.  common/inc/nv-list-helpers.h             | 6 ------
  8.  nvidia-drm/nvidia-drm-connector.c        | 8 ++++++++
  9.  nvidia-drm/nvidia-drm-drv.c              | 9 +++++++++
  10.  nvidia-drm/nvidia-drm-encoder.c          | 6 ++++++
  11.  nvidia-drm/nvidia-drm-gem-nvkms-memory.c | 4 ++--
  12.  nvidia-uvm/uvm8.c                        | 6 +++---
  13.  6 files changed, 28 insertions(+), 11 deletions(-)
  14.  
  15. diff --git a/common/inc/nv-list-helpers.h b/common/inc/nv-list-helpers.h
  16. index 0aed851..05c92db 100644
  17. --- a/common/inc/nv-list-helpers.h
  18. +++ b/common/inc/nv-list-helpers.h
  19. @@ -91,10 +91,4 @@
  20.          list_entry((pos)->member.next, typeof(*(pos)), member)
  21.  #endif
  22.  
  23. -static inline int list_is_first(const struct list_head *list,
  24. -                                const struct list_head *head)
  25. -{
  26. -    return list->prev == head;
  27. -}
  28. -
  29.  #endif // __NV_LIST_HELPERS_H__
  30. diff --git a/nvidia-drm/nvidia-drm-connector.c b/nvidia-drm/nvidia-drm-connector.c
  31. index 24631c0..366b53a 100644
  32. --- a/nvidia-drm/nvidia-drm-connector.c
  33. +++ b/nvidia-drm/nvidia-drm-connector.c
  34. @@ -34,6 +34,14 @@
  35.  
  36.  #include <drm/drm_atomic.h>
  37.  #include <drm/drm_atomic_helper.h>
  38. +#include <linux/version.h>
  39. +
  40. +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0)
  41. +/* Add header constants missing after 5.1-rc1 */
  42. +int drm_helper_probe_single_connector_modes(struct drm_connector
  43. +*connector, uint32_t maxX,
  44. +uint32_t maxY);
  45. +#endif
  46.  
  47.  static void nv_drm_connector_destroy(struct drm_connector *connector)
  48.  {
  49. diff --git a/nvidia-drm/nvidia-drm-drv.c b/nvidia-drm/nvidia-drm-drv.c
  50. index 1c2db68..254fc48 100644
  51. --- a/nvidia-drm/nvidia-drm-drv.c
  52. +++ b/nvidia-drm/nvidia-drm-drv.c
  53. @@ -22,6 +22,7 @@
  54.  
  55.  #include "nvidia-drm-conftest.h" /* NV_DRM_AVAILABLE and NV_DRM_DRM_GEM_H_PRESENT */
  56.  
  57. +#include <linux/version.h>
  58.  #include "nvidia-drm-priv.h"
  59.  #include "nvidia-drm-drv.h"
  60.  #include "nvidia-drm-fb.h"
  61. @@ -57,6 +58,14 @@
  62.  
  63.  static struct nv_drm_device *dev_list = NULL;
  64.  
  65. +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0)
  66. +/* Add header constants missing after 5.1-rc1 */
  67. +void drm_kms_helper_poll_init(struct drm_device *dev);
  68. +void drm_kms_helper_poll_fini(struct drm_device *dev);
  69. +bool drm_helper_hpd_irq_event(struct drm_device *dev);
  70. +void drm_kms_helper_poll_disable(struct drm_device *dev);
  71. +#endif
  72. +
  73.  #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE)
  74.  
  75.  static void nv_drm_output_poll_changed(struct drm_device *dev)
  76. diff --git a/nvidia-drm/nvidia-drm-encoder.c b/nvidia-drm/nvidia-drm-encoder.c
  77. index f66bbd7..12acf05 100644
  78. --- a/nvidia-drm/nvidia-drm-encoder.c
  79. +++ b/nvidia-drm/nvidia-drm-encoder.c
  80. @@ -35,6 +35,12 @@
  81.  
  82.  #include <drm/drm_atomic.h>
  83.  #include <drm/drm_atomic_helper.h>
  84. +#include <linux/version.h>
  85. +
  86. +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 1, 0)
  87. +/* Add header constants missing after 5.1-rc1 */
  88. +void drm_kms_helper_hotplug_event(struct drm_device *dev);
  89. +#endif
  90.  
  91.  static void nv_drm_encoder_destroy(struct drm_encoder *encoder)
  92.  {
  93. diff --git a/nvidia-drm/nvidia-drm-gem-nvkms-memory.c b/nvidia-drm/nvidia-drm-gem-nvkms-memory.c
  94. index 8636eff..01c6ce4 100644
  95. --- a/nvidia-drm/nvidia-drm-gem-nvkms-memory.c
  96. +++ b/nvidia-drm/nvidia-drm-gem-nvkms-memory.c
  97. @@ -222,7 +222,7 @@ done:
  98.  
  99.  /* XXX Move these vma operations to os layer */
  100.  
  101. -static int __nv_drm_vma_fault(struct vm_area_struct *vma,
  102. +static vm_fault_t __nv_drm_vma_fault(struct vm_area_struct *vma,
  103.                                struct vm_fault *vmf)
  104.  {
  105.      unsigned long address = nv_page_fault_va(vmf);
  106. @@ -268,7 +268,7 @@ static int __nv_drm_vma_fault(struct vm_area_struct *vma,
  107.   */
  108.  
  109.  #if defined(NV_VM_OPS_FAULT_REMOVED_VMA_ARG)
  110. -static int nv_drm_vma_fault(struct vm_fault *vmf)
  111. +static vm_fault_t nv_drm_vma_fault(struct vm_fault *vmf)
  112.  {
  113.      return __nv_drm_vma_fault(vmf->vma, vmf);
  114.  }
  115. diff --git a/nvidia-uvm/uvm8.c b/nvidia-uvm/uvm8.c
  116. index e00923d..4236c5d 100644
  117. --- a/nvidia-uvm/uvm8.c
  118. +++ b/nvidia-uvm/uvm8.c
  119. @@ -166,13 +166,13 @@ static void uvm_destroy_vma_semaphore_pool(struct vm_area_struct *vma)
  120.  // If a fault handler is not set, paths like handle_pte_fault in older kernels
  121.  // assume the memory is anonymous. That would make debugging this failure harder
  122.  // so we force it to fail instead.
  123. -static int uvm_vm_fault_sigbus(struct vm_area_struct *vma, struct vm_fault *vmf)
  124. +static vm_fault_t uvm_vm_fault_sigbus(struct vm_area_struct *vma, struct vm_fault *vmf)
  125.  {
  126.      UVM_DBG_PRINT_RL("Fault to address 0x%lx in disabled vma\n", nv_page_fault_va(vmf));
  127.      return VM_FAULT_SIGBUS;
  128.  }
  129.  
  130. -static int uvm_vm_fault_sigbus_wrapper(struct vm_fault *vmf)
  131. +static vm_fault_t uvm_vm_fault_sigbus_wrapper(struct vm_fault *vmf)
  132.  {
  133.  #if defined(NV_VM_OPS_FAULT_REMOVED_VMA_ARG)
  134.      return uvm_vm_fault_sigbus(vmf->vma, vmf);
  135. @@ -507,7 +507,7 @@ convert_error:
  136.      }
  137.  }
  138.  
  139. -static int uvm_vm_fault_wrapper(struct vm_fault *vmf)
  140. +static vm_fault_t uvm_vm_fault_wrapper(struct vm_fault *vmf)
  141.  {
  142.  #if defined(NV_VM_OPS_FAULT_REMOVED_VMA_ARG)
  143.      return uvm_vm_fault(vmf->vma, vmf);
  144. --
  145. 2.22.0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement