[PATCH v4 00/14] MIPS: Support I6500 multi-cluster configuration

From: Aleksandar Rikalo
Date: Sat May 11 2024 - 06:44:01 EST


Taken from Paul Burton MIPS repo with minor changes from Chao-ying Fu.
Tested with 64r6el_defconfig on Boston board in 2 cluster/2 VPU and
1 cluster/4 VPU configurations.

v4:
- Re-base onto the master branch, with no functionality impact.
- Refactor MIPS FDC driver in the context of multicluster support.

v3:
- Add Reviewed-by: Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx> for the patch 02/12.
- Add the changes requested by Marc Zyngier for the 3/12 patch.
- Remove the patch 11/12 (a consequence of a discussion between Jiaxun Yang
and Marc Zyngier.
- Re-base onto the master branch, with no functionality impact.

v2:
- Apply correct Signed-off-by to avoid confusion.

Aleksandar Rikalo (3):
mips: Enable FDC on MIPS R6 platforms.
mips: Move FDC driver to a separate directory
mips: FDC driver refactor

Chao-ying Fu (1):
irqchip: mips-gic: Setup defaults in each cluster

Paul Burton (10):
MIPS: CPS: Add a couple of multi-cluster utility functions
MIPS: GIC: Generate redirect block accessors
irqchip: mips-gic: Introduce for_each_online_cpu_gic()
irqchip: mips-gic: Support multi-cluster in for_each_online_cpu_gic()
irqchip: mips-gic: Multi-cluster support
clocksource: mips-gic-timer: Always use cluster 0 counter as
clocksource
clocksource: mips-gic-timer: Enable counter when CPUs start
MIPS: pm-cps: Use per-CPU variables as per-CPU, not per-core
MIPS: CPS: Introduce struct cluster_boot_config
MIPS: CPS: Boot CPUs in secondary clusters

arch/mips/include/asm/mips-cm.h | 18 ++
arch/mips/include/asm/mips-cps.h | 38 +++
arch/mips/include/asm/mips-gic.h | 50 ++-
arch/mips/include/asm/smp-cps.h | 7 +-
arch/mips/kernel/asm-offsets.c | 3 +
arch/mips/kernel/cps-vec.S | 19 +-
arch/mips/kernel/mips-cm.c | 41 ++-
arch/mips/kernel/pm-cps.c | 35 ++-
arch/mips/kernel/smp-cps.c | 288 ++++++++++++++----
drivers/bus/Kconfig | 2 +-
drivers/clocksource/mips-gic-timer.c | 45 ++-
drivers/irqchip/Kconfig | 1 +
drivers/irqchip/irq-mips-gic.c | 276 ++++++++++++++---
drivers/tty/Makefile | 2 +-
drivers/tty/mips_fdc/Makefile | 4 +
drivers/tty/mips_fdc/ejtag-fdc-mips.c | 29 ++
.../ejtag-fdc.c} | 66 +---
drivers/tty/mips_fdc/ejtag-fdc.h | 55 ++++
18 files changed, 794 insertions(+), 185 deletions(-)
create mode 100644 drivers/tty/mips_fdc/Makefile
create mode 100644 drivers/tty/mips_fdc/ejtag-fdc-mips.c
rename drivers/tty/{mips_ejtag_fdc.c => mips_fdc/ejtag-fdc.c} (92%)
create mode 100644 drivers/tty/mips_fdc/ejtag-fdc.h

--
2.25.1