2022-09-29 09:00:47

by 吕建民

[permalink] [raw]
Subject: [PATCH V2] LoongArch: Fix cpu name after s3/s4

On coming back from s3/s4, the cpu name will be overwritten
in cpu_probe path of seconary cpu, so we adjust the postion
of using cpu name existed in cpu hardware register, and only
use it while failing to get cpu name from SMBIOS.

Signed-off-by: Jianmin Lv <[email protected]>

diff --git a/arch/loongarch/kernel/cpu-probe.c b/arch/loongarch/kernel/cpu-probe.c
index 529ab8f44ec6..255a09876ef2 100644
--- a/arch/loongarch/kernel/cpu-probe.c
+++ b/arch/loongarch/kernel/cpu-probe.c
@@ -187,7 +187,9 @@ static inline void cpu_probe_loongson(struct cpuinfo_loongarch *c, unsigned int
uint64_t *vendor = (void *)(&cpu_full_name[VENDOR_OFFSET]);
uint64_t *cpuname = (void *)(&cpu_full_name[CPUNAME_OFFSET]);

- __cpu_full_name[cpu] = cpu_full_name;
+ if (!__cpu_full_name[cpu])
+ __cpu_full_name[cpu] = cpu_full_name;
+
*vendor = iocsr_read64(LOONGARCH_IOCSR_VENDOR);
*cpuname = iocsr_read64(LOONGARCH_IOCSR_CPUNAME);

--
2.31.1