From: "Andreas Färber" <afaerber@suse.de> To: linux-realtek-soc@lists.infradead.org Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, "Andreas Färber" <afaerber@suse.de>, "Thomas Gleixner" <tglx@linutronix.de>, "Jason Cooper" <jason@lakedaemon.net>, "Marc Zyngier" <maz@kernel.org>, devicetree@vger.kernel.org, "Andrew Lunn" <andrew@lunn.ch>, "Aleix Roca Nonell" <kernelrocks@gmail.com>, "James Tai" <james.tai@realtek.com> Subject: [PATCH v5 0/9] ARM: Realtek RTD1195/RTD1295/RTD1395 IRQ mux Date: Thu, 21 Nov 2019 06:01:59 +0100 [thread overview] Message-ID: <20191121050208.11324-1-afaerber@suse.de> (raw) Hello, This series adds two IRQ muxes for the Realtek RTD1195, RTD1295 and RTD1395 SoC families. The implementation is based on register offsets seen in the vendor DT, split up into two separate nodes, as well as code from QNAP's rtk119x and Synology's RTD1293/96 GPL code dumps and Banana Bi W2/M4 BSP repositories. v5 cleans up mask/unmask, ack and naming. From /proc/interrupts on RTD1195: 24: 158 iso 2 Edge ttyS0 From /proc/interrupts on RTD1395: 9: 110 0 0 0 iso 2 Edge ttyS0 The chip name now no longer overflows the columns, but irq type is still wrong. @Realtek: Patch 8/9 contains a question about RTD1395. More experimental patches at: https://github.com/afaerber/linux/commits/rtd1295-next Have a lot of fun! Cheers, Andreas v4 -> v5: * Renamed enable/disable to unmask/mask (Marc) * Factored out ack (Marc) * Clear all interrupts * Mapped RTD1195 WDOG_NMI * Added and mapped RTD1295 WDOG_NMI * Suppress mapping NMIs and reserved bits (Marc) * Drop mask checks in mask/unmask (Marc) * Drop mask check in interrupt handler * Renamed RTD1295 misc bits with MIS_ for consistency * Renamed RTD1395 misc bits from MISC_ to MIS_ for consistency * Renamed irq_chip to distinguish iso vs. misc * Implemented .irq_get_irqchip_state v3 -> v4: * Drop no-op .irq_set_affinity callback (Thomas) * Disable all interrupts (James) * Updated SPDX-License-identifier * Use tabular formatting (Thomas) * Adopt different braces style (Thomas) * Use raw_spinlock_t (Thomas) * Shortened callback name (Thomas) * Fixed of_iomap() error handling * Don't mask unmapped NMIs * Cache SCPU_INT_EN (Thomas) * Renamed binding and source files * Dropped UART1/UART2 TO interrupts * Expanded commit messages * Added RTD1395 patches v2 -> v3: * Rebased, adding nodes to rtd129x.dtsi instead of rtd1295.dtsi * Adopted {readl,writel}_relaxed() (Marc) * Adopted spin_lock_irqsave() (Marc) * Implemented RTD1195 * Implemented mapping for non-linear bits such as i2c3 v1 -> v2: * Rebased, avoiding dependency on reset series for DT nodes * Don't forward set_affinity to GIC (Marc) * Added more spinlocks (Marc) * Code cleanups * Investigated quirk * Fixed spinlock initialization (Andrew) Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Jason Cooper <jason@lakedaemon.net> Cc: Marc Zyngier <maz@kernel.org> Cc: devicetree@vger.kernel.org Cc: Andrew Lunn <andrew@lunn.ch> Cc: Aleix Roca Nonell <kernelrocks@gmail.com> Cc: James Tai <james.tai@realtek.com> Andreas Färber (9): dt-bindings: interrupt-controller: Add Realtek RTD1195/RTD1295 mux irqchip: Add Realtek RTD1295 mux driver irqchip: rtd1195-mux: Implement irq_get_irqchip_state arm64: dts: realtek: rtd129x: Add irq muxes and UART interrupts irqchip: rtd1195-mux: Add RTD1195 definitions ARM: dts: rtd1195: Add irq muxes and UART interrupts dt-bindings: interrupt-controller: rtd1195-mux: Add RTD1395 irqchip: rtd1195-mux: Add RTD1395 definitions arm64: dts: realtek: rtd139x: Add irq muxes and UART interrupts .../interrupt-controller/realtek,rtd1195-mux.yaml | 55 +++ arch/arm/boot/dts/rtd1195.dtsi | 20 + arch/arm64/boot/dts/realtek/rtd129x.dtsi | 22 + arch/arm64/boot/dts/realtek/rtd139x.dtsi | 22 + drivers/irqchip/Makefile | 1 + drivers/irqchip/irq-rtd1195-mux.c | 512 +++++++++++++++++++++ 6 files changed, 632 insertions(+) create mode 100644 Documentation/devicetree/bindings/interrupt-controller/realtek,rtd1195-mux.yaml create mode 100644 drivers/irqchip/irq-rtd1195-mux.c -- 2.16.4
WARNING: multiple messages have this Message-ID (diff)
From: "Andreas Färber" <afaerber@suse.de> To: linux-realtek-soc@lists.infradead.org Cc: devicetree@vger.kernel.org, "James Tai" <james.tai@realtek.com>, "Jason Cooper" <jason@lakedaemon.net>, "Andrew Lunn" <andrew@lunn.ch>, "Marc Zyngier" <maz@kernel.org>, linux-kernel@vger.kernel.org, "Thomas Gleixner" <tglx@linutronix.de>, "Andreas Färber" <afaerber@suse.de>, linux-arm-kernel@lists.infradead.org, "Aleix Roca Nonell" <kernelrocks@gmail.com> Subject: [PATCH v5 0/9] ARM: Realtek RTD1195/RTD1295/RTD1395 IRQ mux Date: Thu, 21 Nov 2019 06:01:59 +0100 [thread overview] Message-ID: <20191121050208.11324-1-afaerber@suse.de> (raw) Hello, This series adds two IRQ muxes for the Realtek RTD1195, RTD1295 and RTD1395 SoC families. The implementation is based on register offsets seen in the vendor DT, split up into two separate nodes, as well as code from QNAP's rtk119x and Synology's RTD1293/96 GPL code dumps and Banana Bi W2/M4 BSP repositories. v5 cleans up mask/unmask, ack and naming. From /proc/interrupts on RTD1195: 24: 158 iso 2 Edge ttyS0 From /proc/interrupts on RTD1395: 9: 110 0 0 0 iso 2 Edge ttyS0 The chip name now no longer overflows the columns, but irq type is still wrong. @Realtek: Patch 8/9 contains a question about RTD1395. More experimental patches at: https://github.com/afaerber/linux/commits/rtd1295-next Have a lot of fun! Cheers, Andreas v4 -> v5: * Renamed enable/disable to unmask/mask (Marc) * Factored out ack (Marc) * Clear all interrupts * Mapped RTD1195 WDOG_NMI * Added and mapped RTD1295 WDOG_NMI * Suppress mapping NMIs and reserved bits (Marc) * Drop mask checks in mask/unmask (Marc) * Drop mask check in interrupt handler * Renamed RTD1295 misc bits with MIS_ for consistency * Renamed RTD1395 misc bits from MISC_ to MIS_ for consistency * Renamed irq_chip to distinguish iso vs. misc * Implemented .irq_get_irqchip_state v3 -> v4: * Drop no-op .irq_set_affinity callback (Thomas) * Disable all interrupts (James) * Updated SPDX-License-identifier * Use tabular formatting (Thomas) * Adopt different braces style (Thomas) * Use raw_spinlock_t (Thomas) * Shortened callback name (Thomas) * Fixed of_iomap() error handling * Don't mask unmapped NMIs * Cache SCPU_INT_EN (Thomas) * Renamed binding and source files * Dropped UART1/UART2 TO interrupts * Expanded commit messages * Added RTD1395 patches v2 -> v3: * Rebased, adding nodes to rtd129x.dtsi instead of rtd1295.dtsi * Adopted {readl,writel}_relaxed() (Marc) * Adopted spin_lock_irqsave() (Marc) * Implemented RTD1195 * Implemented mapping for non-linear bits such as i2c3 v1 -> v2: * Rebased, avoiding dependency on reset series for DT nodes * Don't forward set_affinity to GIC (Marc) * Added more spinlocks (Marc) * Code cleanups * Investigated quirk * Fixed spinlock initialization (Andrew) Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Jason Cooper <jason@lakedaemon.net> Cc: Marc Zyngier <maz@kernel.org> Cc: devicetree@vger.kernel.org Cc: Andrew Lunn <andrew@lunn.ch> Cc: Aleix Roca Nonell <kernelrocks@gmail.com> Cc: James Tai <james.tai@realtek.com> Andreas Färber (9): dt-bindings: interrupt-controller: Add Realtek RTD1195/RTD1295 mux irqchip: Add Realtek RTD1295 mux driver irqchip: rtd1195-mux: Implement irq_get_irqchip_state arm64: dts: realtek: rtd129x: Add irq muxes and UART interrupts irqchip: rtd1195-mux: Add RTD1195 definitions ARM: dts: rtd1195: Add irq muxes and UART interrupts dt-bindings: interrupt-controller: rtd1195-mux: Add RTD1395 irqchip: rtd1195-mux: Add RTD1395 definitions arm64: dts: realtek: rtd139x: Add irq muxes and UART interrupts .../interrupt-controller/realtek,rtd1195-mux.yaml | 55 +++ arch/arm/boot/dts/rtd1195.dtsi | 20 + arch/arm64/boot/dts/realtek/rtd129x.dtsi | 22 + arch/arm64/boot/dts/realtek/rtd139x.dtsi | 22 + drivers/irqchip/Makefile | 1 + drivers/irqchip/irq-rtd1195-mux.c | 512 +++++++++++++++++++++ 6 files changed, 632 insertions(+) create mode 100644 Documentation/devicetree/bindings/interrupt-controller/realtek,rtd1195-mux.yaml create mode 100644 drivers/irqchip/irq-rtd1195-mux.c -- 2.16.4 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2019-11-21 5:02 UTC|newest] Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-11-21 5:01 Andreas Färber [this message] 2019-11-21 5:01 ` [PATCH v5 0/9] ARM: Realtek RTD1195/RTD1295/RTD1395 IRQ mux Andreas Färber 2019-11-21 5:02 ` [PATCH v5 1/9] dt-bindings: interrupt-controller: Add Realtek RTD1195/RTD1295 mux Andreas Färber 2019-11-21 5:02 ` Andreas Färber 2019-11-21 5:02 ` [PATCH v5 2/9] irqchip: Add Realtek RTD1295 mux driver Andreas Färber 2019-11-21 5:02 ` Andreas Färber 2019-11-21 5:02 ` [PATCH v5 3/9] irqchip: rtd1195-mux: Implement irq_get_irqchip_state Andreas Färber 2019-11-21 5:02 ` Andreas Färber 2019-12-12 13:48 ` Marc Zyngier 2019-12-12 13:48 ` Marc Zyngier 2019-11-21 5:02 ` [PATCH v5 4/9] arm64: dts: realtek: rtd129x: Add irq muxes and UART interrupts Andreas Färber 2019-11-21 5:02 ` Andreas Färber 2019-11-21 5:02 ` [PATCH v5 5/9] irqchip: rtd1195-mux: Add RTD1195 definitions Andreas Färber 2019-11-21 5:02 ` Andreas Färber 2019-11-21 5:02 ` [PATCH v5 6/9] ARM: dts: rtd1195: Add irq muxes and UART interrupts Andreas Färber 2019-11-21 5:02 ` Andreas Färber 2019-11-21 5:02 ` [PATCH v5 7/9] dt-bindings: interrupt-controller: rtd1195-mux: Add RTD1395 Andreas Färber 2019-11-21 5:02 ` Andreas Färber 2019-11-22 23:34 ` Rob Herring 2019-11-22 23:34 ` Rob Herring 2019-11-21 5:02 ` [PATCH v5 8/9] irqchip: rtd1195-mux: Add RTD1395 definitions Andreas Färber 2019-11-21 5:02 ` Andreas Färber 2019-11-21 5:02 ` [PATCH v5 9/9] arm64: dts: realtek: rtd139x: Add irq muxes and UART interrupts Andreas Färber 2019-11-21 5:02 ` Andreas Färber
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20191121050208.11324-1-afaerber@suse.de \ --to=afaerber@suse.de \ --cc=andrew@lunn.ch \ --cc=devicetree@vger.kernel.org \ --cc=james.tai@realtek.com \ --cc=jason@lakedaemon.net \ --cc=kernelrocks@gmail.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-realtek-soc@lists.infradead.org \ --cc=maz@kernel.org \ --cc=tglx@linutronix.de \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.