Skip to content

Commit 36c602d

Browse files
anderssonwilldeacon
authored andcommitted
arm64: cpufeature: Enable Qualcomm Falkor errata 1009 for Kryo
The Kryo cores share errata 1009 with Falkor, so add their model definitions and enable it for them as well. Signed-off-by: Bjorn Andersson <[email protected]> [will: Update entry in silicon-errata.rst] Signed-off-by: Will Deacon <[email protected]>
1 parent d4af3c4 commit 36c602d

File tree

2 files changed

+15
-7
lines changed

2 files changed

+15
-7
lines changed

Documentation/arm64/silicon-errata.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ stable kernels.
126126
+----------------+-----------------+-----------------+-----------------------------+
127127
| Qualcomm Tech. | Kryo/Falkor v1 | E1003 | QCOM_FALKOR_ERRATUM_1003 |
128128
+----------------+-----------------+-----------------+-----------------------------+
129-
| Qualcomm Tech. | Falkor v1 | E1009 | QCOM_FALKOR_ERRATUM_1009 |
129+
| Qualcomm Tech. | Kryo/Falkor v1 | E1009 | QCOM_FALKOR_ERRATUM_1009 |
130130
+----------------+-----------------+-----------------+-----------------------------+
131131
| Qualcomm Tech. | QDF2400 ITS | E0065 | QCOM_QDF2400_ERRATUM_0065 |
132132
+----------------+-----------------+-----------------+-----------------------------+

arch/arm64/kernel/cpu_errata.c

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -659,17 +659,23 @@ static const struct midr_range arm64_harden_el2_vectors[] = {
659659
#endif
660660

661661
#ifdef CONFIG_ARM64_WORKAROUND_REPEAT_TLBI
662-
663-
static const struct midr_range arm64_repeat_tlbi_cpus[] = {
662+
static const struct arm64_cpu_capabilities arm64_repeat_tlbi_list[] = {
664663
#ifdef CONFIG_QCOM_FALKOR_ERRATUM_1009
665-
MIDR_RANGE(MIDR_QCOM_FALKOR_V1, 0, 0, 0, 0),
664+
{
665+
ERRATA_MIDR_REV(MIDR_QCOM_FALKOR_V1, 0, 0)
666+
},
667+
{
668+
.midr_range.model = MIDR_QCOM_KRYO,
669+
.matches = is_kryo_midr,
670+
},
666671
#endif
667672
#ifdef CONFIG_ARM64_ERRATUM_1286807
668-
MIDR_RANGE(MIDR_CORTEX_A76, 0, 0, 3, 0),
673+
{
674+
ERRATA_MIDR_RANGE(MIDR_CORTEX_A76, 0, 0, 3, 0),
675+
},
669676
#endif
670677
{},
671678
};
672-
673679
#endif
674680

675681
#ifdef CONFIG_CAVIUM_ERRATUM_27456
@@ -825,7 +831,9 @@ const struct arm64_cpu_capabilities arm64_errata[] = {
825831
{
826832
.desc = "Qualcomm erratum 1009, ARM erratum 1286807",
827833
.capability = ARM64_WORKAROUND_REPEAT_TLBI,
828-
ERRATA_MIDR_RANGE_LIST(arm64_repeat_tlbi_cpus),
834+
.type = ARM64_CPUCAP_LOCAL_CPU_ERRATUM,
835+
.matches = cpucap_multi_entry_cap_matches,
836+
.match_list = arm64_repeat_tlbi_list,
829837
},
830838
#endif
831839
#ifdef CONFIG_ARM64_ERRATUM_858921

0 commit comments

Comments
 (0)