d7443ffb89
I'm not sure precisely in what micro-version the API change was made, so the check for 3.18.0 and above may not be quite correct. But it's at least sufficient for every version currently included in NixOS.
99 lines
3 KiB
Diff
99 lines
3 KiB
Diff
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
|