Re: [PATCH] LoongArch: Fix wrong fpu version

From: Huacai Chen
Date: Thu Jun 23 2022 - 05:22:53 EST


Hi, Tiezhu,

On Sat, Jun 18, 2022 at 12:50 PM Tiezhu Yang <yangtiezhu@xxxxxxxxxxx> wrote:
>
> According to the configuration information accessible by the CPUCFG
> instruction in LoongArch Reference Manual [1], FP_ver is stored in
> bit [5: 3] of CPUCFG2, the current code to get fpu version is wrong,
> use CPUCFG2_FPVERS to fix it.
>
> [1] https://loongson.github.io/LoongArch-Documentation/LoongArch-Vol1-EN.html
>
> Fixes: 628c3bb40e9a ("LoongArch: Add boot and setup routines")
> Signed-off-by: Tiezhu Yang <yangtiezhu@xxxxxxxxxxx>
> ---
> arch/loongarch/kernel/cpu-probe.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/loongarch/kernel/cpu-probe.c b/arch/loongarch/kernel/cpu-probe.c
> index 6c87ea3..529ab8f4 100644
> --- a/arch/loongarch/kernel/cpu-probe.c
> +++ b/arch/loongarch/kernel/cpu-probe.c
> @@ -263,7 +263,7 @@ void cpu_probe(void)
>
> c->cputype = CPU_UNKNOWN;
> c->processor_id = read_cpucfg(LOONGARCH_CPUCFG0);
> - c->fpu_vers = (read_cpucfg(LOONGARCH_CPUCFG2) >> 3) & 0x3;
> + c->fpu_vers = (read_cpucfg(LOONGARCH_CPUCFG2) & CPUCFG2_FPVERS) >> 3;
Looks good to me, thanks.

Huacai
>
> c->fpu_csr0 = FPU_CSR_RN;
> c->fpu_mask = FPU_CSR_RSVD;
> --
> 2.1.0
>