Revision 3dbcea54b3ff706c58f8e8d4470f5e5d3d24a6a0 authored by Mark Rutland on 15 March 2019, 12:22:36 UTC, committed by Catalin Marinas on 19 March 2019, 14:54:24 UTC
Fujitsu erratum 010001 applies to A64FX v0r0 and v1r0, and we try to
handle either by masking MIDR with MIDR_FUJITSU_ERRATUM_010001_MASK
before comparing it to MIDR_FUJITSU_ERRATUM_010001.

Unfortunately, MIDR_FUJITSU_ERRATUM_010001 is constructed incorrectly
using MIDR_VARIANT(), which is intended to extract the variant field
from MIDR_EL1, rather than generate the field in-place. This results in
MIDR_FUJITSU_ERRATUM_010001 being all-ones, and we only match A64FX
v0r0.

This patch uses MIDR_CPU_VAR_REV() to generate an in-place mask for the
variant field, ensuring the we match both v0r0 and v1r0.

Fixes: 3e32131abc311a5c ("arm64: Add workaround for Fujitsu A64FX erratum 010001")
Reported-by: "Okamoto, Takayuki" <tokamoto@jp.fujitsu.com>
Signed-off-by: Mark Rutland <mark.rutland@arm.com>
[catalin.marinas@arm.com: fixed the patch author]
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
1 parent 6a019a9
History
File Mode Size
ams
Kconfig -rw-r--r-- 9.3 KB
Makefile -rw-r--r-- 2.3 KB
adb-iop.c -rw-r--r-- 6.3 KB
adb.c -rw-r--r-- 19.9 KB
adbhid.c -rw-r--r-- 34.3 KB
ans-lcd.c -rw-r--r-- 4.0 KB
ans-lcd.h -rw-r--r-- 245 bytes
apm_emu.c -rw-r--r-- 3.1 KB
mac_hid.c -rw-r--r-- 6.1 KB
macio-adb.c -rw-r--r-- 6.5 KB
macio_asic.c -rw-r--r-- 20.4 KB
macio_sysfs.c -rw-r--r-- 1.8 KB
mediabay.c -rw-r--r-- 18.9 KB
rack-meter.c -rw-r--r-- 15.4 KB
smu.c -rw-r--r-- 30.5 KB
therm_adt746x.c -rw-r--r-- 16.3 KB
therm_windtunnel.c -rw-r--r-- 12.4 KB
via-cuda.c -rw-r--r-- 19.3 KB
via-macii.c -rw-r--r-- 13.6 KB
via-pmu-backlight.c -rw-r--r-- 4.5 KB
via-pmu-event.c -rw-r--r-- 2.1 KB
via-pmu-event.h -rw-r--r-- 216 bytes
via-pmu-led.c -rw-r--r-- 3.1 KB
via-pmu.c -rw-r--r-- 63.6 KB
windfarm.h -rw-r--r-- 4.1 KB
windfarm_ad7417_sensor.c -rw-r--r-- 7.6 KB
windfarm_core.c -rw-r--r-- 10.3 KB
windfarm_cpufreq_clamp.c -rw-r--r-- 2.1 KB
windfarm_fcu_controls.c -rw-r--r-- 14.0 KB
windfarm_lm75_sensor.c -rw-r--r-- 4.0 KB
windfarm_lm87_sensor.c -rw-r--r-- 4.0 KB
windfarm_max6690_sensor.c -rw-r--r-- 3.1 KB
windfarm_mpu.h -rw-r--r-- 3.7 KB
windfarm_pid.c -rw-r--r-- 3.7 KB
windfarm_pid.h -rw-r--r-- 2.7 KB
windfarm_pm112.c -rw-r--r-- 18.0 KB
windfarm_pm121.c -rw-r--r-- 25.0 KB
windfarm_pm72.c -rw-r--r-- 20.5 KB
windfarm_pm81.c -rw-r--r-- 21.2 KB
windfarm_pm91.c -rw-r--r-- 18.0 KB
windfarm_rm31.c -rw-r--r-- 17.6 KB
windfarm_smu_controls.c -rw-r--r-- 8.0 KB
windfarm_smu_sat.c -rw-r--r-- 8.1 KB
windfarm_smu_sensors.c -rw-r--r-- 11.3 KB

back to top