Message ID | 20190514124918.22590-1-shawn@git.icu (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Series | powerpc: Allow may_use_simd() to function as feature detection | expand |
Context | Check | Description |
---|---|---|
snowpatch_ozlabs/apply_patch | warning | Failed to apply on branch next (8150a153c013aa2dd1ffae43370b89ac1347a7fb) |
snowpatch_ozlabs/apply_patch | fail | Failed to apply to any branch |
On Tue, May 14, 2019 at 09:49:18AM -0300, Shawn Landden wrote: > ARM does this, so we might as well too. > I am a bit confused however as CONFIG_ALTIVEC does not select > CONFIG_PPC_FPU. Would you ever have altivec without a fpu? There is no hardware like that, none supported anyway. It does not make very much sense, and it cannot happen with VSX, so no hardware like it will ever show up most likely. It is much simpler to just make a Kconfig dependency (or a select) between the symbols than to have to add code like this patch. Segher
Wireguard is not in the kernel (yet) and uses these symbols. (It is IS_ENABLED so doesn't need it, but I think it is reasonable) I think these enable/disable symbols should not be marked GPL-only. El mar., 14 may. 2019 13:06, Segher Boessenkool <segher@kernel.crashing.org> escribió: > On Tue, May 14, 2019 at 09:49:18AM -0300, Shawn Landden wrote: > > ARM does this, so we might as well too. > > I am a bit confused however as CONFIG_ALTIVEC does not select > > CONFIG_PPC_FPU. Would you ever have altivec without a fpu? > > There is no hardware like that, none supported anyway. It does not make > very much sense, and it cannot happen with VSX, so no hardware like it > will ever show up most likely. > > It is much simpler to just make a Kconfig dependency (or a select) between > the symbols than to have to add code like this patch. > > > Segher >
diff --git a/arch/powerpc/include/asm/simd.h b/arch/powerpc/include/asm/simd.h index 9b066d633..2fe26f258 100644 --- a/arch/powerpc/include/asm/simd.h +++ b/arch/powerpc/include/asm/simd.h @@ -7,4 +7,11 @@ * It's always ok in process context (ie "not interrupt") * but it is sometimes ok even from an irq. */ +#ifdef CONFIG_PPC_FPU extern bool may_use_simd(void); +#else +static inline bool may_use_simd(void) +{ + return false; +} +#endif
ARM does this, so we might as well too. I am a bit confused however as CONFIG_ALTIVEC does not select CONFIG_PPC_FPU. Would you ever have altivec without a fpu? Signed-off-by: Shawn Landden <shawn@git.icu> --- arch/powerpc/include/asm/simd.h | 7 +++++++ 1 file changed, 7 insertions(+)