Message ID | 20200112081416.722218-1-jiaxun.yang@flygoat.com (mailing list archive) |
---|---|
Headers | show |
Series | Modernize Loongson64 Machine | expand |
Hi, Jiaxun, On Sun, Jan 12, 2020 at 4:21 PM Jiaxun Yang <jiaxun.yang@flygoat.com> 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 >