ARM: vfp: Add Krait MVFR1 workaround

Certain early samples of the Krait processor use the MVFR1
register to report that they do not support ASE instructions,
despite actually supporting these instructions. Add a
specific CPU ID check to allow full utilization of the ASE
instructions.

Change-Id: Id8182da98d438fd4169cfdfa014b4771388fb6f7
Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
(cherry picked from commit 57b50da38c95732c0727b8016e77cd86e08f153d)
This commit is contained in:
Stepan Moskovchenko
2011-11-23 18:43:21 -08:00
committed by Stephen Boyd
parent 8616dec9d2
commit 56b78ca59c

View File

@@ -713,7 +713,9 @@ static int __init vfp_init(void)
if ((fmrx(MVFR1) & 0x000fff00) == 0x00011100)
elf_hwcap |= HWCAP_NEON;
#endif
if ((fmrx(MVFR1) & 0xf0000000) == 0x10000000)
if ((fmrx(MVFR1) & 0xf0000000) == 0x10000000 ||
(read_cpuid_id() & 0xff00fc00) == 0x51000400)
elf_hwcap |= HWCAP_VFPv4;
}
}