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
88pm80x_onkey.c -rw-r--r-- 4.2 KB
88pm860x_onkey.c -rw-r--r-- 4.0 KB
Kconfig -rw-r--r-- 25.4 KB
Makefile -rw-r--r-- 4.0 KB
ab8500-ponkey.c -rw-r--r-- 3.3 KB
ad714x-i2c.c -rw-r--r-- 2.6 KB
ad714x-spi.c -rw-r--r-- 2.7 KB
ad714x.c -rw-r--r-- 34.1 KB
ad714x.h -rw-r--r-- 1.2 KB
adxl34x-i2c.c -rw-r--r-- 4.0 KB
adxl34x-spi.c -rw-r--r-- 3.0 KB
adxl34x.c -rw-r--r-- 22.8 KB
adxl34x.h -rw-r--r-- 787 bytes
apanel.c -rw-r--r-- 7.5 KB
arizona-haptics.c -rw-r--r-- 5.3 KB
ati_remote2.c -rw-r--r-- 24.3 KB
atlas_btns.c -rw-r--r-- 4.2 KB
atmel_captouch.c -rw-r--r-- 7.4 KB
axp20x-pek.c -rw-r--r-- 10.4 KB
bma150.c -rw-r--r-- 15.9 KB
cm109.c -rw-r--r-- 24.4 KB
cma3000_d0x.c -rw-r--r-- 9.3 KB
cma3000_d0x.h -rw-r--r-- 1.2 KB
cma3000_d0x_i2c.c -rw-r--r-- 3.1 KB
cobalt_btns.c -rw-r--r-- 4.2 KB
cpcap-pwrbutton.c -rw-r--r-- 3.0 KB
da9052_onkey.c -rw-r--r-- 3.8 KB
da9055_onkey.c -rw-r--r-- 3.9 KB
da9063_onkey.c -rw-r--r-- 8.0 KB
dm355evm_keys.c -rw-r--r-- 7.3 KB
drv260x.c -rw-r--r-- 18.9 KB
drv2665.c -rw-r--r-- 8.0 KB
drv2667.c -rw-r--r-- 12.4 KB
e3x0-button.c -rw-r--r-- 3.7 KB
gp2ap002a00f.c -rw-r--r-- 6.0 KB
gpio-beeper.c -rw-r--r-- 2.8 KB
gpio_decoder.c -rw-r--r-- 3.6 KB
hisi_powerkey.c -rw-r--r-- 3.3 KB
hp_sdc_rtc.c -rw-r--r-- 19.6 KB
ideapad_slidebar.c -rw-r--r-- 8.2 KB
ims-pcu.c -rw-r--r-- 52.5 KB
ixp4xx-beeper.c -rw-r--r-- 4.0 KB
keyspan_remote.c -rw-r--r-- 15.1 KB
kxtj9.c -rw-r--r-- 15.3 KB
m68kspkr.c -rw-r--r-- 3.2 KB
max77693-haptic.c -rw-r--r-- 10.3 KB
max8925_onkey.c -rw-r--r-- 4.7 KB
max8997_haptic.c -rw-r--r-- 10.3 KB
mc13783-pwrbutton.c -rw-r--r-- 7.2 KB
mma8450.c -rw-r--r-- 5.5 KB
msm-vibrator.c -rw-r--r-- 6.9 KB
palmas-pwrbutton.c -rw-r--r-- 8.1 KB
pcap_keys.c -rw-r--r-- 3.1 KB
pcf50633-input.c -rw-r--r-- 3.0 KB
pcf8574_keypad.c -rw-r--r-- 4.5 KB
pcspkr.c -rw-r--r-- 2.9 KB
pm8941-pwrkey.c -rw-r--r-- 8.3 KB
pm8xxx-vibrator.c -rw-r--r-- 6.5 KB
pmic8xxx-pwrkey.c -rw-r--r-- 12.8 KB
powermate.c -rw-r--r-- 14.6 KB
pwm-beeper.c -rw-r--r-- 6.3 KB
pwm-vibra.c -rw-r--r-- 6.5 KB
rave-sp-pwrbutton.c -rw-r--r-- 2.2 KB
rb532_button.c -rw-r--r-- 2.6 KB
regulator-haptic.c -rw-r--r-- 6.5 KB
retu-pwrbutton.c -rw-r--r-- 2.3 KB
rk805-pwrkey.c -rw-r--r-- 2.6 KB
rotary_encoder.c -rw-r--r-- 8.5 KB
sc27xx-vibra.c -rw-r--r-- 3.8 KB
sgi_btns.c -rw-r--r-- 4.0 KB
sirfsoc-onkey.c -rw-r--r-- 5.3 KB
soc_button_array.c -rw-r--r-- 10.5 KB
sparcspkr.c -rw-r--r-- 7.9 KB
stpmic1_onkey.c -rw-r--r-- 5.0 KB
tps65218-pwrbutton.c -rw-r--r-- 4.2 KB
twl4030-pwrbutton.c -rw-r--r-- 3.2 KB
twl4030-vibra.c -rw-r--r-- 6.4 KB
twl6040-vibra.c -rw-r--r-- 10.0 KB
uinput.c -rw-r--r-- 24.5 KB
wistron_btns.c -rw-r--r-- 34.5 KB
wm831x-on.c -rw-r--r-- 3.8 KB
xen-kbdfront.c -rw-r--r-- 14.0 KB
yealink.c -rw-r--r-- 24.9 KB
yealink.h -rw-r--r-- 5.8 KB

back to top