mirror of
https://github.com/archr-linux/Arch-R.git
synced 2026-03-31 14:41:55 -07:00
Merge pull request #1441 from MilhouseVH/linux4110
linux: update to linux-4.11.0
This commit is contained in:
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="RTL8188EU"
|
||||
PKG_VERSION="ced2b64"
|
||||
PKG_VERSION="18a5f33"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
# realtek: PKG_SITE="http://www.realtek.com.tw/downloads/downloadsView.aspx?Langid=1&PFid=48&Level=5&Conn=4&ProdID=274&DownTypeID=3&GetDown=false&Downloads=true"
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="RTL8192CU"
|
||||
PKG_VERSION="372d4b0"
|
||||
PKG_VERSION="76b54cd"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/pvaret/rtl8192cu-fixes"
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
diff -Naur a/os_dep/linux/ioctl_cfg80211.c b/os_dep/linux/ioctl_cfg80211.c
|
||||
--- a/os_dep/linux/ioctl_cfg80211.c 2016-09-11 01:43:17.669610692 +0100
|
||||
+++ b/os_dep/linux/ioctl_cfg80211.c 2016-09-11 01:45:09.268139751 +0100
|
||||
@@ -1789,7 +1789,14 @@
|
||||
}
|
||||
else
|
||||
{
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,8,0)
|
||||
+ struct cfg80211_scan_info info = {
|
||||
+ .aborted = aborted
|
||||
+ };
|
||||
+ cfg80211_scan_done(pwdev_priv->scan_request, &info);
|
||||
+#else
|
||||
cfg80211_scan_done(pwdev_priv->scan_request, aborted);
|
||||
+#endif
|
||||
}
|
||||
|
||||
pwdev_priv->scan_request = NULL;
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="RTL8192EU"
|
||||
PKG_VERSION="a7fd035"
|
||||
PKG_VERSION="dcd71fa"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/Mange/rtl8192eu-linux-driver"
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
From 14eb40c9bcbb68044361334d5f95a4f63ebc8775 Mon Sep 17 00:00:00 2001
|
||||
From: MilhouseVH <milhouseVH.github@nmacleod.com>
|
||||
Date: Mon, 13 Mar 2017 19:47:38 +0000
|
||||
Subject: [PATCH] RTL8812AU: Fix build for API changes in kernel 4.11
|
||||
|
||||
---
|
||||
include/osdep_service.h | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/include/osdep_service.h b/include/osdep_service.h
|
||||
index 82e27c5..d866551 100644
|
||||
--- a/include/osdep_service.h
|
||||
+++ b/include/osdep_service.h
|
||||
@@ -20,6 +20,10 @@
|
||||
#ifndef __OSDEP_SERVICE_H_
|
||||
#define __OSDEP_SERVICE_H_
|
||||
|
||||
+#include <linux/version.h>
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
|
||||
+#include <linux/sched/signal.h>
|
||||
+#endif
|
||||
|
||||
#define _FAIL 0
|
||||
#define _SUCCESS 1
|
||||
--
|
||||
2.7.4
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
From 7e8dddb7a545bc5ba74336ef2aafed1c0b4ceee1 Mon Sep 17 00:00:00 2001
|
||||
From: MilhouseVH <milhouseVH.github@nmacleod.com>
|
||||
Date: Mon, 13 Mar 2017 20:48:44 +0000
|
||||
Subject: [PATCH 1/2] bcm_sta: Fix build for API changes in kernel 4.11
|
||||
|
||||
---
|
||||
x86-64/src/wl/sys/wl_cfg80211_hybrid.c | 4 ++++
|
||||
x86-64/src/wl/sys/wl_linux.c | 4 ++++
|
||||
2 files changed, 8 insertions(+)
|
||||
|
||||
diff --git a/x86-64/src/wl/sys/wl_cfg80211_hybrid.c b/x86-64/src/wl/sys/wl_cfg80211_hybrid.c
|
||||
index 7b606e0..76ef208 100644
|
||||
--- a/x86-64/src/wl/sys/wl_cfg80211_hybrid.c
|
||||
+++ b/x86-64/src/wl/sys/wl_cfg80211_hybrid.c
|
||||
@@ -26,6 +26,10 @@
|
||||
#include <linuxver.h>
|
||||
#include <osl.h>
|
||||
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
|
||||
+#include <linux/sched/signal.h>
|
||||
+#endif
|
||||
+
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/kthread.h>
|
||||
#include <linux/netdevice.h>
|
||||
diff --git a/x86-64/src/wl/sys/wl_linux.c b/x86-64/src/wl/sys/wl_linux.c
|
||||
index 0d05100..dca7c71 100644
|
||||
--- a/x86-64/src/wl/sys/wl_linux.c
|
||||
+++ b/x86-64/src/wl/sys/wl_linux.c
|
||||
@@ -26,6 +26,10 @@
|
||||
#include <typedefs.h>
|
||||
#include <linuxver.h>
|
||||
#include <osl.h>
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
|
||||
+#include <linux/sched/signal.h>
|
||||
+#endif
|
||||
+
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 14)
|
||||
#include <linux/module.h>
|
||||
#endif
|
||||
--
|
||||
2.7.4
|
||||
|
||||
|
||||
From 1d066a57a682af0ac42b8d1c65bf7bd1984a54ca Mon Sep 17 00:00:00 2001
|
||||
From: MilhouseVH <milhouseVH.github@nmacleod.com>
|
||||
Date: Mon, 13 Mar 2017 20:49:01 +0000
|
||||
Subject: [PATCH 2/2] bcm_sta: Remove usage of net_device last_rx member
|
||||
|
||||
---
|
||||
x86-64/src/wl/sys/wl_linux.c | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/x86-64/src/wl/sys/wl_linux.c b/x86-64/src/wl/sys/wl_linux.c
|
||||
index dca7c71..f3be019 100644
|
||||
--- a/x86-64/src/wl/sys/wl_linux.c
|
||||
+++ b/x86-64/src/wl/sys/wl_linux.c
|
||||
@@ -2919,7 +2919,6 @@ wl_monitor(wl_info_t *wl, wl_rxsts_t *rxsts, void *p)
|
||||
if (skb == NULL) return;
|
||||
|
||||
skb->dev = wl->monitor_dev;
|
||||
- skb->dev->last_rx = jiffies;
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 22)
|
||||
skb_reset_mac_header(skb);
|
||||
#else
|
||||
--
|
||||
2.7.4
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="iwlwifi-firmware"
|
||||
PKG_VERSION="ba301aa"
|
||||
PKG_VERSION="6a717a9"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="Free-to-use"
|
||||
PKG_SITE="https://github.com/LibreELEC/iwlwifi-firmware"
|
||||
|
||||
@@ -59,7 +59,7 @@ case "$LINUX" in
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET imx6-status-led imx6-soc-fan irqbalanced"
|
||||
;;
|
||||
*)
|
||||
PKG_VERSION="4.10.14"
|
||||
PKG_VERSION="4.11"
|
||||
PKG_URL="http://www.kernel.org/pub/linux/kernel/v4.x/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_PATCH_DIRS="default"
|
||||
;;
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c
|
||||
index d845336..a89d7bd 100644
|
||||
--- a/drivers/media/rc/rc-main.c
|
||||
+++ b/drivers/media/rc/rc-main.c
|
||||
@@ -1699,6 +1699,16 @@ static int rc_setup_rx_device(struct rc_dev *dev)
|
||||
if (dev->close)
|
||||
dev->input_dev->close = ir_close;
|
||||
|
||||
+ dev->input_dev->dev.parent = &dev->dev;
|
||||
+ memcpy(&dev->input_dev->id, &dev->input_id, sizeof(dev->input_id));
|
||||
+ dev->input_dev->phys = dev->input_phys;
|
||||
+ dev->input_dev->name = dev->input_name;
|
||||
+
|
||||
+ /* rc_open will be called here */
|
||||
+ rc = input_register_device(dev->input_dev);
|
||||
+ if (rc)
|
||||
+ goto out_table;
|
||||
+
|
||||
/*
|
||||
* Default delay of 250ms is too short for some protocols, especially
|
||||
* since the timeout is currently set to 250ms. Increase it to 500ms,
|
||||
@@ -1714,16 +1724,6 @@ static int rc_setup_rx_device(struct rc_dev *dev)
|
||||
*/
|
||||
dev->input_dev->rep[REP_PERIOD] = 125;
|
||||
|
||||
- dev->input_dev->dev.parent = &dev->dev;
|
||||
- memcpy(&dev->input_dev->id, &dev->input_id, sizeof(dev->input_id));
|
||||
- dev->input_dev->phys = dev->input_phys;
|
||||
- dev->input_dev->name = dev->input_name;
|
||||
-
|
||||
- /* rc_open will be called here */
|
||||
- rc = input_register_device(dev->input_dev);
|
||||
- if (rc)
|
||||
- goto out_table;
|
||||
-
|
||||
return 0;
|
||||
|
||||
out_table:
|
||||
@@ -1,20 +1,20 @@
|
||||
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
|
||||
index f68c789..a6b6dfe 100644
|
||||
index 0a4b42d..b3aa01e 100644
|
||||
--- a/drivers/gpu/drm/i915/i915_drv.h
|
||||
+++ b/drivers/gpu/drm/i915/i915_drv.h
|
||||
@@ -3948,6 +3948,7 @@ __raw_write(64, q)
|
||||
@@ -3896,6 +3896,7 @@ __raw_write(64, q)
|
||||
#define INTEL_BROADCAST_RGB_AUTO 0
|
||||
#define INTEL_BROADCAST_RGB_FULL 1
|
||||
#define INTEL_BROADCAST_RGB_LIMITED 2
|
||||
+#define INTEL_BROADCAST_RGB_VIDEO 3
|
||||
|
||||
static inline i915_reg_t i915_vgacntrl_reg(struct drm_device *dev)
|
||||
static inline i915_reg_t i915_vgacntrl_reg(struct drm_i915_private *dev_priv)
|
||||
{
|
||||
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
|
||||
index ff399b9..f2ac0ff 100644
|
||||
index 344f238..1143551 100644
|
||||
--- a/drivers/gpu/drm/i915/intel_drv.h
|
||||
+++ b/drivers/gpu/drm/i915/intel_drv.h
|
||||
@@ -522,6 +522,13 @@ struct intel_crtc_state {
|
||||
@@ -563,6 +563,13 @@ struct intel_crtc_state {
|
||||
*/
|
||||
bool limited_color_range;
|
||||
|
||||
@@ -28,7 +28,7 @@ index ff399b9..f2ac0ff 100644
|
||||
/* Bitmask of encoder types (enum intel_output_type)
|
||||
* driven by the pipe.
|
||||
*/
|
||||
@@ -805,6 +812,7 @@ struct intel_hdmi {
|
||||
@@ -840,6 +847,7 @@ struct intel_hdmi {
|
||||
} dp_dual_mode;
|
||||
bool limited_color_range;
|
||||
bool color_range_auto;
|
||||
@@ -37,20 +37,19 @@ index ff399b9..f2ac0ff 100644
|
||||
bool has_audio;
|
||||
enum hdmi_force_audio force_audio;
|
||||
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
|
||||
index 4df9f38..8b64508 100644
|
||||
index ebae2bd..ed925e5 100644
|
||||
--- a/drivers/gpu/drm/i915/intel_hdmi.c
|
||||
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
|
||||
@@ -462,7 +462,8 @@ static void intel_hdmi_set_avi_infoframe(struct drm_encoder *encoder,
|
||||
@@ -469,7 +469,7 @@ static void intel_hdmi_set_avi_infoframe(struct drm_encoder *encoder,
|
||||
}
|
||||
|
||||
if (intel_hdmi->rgb_quant_range_selectable) {
|
||||
- if (intel_crtc->config->limited_color_range)
|
||||
+ if (intel_crtc->config->limited_color_range ||
|
||||
+ intel_crtc->config->video_color_range)
|
||||
frame.avi.quantization_range =
|
||||
HDMI_QUANTIZATION_RANGE_LIMITED;
|
||||
else
|
||||
@@ -1308,6 +1309,8 @@ bool intel_hdmi_compute_config(struct intel_encoder *encoder,
|
||||
drm_hdmi_avi_infoframe_quant_range(&frame.avi, adjusted_mode,
|
||||
- crtc_state->limited_color_range ?
|
||||
+ (crtc_state->limited_color_range || crtc_state->video_color_range) ?
|
||||
HDMI_QUANTIZATION_RANGE_LIMITED :
|
||||
HDMI_QUANTIZATION_RANGE_FULL,
|
||||
intel_hdmi->rgb_quant_range_selectable);
|
||||
@@ -1336,6 +1336,8 @@ bool intel_hdmi_compute_config(struct intel_encoder *encoder,
|
||||
pipe_config->limited_color_range =
|
||||
intel_hdmi->limited_color_range;
|
||||
}
|
||||
@@ -59,7 +58,7 @@ index 4df9f38..8b64508 100644
|
||||
|
||||
if (adjusted_mode->flags & DRM_MODE_FLAG_DBLCLK) {
|
||||
pipe_config->pixel_multiplier = 2;
|
||||
@@ -1588,25 +1591,35 @@ intel_hdmi_set_property(struct drm_connector *connector,
|
||||
@@ -1593,25 +1595,35 @@ intel_hdmi_set_property(struct drm_connector *connector,
|
||||
if (property == dev_priv->broadcast_rgb_property) {
|
||||
bool old_auto = intel_hdmi->color_range_auto;
|
||||
bool old_range = intel_hdmi->limited_color_range;
|
||||
@@ -97,10 +96,10 @@ index 4df9f38..8b64508 100644
|
||||
|
||||
goto done;
|
||||
diff --git a/drivers/gpu/drm/i915/intel_modes.c b/drivers/gpu/drm/i915/intel_modes.c
|
||||
index f2584d0..5a6f853 100644
|
||||
index 951e834..d817558 100644
|
||||
--- a/drivers/gpu/drm/i915/intel_modes.c
|
||||
+++ b/drivers/gpu/drm/i915/intel_modes.c
|
||||
@@ -103,6 +103,7 @@ static const struct drm_prop_enum_list broadcast_rgb_names[] = {
|
||||
@@ -102,6 +102,7 @@ static const struct drm_prop_enum_list broadcast_rgb_names[] = {
|
||||
{ INTEL_BROADCAST_RGB_AUTO, "Automatic" },
|
||||
{ INTEL_BROADCAST_RGB_FULL, "Full" },
|
||||
{ INTEL_BROADCAST_RGB_LIMITED, "Limited 16:235" },
|
||||
|
||||
@@ -1,33 +1,114 @@
|
||||
diff --git a/kernel/nv-linux.h b/kernel/nv-linux.h
|
||||
index e7068e3..3ac3c0b 100644
|
||||
diff -Naur a/kernel/nv-linux.h b/kernel/nv-linux.h
|
||||
--- a/kernel/nv-linux.h
|
||||
+++ b/kernel/nv-linux.h
|
||||
@@ -270,7 +270,7 @@ RM_STATUS nvos_forward_error_to_cray(struct pci_dev *, NvU32,
|
||||
|
||||
extern int nv_pat_mode;
|
||||
|
||||
-#if !defined(NV_VMWARE) && defined(CONFIG_HOTPLUG_CPU)
|
||||
+#if 0
|
||||
#define NV_ENABLE_HOTPLUG_CPU
|
||||
#include <linux/cpu.h> /* CPU hotplug support */
|
||||
#include <linux/notifier.h> /* struct notifier_block, etc */
|
||||
diff --git a/kernel/nv-pat.c b/kernel/nv-pat.c
|
||||
index a725533..91070e0 100644
|
||||
@@ -2082,6 +2082,8 @@ static inline NvU64 nv_node_end_pfn(int nid)
|
||||
* 2016 Dec 14:5b56d49fc31dbb0487e14ead790fc81ca9fb2c99
|
||||
*/
|
||||
|
||||
+#include <linux/version.h>
|
||||
+
|
||||
#if defined(NV_GET_USER_PAGES_REMOTE_PRESENT)
|
||||
#if defined(NV_GET_USER_PAGES_HAS_WRITE_AND_FORCE_ARGS)
|
||||
#define NV_GET_USER_PAGES get_user_pages
|
||||
@@ -2129,8 +2131,13 @@ static inline NvU64 nv_node_end_pfn(int nid)
|
||||
|
||||
#else
|
||||
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0)
|
||||
return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
|
||||
pages, vmas);
|
||||
+#else
|
||||
+ return get_user_pages_remote(tsk, mm, start, nr_pages, flags,
|
||||
+ pages, vmas, NULL);
|
||||
+#endif
|
||||
|
||||
#endif
|
||||
|
||||
diff -Naur a/kernel/nv-pat.c b/kernel/nv-pat.c
|
||||
--- a/kernel/nv-pat.c
|
||||
+++ b/kernel/nv-pat.c
|
||||
@@ -210,14 +210,13 @@ nvidia_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu
|
||||
|
||||
switch (action)
|
||||
@@ -203,6 +203,7 @@ void nv_disable_pat_support(void)
|
||||
}
|
||||
|
||||
#if defined(NV_ENABLE_PAT_SUPPORT) && defined(NV_ENABLE_HOTPLUG_CPU)
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0)
|
||||
static int
|
||||
nvidia_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu)
|
||||
{
|
||||
@@ -234,6 +235,34 @@ static struct notifier_block nv_hotcpu_nfb = {
|
||||
.notifier_call = nvidia_cpu_callback,
|
||||
.priority = 0
|
||||
};
|
||||
+#else
|
||||
+static int nvidia_cpu_online(unsigned int hcpu)
|
||||
+{
|
||||
+ unsigned int cpu = get_cpu();
|
||||
+ if (cpu == hcpu)
|
||||
+ nv_setup_pat_entries(NULL);
|
||||
+ else
|
||||
+ NV_SMP_CALL_FUNCTION(nv_setup_pat_entries, (void *)(long int)hcpu, 1);
|
||||
+
|
||||
+ put_cpu();
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+static int nvidia_cpu_down_prep(unsigned int hcpu)
|
||||
+{
|
||||
+ unsigned int cpu = get_cpu();
|
||||
+ if (cpu == hcpu)
|
||||
+ nv_restore_pat_entries(NULL);
|
||||
+ else
|
||||
+ NV_SMP_CALL_FUNCTION(nv_restore_pat_entries, (void *)(long int)hcpu, 1);
|
||||
+
|
||||
+ put_cpu();
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
#endif
|
||||
|
||||
int nv_init_pat_support(nv_stack_t *sp)
|
||||
@@ -255,7 +284,14 @@ int nv_init_pat_support(nv_stack_t *sp)
|
||||
#if defined(NV_ENABLE_PAT_SUPPORT) && defined(NV_ENABLE_HOTPLUG_CPU)
|
||||
if (nv_pat_mode == NV_PAT_MODE_BUILTIN)
|
||||
{
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0)
|
||||
if (register_hotcpu_notifier(&nv_hotcpu_nfb) != 0)
|
||||
+#else
|
||||
+ if (cpuhp_setup_state(CPUHP_AP_ONLINE_DYN,
|
||||
+ "gpu/nvidia:online",
|
||||
+ nvidia_cpu_online,
|
||||
+ nvidia_cpu_down_prep) != 0)
|
||||
+#endif
|
||||
{
|
||||
nv_disable_pat_support();
|
||||
nv_printf(NV_DBG_ERRORS,
|
||||
@@ -280,7 +316,11 @@ void nv_teardown_pat_support(void)
|
||||
{
|
||||
- case CPU_DOWN_FAILED:
|
||||
case CPU_ONLINE:
|
||||
if (cpu == (NvUPtr)hcpu)
|
||||
nv_setup_pat_entries(NULL);
|
||||
else
|
||||
NV_SMP_CALL_FUNCTION(nv_setup_pat_entries, hcpu, 1);
|
||||
break;
|
||||
- case CPU_DOWN_PREPARE:
|
||||
+ case CPU_DOWN_PREPARE_FROZEN:
|
||||
if (cpu == (NvUPtr)hcpu)
|
||||
nv_restore_pat_entries(NULL);
|
||||
else
|
||||
nv_disable_pat_support();
|
||||
#if defined(NV_ENABLE_PAT_SUPPORT) && defined(NV_ENABLE_HOTPLUG_CPU)
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0)
|
||||
unregister_hotcpu_notifier(&nv_hotcpu_nfb);
|
||||
+#else
|
||||
+ cpuhp_remove_state_nocalls(CPUHP_AP_ONLINE_DYN);
|
||||
+#endif
|
||||
#endif
|
||||
}
|
||||
}
|
||||
diff -Naur a/kernel/uvm/nvidia_uvm_lite.c b/kernel/uvm/nvidia_uvm_lite.c
|
||||
--- a/kernel/uvm/nvidia_uvm_lite.c
|
||||
+++ b/kernel/uvm/nvidia_uvm_lite.c
|
||||
@@ -820,7 +820,11 @@ done:
|
||||
#if defined(NV_VM_OPERATIONS_STRUCT_HAS_FAULT)
|
||||
int _fault(struct vm_area_struct *vma, struct vm_fault *vmf)
|
||||
{
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0)
|
||||
unsigned long vaddr = (unsigned long)vmf->virtual_address;
|
||||
+#else
|
||||
+ unsigned long vaddr = (unsigned long)vmf->address;
|
||||
+#endif
|
||||
struct page *page = NULL;
|
||||
int retval;
|
||||
|
||||
|
||||
@@ -0,0 +1,89 @@
|
||||
diff -Naur a/kernel/nv-drm.c b/kernel/nv-drm.c
|
||||
--- a/kernel/nv-drm.c 2017-03-31 03:42:21.000000000 +0200
|
||||
+++ b/kernel/nv-drm.c 2017-04-06 23:53:14.273356795 +0200
|
||||
@@ -48,7 +48,7 @@
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
-static int nv_drm_unload(
|
||||
+static void nv_drm_unload(
|
||||
struct drm_device *dev
|
||||
)
|
||||
{
|
||||
@@ -60,7 +60,7 @@
|
||||
{
|
||||
BUG_ON(nvl->drm != dev);
|
||||
nvl->drm = NULL;
|
||||
- return 0;
|
||||
+ return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
- return -ENODEV;
|
||||
+ return;
|
||||
}
|
||||
|
||||
static void nv_gem_free(
|
||||
diff -Naur a/kernel/uvm/nvidia_uvm_linux.h b/kernel/uvm/nvidia_uvm_linux.h
|
||||
--- a/kernel/uvm/nvidia_uvm_linux.h 2017-03-31 03:42:21.000000000 +0200
|
||||
+++ b/kernel/uvm/nvidia_uvm_linux.h 2017-04-06 23:53:14.273356795 +0200
|
||||
@@ -124,6 +124,7 @@
|
||||
#include <linux/delay.h> /* mdelay, udelay */
|
||||
|
||||
#include <linux/sched.h> /* suser(), capable() replacement */
|
||||
+#include <linux/sched/signal.h>
|
||||
#include <linux/moduleparam.h> /* module_param() */
|
||||
#if !defined(NV_VMWARE)
|
||||
#include <asm/tlbflush.h> /* flush_tlb(), flush_tlb_all() */
|
||||
@@ -362,17 +363,6 @@
|
||||
void address_space_init_once(struct address_space *mapping);
|
||||
#endif
|
||||
|
||||
-#if !defined(NV_FATAL_SIGNAL_PENDING_PRESENT)
|
||||
- static inline int __fatal_signal_pending(struct task_struct *p)
|
||||
- {
|
||||
- return unlikely(sigismember(&p->pending.signal, SIGKILL));
|
||||
- }
|
||||
-
|
||||
- static inline int fatal_signal_pending(struct task_struct *p)
|
||||
- {
|
||||
- return signal_pending(p) && __fatal_signal_pending(p);
|
||||
- }
|
||||
-#endif
|
||||
|
||||
//
|
||||
// Before the current->cred structure was introduced, current->euid,
|
||||
diff -Naur a/kernel/uvm/nvidia_uvm_lite.c b/kernel/uvm/nvidia_uvm_lite.c
|
||||
--- a/kernel/uvm/nvidia_uvm_lite.c 2017-03-31 03:42:21.000000000 +0200
|
||||
+++ b/kernel/uvm/nvidia_uvm_lite.c 2017-04-06 23:53:14.273356795 +0200
|
||||
@@ -818,7 +818,7 @@
|
||||
}
|
||||
|
||||
#if defined(NV_VM_OPERATIONS_STRUCT_HAS_FAULT)
|
||||
-int _fault(struct vm_area_struct *vma, struct vm_fault *vmf)
|
||||
+int _fault(struct vm_fault *vmf)
|
||||
{
|
||||
unsigned long vaddr = (unsigned long)vmf->virtual_address;
|
||||
struct page *page = NULL;
|
||||
@@ -828,7 +828,7 @@
|
||||
struct page *page = NULL;
|
||||
int retval;
|
||||
|
||||
- retval = _fault_common(vma, vaddr, &page, vmf->flags);
|
||||
+ retval = _fault_common(NULL, vaddr, &page, vmf->flags);
|
||||
|
||||
vmf->page = page;
|
||||
|
||||
@@ -866,7 +866,7 @@
|
||||
// it's dealing with anonymous mapping (see handle_pte_fault).
|
||||
//
|
||||
#if defined(NV_VM_OPERATIONS_STRUCT_HAS_FAULT)
|
||||
-int _sigbus_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
|
||||
+int _sigbus_fault(struct vm_fault *vmf)
|
||||
{
|
||||
vmf->page = NULL;
|
||||
return VM_FAULT_SIGBUS;
|
||||
1
packages/x11/driver/xf86-video-nvidia-legacy/udev.d
Symbolic link
1
packages/x11/driver/xf86-video-nvidia-legacy/udev.d
Symbolic link
@@ -0,0 +1 @@
|
||||
../xf86-video-nvidia/udev.d/
|
||||
@@ -44,6 +44,9 @@ make_target() {
|
||||
unset LDFLAGS
|
||||
|
||||
cd kernel
|
||||
# Don't build nvidia-drm with kernel 4.11.0 due to incompatible license
|
||||
export NV_EXCLUDE_KERNEL_MODULES=nvidia-drm
|
||||
|
||||
make module CC=$CC SYSSRC=$(kernel_path) SYSOUT=$(kernel_path)
|
||||
$STRIP --strip-debug nvidia.ko
|
||||
cd ..
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user