ARM: mxc: turn off HWCAP_NEON for older versions of imx51 silicon
Versions of silicon older than TO3 have broken NEON implementation. Turn off NEON in such cases. Signed-off-by: Amit Kucheria <amit.kucheria@linaro.org> Tested-by: Dave Martin <dave.martin@linaro.org> Tested-by: Jason Hui <jason.hui@linaro.org> Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
This commit is contained in:
parent
c62d0f2ac1
commit
33d7c5c1c8
1 changed files with 19 additions and 0 deletions
|
@ -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 && (elf_hwcap & HWCAP_NEON)) {
|
||||
elf_hwcap &= ~HWCAP_NEON;
|
||||
pr_info("Turning off NEON support, detected broken NEON implementation\n");
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
late_initcall(mx51_neon_fixup);
|
||||
#endif
|
||||
|
||||
static int __init post_cpu_init(void)
|
||||
{
|
||||
unsigned int reg;
|
||||
|
|
Loading…
Reference in a new issue