aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/vfp
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/vfp')
-rw-r--r--arch/arm/vfp/vfpmodule.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/arm/vfp/vfpmodule.c b/arch/arm/vfp/vfpmodule.c
index f25e7ec8941..650d90be0f9 100644
--- a/arch/arm/vfp/vfpmodule.c
+++ b/arch/arm/vfp/vfpmodule.c
@@ -582,7 +582,6 @@ static int __init vfp_init(void)
582 elf_hwcap |= HWCAP_VFPv3D16; 582 elf_hwcap |= HWCAP_VFPv3D16;
583 } 583 }
584#endif 584#endif
585#ifdef CONFIG_NEON
586 /* 585 /*
587 * Check for the presence of the Advanced SIMD 586 * Check for the presence of the Advanced SIMD
588 * load/store instructions, integer and single 587 * load/store instructions, integer and single
@@ -590,10 +589,13 @@ static int __init vfp_init(void)
590 * for NEON if the hardware has the MVFR registers. 589 * for NEON if the hardware has the MVFR registers.
591 */ 590 */
592 if ((read_cpuid_id() & 0x000f0000) == 0x000f0000) { 591 if ((read_cpuid_id() & 0x000f0000) == 0x000f0000) {
592#ifdef CONFIG_NEON
593 if ((fmrx(MVFR1) & 0x000fff00) == 0x00011100) 593 if ((fmrx(MVFR1) & 0x000fff00) == 0x00011100)
594 elf_hwcap |= HWCAP_NEON; 594 elf_hwcap |= HWCAP_NEON;
595 }
596#endif 595#endif
596 if ((fmrx(MVFR1) & 0xf0000000) == 0x10000000)
597 elf_hwcap |= HWCAP_VFPv4;
598 }
597 } 599 }
598 return 0; 600 return 0;
599} 601}