diff options
Diffstat (limited to '4.2-amd-from_crimson_15.11.patch')
-rw-r--r-- | 4.2-amd-from_crimson_15.11.patch | 447 |
1 files changed, 0 insertions, 447 deletions
diff --git a/4.2-amd-from_crimson_15.11.patch b/4.2-amd-from_crimson_15.11.patch deleted file mode 100644 index cd957917b1bf..000000000000 --- a/4.2-amd-from_crimson_15.11.patch +++ /dev/null @@ -1,447 +0,0 @@ -diff -uNr 15.12/common/lib/modules/fglrx//build_mod/firegl_public.c 15.12b/common/lib/modules/fglrx//build_mod/firegl_public.c ---- 15.12/common/lib/modules/fglrx//build_mod/firegl_public.c 2015-09-09 00:57:14.000000000 +0200 -+++ 15.12b/common/lib/modules/fglrx//build_mod/firegl_public.c 2015-11-21 00:35:38.000000000 +0100 -@@ -191,9 +191,17 @@ - #include <linux/string.h> - #include <linux/gfp.h> - #include <linux/swap.h> -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0) - #include "asm/i387.h" -+#else -+#include <asm/fpu/api.h> -+#endif - #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,4,0) -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0) - #include <asm/fpu-internal.h> -+#else -+#include <asm/fpu/internal.h> -+#endif - #endif - - #include "firegl_public.h" -@@ -1742,7 +1750,11 @@ - unsigned long new, int size) - { - #ifndef __HAVE_ARCH_CMPXCHG -+#if defined(__i386__) - return __fgl_cmpxchg(ptr,old,new,size); -+#elif defined(__x86_64__) -+ return cmpxchg((unsigned long*)ptr,old,new); -+#endif - #else - /* On kernel version 2.6.34 passing a variable or unsupported size - * argument to the __cmpxchg macro causes the default-clause of a -@@ -3503,10 +3515,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)), -+ ((useMSI) ? (IRQF_DISABLED) : (IRQF_SHARED)), -+#else -+ ((useMSI) ? (0x0) : (IRQF_SHARED)), - #endif - dev_name, - context); -@@ -5031,7 +5045,7 @@ - orig_level = kasSetExecutionLevel(kasContext.exec_level_ih); - - ret = kasContext.callback_wrapper_ret(ih_routine, ih_context); -- KCL_DEBUG1(FN_FIREGL_KAS,"Interrupt handler returned 0x%08X\n", ret); -+ KCL_DEBUG1(FN_FIREGL_KAS,"Interrupt handler returned 0x%08X\n", ret); - - kasSetExecutionLevel(orig_level); - spin_unlock(&kasContext.lock_ih); -@@ -6436,21 +6450,36 @@ - struct fpu *fpu = &tsk->thread.fpu; - - if(static_cpu_has(X86_FEATURE_XSAVE)) { -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0) - fpu_xsave(fpu); - if (!(fpu->state->xsave.xsave_hdr.xstate_bv & XSTATE_FP)) -- return 1; -+#else -+ copy_xregs_to_kernel(&fpu->state.xsave); -+ if (!(fpu->state.xsave.header.xfeatures & XSTATE_FP)) -+#endif -+ return 1; - } else if (static_cpu_has(X86_FEATURE_FXSR)) { -- fpu_fxsave(fpu); -- } else { -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0) -+ fpu_fxsave(fpu); -+#else -+ copy_fxregs_to_kernel(fpu); -+#endif -+} else { - asm volatile("fnsave %[fx]; fwait" -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0) - : [fx] "=m" (fpu->state->fsave)); -- return 0; -+#else -+ : [fx] "=m" (fpu->state.fsave)); -+#endif -+ return 0; - } - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0) - if (unlikely(fpu->state->fxsave.swd & X87_FSW_ES)) { -- asm volatile("fnclex"); -- return 0; -+ asm volatile("fnclex"); -+ return 0; - } -+#endif - return 1; - } - #endif -@@ -6462,8 +6491,13 @@ - void ATI_API_CALL KCL_fpu_begin(void) - { - #ifdef CONFIG_X86_64 -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0) - kernel_fpu_begin(); - #else -+ preempt_disable(); -+ __kernel_fpu_begin(); -+#endif -+#else - #ifdef TS_USEDFPU - struct thread_info *cur_thread = current_thread_info(); - struct task_struct *cur_task = get_current(); -@@ -6487,8 +6521,12 @@ - /* The thread structure is changed with the commit below for kernel 3.3: - * https://github.com/torvalds/linux/commit/7e16838d94b566a17b65231073d179bc04d590c8 - */ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0) - if (cur_task->thread.fpu.has_fpu) - #else -+ if (cur_task->thread.fpu.fpregs_active) -+#endif -+#else - if (cur_task->thread.has_fpu) - #endif - #if LINUX_VERSION_CODE >= KERNEL_VERSION(3,15,0) -@@ -6508,7 +6546,12 @@ - */ - void ATI_API_CALL KCL_fpu_end(void) - { -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0) - kernel_fpu_end(); -+#else -+ __kernel_fpu_end(); -+ preempt_enable(); -+#endif - } - - /** Create new directory entry under "/proc/...." -diff -uNr 15.12/common/lib/modules/fglrx//build_mod/kcl_debug.c 15.12b/common/lib/modules/fglrx//build_mod/kcl_debug.c ---- 15.12/common/lib/modules/fglrx//build_mod/kcl_debug.c 2015-09-09 00:57:14.000000000 +0200 -+++ 15.12b/common/lib/modules/fglrx//build_mod/kcl_debug.c 2015-11-21 00:35:38.000000000 +0100 -@@ -35,10 +35,10 @@ - #include <linux/kernel.h> - #include <linux/sysrq.h> - #include <linux/thread_info.h> -- -+#include "firegl_public.h" - #include "kcl_debug.h" - --extern void* ATI_API_CALL KCL_MEM_SmallBufferAllocAtomic(unsigned long size); -+extern void* ATI_API_CALL KCL_MEM_SmallBufferAllocAtomic(kcl_size_t size); - extern void ATI_API_CALL KCL_MEM_SmallBufferFree(void* p); - - extern int ATI_API_CALL firegl_debug_dump(void); -@@ -156,6 +156,47 @@ - KCL_MEM_SmallBufferFree(buffer); - } - -+/** \brief Print debug information to the OS debug console according to traceMask and debugMask -+ * \param traceMask Bit mask of enabled trace function -+ * \param debugMask Bit mask of enabled debug level. 0-7 total -+ * \param name function name -+ * \param line line number inside the file -+ * \param the print parameter -+ * \param fmt printf-like formatting string -+ * \param ... printf-like parameters -+ */ -+void ATI_API_CALL KCL_DEBUG_Print_Trace(unsigned int traceMask, unsigned int debugMask, void* name, int line, long param, const char* fmt, ...) -+{ -+ int print = firegl_trace(traceMask, debugMask, name, line, param); -+ if(print) -+ { -+ int len; -+ char* buffer=KCL_MEM_SmallBufferAllocAtomic(MAX_STRING_LENGTH); -+ if(buffer==NULL) -+ return; -+ if(fmt == NULL) -+ { -+ buffer[0] = '\n'; -+ buffer[1] = '\0'; -+ } -+ else -+ { -+ va_list marker; -+ va_start(marker, fmt); -+ kcl_vsnprintf(buffer,255,fmt, marker); -+ va_end(marker); -+ len = strlen(buffer); -+ if(buffer[len-1] != '\n') -+ { -+ buffer[len]='\n'; -+ buffer[len+1]='\0'; -+ } -+ } -+ KCL_DEBUG_Print("[fglrx] %s:%d %s", (char*)name, line, buffer); -+ KCL_MEM_SmallBufferFree(buffer); -+ } -+} -+ - /** \brief Register keyboard handler to dump module internal state - * \param enable 1 to register the handler, 0 to unregister it - * \return 0 -diff -uNr 15.12/common/lib/modules/fglrx//build_mod/kcl_debug.h 15.12b/common/lib/modules/fglrx//build_mod/kcl_debug.h ---- 15.12/common/lib/modules/fglrx//build_mod/kcl_debug.h 2015-09-09 00:57:14.000000000 +0200 -+++ 15.12b/common/lib/modules/fglrx//build_mod/kcl_debug.h 2015-11-21 00:35:38.000000000 +0100 -@@ -64,17 +64,22 @@ - FN_GENERIC_MAXIMUM = 0x3f - } FN_TRACE; - --extern void ATI_API_CALL firegl_trace(unsigned int traceMask, -+extern int ATI_API_CALL firegl_trace(unsigned int traceMask, - unsigned int debugMask, - void* name, - int line, -- long param, -- const char* fmt, -- ...); -+ long param); - - #define MAX_STRING_LENGTH 512 - - void ATI_API_CALL KCL_DEBUG_Print(const char* fmt, ...); -+void ATI_API_CALL KCL_DEBUG_Print_Trace(unsigned int traceMask, -+ unsigned int debugMask, -+ void* name, -+ int line, -+ long param, -+ const char* fmt, -+ ...); - int ATI_API_CALL KCL_DEBUG_RegKbdHandler(int enable); - int ATI_API_CALL KCL_DEBUG_RegKbdDumpHandler(int enable); - void ATI_API_CALL KCL_DEBUG_OsDump(void); -@@ -211,102 +216,106 @@ - KCL_DEBUG_Print("<6>[fglrx] " fmt, ##arg) - - --#define KCL_DEBUG_TRACE(m, p, fmt, arg...) \ -- do \ -- { \ -- firegl_trace(m, \ -- FN_DEBUG_TRACE, \ -- (void*)__FUNCTION__, \ -- (int)(__LINE__), \ -- (long)(p), \ -- fmt, \ -- ##arg); \ -+#define KCL_DEBUG_TRACE(m, p, fmt, arg...) \ -+ do \ -+ { \ -+ KCL_DEBUG_Print_Trace(m, \ -+ FN_DEBUG_TRACE, \ -+ (void*)__FUNCTION__, \ -+ (int)(__LINE__), \ -+ (long)(p), \ -+ fmt, \ -+ ##arg); \ - } while (0) - - #define KCL_DEBUG_TRACEIN KCL_DEBUG_TRACE - --#define KCL_DEBUG_TRACEOUT(m, p, fmt, arg...) \ -- do \ -- { \ -- firegl_trace(m, \ -- FN_DEBUG_TRACEOUT, \ -- (void*)__FUNCTION__, \ -- (int)(__LINE__), \ -- (long)(p), \ -- fmt, \ -- ##arg); \ -- } while (0) -- --#define KCL_DEBUG1(m, fmt, arg...) \ -- do \ -- { \ -- firegl_trace(m, \ -- FN_DEBUG_LEVEL1, \ -- (void*)__FUNCTION__, \ -- (int)__LINE__, \ -- 0, \ -- fmt, \ -- ##arg); \ -- } while (0) -- --#define KCL_DEBUG2(m, fmt, arg...) \ -- do \ -- { \ -- firegl_trace(m, \ -- FN_DEBUG_LEVEL2, \ -- (void*)__FUNCTION__, \ -- (int)__LINE__, \ -- 0, \ -- fmt, \ -- ##arg); \ -- } while (0) -- --#define KCL_DEBUG3(m, fmt, arg...) \ -- do \ -- { \ -- firegl_trace(m, \ -- FN_DEBUG_LEVEL3, \ -- (void*)__FUNCTION__, \ -- (int)__LINE__, \ -- 0, \ -- fmt, \ -- ##arg); \ -- } while (0) -- --#define KCL_DEBUG4(m, fmt, arg...) \ -- do \ -- { \ -- firegl_trace(m, \ -- FN_DEBUG_LEVEL4, \ -- (void*)__FUNCTION__, \ -- (int)__LINE__, \ -- 0, \ -- fmt, \ -- ##arg); \ -- } while (0) -- --#define KCL_DEBUG5(m, fmt, arg...) \ -- do \ -- { \ -- firegl_trace(m, \ -- FN_DEBUG_LEVEL5, \ -- (void*)__FUNCTION__, \ -- (int)__LINE__, \ -- 0, \ -- fmt, \ -- ##arg); \ -- } while (0) -- --#define KCL_DEBUG6(m, fmt, arg...) \ -- do \ -- { \ -- firegl_trace(m, \ -- FN_DEBUG_LEVEL6, \ -- (void*)__FUNCTION__, \ -- (int)__LINE__, \ -- 0, \ -- fmt, \ -- ##arg); \ -+#define KCL_DEBUG_TRACEOUT(m, p, fmt, arg...) \ -+ do \ -+ { \ -+ KCL_DEBUG_Print_Trace(m, \ -+ FN_DEBUG_TRACEOUT, \ -+ (void*)__FUNCTION__, \ -+ (int)(__LINE__), \ -+ (long)(p), \ -+ fmt, \ -+ ##arg); \ -+ } while (0) -+ -+ -+#define KCL_DEBUG1(m, fmt, arg...) \ -+ do \ -+ { \ -+ KCL_DEBUG_Print_Trace(m, \ -+ FN_DEBUG_LEVEL1, \ -+ (void*)__FUNCTION__, \ -+ (int)(__LINE__), \ -+ 0, \ -+ fmt, \ -+ ##arg); \ -+ } while (0) -+ -+#define KCL_DEBUG2(m, fmt, arg...) \ -+ do \ -+ { \ -+ KCL_DEBUG_Print_Trace(m, \ -+ FN_DEBUG_LEVEL2, \ -+ (void*)__FUNCTION__, \ -+ (int)(__LINE__), \ -+ 0, \ -+ fmt, \ -+ ##arg); \ -+ } while (0) -+ -+#define KCL_DEBUG3(m, fmt, arg...) \ -+ do \ -+ { \ -+ KCL_DEBUG_Print_Trace(m, \ -+ FN_DEBUG_LEVEL3, \ -+ (void*)__FUNCTION__, \ -+ (int)(__LINE__), \ -+ 0, \ -+ fmt, \ -+ ##arg); \ -+ } while (0) -+ -+ -+#define KCL_DEBUG4(m, fmt, arg...) \ -+ do \ -+ { \ -+ KCL_DEBUG_Print_Trace(m, \ -+ FN_DEBUG_LEVEL4, \ -+ (void*)__FUNCTION__, \ -+ (int)(__LINE__), \ -+ 0, \ -+ fmt, \ -+ ##arg); \ -+ } while (0) -+ -+ -+#define KCL_DEBUG5(m, fmt, arg...) \ -+ do \ -+ { \ -+ KCL_DEBUG_Print_Trace(m, \ -+ FN_DEBUG_LEVEL5, \ -+ (void*)__FUNCTION__, \ -+ (int)(__LINE__), \ -+ 0, \ -+ fmt, \ -+ ##arg); \ -+ } while (0) -+ -+ -+#define KCL_DEBUG6(m, fmt, arg...) \ -+ do \ -+ { \ -+ KCL_DEBUG_Print_Trace(m, \ -+ FN_DEBUG_LEVEL6, \ -+ (void*)__FUNCTION__, \ -+ (int)(__LINE__), \ -+ 0, \ -+ fmt, \ -+ ##arg); \ - } while (0) - - #endif -diff -uNr 15.12/common/lib/modules/fglrx//build_mod/kcl_str.c 15.12b/common/lib/modules/fglrx//build_mod/kcl_str.c ---- 15.12/common/lib/modules/fglrx//build_mod/kcl_str.c 2015-09-09 00:57:14.000000000 +0200 -+++ 15.12b/common/lib/modules/fglrx//build_mod/kcl_str.c 2015-11-21 00:35:38.000000000 +0100 -@@ -42,6 +42,10 @@ - #include "kcl_type.h" - #include "kcl_str.h" - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 20, 0) -+#define strnicmp strncasecmp -+#endif -+ - /** \brief Fill memory with a constant byte - * \param s Pointer to memory - * \param c Initializing value |