Many thanks, Walt,
your patches work just fine for me.
Helmut.
On 04/16/2012 08:45:14 PM, walt wrote:
On 04/16/2012 06:09 AM, Helmut Jarausch wrote:
>
> Hi,
>
> does anybody know about patches for the ATI-drivers 12.3 to work
with git-sources 3.4_rc3 ?
Well, "patch" is too formal for the ugly hack I use
After building your new kernel you should patch one kernel header file
before building ati-drivers (taken from lkml):
--- arch/x86/include/asm/compat.h.orig 2012-04-08 11:51:29.569528342
-0700
+++ arch/x86/include/asm/compat.h 2012-04-08 14:33:58.309972502
-0700
@@ -221,6 +221,7 @@
return (u32)(unsigned long)uptr;
}
+#ifdef CONFIG_x86_64
static inline void __user *arch_compat_alloc_user_space(long len)
{
compat_uptr_t sp;
@@ -234,6 +235,15 @@
return (void __user *)round_down(sp - len, 16);
}
+#else
+
+static inline void __user *arch_compat_alloc_user_space(long len)
+{
+ struct pt_regs *regs = task_pt_regs(current);
+ return (void __user *)regs->sp -len;
+}
+
+#endif
static inline bool is_x32_task(void)
{
Here's the ugly part: some names in compat.h were changed recently,
and
I can't be bothered to do a proper fix, so I hacked this together
instead:
--- common/lib/modules/fglrx/build_mod/firegl_public.c 2012-03-23
13:38:48.000000000 -0700
+++ /tmp/firegl_public.c 2012-04-16 10:45:41.426582953 -0700
@@ -4181,7 +4181,7 @@
{
unsigned int p;
KCL_DEBUG5(FN_FIREGL_KAS, "%d
", level_init);
- for_each_cpu_mask(p, cpu_possible_map)
+ for (p=0; p<4; p++)
{
KCL_DEBUG1(FN_FIREGL_KAS,"Setting initial execution level
for CPU # %d
", p);
preempt_disable();
NOTE: my new machine has 4 cpus, numbered 0 through 3, and I
hardcoded that
number into the ati code, above, instead of deciphering the new
kernel headers.
Ugly, ugly, ugly. But it works perfectly
If you have two cpus you should change the p<4 to p<2, etc. And then
wait
for a professional fix from ati
