Commit 14567ba4 authored by Mark Rutland's avatar Mark Rutland Committed by Catalin Marinas

arm64: Rename SVE/SME cpu_enable functions

The arm64_cpu_capabilities::cpu_enable() callbacks for SVE, SME, SME2,
and FA64 are named with an unusual "${feature}_kernel_enable" pattern
rather than the much more common "cpu_enable_${feature}". Now that we
only use these as cpu_enable() callbacks, it would be nice to have them
match the usual scheme.

This patch renames the cpu_enable() callbacks to match this scheme. At
the same time, the comment above cpu_enable_sve() is removed for
consistency with the other cpu_enable() callbacks.

There should be no functional change as a result of this patch.
Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
Reviewed-by: default avatarMark Brown <broonie@kernel.org>
Cc: Suzuki K Poulose <suzuki.poulose@arm.com>
Cc: Will Deacon <will@kernel.org>
Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
parent 90772291
...@@ -149,10 +149,10 @@ extern void sme_save_state(void *state, int zt); ...@@ -149,10 +149,10 @@ extern void sme_save_state(void *state, int zt);
extern void sme_load_state(void const *state, int zt); extern void sme_load_state(void const *state, int zt);
struct arm64_cpu_capabilities; struct arm64_cpu_capabilities;
extern void sve_kernel_enable(const struct arm64_cpu_capabilities *__unused); extern void cpu_enable_sve(const struct arm64_cpu_capabilities *__unused);
extern void sme_kernel_enable(const struct arm64_cpu_capabilities *__unused); extern void cpu_enable_sme(const struct arm64_cpu_capabilities *__unused);
extern void sme2_kernel_enable(const struct arm64_cpu_capabilities *__unused); extern void cpu_enable_sme2(const struct arm64_cpu_capabilities *__unused);
extern void fa64_kernel_enable(const struct arm64_cpu_capabilities *__unused); extern void cpu_enable_fa64(const struct arm64_cpu_capabilities *__unused);
extern u64 read_zcr_features(void); extern u64 read_zcr_features(void);
extern u64 read_smcr_features(void); extern u64 read_smcr_features(void);
......
...@@ -2425,7 +2425,7 @@ static const struct arm64_cpu_capabilities arm64_features[] = { ...@@ -2425,7 +2425,7 @@ static const struct arm64_cpu_capabilities arm64_features[] = {
.desc = "Scalable Vector Extension", .desc = "Scalable Vector Extension",
.type = ARM64_CPUCAP_SYSTEM_FEATURE, .type = ARM64_CPUCAP_SYSTEM_FEATURE,
.capability = ARM64_SVE, .capability = ARM64_SVE,
.cpu_enable = sve_kernel_enable, .cpu_enable = cpu_enable_sve,
.matches = has_cpuid_feature, .matches = has_cpuid_feature,
ARM64_CPUID_FIELDS(ID_AA64PFR0_EL1, SVE, IMP) ARM64_CPUID_FIELDS(ID_AA64PFR0_EL1, SVE, IMP)
}, },
...@@ -2678,7 +2678,7 @@ static const struct arm64_cpu_capabilities arm64_features[] = { ...@@ -2678,7 +2678,7 @@ static const struct arm64_cpu_capabilities arm64_features[] = {
.type = ARM64_CPUCAP_SYSTEM_FEATURE, .type = ARM64_CPUCAP_SYSTEM_FEATURE,
.capability = ARM64_SME, .capability = ARM64_SME,
.matches = has_cpuid_feature, .matches = has_cpuid_feature,
.cpu_enable = sme_kernel_enable, .cpu_enable = cpu_enable_sme,
ARM64_CPUID_FIELDS(ID_AA64PFR1_EL1, SME, IMP) ARM64_CPUID_FIELDS(ID_AA64PFR1_EL1, SME, IMP)
}, },
/* FA64 should be sorted after the base SME capability */ /* FA64 should be sorted after the base SME capability */
...@@ -2687,7 +2687,7 @@ static const struct arm64_cpu_capabilities arm64_features[] = { ...@@ -2687,7 +2687,7 @@ static const struct arm64_cpu_capabilities arm64_features[] = {
.type = ARM64_CPUCAP_SYSTEM_FEATURE, .type = ARM64_CPUCAP_SYSTEM_FEATURE,
.capability = ARM64_SME_FA64, .capability = ARM64_SME_FA64,
.matches = has_cpuid_feature, .matches = has_cpuid_feature,
.cpu_enable = fa64_kernel_enable, .cpu_enable = cpu_enable_fa64,
ARM64_CPUID_FIELDS(ID_AA64SMFR0_EL1, FA64, IMP) ARM64_CPUID_FIELDS(ID_AA64SMFR0_EL1, FA64, IMP)
}, },
{ {
...@@ -2695,7 +2695,7 @@ static const struct arm64_cpu_capabilities arm64_features[] = { ...@@ -2695,7 +2695,7 @@ static const struct arm64_cpu_capabilities arm64_features[] = {
.type = ARM64_CPUCAP_SYSTEM_FEATURE, .type = ARM64_CPUCAP_SYSTEM_FEATURE,
.capability = ARM64_SME2, .capability = ARM64_SME2,
.matches = has_cpuid_feature, .matches = has_cpuid_feature,
.cpu_enable = sme2_kernel_enable, .cpu_enable = cpu_enable_sme2,
ARM64_CPUID_FIELDS(ID_AA64PFR1_EL1, SME, SME2) ARM64_CPUID_FIELDS(ID_AA64PFR1_EL1, SME, SME2)
}, },
#endif /* CONFIG_ARM64_SME */ #endif /* CONFIG_ARM64_SME */
......
...@@ -1160,11 +1160,7 @@ static void __init sve_efi_setup(void) ...@@ -1160,11 +1160,7 @@ static void __init sve_efi_setup(void)
panic("Cannot allocate percpu memory for EFI SVE save/restore"); panic("Cannot allocate percpu memory for EFI SVE save/restore");
} }
/* void cpu_enable_sve(const struct arm64_cpu_capabilities *__always_unused p)
* Enable SVE for EL1.
* Intended for use by the cpufeatures code during CPU boot.
*/
void sve_kernel_enable(const struct arm64_cpu_capabilities *__always_unused p)
{ {
write_sysreg(read_sysreg(CPACR_EL1) | CPACR_EL1_ZEN_EL1EN, CPACR_EL1); write_sysreg(read_sysreg(CPACR_EL1) | CPACR_EL1_ZEN_EL1EN, CPACR_EL1);
isb(); isb();
...@@ -1295,7 +1291,7 @@ static void sme_free(struct task_struct *task) ...@@ -1295,7 +1291,7 @@ static void sme_free(struct task_struct *task)
task->thread.sme_state = NULL; task->thread.sme_state = NULL;
} }
void sme_kernel_enable(const struct arm64_cpu_capabilities *__always_unused p) void cpu_enable_sme(const struct arm64_cpu_capabilities *__always_unused p)
{ {
/* Set priority for all PEs to architecturally defined minimum */ /* Set priority for all PEs to architecturally defined minimum */
write_sysreg_s(read_sysreg_s(SYS_SMPRI_EL1) & ~SMPRI_EL1_PRIORITY_MASK, write_sysreg_s(read_sysreg_s(SYS_SMPRI_EL1) & ~SMPRI_EL1_PRIORITY_MASK,
...@@ -1310,7 +1306,7 @@ void sme_kernel_enable(const struct arm64_cpu_capabilities *__always_unused p) ...@@ -1310,7 +1306,7 @@ void sme_kernel_enable(const struct arm64_cpu_capabilities *__always_unused p)
isb(); isb();
} }
void sme2_kernel_enable(const struct arm64_cpu_capabilities *__always_unused p) void cpu_enable_sme2(const struct arm64_cpu_capabilities *__always_unused p)
{ {
/* This must be enabled after SME */ /* This must be enabled after SME */
BUILD_BUG_ON(ARM64_SME2 <= ARM64_SME); BUILD_BUG_ON(ARM64_SME2 <= ARM64_SME);
...@@ -1320,7 +1316,7 @@ void sme2_kernel_enable(const struct arm64_cpu_capabilities *__always_unused p) ...@@ -1320,7 +1316,7 @@ void sme2_kernel_enable(const struct arm64_cpu_capabilities *__always_unused p)
SYS_SMCR_EL1); SYS_SMCR_EL1);
} }
void fa64_kernel_enable(const struct arm64_cpu_capabilities *__always_unused p) void cpu_enable_fa64(const struct arm64_cpu_capabilities *__always_unused p)
{ {
/* This must be enabled after SME */ /* This must be enabled after SME */
BUILD_BUG_ON(ARM64_SME_FA64 <= ARM64_SME); BUILD_BUG_ON(ARM64_SME_FA64 <= ARM64_SME);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment