[PATCH V2 0/5] cpufreq: loongson3: Fix wrong behaviors on multi-node servers

Huacai Chen posted 5 patches 4 weeks, 1 day ago
drivers/cpufreq/Kconfig             |  1 +
drivers/cpufreq/loongson3_cpufreq.c | 72 ++++++++++++++++++++++++-------------
2 files changed, 48 insertions(+), 25 deletions(-)
[PATCH V2 0/5] cpufreq: loongson3: Fix wrong behaviors on multi-node servers
Posted by Huacai Chen 4 weeks, 1 day ago
Our server productions (e.g. Loongson-3D6000/3E6000) can have multiple
nodes in one package and SMC mailboxes are also per-node. However, the
current driver has wrong behaviors on multi-node servers, including: id
field in smc_message is too narrow, mutex is not per-node, IOCSR read/
write can only perform on the current node, etc. This series fix all the
above problems.

V1 -> V2:
1. Fix typos and add Fixes tags.
2. Fix loongson3_cpufreq_get() return values.
3. Use nid_to_addrbase() rather than hard code.
4. Guard some code with CONFIG_SMP to avoid build errors.

Hongliang Wang & Huacai Chen (5):
  cpufreq: loongson3: Make this drvier depend on MACH_LOONGSON64
  cpufreq: loongson3: Adjust the width of id and val in smc_message
  cpufreq: loongson3: Replace per-package mutex with per-node
  cpufreq: loongson3: Use global physical CPU ID in get/target callbacks
  cpufreq: loongson3: Replace IOCSR read/write with MMIO ones

Signed-off-by: Hongliang Wang <wanghongliang@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
---
 drivers/cpufreq/Kconfig             |  1 +
 drivers/cpufreq/loongson3_cpufreq.c | 72 ++++++++++++++++++++++++-------------
 2 files changed, 48 insertions(+), 25 deletions(-)
---
2.27.0
Re: [PATCH V2 0/5] cpufreq: loongson3: Fix wrong behaviors on multi-node servers
Posted by Zhongqiu Han 3 weeks, 4 days ago
On 8/28/2026 11:11 AM, Huacai Chen wrote:
> Our server productions (e.g. Loongson-3D6000/3E6000) can have multiple
> nodes in one package and SMC mailboxes are also per-node. However, the
> current driver has wrong behaviors on multi-node servers, including: id
> field in smc_message is too narrow, mutex is not per-node, IOCSR read/
> write can only perform on the current node, etc. This series fix all the
> above problems.
> 
> V1 -> V2:
> 1. Fix typos and add Fixes tags.
> 2. Fix loongson3_cpufreq_get() return values.
> 3. Use nid_to_addrbase() rather than hard code.
> 4. Guard some code with CONFIG_SMP to avoid build errors.
> 
> Hongliang Wang & Huacai Chen (5):
>    cpufreq: loongson3: Make this drvier depend on MACH_LOONGSON64
>    cpufreq: loongson3: Adjust the width of id and val in smc_message
>    cpufreq: loongson3: Replace per-package mutex with per-node
>    cpufreq: loongson3: Use global physical CPU ID in get/target callbacks
>    cpufreq: loongson3: Replace IOCSR read/write with MMIO ones
> 
> Signed-off-by: Hongliang Wang <wanghongliang@loongson.cn>
> Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
> ---
>   drivers/cpufreq/Kconfig             |  1 +
>   drivers/cpufreq/loongson3_cpufreq.c | 72 ++++++++++++++++++++++++-------------
>   2 files changed, 48 insertions(+), 25 deletions(-)

The whole series looks good to me.

Reviewed-by: Zhongqiu Han <zhongqiu.han@oss.qualcomm.com>

> ---
> 2.27.0
> 
> 


-- 
Thx and BRs,
Zhongqiu Han