Re: [PATCH] raid6: altivec support
From: David Woodhouse <dwmw2@infradead.org>
Date: 2005-01-17 10:16:52
Also in:
lkml
On Sun, 2005-01-09 at 16:13 +0100, Olaf Hering wrote:
quoted
ChangeSet 1.2347, 2005/01/08 14:02:27-08:00, hpa@zytor.com [PATCH] raid6: altivec support This patch adds Altivec support for RAID-6, if appropriately configured on the ppc or ppc64 architectures. Note that it changes the compile flags for ppc64 in order to handle -maltivec correctly; this change was vetted on the ppc64 mailing list and OK'd by paulus.This fails to compile on ppc, enable_kernel_altivec() is an exported but undeclared function. cpu_features is also missing. drivers/md/raid6altivec1.c: In function `raid6_altivec1_gen_syndrome': drivers/md/raid6altivec1.c:99: warning: implicit declaration of function `enable_kernel_altivec' drivers/md/raid6altivec1.c: In function `raid6_have_altivec': drivers/md/raid6altivec1.c:111: error: request for member `cpu_features' in something not a structure or union drivers/md/raid6altivec2.c: In function `raid6_altivec2_gen_syndrome': drivers/md/raid6altivec2.c:110: warning: implicit declaration of function `enable_kernel_altivec'
This makes it compile on PPC, but highlights the difference between 'cur_cpu_spec' on ppc32 and ppc64. Why is 'cur_cpu_spec' an array on ppc32? Isn't 'cur' supposed to imply 'current'? ===== drivers/md/raid6altivec.uc 1.1 vs edited =====
--- 1.1/drivers/md/raid6altivec.uc Sat Jan 8 05:44:07 2005
+++ edited/drivers/md/raid6altivec.uc Mon Jan 17 09:45:20 2005@@ -108,7 +108,11 @@ int raid6_have_altivec(void) { /* This assumes either all CPUs have Altivec or none does */ +#ifdef CONFIG_PPC64 return cur_cpu_spec->cpu_features & CPU_FTR_ALTIVEC; +#else + return cur_cpu_spec[0]->cpu_features & CPU_FTR_ALTIVEC; +#endif } #endif
--
dwmw2