Re: [PATCH v3 00/10] Modernize Loongson64 Machine

From: Huacai Chen
Date: Sun Jan 12 2020 - 22:32:57 EST


Hi, Jiaxun,

On Sun, Jan 12, 2020 at 4:21 PM Jiaxun Yang <jiaxun.yang@xxxxxxxxxxx> wrote:
>
> Loongson have a long history of contributing their code to mainline kernel.
> However, it seems like recent years, they are focusing on maintain a kernel by themselves
> rather than contribute there code to the community.
>
> Kernel is progress rapidly too. Their code slept in mainline for a long peroid without proper
> maintainance and became outdated.
>
> This patchset brings modern DeviceTree and irqchip support to the Loongson64 machine, and leaves
> Loongson 2e/f alone since they are too legacy to touch.
I think you can provide a irqchip hierarchy for Loongson3 here. i.e.,
the flowchart of cpuintc, iointc, htpic, i8259, and so on.

Huacai

>
> PCI and some legacy I/O device will be converted later, together with LS7A PCH support.
>
> v1:
> - dt-bindings fixup according to Rob's comments
> - irqchip fixup according to Marc's comments
> - ls3-iointc: Make Core&IP map per-IRQ
> - Regenerate kconfigs
> - Typo & style improvements
>
> v2:
> - dt-bindings: Fix IOINTC, collect Rob's review tag
> - dtbs: Drop CPU Node, merge different ways according to Huacai and Paul's comments
>
> v3:
> - Split code have been merged
> - Fix IOINTC binding to allow map any child IRQ to and parent
> - Convert "HTINTC" into "HTPIC", which mixed HT vectors processing and i8259
> - Naming style fix according to Huacai's suggestions
>
> Jiaxun Yang (10):
> dt-bindings: Document loongson vendor-prefix
> irqchip: Add driver for Loongson I/O interrupt controller
> dt-bindings: interrupt-controller: Add Loongson IOINTC
> irqchip: Add driver for Loongson-3 HyperTransport PIC controller
> dt-bindings: interrupt-controller: Add Loongson-3 HTPIC
> irqchip: mips-cpu: Convert to simple domain
> MIPS: Loongson64: Drop legacy IRQ code
> dt-bindings: mips: Add loongson boards
> MIPS: Loongson64: Add generic dts
> MIPS: Loongson64: Load built-in dtbs
>
> .../interrupt-controller/loongson,htpic.yaml | 59 +++
> .../interrupt-controller/loongson,iointc.yaml | 92 +++++
> .../bindings/mips/loongson/devices.yaml | 29 ++
> .../devicetree/bindings/vendor-prefixes.yaml | 2 +
> arch/mips/Kconfig | 6 +-
> arch/mips/boot/dts/Makefile | 1 +
> arch/mips/boot/dts/loongson/Makefile | 5 +
> .../boot/dts/loongson/loongson3-package.dtsi | 62 ++++
> .../dts/loongson/loongson3_4core_rs780e.dts | 25 ++
> .../dts/loongson/loongson3_8core_rs780e.dts | 25 ++
> arch/mips/boot/dts/loongson/rs780e-pch.dtsi | 26 ++
> arch/mips/include/asm/i8259.h | 1 +
> .../include/asm/mach-loongson64/boot_param.h | 2 +
> .../asm/mach-loongson64/builtin_dtbs.h | 13 +
> arch/mips/include/asm/mach-loongson64/irq.h | 32 +-
> .../include/asm/mach-loongson64/loongson.h | 1 +
> arch/mips/loongson64/Makefile | 2 +-
> arch/mips/loongson64/env.c | 23 ++
> arch/mips/loongson64/init.c | 6 +
> arch/mips/loongson64/irq.c | 162 ---------
> arch/mips/loongson64/setup.c | 16 +
> arch/mips/loongson64/smp.c | 28 +-
> drivers/irqchip/Kconfig | 18 +
> drivers/irqchip/Makefile | 2 +
> drivers/irqchip/irq-i8259.c | 6 +-
> drivers/irqchip/irq-loongson-htpic.c | 147 ++++++++
> drivers/irqchip/irq-loongson-iointc.c | 338 ++++++++++++++++++
> drivers/irqchip/irq-mips-cpu.c | 2 +-
> 28 files changed, 915 insertions(+), 216 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/interrupt-controller/loongson,htpic.yaml
> create mode 100644 Documentation/devicetree/bindings/interrupt-controller/loongson,iointc.yaml
> create mode 100644 Documentation/devicetree/bindings/mips/loongson/devices.yaml
> create mode 100644 arch/mips/boot/dts/loongson/Makefile
> create mode 100644 arch/mips/boot/dts/loongson/loongson3-package.dtsi
> create mode 100644 arch/mips/boot/dts/loongson/loongson3_4core_rs780e.dts
> create mode 100644 arch/mips/boot/dts/loongson/loongson3_8core_rs780e.dts
> create mode 100644 arch/mips/boot/dts/loongson/rs780e-pch.dtsi
> create mode 100644 arch/mips/include/asm/mach-loongson64/builtin_dtbs.h
> delete mode 100644 arch/mips/loongson64/irq.c
> create mode 100644 drivers/irqchip/irq-loongson-htpic.c
> create mode 100644 drivers/irqchip/irq-loongson-iointc.c
>
> --
> 2.24.1
>