[PATCH 2/2] ARM: mxc: turn off HWCAP_NEON for older versions of imx51 silicon
Sergei Shtylyov
sshtylyov at mvista.com
Wed Sep 8 10:00:06 EDT 2010
Hello.
Nicolas Pitre wrote:
> From: Amit Kucheria <amit.kucheria at verdurent.com>
> Versions of silicon older than TO3 have broken NEON implementation. Turn off
> NEON in such cases.
> Signed-off-by: Amit Kucheria <amit.kucheria at linaro.org>
> Tested-by: Dave Martin <dave.martin at linaro.org>
> Tested-by: Jason Hui <jason.hui at linaro.org>
> Signed-off-by: Nicolas Pitre <nicolas.pitre at linaro.org>
> ---
> arch/arm/mach-mx5/cpu.c | 19 +++++++++++++++++++
> 1 files changed, 19 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/mach-mx5/cpu.c b/arch/arm/mach-mx5/cpu.c
> index 2d37785..548c55b 100644
> --- a/arch/arm/mach-mx5/cpu.c
> +++ b/arch/arm/mach-mx5/cpu.c
> @@ -70,6 +70,25 @@ int mx51_revision(void)
> }
> EXPORT_SYMBOL(mx51_revision);
>
> +#ifdef CONFIG_NEON
> +
> +/* All versions of the silicon before Rev. 3 have broken NEON implementations.
> + * Dependent on link order - so the assumption is that vfp_init is called before us
> + */
> +static int __init mx51_neon_fixup(void)
> +{
> + if (mx51_revision() < MX51_CHIP_REV_3_0) {
Too many spaces after '<'?
> + if (elf_hwcap & HWCAP_NEON) {
Could be collapsed into the preceding *if*, and so indentation level made
one less...
> + elf_hwcap &= ~HWCAP_NEON;
> + pr_info("Turning off NEON support, detected broken NEON implementation\n");
> + }
> + }
> + return 0;
> +}
> +
> +late_initcall(mx51_neon_fixup);
> +#endif
> +
WBR, Sergei
More information about the linux-arm-kernel
mailing list