diff options
Diffstat (limited to 'pkgs/os-specific/linux/ati-drivers/kernel-api-fixes.patch')
-rw-r--r-- | pkgs/os-specific/linux/ati-drivers/kernel-api-fixes.patch | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/ati-drivers/kernel-api-fixes.patch b/pkgs/os-specific/linux/ati-drivers/kernel-api-fixes.patch new file mode 100644 index 000000000000..de1984c4c496 --- /dev/null +++ b/pkgs/os-specific/linux/ati-drivers/kernel-api-fixes.patch @@ -0,0 +1,84 @@ +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 00:30:34.927839497 -0400 +@@ -3495,10 +3495,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 +4500,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 +4514,7 @@ + write_cr0(cr0 & 0xbfffffff); + if (cpu_has_pge) + { +- write_cr4(cr4); ++ __write_cr4(cr4); + } + local_irq_restore(flags); + +@@ -4539,8 +4541,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 +4554,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 |