diff options
author | Balló György | 2017-03-31 11:48:07 +0200 |
---|---|---|
committer | Balló György | 2017-03-31 11:48:07 +0200 |
commit | 2329a4330cbb77bc2c018af7dcc48f4a81fba5c7 (patch) | |
tree | d613b9f007e4c64e547a2bbf654b22ac4029d9bf /linux-4.10.patch | |
parent | ed0ef8c6cc2be6f72e27271c22e8b6f6ffaf3ce6 (diff) | |
download | aur-2329a4330cbb77bc2c018af7dcc48f4a81fba5c7.tar.gz |
upgpkg: nvidia-173xx-dkms 173.14.39-10
Rebuild for Linux 4.10
Diffstat (limited to 'linux-4.10.patch')
-rw-r--r-- | linux-4.10.patch | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/linux-4.10.patch b/linux-4.10.patch new file mode 100644 index 000000000000..f22663d763ae --- /dev/null +++ b/linux-4.10.patch @@ -0,0 +1,73 @@ +diff -Naur nv.orig/nv.c nv/nv.c +--- nv.orig/nv.c 2017-03-31 10:49:58.133349000 +0200 ++++ nv/nv.c 2017-03-31 10:54:51.852724105 +0200 +@@ -1150,6 +1150,7 @@ + } + + #if defined(NV_ENABLE_PAT_SUPPORT) && defined(CONFIG_HOTPLUG_CPU) ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 10, 0) + static int + nv_kern_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) + { +@@ -1181,6 +1182,34 @@ + .notifier_call = nv_kern_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 + + +@@ -1418,7 +1447,14 @@ + #if defined(NV_ENABLE_PAT_SUPPORT) && defined(CONFIG_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(); + rc = -EIO; +@@ -1565,7 +1601,11 @@ + { + __nv_disable_pat_support(); + #if defined(NV_ENABLE_PAT_SUPPORT) && defined(CONFIG_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 + } + |