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:
committed by
Nicolas Pitre
parent
c62d0f2ac1
commit
33d7c5c1c8
@@ -70,6 +70,25 @@ int mx51_revision(void)
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL(mx51_revision);
|
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)
|
static int __init post_cpu_init(void)
|
||||||
{
|
{
|
||||||
unsigned int reg;
|
unsigned int reg;
|
||||||
|
Reference in New Issue
Block a user