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
acpica
apei
arm64
dptf
nfit
pmic
x86
Kconfig -rw-r--r-- 18.9 KB
Makefile -rw-r--r-- 3.7 KB
ac.c -rw-r--r-- 11.7 KB
acpi_adxl.c -rw-r--r-- 4.7 KB
acpi_amba.c -rw-r--r-- 2.8 KB
acpi_apd.c -rw-r--r-- 6.2 KB
acpi_cmos_rtc.c -rw-r--r-- 2.1 KB
acpi_configfs.c -rw-r--r-- 6.5 KB
acpi_dbg.c -rw-r--r-- 18.0 KB
acpi_extlog.c -rw-r--r-- 8.7 KB
acpi_ipmi.c -rw-r--r-- 17.0 KB
acpi_lpat.c -rw-r--r-- 4.4 KB
acpi_lpit.c -rw-r--r-- 4.6 KB
acpi_lpss.c -rw-r--r-- 32.3 KB
acpi_memhotplug.c -rw-r--r-- 10.3 KB
acpi_pad.c -rw-r--r-- 12.5 KB
acpi_platform.c -rw-r--r-- 4.0 KB
acpi_pnp.c -rw-r--r-- 13.7 KB
acpi_processor.c -rw-r--r-- 17.8 KB
acpi_tad.c -rw-r--r-- 15.6 KB
acpi_video.c -rw-r--r-- 57.9 KB
acpi_watchdog.c -rw-r--r-- 4.5 KB
battery.c -rw-r--r-- 44.7 KB
bgrt.c -rw-r--r-- 3.0 KB
blacklist.c -rw-r--r-- 4.3 KB
bus.c -rw-r--r-- 33.8 KB
button.c -rw-r--r-- 17.8 KB
cm_sbs.c -rw-r--r-- 2.8 KB
container.c -rw-r--r-- 3.3 KB
cppc_acpi.c -rw-r--r-- 41.0 KB
custom_method.c -rw-r--r-- 2.0 KB
debugfs.c -rw-r--r-- 422 bytes
device_pm.c -rw-r--r-- 35.4 KB
device_sysfs.c -rw-r--r-- 16.6 KB
dock.c -rw-r--r-- 17.1 KB
ec.c -rw-r--r-- 57.1 KB
ec_sys.c -rw-r--r-- 3.2 KB
event.c -rw-r--r-- 4.3 KB
evged.c -rw-r--r-- 4.6 KB
fan.c -rw-r--r-- 10.6 KB
glue.c -rw-r--r-- 8.9 KB
hed.c -rw-r--r-- 2.3 KB
internal.h -rw-r--r-- 9.2 KB
ioapic.c -rw-r--r-- 6.1 KB
irq.c -rw-r--r-- 8.2 KB
numa.c -rw-r--r-- 12.8 KB
nvs.c -rw-r--r-- 4.6 KB
osi.c -rw-r--r-- 13.7 KB
osl.c -rw-r--r-- 42.4 KB
pci_irq.c -rw-r--r-- 14.1 KB
pci_link.c -rw-r--r-- 24.2 KB
pci_mcfg.c -rw-r--r-- 8.3 KB
pci_root.c -rw-r--r-- 25.6 KB
pci_slot.c -rw-r--r-- 5.1 KB
power.c -rw-r--r-- 23.1 KB
pptt.c -rw-r--r-- 20.5 KB
proc.c -rw-r--r-- 3.6 KB
processor_core.c -rw-r--r-- 9.1 KB
processor_driver.c -rw-r--r-- 8.8 KB
processor_idle.c -rw-r--r-- 38.6 KB
processor_pdc.c -rw-r--r-- 4.7 KB
processor_perflib.c -rw-r--r-- 20.1 KB
processor_thermal.c -rw-r--r-- 6.5 KB
processor_throttling.c -rw-r--r-- 31.6 KB
property.c -rw-r--r-- 35.2 KB
reboot.c -rw-r--r-- 1.7 KB
resource.c -rw-r--r-- 23.2 KB
sbs.c -rw-r--r-- 20.1 KB
sbshc.c -rw-r--r-- 7.2 KB
sbshc.h -rw-r--r-- 999 bytes
scan.c -rw-r--r-- 58.0 KB
sleep.c -rw-r--r-- 31.8 KB
sleep.h -rw-r--r-- 507 bytes
spcr.c -rw-r--r-- 6.0 KB
sysfs.c -rw-r--r-- 27.3 KB
tables.c -rw-r--r-- 21.5 KB
thermal.c -rw-r--r-- 32.0 KB
utils.c -rw-r--r-- 22.7 KB
video_detect.c -rw-r--r-- 12.5 KB
wakeup.c -rw-r--r-- 2.7 KB

back to top