catalyst, xvba-video: removed; they were broken for years
This commit is contained in:
parent
d0f3fa4d5a
commit
f834552820
20 changed files with 0 additions and 1043 deletions
|
@ -1 +0,0 @@
|
||||||
catalyst
|
|
|
@ -1 +0,0 @@
|
||||||
catalyst
|
|
|
@ -1 +0,0 @@
|
||||||
catalyst
|
|
|
@ -1,7 +0,0 @@
|
||||||
# Regenerate initramfs.
|
|
||||||
case ${ACTION} in
|
|
||||||
post)
|
|
||||||
echo "Regenerating initramfs, please wait..."
|
|
||||||
dracut -f -q --regenerate-all
|
|
||||||
;;
|
|
||||||
esac
|
|
|
@ -1,7 +0,0 @@
|
||||||
# Regenerate initramfs.
|
|
||||||
case ${ACTION} in
|
|
||||||
purge)
|
|
||||||
echo "Regenerating initramfs, please wait..."
|
|
||||||
dracut -f -q --regenerate-all
|
|
||||||
;;
|
|
||||||
esac
|
|
|
@ -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
|
|
|
@ -1,27 +0,0 @@
|
||||||
--- 15.9/common/lib/modules/fglrx/build_mod/firegl_public.c 2015-09-09 00:57:14.000000000 +0200
|
|
||||||
+++ 15.9/common/lib/modules/fglrx/build_mod/firegl_public.c 2015-11-03 19:00:09.121884973 +0100
|
|
||||||
@@ -3412,7 +3412,11 @@
|
|
||||||
int ATI_API_CALL KCL_MEM_MTRR_AddRegionWc(unsigned long base, unsigned long size)
|
|
||||||
{
|
|
||||||
#ifdef CONFIG_MTRR
|
|
||||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0)
|
|
||||||
+ return arch_phys_wc_add(base, size);
|
|
||||||
+#else
|
|
||||||
return mtrr_add(base, size, MTRR_TYPE_WRCOMB, 1);
|
|
||||||
+#endif
|
|
||||||
#else /* !CONFIG_MTRR */
|
|
||||||
return -EPERM;
|
|
||||||
#endif /* !CONFIG_MTRR */
|
|
||||||
@@ -3421,7 +3425,12 @@
|
|
||||||
int ATI_API_CALL KCL_MEM_MTRR_DeleteRegion(int reg, unsigned long base, unsigned long size)
|
|
||||||
{
|
|
||||||
#ifdef CONFIG_MTRR
|
|
||||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0)
|
|
||||||
+ arch_phys_wc_del(reg);
|
|
||||||
+ return reg;
|
|
||||||
+#else
|
|
||||||
return mtrr_del(reg, base, size);
|
|
||||||
+#endif
|
|
||||||
#else /* !CONFIG_MTRR */
|
|
||||||
return -EPERM;
|
|
||||||
#endif /* !CONFIG_MTRR */
|
|
|
@ -1,16 +0,0 @@
|
||||||
--- 15.9/common/lib/modules/fglrx/build_mod/firegl_public.c 2015-09-09 00:57:14.000000000 +0200
|
|
||||||
+++ 15.9b/common/lib/modules/fglrx/build_mod/firegl_public.c 2015-11-02 21:02:06.124639919 +0100
|
|
||||||
@@ -623,8 +623,13 @@
|
|
||||||
|
|
||||||
len = snprintf(buf, request, "%d\n", major);
|
|
||||||
#else
|
|
||||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,3,0)
|
|
||||||
+ seq_printf(m, "%d\n", major);
|
|
||||||
+ len = 0;
|
|
||||||
+#else
|
|
||||||
len = seq_printf(m, "%d\n", major);
|
|
||||||
#endif
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
KCL_DEBUG1(FN_FIREGL_PROC, "return len=%i\n",len);
|
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
--- 15.12/common/lib/modules/fglrx/build_mod/firegl_public.c 2015-12-18 19:47:41.000000000 +0100
|
|
||||||
+++ 15.12b/common/lib/modules/fglrx/build_mod/firegl_public.c 2015-12-19 20:48:13.223261632 +0100
|
|
||||||
@@ -6450,12 +6450,15 @@
|
|
||||||
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))
|
|
||||||
-#else
|
|
||||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,0)
|
|
||||||
+ copy_xregs_to_kernel(&fpu->state.xsave);
|
|
||||||
+ if (!(fpu->state.xsave.header.xfeatures & XFEATURE_MASK_FP))
|
|
||||||
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)
|
|
||||||
copy_xregs_to_kernel(&fpu->state.xsave);
|
|
||||||
if (!(fpu->state.xsave.header.xfeatures & XSTATE_FP))
|
|
||||||
+#else
|
|
||||||
+ fpu_xsave(fpu);
|
|
||||||
+ if (!(fpu->state->xsave.xsave_hdr.xstate_bv & XSTATE_FP))
|
|
||||||
#endif
|
|
||||||
return 1;
|
|
||||||
} else if (static_cpu_has(X86_FEATURE_FXSR)) {
|
|
|
@ -1,39 +0,0 @@
|
||||||
diff --git a/firegl_public.c b/firegl_public.c
|
|
||||||
--- 15.201/common/lib/modules/fglrx/build_mod/firegl_public.c
|
|
||||||
+++ 15.201b/common/lib/modules/fglrx/build_mod/firegl_public.c
|
|
||||||
@@ -3225,7 +3225,11 @@ int ATI_API_CALL KCL_LockUserPages(unsigned long vaddr, unsigned long* page_list
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
down_read(¤t->mm->mmap_sem);
|
|
||||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0)
|
|
||||||
+ ret = get_user_pages(vaddr, page_cnt, 1, 0, (struct page **)page_list, NULL);
|
|
||||||
+#else
|
|
||||||
ret = get_user_pages(current, current->mm, vaddr, page_cnt, 1, 0, (struct page **)page_list, NULL);
|
|
||||||
+#endif
|
|
||||||
up_read(¤t->mm->mmap_sem);
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
@@ -3243,7 +3247,11 @@ int ATI_API_CALL KCL_LockReadOnlyUserPages(unsigned long vaddr, unsigned long* p
|
|
||||||
int ret;
|
|
||||||
|
|
||||||
down_read(¤t->mm->mmap_sem);
|
|
||||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0)
|
|
||||||
+ ret = get_user_pages(vaddr, page_cnt, 0, 0, (struct page **)page_list, NULL);
|
|
||||||
+#else
|
|
||||||
ret = get_user_pages(current, current->mm, vaddr, page_cnt, 0, 0, (struct page **)page_list, NULL);
|
|
||||||
+#endif
|
|
||||||
up_read(¤t->mm->mmap_sem);
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
@@ -3254,7 +3262,11 @@ void ATI_API_CALL KCL_UnlockUserPages(unsigned long* page_list, unsigned int pag
|
|
||||||
unsigned int i;
|
|
||||||
for (i=0; i<page_cnt; i++)
|
|
||||||
{
|
|
||||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,6,0)
|
|
||||||
+ put_page((struct page*)page_list[i]);
|
|
||||||
+#else
|
|
||||||
page_cache_release((struct page*)page_list[i]);
|
|
||||||
+#endif
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,70 +0,0 @@
|
||||||
diff -uNr 16.8/common/lib/modules/fglrx/build_mod/firegl_public.c 16.8b/common/lib/modules/fglrx/build_mod/firegl_public.c
|
|
||||||
--- 16.8/common/lib/modules/fglrx/build_mod/firegl_public.c 2015-12-18 19:47:41.000000000 +0100
|
|
||||||
+++ 16.8b/common/lib/modules/fglrx/build_mod/firegl_public.c 2016-08-15 15:09:37.228538907 +0200
|
|
||||||
@@ -4518,7 +4518,11 @@
|
|
||||||
write_cr0(cr0);
|
|
||||||
wbinvd();
|
|
||||||
|
|
||||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,7,0)
|
|
||||||
+ if (boot_cpu_has(X86_FEATURE_PGE))
|
|
||||||
+#else
|
|
||||||
if (cpu_has_pge)
|
|
||||||
+#endif
|
|
||||||
{
|
|
||||||
cr4 = READ_CR4();
|
|
||||||
WRITE_CR4(cr4 & ~X86_CR4_PGE);
|
|
||||||
@@ -4532,7 +4536,11 @@
|
|
||||||
wbinvd();
|
|
||||||
__flush_tlb();
|
|
||||||
write_cr0(cr0 & 0xbfffffff);
|
|
||||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,7,0)
|
|
||||||
+ if (boot_cpu_has(X86_FEATURE_PGE))
|
|
||||||
+#else
|
|
||||||
if (cpu_has_pge)
|
|
||||||
+#endif
|
|
||||||
{
|
|
||||||
WRITE_CR4(cr4);
|
|
||||||
}
|
|
||||||
@@ -4559,7 +4567,11 @@
|
|
||||||
write_cr0(cr0);
|
|
||||||
wbinvd();
|
|
||||||
|
|
||||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,7,0)
|
|
||||||
+ if (boot_cpu_has(X86_FEATURE_PGE))
|
|
||||||
+#else
|
|
||||||
if (cpu_has_pge)
|
|
||||||
+#endif
|
|
||||||
{
|
|
||||||
cr4 = READ_CR4();
|
|
||||||
WRITE_CR4(cr4 & ~X86_CR4_PGE);
|
|
||||||
@@ -4572,7 +4584,11 @@
|
|
||||||
wbinvd();
|
|
||||||
__flush_tlb();
|
|
||||||
write_cr0(cr0 & 0xbfffffff);
|
|
||||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,7,0)
|
|
||||||
+ if (boot_cpu_has(X86_FEATURE_PGE))
|
|
||||||
+#else
|
|
||||||
if (cpu_has_pge)
|
|
||||||
+#endif
|
|
||||||
{
|
|
||||||
WRITE_CR4(cr4);
|
|
||||||
}
|
|
||||||
diff -uNr 16.8/common/lib/modules/fglrx/build_mod/firegl_public.h 16.8b/common/lib/modules/fglrx/build_mod/firegl_public.h
|
|
||||||
--- 16.8/common/lib/modules/fglrx/build_mod/firegl_public.h 2015-12-18 19:47:41.000000000 +0100
|
|
||||||
+++ 16.8b/common/lib/modules/fglrx/build_mod/firegl_public.h 2016-08-15 15:09:05.815141238 +0200
|
|
||||||
@@ -650,9 +650,15 @@
|
|
||||||
#define cpu_has_pat test_bit(X86_FEATURE_PAT, (void *) &boot_cpu_data.x86_capability)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,7,0)
|
|
||||||
+#ifndef boot_cpu_has(X86_FEATURE_PGE)
|
|
||||||
+#define boot_cpu_has(X86_FEATURE_PGE) test_bit(X86_FEATURE_PGE, &boot_cpu_data.x86_capability)
|
|
||||||
+#endif
|
|
||||||
+#else
|
|
||||||
#ifndef cpu_has_pge
|
|
||||||
#define cpu_has_pge test_bit(X86_FEATURE_PGE, &boot_cpu_data.x86_capability)
|
|
||||||
#endif
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/* 2.6.29 defines pgprot_writecombine as a macro which resolves to a
|
|
||||||
* GPL-only function with the same name. So we always use our own
|
|
|
@ -1,12 +0,0 @@
|
||||||
--- 15.11/common/lib/modules/fglrx/build_mod/firegl_public.c 2015-11-21 00:35:38.000000000 +0100
|
|
||||||
+++ 15.11b/common/lib/modules/fglrx/build_mod/firegl_public.c 2015-11-24 22:28:02.113843493 +0100
|
|
||||||
@@ -1714,6 +1714,9 @@
|
|
||||||
|
|
||||||
#if defined(__i386__)
|
|
||||||
#ifndef __HAVE_ARCH_CMPXCHG
|
|
||||||
+#ifndef __xg
|
|
||||||
+#define __xg(x) ((volatile long *)(x))
|
|
||||||
+#endif
|
|
||||||
static inline
|
|
||||||
unsigned long __fgl_cmpxchg(volatile void *ptr, unsigned long old,
|
|
||||||
unsigned long new, int size)
|
|
|
@ -1,7 +0,0 @@
|
||||||
PACKAGE_NAME="fglrx"
|
|
||||||
PACKAGE_VERSION="@VERSION@"
|
|
||||||
CLEAN="rm -f *.*o"
|
|
||||||
BUILT_MODULE_NAME[0]="fglrx"
|
|
||||||
MAKE[0]="sh make.sh --nohints --uname_r=$kernelver --norootcheck"
|
|
||||||
DEST_MODULE_LOCATION[0]="/updates"
|
|
||||||
AUTOINSTALL="yes"
|
|
|
@ -1,11 +0,0 @@
|
||||||
--- 13.1/common/lib/modules/fglrx/build_mod/firegl_public.c 2013-01-15 22:33:27.000000000 +0100
|
|
||||||
+++ 13.1/common/lib/modules/fglrx/build_mod/firegl_public.c 2014-08-18 20:05:44.327520475 +0200
|
|
||||||
@@ -250,7 +250,7 @@
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef MODULE_LICENSE
|
|
||||||
-MODULE_LICENSE("Proprietary. (C) 2002 - ATI Technologies, Starnberg, GERMANY");
|
|
||||||
+MODULE_LICENSE("GPL\0Proprietary. (C) 2002 - ATI Technologies, Starnberg, GERMANY");
|
|
||||||
#endif
|
|
||||||
#ifdef MODULE_DEVICE_TABLE
|
|
||||||
MODULE_DEVICE_TABLE(pci, fglrx_pci_table);
|
|
|
@ -1,77 +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-12-19 21:14:13.251002548 +0100
|
|
||||||
+++ 15.12b/common/lib/modules/fglrx//build_mod/firegl_public.c 2015-12-19 21:36:27.703783498 +0100
|
|
||||||
@@ -6465,11 +6465,21 @@
|
|
||||||
|
|
||||||
if(static_cpu_has(X86_FEATURE_XSAVE)) {
|
|
||||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,4,0)
|
|
||||||
+#ifdef CONFIG_GRKERNSEC
|
|
||||||
+ copy_xregs_to_kernel(&fpu->state->xsave);
|
|
||||||
+ if (!(fpu->state->xsave.header.xfeatures & XFEATURE_MASK_FP))
|
|
||||||
+#else
|
|
||||||
copy_xregs_to_kernel(&fpu->state.xsave);
|
|
||||||
if (!(fpu->state.xsave.header.xfeatures & XFEATURE_MASK_FP))
|
|
||||||
+#endif
|
|
||||||
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4,2,0)
|
|
||||||
+#ifdef CONFIG_GRKERNSEC
|
|
||||||
+ copy_xregs_to_kernel(&fpu->state->xsave);
|
|
||||||
+ if (!(fpu->state->xsave.header.xfeatures & XSTATE_FP))
|
|
||||||
+#else
|
|
||||||
copy_xregs_to_kernel(&fpu->state.xsave);
|
|
||||||
if (!(fpu->state.xsave.header.xfeatures & XSTATE_FP))
|
|
||||||
+#endif
|
|
||||||
#else
|
|
||||||
fpu_xsave(fpu);
|
|
||||||
if (!(fpu->state->xsave.xsave_hdr.xstate_bv & XSTATE_FP))
|
|
||||||
@@ -6486,8 +6496,12 @@
|
|
||||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(4,2,0)
|
|
||||||
: [fx] "=m" (fpu->state->fsave));
|
|
||||||
#else
|
|
||||||
+#ifdef CONFIG_GRKERNSEC
|
|
||||||
+ : [fx] "=m" (fpu->state->fsave));
|
|
||||||
+#else
|
|
||||||
: [fx] "=m" (fpu->state.fsave));
|
|
||||||
#endif
|
|
||||||
+#endif
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
diff -uNr 15.12/common/lib/modules/fglrx//build_mod/kcl_acpi.c 15.12b/common/lib/modules/fglrx//build_mod/kcl_acpi.c
|
|
||||||
--- 15.12/common/lib/modules/fglrx//build_mod/kcl_acpi.c 2015-12-19 21:14:13.247669219 +0100
|
|
||||||
+++ 15.12b/common/lib/modules/fglrx//build_mod/kcl_acpi.c 2015-12-19 21:10:27.224899708 +0100
|
|
||||||
@@ -145,7 +145,11 @@
|
|
||||||
return NOTIFY_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
+#ifdef CONFIG_GRKERNSEC
|
|
||||||
+static notifier_block_no_const firegl_acpi_lid_notifier = {
|
|
||||||
+#else
|
|
||||||
static struct notifier_block firegl_acpi_lid_notifier = {
|
|
||||||
+#endif
|
|
||||||
.notifier_call = firegl_acpi_lid_event,
|
|
||||||
};
|
|
||||||
#endif
|
|
||||||
@@ -400,7 +404,11 @@
|
|
||||||
KCL_DEBUG_ERROR ("Could not allocate enough memory for video notifier_block\n");
|
|
||||||
return -ENOMEM;
|
|
||||||
}
|
|
||||||
+#ifdef CONFIG_GRKERNSEC
|
|
||||||
+ ((notifier_block_no_const*)(*nb))->notifier_call = firegl_acpi_video_event;
|
|
||||||
+#else
|
|
||||||
((struct notifier_block*)(*nb))->notifier_call = firegl_acpi_video_event;
|
|
||||||
+#endif
|
|
||||||
return register_acpi_notifier((struct notifier_block*)(*nb));
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -413,7 +421,11 @@
|
|
||||||
KCL_DEBUG_ERROR ("Could not allocate enough memory for ac notifier_block\n");
|
|
||||||
return -ENOMEM;
|
|
||||||
}
|
|
||||||
+#ifdef CONFIG_GRKERNSEC
|
|
||||||
+ ((notifier_block_no_const*)(*nb))->notifier_call = firegl_acpi_ac_event;
|
|
||||||
+#else
|
|
||||||
((struct notifier_block*)(*nb))->notifier_call = firegl_acpi_ac_event;
|
|
||||||
+#endif
|
|
||||||
return register_acpi_notifier((struct notifier_block*)(*nb));
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
--- 13.4/common/lib/modules/fglrx/build_mod/firegl_public.c 2013-04-16 23:29:55.000000000 +0200
|
|
||||||
+++ 13.4/common/lib/modules/fglrx/build_mod/firegl_public.c 2013-05-21 17:05:34.726681102 +0200
|
|
||||||
@@ -93,7 +93,7 @@
|
|
||||||
and they use different config options. These options can only be enabled
|
|
||||||
on x86_64 with newer 2.6 kernels (2.6.23 for intel, 2.6.26 for amd).
|
|
||||||
*/
|
|
||||||
-#if defined(CONFIG_AMD_IOMMU) || defined(CONFIG_DMAR)
|
|
||||||
+#if defined(CONFIG_AMD_IOMMU) || defined(CONFIG_INTEL_IOMMU)
|
|
||||||
#define FIREGL_DMA_REMAPPING
|
|
||||||
#endif
|
|
||||||
|
|
|
@ -1,90 +0,0 @@
|
||||||
--- 13.4/common/lib/modules/fglrx/build_mod/kcl_agp.c 2013-05-24 16:45:52.236740084 -0400
|
|
||||||
+++ 13.4/common/lib/modules/fglrx/build_mod/kcl_agp.c 2013-05-24 16:49:29.283579408 -0400
|
|
||||||
@@ -56,6 +56,43 @@ unsigned int KCL_AGP_IsInUse(void)
|
|
||||||
return kcl_agp_is_in_use;
|
|
||||||
}
|
|
||||||
|
|
||||||
+/** \brief Find AGP caps registers in PCI config space
|
|
||||||
+ ** \param dev PCI device handle
|
|
||||||
+ ** \return Positive register index on success, negative errno on error
|
|
||||||
+ */
|
|
||||||
+int ATI_API_CALL KCL_AGP_FindCapsRegisters(KCL_PCI_DevHandle dev)
|
|
||||||
+{
|
|
||||||
+ u8 capndx;
|
|
||||||
+ u32 cap_id;
|
|
||||||
+
|
|
||||||
+ if (!dev)
|
|
||||||
+ {
|
|
||||||
+ return -ENODEV;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ pci_read_config_byte((struct pci_dev*)dev, 0x34, &capndx);
|
|
||||||
+
|
|
||||||
+ if (capndx == 0x00)
|
|
||||||
+ {
|
|
||||||
+ return -ENODATA;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ do
|
|
||||||
+ { // search capability list for AGP caps
|
|
||||||
+ pci_read_config_dword((struct pci_dev*)dev, capndx, &cap_id);
|
|
||||||
+
|
|
||||||
+ if ((cap_id & 0xff) == 0x02)
|
|
||||||
+ {
|
|
||||||
+ return capndx;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ capndx = (cap_id >> 8) & 0xff;
|
|
||||||
+ }
|
|
||||||
+ while (capndx != 0x00);
|
|
||||||
+
|
|
||||||
+ return -ENODATA;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
#if defined(CONFIG_AGP) || defined(CONFIG_AGP_MODULE)
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
@@ -272,43 +309,6 @@ int ATI_API_CALL KCL_AGP_Enable(unsigned
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
-/** \brief Find AGP caps registers in PCI config space
|
|
||||||
- ** \param dev PCI device handle
|
|
||||||
- ** \return Positive register index on success, negative errno on error
|
|
||||||
- */
|
|
||||||
-int ATI_API_CALL KCL_AGP_FindCapsRegisters(KCL_PCI_DevHandle dev)
|
|
||||||
-{
|
|
||||||
- u8 capndx;
|
|
||||||
- u32 cap_id;
|
|
||||||
-
|
|
||||||
- if (!dev)
|
|
||||||
- {
|
|
||||||
- return -ENODEV;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- pci_read_config_byte((struct pci_dev*)dev, 0x34, &capndx);
|
|
||||||
-
|
|
||||||
- if (capndx == 0x00)
|
|
||||||
- {
|
|
||||||
- return -ENODATA;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- do
|
|
||||||
- { // search capability list for AGP caps
|
|
||||||
- pci_read_config_dword((struct pci_dev*)dev, capndx, &cap_id);
|
|
||||||
-
|
|
||||||
- if ((cap_id & 0xff) == 0x02)
|
|
||||||
- {
|
|
||||||
- return capndx;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
- capndx = (cap_id >> 8) & 0xff;
|
|
||||||
- }
|
|
||||||
- while (capndx != 0x00);
|
|
||||||
-
|
|
||||||
- return -ENODATA;
|
|
||||||
-}
|
|
||||||
-
|
|
||||||
/** \brief Get AGP caps
|
|
||||||
** \param dev PCI device handle
|
|
||||||
** \param caps pointer to caps vector
|
|
|
@ -1,172 +0,0 @@
|
||||||
# Template file for 'catalyst'
|
|
||||||
_release="15.12"
|
|
||||||
_build="151217a-297685e"
|
|
||||||
_desc="AMD catalyst driver ${_release} for Linux"
|
|
||||||
|
|
||||||
pkgname=catalyst
|
|
||||||
version=15.302
|
|
||||||
revision=2
|
|
||||||
maintainer="Orphaned <orphan@voidlinux.org>"
|
|
||||||
license="Proprietary AMD license"
|
|
||||||
homepage="http://www.amd.com"
|
|
||||||
|
|
||||||
archs="i686 x86_64"
|
|
||||||
hostmakedepends="unzip wget"
|
|
||||||
subpackages="${pkgname}-opencl ${pkgname}-dkms ${pkgname}-libs"
|
|
||||||
depends="${pkgname}-dkms-${version}_${revision}"
|
|
||||||
conflicts="nvidia>=0 xserver-abi-video>19_1"
|
|
||||||
short_desc="${_desc} - Utilities"
|
|
||||||
repository="nonfree"
|
|
||||||
create_wrksrc=yes
|
|
||||||
nopie=yes
|
|
||||||
|
|
||||||
fetch_cmd="wget --referer='http://support.amd.com/en-us/download/desktop?os=Linux+x86_64' "
|
|
||||||
|
|
||||||
distfiles="https://www2.ati.com/drivers/linux/radeon-crimson-${_release}-${version}-${_build}.zip"
|
|
||||||
checksum=704f2dfc14681f76dae3b4120c87b1ded33cf43d5a1d800b6de5ca292bb61e58
|
|
||||||
|
|
||||||
if [ "$XBPS_MACHINE" = "i686" ]; then
|
|
||||||
_ARCHDIR="x86"
|
|
||||||
elif [ "$XBPS_MACHINE" = "x86_64" ]; then
|
|
||||||
_ARCHDIR="x86_64"
|
|
||||||
_ARCHLIB="64"
|
|
||||||
_ARCHXPIC="_64a"
|
|
||||||
fi
|
|
||||||
|
|
||||||
do_build() {
|
|
||||||
cd fglrx-${version}
|
|
||||||
/bin/sh ./*.run --extract ./
|
|
||||||
|
|
||||||
patch -Np1 -i ${FILESDIR}/lano1106_fglrx_intel_iommu.patch
|
|
||||||
patch -Np1 -i ${FILESDIR}/lano1106_kcl_agp_13_4.patch
|
|
||||||
patch -Np1 -i ${FILESDIR}/4.3-kolasa-seq_printf.patch
|
|
||||||
patch -Np1 -i ${FILESDIR}/4.3-gentoo-mtrr.patch
|
|
||||||
patch -Np1 -i ${FILESDIR}/fglrx_gpl_symbol.patch
|
|
||||||
[ "$XBPS_MACHINE" = "i686" ] && patch -Np1 -i ${FILESDIR}/crimson_i686_xg.patch
|
|
||||||
patch -Np1 -i ${FILESDIR}/4.4-manjaro-xstate.patch
|
|
||||||
patch -Np1 -i ${FILESDIR}/grsec_arch.patch
|
|
||||||
patch -Np1 -i ${FILESDIR}/4.6-void-user_page.patch
|
|
||||||
patch -Np1 -i ${FILESDIR}/4.7-arch-cpu_has_pge-v2.patch
|
|
||||||
}
|
|
||||||
do_install() {
|
|
||||||
cd fglrx-${version}
|
|
||||||
|
|
||||||
install -dm755 ${DESTDIR}/usr/bin
|
|
||||||
install -dm755 ${DESTDIR}/usr/lib/{dri,xorg/modules/{drivers,extensions/fglrx,linux},systemd/system}
|
|
||||||
install -dm755 ${DESTDIR}/usr/include/GL
|
|
||||||
install -dm755 ${DESTDIR}/etc/{ati,acpi/events,security/console.apps}
|
|
||||||
install -dm755 ${DESTDIR}/usr/share/{applications,ati/amdcccle,man/man8,pixmaps}
|
|
||||||
|
|
||||||
# binaries
|
|
||||||
install -m755 common/usr/sbin/* ${DESTDIR}/usr/bin/
|
|
||||||
install -m755 common/usr/X11R6/bin/* ${DESTDIR}/usr/bin/
|
|
||||||
install -m755 arch/${_ARCHDIR}/usr/bin/* ${DESTDIR}/usr/bin/
|
|
||||||
install -m755 arch/${_ARCHDIR}/usr/X11R6/bin/* ${DESTDIR}/usr/bin/
|
|
||||||
|
|
||||||
# headers
|
|
||||||
install -m644 common/usr/include/GL/* ${DESTDIR}/usr/include/GL/
|
|
||||||
|
|
||||||
# xorg/dri/gl/... drivers
|
|
||||||
pushd xpic${_ARCHXPIC}/usr/X11R6/lib${_ARCHLIB}/modules
|
|
||||||
install -m755 *.so ${DESTDIR}/usr/lib/xorg/modules/
|
|
||||||
install -m755 drivers/*.so ${DESTDIR}/usr/lib/xorg/modules/drivers/
|
|
||||||
install -m755 linux/*.so ${DESTDIR}/usr/lib/xorg/modules/linux/
|
|
||||||
install -m755 extensions/fglrx/fglrx-libglx.so ${DESTDIR}/usr/lib/xorg/modules/extensions
|
|
||||||
ln -sf fglrx-libglx.so ${DESTDIR}/usr/lib/xorg/modules/extensions/libglx.so
|
|
||||||
ln -sf fglrx-libglx.so ${DESTDIR}/usr/lib/xorg/modules/extensions/libglx.so.1
|
|
||||||
popd
|
|
||||||
|
|
||||||
pushd arch/${_ARCHDIR}/usr/X11R6/lib${_ARCHLIB}
|
|
||||||
install -m755 modules/dri/fglrx_dri.so ${DESTDIR}/usr/lib/xorg/modules/drivers/
|
|
||||||
ln -sfr ${DESTDIR}/usr/lib/xorg/modules/drivers/fglrx_dri.so ${DESTDIR}/usr/lib/dri/fglrx_dri.so
|
|
||||||
install -m755 fglrx/fglrx-libGL.so.1.2 ${DESTDIR}/usr/lib/
|
|
||||||
ln -sf fglrx-libGL.so.1.2 ${DESTDIR}/usr/lib/libGL.so
|
|
||||||
ln -sf fglrx-libGL.so.1.2 ${DESTDIR}/usr/lib/libGL.so.1
|
|
||||||
install -m755 *.so* ${DESTDIR}/usr/lib/
|
|
||||||
install -m644 libAMDXvBA.cap ${DESTDIR}/usr/lib/
|
|
||||||
popd
|
|
||||||
|
|
||||||
pushd arch/${_ARCHDIR}/usr/lib${_ARCHLIB}
|
|
||||||
install -m755 *.so* ${DESTDIR}/usr/lib/
|
|
||||||
# needed symlinks
|
|
||||||
ln -s libatiuki.so.1.0 ${DESTDIR}/usr/lib/libatiuki.so.1
|
|
||||||
ln -s libAMDXvBA.so.1.0 ${DESTDIR}/usr/lib/libAMDXvBA.so.1
|
|
||||||
ln -s libXvBAW.so.1.0 ${DESTDIR}/usr/lib/libXvBAW.so
|
|
||||||
ln -s libXvBAW.so.1.0 ${DESTDIR}/usr/lib/libXvBAW.so.1
|
|
||||||
ln -s libfglrx_dm.so.1.0 ${DESTDIR}/usr/lib/libfglrx_dm.so.1
|
|
||||||
popd
|
|
||||||
|
|
||||||
# various files
|
|
||||||
install -m644 common/usr/share/man/man8/* ${DESTDIR}/usr/share/man/man8/
|
|
||||||
install -m644 common/usr/share/applications/* ${DESTDIR}/usr/share/applications/
|
|
||||||
install -m644 common/usr/share/icons/* ${DESTDIR}/usr/share/pixmaps/
|
|
||||||
install -m644 common/usr/share/ati/amdcccle/* ${DESTDIR}/usr/share/ati/amdcccle/
|
|
||||||
install -m644 common/etc/ati/* ${DESTDIR}/etc/ati/
|
|
||||||
install -m644 common/usr/share/applications/*.desktop ${DESTDIR}/usr/share/applications/
|
|
||||||
# use ACPI example files
|
|
||||||
install -m755 common/usr/share/doc/fglrx/examples/etc/acpi/*.sh ${DESTDIR}/etc/acpi/
|
|
||||||
install -m644 common/usr/share/doc/fglrx/examples/etc/acpi/events/* ${DESTDIR}/etc/acpi/events/
|
|
||||||
|
|
||||||
# provided in catalyst-opencl package
|
|
||||||
rm ${DESTDIR}/usr/lib/lib{amdocl*,OpenCL}.so*
|
|
||||||
|
|
||||||
# we remove the watermark
|
|
||||||
install -m644 common/etc/ati/* ${DESTDIR}/etc/ati/
|
|
||||||
|
|
||||||
# licenses
|
|
||||||
install -Dm644 common/usr/share/doc/fglrx/LICENSE.TXT \
|
|
||||||
${DESTDIR}/usr/share/licenses/${pkgname}/LICENSE.TXT
|
|
||||||
install -Dm644 common/usr/share/doc/amdcccle/ccc_copyrights.txt \
|
|
||||||
${DESTDIR}/usr/share/licenses/${pkgname}/amdcccle_copyrights.txt
|
|
||||||
}
|
|
||||||
|
|
||||||
catalyst-dkms_package() {
|
|
||||||
short_desc="${_desc} - DKMS kernel module"
|
|
||||||
depends="dkms"
|
|
||||||
dkms_modules="fglrx ${version}_${revision}"
|
|
||||||
pkg_install() {
|
|
||||||
local _fglrx=fglrx-${version}_${revision}
|
|
||||||
|
|
||||||
vmkdir etc/cmdline.d
|
|
||||||
vmkdir usr/lib/dracut/dracut.conf.d
|
|
||||||
vmkdir usr/lib/modprobe.d
|
|
||||||
vmkdir usr/lib/modules-load.d
|
|
||||||
vmkdir usr/src/${_fglrx}
|
|
||||||
|
|
||||||
cd ${wrksrc}/fglrx-${version}
|
|
||||||
cp -r common/lib/modules/fglrx/build_mod/* ${PKGDESTDIR}/usr/src/${_fglrx}
|
|
||||||
|
|
||||||
vinstall arch/${_ARCHDIR}/lib/modules/fglrx/build_mod/libfglrx_ip.a 644 usr/src/${_fglrx}
|
|
||||||
|
|
||||||
vinstall ${FILESDIR}/dkms.conf 644 usr/src/${_fglrx}
|
|
||||||
|
|
||||||
sed -i -e "s/@VERSION@/${version}-${revision}/" ${PKGDESTDIR}/usr/src/${_fglrx}/dkms.conf
|
|
||||||
|
|
||||||
echo "nomodeset" > ${PKGDESTDIR}/etc/cmdline.d/catalyst.conf
|
|
||||||
echo "omit_dracutmodules+=\" drm \"" > ${PKGDESTDIR}/usr/lib/dracut/dracut.conf.d/99-catalyst.conf
|
|
||||||
echo "blacklist radeon" > ${PKGDESTDIR}/usr/lib/modprobe.d/catalyst.conf
|
|
||||||
echo "fglrx" > ${PKGDESTDIR}/usr/lib/modules-load.d/catalyst.conf
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catalyst-opencl_package() {
|
|
||||||
short_desc="${_desc} - OpenCL implementation"
|
|
||||||
depends="libOpenCL"
|
|
||||||
pkg_install() {
|
|
||||||
cd ${wrksrc}/fglrx-${version}/arch/${_ARCHDIR}
|
|
||||||
|
|
||||||
vmkdir usr/lib
|
|
||||||
vmkdir etc/OpenCL/vendors
|
|
||||||
|
|
||||||
vbin usr/bin/clinfo
|
|
||||||
install -m644 etc/OpenCL/vendors/amdocl*.icd ${PKGDESTDIR}/etc/OpenCL/vendors
|
|
||||||
install -m755 usr/lib${_ARCHLIB}/libamdocl*.so ${PKGDESTDIR}/usr/lib/
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catalyst-libs_package() {
|
|
||||||
short_desc="${_desc} - libraries"
|
|
||||||
provides="libGL-${version}_${revision}"
|
|
||||||
replaces="libGL>=0"
|
|
||||||
pkg_install() {
|
|
||||||
vmove usr/lib
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,2 +0,0 @@
|
||||||
site="http://support.amd.com/en-us/kb-articles/Pages/AMDCatalystOmegaLINReleaseNotes.aspx"
|
|
||||||
pattern="(\d{2,}\.){2}\d{2,}+"
|
|
|
@ -1,23 +0,0 @@
|
||||||
# Template file for 'xvba-video'
|
|
||||||
pkgname=xvba-video
|
|
||||||
version=0.7.8
|
|
||||||
revision=2
|
|
||||||
wrksrc="${pkgname}-${version}.bin"
|
|
||||||
depends="libva catalyst"
|
|
||||||
short_desc="AMDs XvBA backend for VA-API hardware video acceleration"
|
|
||||||
maintainer="John Galt <johngaltfirstrun@gmail.com>"
|
|
||||||
license="Proprietary AMD license"
|
|
||||||
homepage="http://www.amd.com"
|
|
||||||
archs="i686 x86_64"
|
|
||||||
repository="nonfree"
|
|
||||||
distfiles="https://launchpad.net/ubuntu/+archive/primary/+files/xvba-video_0.7.8.orig.tar.gz"
|
|
||||||
checksum=e4bea33edaf73b1c164f76295ac77fc1fb9f4c4a8269fc756937f00454bfd50f
|
|
||||||
|
|
||||||
do_install() {
|
|
||||||
mkdir -p ${DESTDIR}/usr/lib/dri
|
|
||||||
if [ "$XBPS_TARGET_MACHINE" = "i686" ]; then
|
|
||||||
install -m755 x86/* ${DESTDIR}/usr/lib/dri/
|
|
||||||
elif [ "$XBPS_TARGET_MACHINE" = "x86_64" ]; then
|
|
||||||
install -m755 x64/* ${DESTDIR}/usr/lib/dri/
|
|
||||||
fi
|
|
||||||
}
|
|
Loading…
Reference in a new issue