aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Boyd <sboyd@codeaurora.org>2014-11-10 15:56:40 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2014-11-21 10:24:41 -0500
commit6f0f2a9f0f8f420f604e1ae06f1d24cc9b61a9d0 (patch)
tree64daf13814b599cbd4989865b2a69cb3fa66f4db
parent1ca8bf6f7ba581d8b47144ff5a558e17fba3190d (diff)
ARM: 8196/1: vfp: Workaround bad MVFR1 register on some Kraits
Certain versions of the Krait processor don't report that they support the fused multiply accumulate instruction via the MVFR1 register despite the fact that they actually do. Unfortunately we use this register to identify support for VFPv4. Override the hwcap on all Krait processors to indicate support for VFPv4 to workaround this. Tested-by: Rob Clark <robdclark@gmail.com> Signed-off-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r--arch/arm/mm/proc-v7.S5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm/mm/proc-v7.S b/arch/arm/mm/proc-v7.S
index b3a947863ac7..6c33eaf879ae 100644
--- a/arch/arm/mm/proc-v7.S
+++ b/arch/arm/mm/proc-v7.S
@@ -593,9 +593,10 @@ __krait_proc_info:
593 /* 593 /*
594 * Some Krait processors don't indicate support for SDIV and UDIV 594 * Some Krait processors don't indicate support for SDIV and UDIV
595 * instructions in the ARM instruction set, even though they actually 595 * instructions in the ARM instruction set, even though they actually
596 * do support them. 596 * do support them. They also don't indicate support for fused multiply
597 * instructions even though they actually do support them.
597 */ 598 */
598 __v7_proc __v7_setup, hwcaps = HWCAP_IDIV 599 __v7_proc __v7_setup, hwcaps = HWCAP_IDIV | HWCAP_VFPv4
599 .size __krait_proc_info, . - __krait_proc_info 600 .size __krait_proc_info, . - __krait_proc_info
600 601
601 /* 602 /*