summary refs log tree commit diff
path: root/pkgs/os-specific/linux/ati-drivers/kernel-api-fixes.patch
blob: f763518b249c7e9b726b6bf94363db5ee441098d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
diff -Nru 15.7/common/lib/modules/fglrx/build_mod/firegl_public.c 15.7.new/common/lib/modules/fglrx/build_mod/firegl_public.c
--- 15.7/common/lib/modules/fglrx/build_mod/firegl_public.c	2015-07-04 10:31:23.000000000 -0400
+++ 15.7.new/common/lib/modules/fglrx/build_mod/firegl_public.c	2015-08-03 21:21:13.893211082 -0400
@@ -242,6 +242,14 @@
 #endif
 
 // ============================================================
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,18,0)
+#define __read_cr4 read_cr4
+#define __write_cr4 write_cr4
+#endif
+
+// ============================================================
+
 /* globals */
 
 char* firegl = NULL;
@@ -3495,10 +3503,12 @@
         KCL_PUB_InterruptHandlerWrap,
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,22)
         ((useMSI) ? (SA_INTERRUPT) : (SA_SHIRQ)),
-#else
+#elif LINUX_VERSION_CODE < KERNEL_VERSION(4,1,0)
         //when MSI enabled. keep irq disabled when calling the action handler,
         //exclude this IRQ from irq balancing (only on one CPU) 
         ((useMSI) ? (IRQF_DISABLED) : (IRQF_SHARED)),    
+#else
+        ((useMSI) ? 0 : IRQF_SHARED),
 #endif
         dev_name,
         context);
@@ -4498,8 +4508,8 @@
 
     if (cpu_has_pge)
     {
-        cr4 = read_cr4();
-        write_cr4(cr4 & ~X86_CR4_PGE);
+        cr4 = __read_cr4();
+        __write_cr4(cr4 & ~X86_CR4_PGE);
     }
      __flush_tlb();
 
@@ -4512,7 +4522,7 @@
     write_cr0(cr0 & 0xbfffffff);
     if (cpu_has_pge)
     {
-        write_cr4(cr4);
+        __write_cr4(cr4);
     }
     local_irq_restore(flags);
 
@@ -4539,8 +4549,8 @@
 
     if (cpu_has_pge)
     {
-        cr4 = read_cr4();
-        write_cr4(cr4 & ~X86_CR4_PGE);
+        cr4 = __read_cr4();
+        __write_cr4(cr4 & ~X86_CR4_PGE);
     }
      __flush_tlb();
   
@@ -4552,7 +4562,7 @@
     write_cr0(cr0 & 0xbfffffff);
     if (cpu_has_pge)
     {
-        write_cr4(cr4);
+        __write_cr4(cr4);
     }
     local_irq_restore(flags);
 
diff -Nru 15.7/common/lib/modules/fglrx/build_mod/kcl_acpi.c 15.7.new/common/lib/modules/fglrx/build_mod/kcl_acpi.c
--- 15.7/common/lib/modules/fglrx/build_mod/kcl_acpi.c	2015-07-04 10:31:23.000000000 -0400
+++ 15.7.new/common/lib/modules/fglrx/build_mod/kcl_acpi.c	2015-08-02 19:59:54.797911610 -0400
@@ -861,7 +861,10 @@
 #elif LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0)
     if(pdev)
     {
-       pci_ignore_hotplug(pdev);
+      struct pci_dev *bridge = pdev->bus->self;
+
+      pdev->ignore_hotplug = 1;
+      if(bridge) bridge->ignore_hotplug = 1; 
     }
 #endif
 }
diff -Nru 15.7/common/lib/modules/fglrx/build_mod/kcl_str.c 15.7.new/common/lib/modules/fglrx/build_mod/kcl_str.c
--- 15.7/common/lib/modules/fglrx/build_mod/kcl_str.c	2015-07-04 10:31:23.000000000 -0400
+++ 15.7.new/common/lib/modules/fglrx/build_mod/kcl_str.c	2015-08-03 00:35:25.938410435 -0400
@@ -169,7 +169,7 @@
                                   const char* s2,
                                   KCL_TYPE_SizeSigned count)
 {
-    return strnicmp(s1, s2, count);
+    return strncasecmp(s1, s2, count);
 }
 
 /** \brief Locate character in string