From: Yao Zi <ziyao@disroot.org>
To: Huacai Chen <chenhuacai@kernel.org>
Cc: WANG Xuerui <kernel@xen0n.name>,
Thomas Gleixner <tglx@linutronix.de>,
Tianyang Zhang <zhangtianyang@loongson.cn>,
Jiaxun Yang <jiaxun.yang@flygoat.com>,
Jianmin Lv <lvjianmin@loongson.cn>,
loongarch@lists.linux.dev, linux-kernel@vger.kernel.org,
Mingcong Bai <jeffbai@aosc.io>,
Kexy Biscuit <kexybiscuit@aosc.io>
Subject: Re: [PATCH] LoongArch: Use a fallback CPU model when IOCSR-based model probing fails
Date: Thu, 1 May 2025 01:04:20 +0000 [thread overview]
Message-ID: <aBLIlNAWLbZ1hBv0@pie> (raw)
In-Reply-To: <CAAhV-H7t8NJYEA=JqSVVFPRZauuqc4pyj6bgNCDRjWcDqR2dqg@mail.gmail.com>
On Wed, Apr 30, 2025 at 03:48:25PM +0800, Huacai Chen wrote:
> Hi, Yao Zi,
>
> On Wed, Apr 30, 2025 at 1:41 PM Yao Zi <ziyao@disroot.org> wrote:
> >
> > Reading vendor and cpuname IOCSRs yields 0x258000fff00 instead of
> > human-readable model strings on Loongson 2K0300 SoC, which messes up
> > format of /proc/cpuinfo since it represents as an empty string.
> CPUNAME IOCSR is filled by firmware and readed by kernel. If you read
> some garbage, that means you need to modify your firmware.
Thanks for the hint, I'll take a look in my firmware instead.
> And if there is completely no CPUNAME register, you need to fill it by
> FDT, see init_cpu_fullname() in arch/loongarch/kernel/env.c.
>
> Huacai
Best regards,
Yao Zi
> >
> > Let's consider IOCSR-based model probing fails if the result model is an
> > empty string. A fallback model name is set in such cases.
> >
> > Signed-off-by: Yao Zi <ziyao@disroot.org>
> > ---
> > arch/loongarch/kernel/cpu-probe.c | 7 ++++---
> > 1 file changed, 4 insertions(+), 3 deletions(-)
> >
> > diff --git a/arch/loongarch/kernel/cpu-probe.c b/arch/loongarch/kernel/cpu-probe.c
> > index fedaa67cde41..785513d43696 100644
> > --- a/arch/loongarch/kernel/cpu-probe.c
> > +++ b/arch/loongarch/kernel/cpu-probe.c
> > @@ -270,12 +270,13 @@ static inline void cpu_probe_loongson(struct cpuinfo_loongarch *c, unsigned int
> > if (!cpu_has_iocsr)
> > return;
> >
> > - if (!__cpu_full_name[cpu])
> > - __cpu_full_name[cpu] = cpu_full_name;
> > -
> > *vendor = iocsr_read64(LOONGARCH_IOCSR_VENDOR);
> > *cpuname = iocsr_read64(LOONGARCH_IOCSR_CPUNAME);
> >
> > + if (!__cpu_full_name[cpu])
> > + __cpu_full_name[cpu] = cpu_full_name[0] ? cpu_full_name :
> > + "Loongson-Unknown";
> > +
> > config = iocsr_read32(LOONGARCH_IOCSR_FEATURES);
> > if (config & IOCSRF_CSRIPI)
> > c->options |= LOONGARCH_CPU_CSRIPI;
> > --
> > 2.49.0
> >
> >
prev parent reply other threads:[~2025-05-01 1:05 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-30 5:40 [PATCH] LoongArch: Use a fallback CPU model when IOCSR-based model probing fails Yao Zi
2025-04-30 7:48 ` Huacai Chen
2025-05-01 1:04 ` Yao Zi [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aBLIlNAWLbZ1hBv0@pie \
--to=ziyao@disroot.org \
--cc=chenhuacai@kernel.org \
--cc=jeffbai@aosc.io \
--cc=jiaxun.yang@flygoat.com \
--cc=kernel@xen0n.name \
--cc=kexybiscuit@aosc.io \
--cc=linux-kernel@vger.kernel.org \
--cc=loongarch@lists.linux.dev \
--cc=lvjianmin@loongson.cn \
--cc=tglx@linutronix.de \
--cc=zhangtianyang@loongson.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.