[PATCH 0/5] LoongArch, MIPS: Unify Loongson IOCSR handling

Jiaxun Yang posted 5 patches 2 months, 3 weeks ago
There is a newer version of this series
MAINTAINERS                                        |   1 +
arch/loongarch/include/asm/cpu-features.h          |   2 +-
arch/loongarch/include/asm/cpu.h                   |   4 +-
arch/loongarch/include/asm/loongarch.h             |  90 ----------------
arch/loongarch/kernel/cpu-probe.c                  | 111 ++++++++++++--------
arch/loongarch/kernel/relocate_kernel.S            |   5 +-
arch/loongarch/kernel/smp.c                        |  23 +++--
.../include/asm/mach-loongson64/loongson_regs.h    |  58 +++--------
arch/mips/kvm/vz.c                                 |   2 +-
arch/mips/loongson64/smp.c                         |  44 ++++----
drivers/cpufreq/loongson3_cpufreq.c                |  10 +-
drivers/irqchip/irq-loongarch-avec.c               |   5 +-
drivers/irqchip/irq-loongson-eiointc.c             |   5 +-
drivers/platform/mips/cpu_hwmon.c                  |   7 +-
include/linux/loongson/iocsr.h                     | 113 +++++++++++++++++++++
15 files changed, 256 insertions(+), 224 deletions(-)
[PATCH 0/5] LoongArch, MIPS: Unify Loongson IOCSR handling
Posted by Jiaxun Yang 2 months, 3 weeks ago
Hi folks,

This series unfied LoongArch and MIPS's IOCSR functions and
macros so they will expose same interface to arch-indenpendent
drivers.

This can reduce code deuplication, and also help my unifed IPI driver
and MIPS extio driver effort.

This is touching many sub-systems in once so might be hard to merge.

Huacai, can you apply first three patch via loongarch-next tree.
For last two patch maybe better merge them via a second PR after
all subsystem PRs merged.

Please review.
Thanks

Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
---
Jiaxun Yang (5):
      LoongArch: Rename cpu_has_csr as cpu_has_iocsr
      LoongArch: Probe more CPU features from CPUCFG
      LoongArch: cpu-probe: Move IOCSR probing out of cpu_probe_common
      LoongArch: Extract IOCSR definitions to standalone header
      MIPS: Loongson64: Use shared IOCSR header

 MAINTAINERS                                        |   1 +
 arch/loongarch/include/asm/cpu-features.h          |   2 +-
 arch/loongarch/include/asm/cpu.h                   |   4 +-
 arch/loongarch/include/asm/loongarch.h             |  90 ----------------
 arch/loongarch/kernel/cpu-probe.c                  | 111 ++++++++++++--------
 arch/loongarch/kernel/relocate_kernel.S            |   5 +-
 arch/loongarch/kernel/smp.c                        |  23 +++--
 .../include/asm/mach-loongson64/loongson_regs.h    |  58 +++--------
 arch/mips/kvm/vz.c                                 |   2 +-
 arch/mips/loongson64/smp.c                         |  44 ++++----
 drivers/cpufreq/loongson3_cpufreq.c                |  10 +-
 drivers/irqchip/irq-loongarch-avec.c               |   5 +-
 drivers/irqchip/irq-loongson-eiointc.c             |   5 +-
 drivers/platform/mips/cpu_hwmon.c                  |   7 +-
 include/linux/loongson/iocsr.h                     | 113 +++++++++++++++++++++
 15 files changed, 256 insertions(+), 224 deletions(-)
---
base-commit: 9aaeb87ce1e966169a57f53a02ba05b30880ffb8
change-id: 20240906-iocsr-829075458511

Best regards,
-- 
Jiaxun Yang <jiaxun.yang@flygoat.com>
Re: [PATCH 0/5] LoongArch, MIPS: Unify Loongson IOCSR handling
Posted by Huacai Chen 2 months, 3 weeks ago
Hi, Jiaxun,

On Sat, Sep 7, 2024 at 6:17 PM Jiaxun Yang <jiaxun.yang@flygoat.com> wrote:
>
> Hi folks,
>
> This series unfied LoongArch and MIPS's IOCSR functions and
> macros so they will expose same interface to arch-indenpendent
> drivers.
>
> This can reduce code deuplication, and also help my unifed IPI driver
> and MIPS extio driver effort.
>
> This is touching many sub-systems in once so might be hard to merge.
>
> Huacai, can you apply first three patch via loongarch-next tree.
> For last two patch maybe better merge them via a second PR after
> all subsystem PRs merged.
The problem is I'm not sure whether IOCSR registers are compatible in
all Loongson processors.

Huacai

>
> Please review.
> Thanks
>
> Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
> ---
> Jiaxun Yang (5):
>       LoongArch: Rename cpu_has_csr as cpu_has_iocsr
>       LoongArch: Probe more CPU features from CPUCFG
>       LoongArch: cpu-probe: Move IOCSR probing out of cpu_probe_common
>       LoongArch: Extract IOCSR definitions to standalone header
>       MIPS: Loongson64: Use shared IOCSR header
>
>  MAINTAINERS                                        |   1 +
>  arch/loongarch/include/asm/cpu-features.h          |   2 +-
>  arch/loongarch/include/asm/cpu.h                   |   4 +-
>  arch/loongarch/include/asm/loongarch.h             |  90 ----------------
>  arch/loongarch/kernel/cpu-probe.c                  | 111 ++++++++++++--------
>  arch/loongarch/kernel/relocate_kernel.S            |   5 +-
>  arch/loongarch/kernel/smp.c                        |  23 +++--
>  .../include/asm/mach-loongson64/loongson_regs.h    |  58 +++--------
>  arch/mips/kvm/vz.c                                 |   2 +-
>  arch/mips/loongson64/smp.c                         |  44 ++++----
>  drivers/cpufreq/loongson3_cpufreq.c                |  10 +-
>  drivers/irqchip/irq-loongarch-avec.c               |   5 +-
>  drivers/irqchip/irq-loongson-eiointc.c             |   5 +-
>  drivers/platform/mips/cpu_hwmon.c                  |   7 +-
>  include/linux/loongson/iocsr.h                     | 113 +++++++++++++++++++++
>  15 files changed, 256 insertions(+), 224 deletions(-)
> ---
> base-commit: 9aaeb87ce1e966169a57f53a02ba05b30880ffb8
> change-id: 20240906-iocsr-829075458511
>
> Best regards,
> --
> Jiaxun Yang <jiaxun.yang@flygoat.com>
>