* [GIT PULL] irqchip updates for 5.10
@ 2020-10-10 12:30 Marc Zyngier
0 siblings, 0 replies; only message in thread
From: Marc Zyngier @ 2020-10-10 12:30 UTC (permalink / raw)
To: Thomas Gleixner
Cc: Alexandru Elisei, Anson Huang, Bjorn Andersson, Catalin Marinas,
Chris Paterson, Cristian Ciocaltea, Daniel Palmer, David Lechner,
Douglas Anderson, Grzegorz Jaszczyk, Guillaume Tucker, Haoyu Lv,
Huacai Chen, Krzysztof Kozlowski, Lad Prabhakar, Lee Jones,
Linus Walleij, Lokesh Vutla, Marek Szyprowski, Mark-PK Tsai,
Maulik Shah, Parthiban Nallathambi, Rob Herring, Roger Quadros,
Saravanan Sekar, Stephen Boyd, Suman Anna, Valentin Schneider,
YueHaibing, Zhen Lei, Thierry Reding, Jonathan Hunter,
Jason Cooper, kernel-team, linux-kernel
Hi Thomas,
This is the rather large set of irqchip updates for 5.10.
This time around, we have three new drivers (MStar, Owl SIRQ and
PRUSS), some cross-architecture updates (the arm/arm64 switch to
standard IRQs for IPIs and the corresponding changes to their primary
irqchip drivers), a number of fixes as the fallout from these updates
(the Tegra bug is tasty), some driver updates (QC PDC, WD APB ICTL,
GIC...), and a couple of mundane bug fixes.
Please pull,
M.
The following changes since commit f4d51dffc6c01a9e94650d95ce0104964f8ae822:
Linux 5.9-rc4 (2020-09-06 17:11:40 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git tags/irqchip-5.10
for you to fetch changes up to 63ea38a402213d8c9c16e58ee4901ff51bc8fe3c:
Merge branch 'irq/mstar' into irq/irqchip-next (2020-10-10 12:46:54 +0100)
----------------------------------------------------------------
irqchip updates for Linux 5.10
Core changes:
- Allow irq retriggering to follow a hierarchy
- Allow interrupt hierarchies to be trimmed at allocation time
- Allow interrupts to be hidden from /proc/interrupts (IPIs)
- Introduce stub for set_handle_irq() when !GENERIC_IRQ_MULTI_HANDLER
- New per-cpu IPI handling flow
Architecture changes:
- Move arm/arm64 IPI handling to the core interrupt code, removing
the home brewed accounting
Driver updates:
- New driver for the MStar (and more recently Mediatek) platforms
- New driver for the Actions Owl SIRQ controller
- New driver for the TI PRUSS infrastructure
- Wake-up support for the Qualcomm PDC controller
- Primary interrupt controller support for the Designware APB ICTL
- Convert the IPI code for GIC, GICv3, hip04, armada-270-xp and bcm2836
to using standard interrupts
- Improve GICv3 pseudo-NMI support to deal with both non-secure and secure
priorities on arm64
- Convert the GIC/GICv3 drivers to using HW-based irq retrigger
- A sprinkling of dev_err_probe() conversion
- A set of NVIDIA Tegra fixes for interrupt hierarchy corruption
- A reset fix for the Loongson HTVEC driver
- A couple of error handling fixes in the TI SCI drivers
----------------------------------------------------------------
Alexandru Elisei (2):
irqchip/gic-v3: Spell out when pseudo-NMIs are enabled
irqchip/gic-v3: Support pseudo-NMIs when SCR_EL3.FIQ == 0
Anson Huang (2):
irqchip/imx-intmux: Use dev_err_probe() to simplify error handling
irqchip/imx-irqsteer: Use dev_err_probe() to simplify error handling
Cristian Ciocaltea (3):
dt-bindings: interrupt-controller: Add Actions SIRQ controller binding
irqchip: Add Actions Semi Owl SIRQ controller
MAINTAINERS: Add entries for Actions Semi Owl SIRQ controller
David Lechner (1):
irqchip/irq-pruss-intc: Implement irq_{get, set}_irqchip_state ops
Grzegorz Jaszczyk (1):
irqchip/irq-pruss-intc: Add a PRUSS irqchip driver for PRUSS interrupts
Huacai Chen (1):
irqchip/loongson-htvec: Fix initial interrupt clearing
Krzysztof Kozlowski (1):
irqchip/ti-sci: Simplify with dev_err_probe()
Lad Prabhakar (1):
irqchip: Kconfig: Update description for RENESAS_IRQC config
Marc Zyngier (36):
genirq: Walk the irq_data hierarchy when resending an interrupt
irqchip/git-v3-its: Implement irq_retrigger callback for device-triggered LPIs
genirq: Add fasteoi IPI flow
genirq: Allow interrupts to be excluded from /proc/interrupts
arm64: Allow IPIs to be handled as normal interrupts
ARM: Allow IPIs to be handled as normal interrupts
irqchip/gic-v3: Describe the SGI range
irqchip/gic-v3: Configure SGIs as standard interrupts
irqchip/gic: Refactor SMP configuration
irqchip/gic: Configure SGIs as standard interrupts
irqchip/gic-common: Don't enable SGIs by default
irqchip/bcm2836: Configure mailbox interrupts as standard interrupts
irqchip/hip04: Configure IPIs as standard interrupts
irqchip/armada-370-xp: Configure IPIs as standard interrupts
arm64: Kill __smp_cross_call and co
arm64: Remove custom IRQ stat accounting
ARM: Kill __smp_cross_call and co
ARM: Remove custom IRQ stat accounting
irqchip/bcm2836: Provide mask/unmask dummy methods for IPIs
irqchip/gic: Cleanup Franken-GIC handling
Merge remote-tracking branch 'origin/irq/misc-5.10' into irq/irqchip-next
Merge remote-tracking branch 'origin/irq/dev_err_probe' into irq/irqchip-next
Merge remote-tracking branch 'origin/irq/gic-v3-nmi-ns' into irq/irqchip-next
Merge remote-tracking branch 'origin/irq/ipi-as-irq' into irq/irqchip-next
Merge remote-tracking branch 'origin/irq/gic-retrigger' into irq/irqchip-next
arm: Move ipi_teardown() to a CONFIG_HOTPLUG_CPU section
ARM: Handle no IPI being registered in show_ipi_list()
Merge branch 'irq/ipi-as-irq', remote-tracking branches 'origin/irq/dw' and 'origin/irq/owl' into irq/irqchip-next
Merge branch 'irq/qcom-pdc-wakeup' into irq/irqchip-next
genirq/irqdomain: Allow partial trimming of irq_data hierarchy
gpio: tegra186: Allow optional irq parent callbacks
soc/tegra: pmc: Allow optional irq parent callbacks
soc/tegra: pmc: Don't create fake interrupt hierarchy levels
Merge branch 'irq/tegra-pmc' into irq/irqchip-next
Merge branch 'irq/irqchip-fixes' into irq/irqchip-next
Merge branch 'irq/mstar' into irq/irqchip-next
Mark-PK Tsai (2):
irqchip/irq-mst: Add MStar interrupt controller support
dt-bindings: interrupt-controller: Add MStar interrupt controller
Maulik Shah (6):
pinctrl: qcom: Set IRQCHIP_SET_TYPE_MASKED and IRQCHIP_MASK_ON_SUSPEND flags
pinctrl: qcom: Use return value from irq_set_wake() call
genirq/PM: Introduce IRQCHIP_ENABLE_WAKEUP_ON_SUSPEND flag
pinctrl: qcom: Set IRQCHIP_ENABLE_WAKEUP_ON_SUSPEND flag
irqchip/qcom-pdc: Set IRQCHIP_ENABLE_WAKEUP_ON_SUSPEND flag
irqchip/qcom-pdc: Reset PDC interrupts during init
Suman Anna (3):
dt-bindings: irqchip: Add PRU-ICSS interrupt controller bindings
irqchip/irq-pruss-intc: Add logic for handling reserved interrupts
irqchip/irq-pruss-intc: Add support for ICSSG INTC on K3 SoCs
Valentin Schneider (2):
irqchip/gic-v2, v3: Implement irq_chip->irq_retrigger()
irqchip/gic-v2, v3: Prevent SW resends entirely
YueHaibing (3):
irqchip/ti-sci-inta: Fix unsigned comparison to zero
irqchip/ti-sci-intr: Fix unsigned comparison to zero
arm64: Fix -Wunused-function warning when !CONFIG_HOTPLUG_CPU
Zhen Lei (4):
genirq: Add stub for set_handle_irq() when !GENERIC_IRQ_MULTI_HANDLER
irqchip/dw-apb-ictl: Refactor priot to introducing hierarchical irq domains
irqchip/dw-apb-ictl: Add primary interrupt controller support
dt-bindings: dw-apb-ictl: Update binding to describe use as primary interrupt controller
.../interrupt-controller/actions,owl-sirq.yaml | 65 ++
.../interrupt-controller/mstar,mst-intc.yaml | 64 ++
.../interrupt-controller/snps,dw-apb-ictl.txt | 14 +-
.../interrupt-controller/ti,pruss-intc.yaml | 158 +++++
MAINTAINERS | 9 +
arch/arm/Kconfig | 1 +
arch/arm/include/asm/hardirq.h | 17 -
arch/arm/include/asm/smp.h | 5 +-
arch/arm/kernel/irq.c | 1 -
arch/arm/kernel/smp.c | 140 +++--
arch/arm64/Kconfig | 1 +
arch/arm64/include/asm/arch_gicv3.h | 8 +-
arch/arm64/include/asm/hardirq.h | 9 -
arch/arm64/include/asm/irq_work.h | 4 +-
arch/arm64/include/asm/ptrace.h | 14 +-
arch/arm64/include/asm/smp.h | 16 +-
arch/arm64/kernel/image-vars.h | 2 +
arch/arm64/kernel/irq.c | 11 +-
arch/arm64/kernel/smp.c | 129 ++--
drivers/gpio/gpio-tegra186.c | 15 +-
drivers/irqchip/Kconfig | 24 +-
drivers/irqchip/Makefile | 3 +
drivers/irqchip/irq-armada-370-xp.c | 262 +++++---
drivers/irqchip/irq-bcm2836.c | 153 ++++-
drivers/irqchip/irq-dw-apb-ictl.c | 81 ++-
drivers/irqchip/irq-gic-common.c | 3 -
drivers/irqchip/irq-gic-v3-its.c | 6 +
drivers/irqchip/irq-gic-v3.c | 184 ++++--
drivers/irqchip/irq-gic.c | 247 ++++----
drivers/irqchip/irq-hip04.c | 89 ++-
drivers/irqchip/irq-imx-intmux.c | 9 +-
drivers/irqchip/irq-imx-irqsteer.c | 9 +-
drivers/irqchip/irq-loongson-htvec.c | 4 +-
drivers/irqchip/irq-mst-intc.c | 199 ++++++
drivers/irqchip/irq-owl-sirq.c | 359 +++++++++++
drivers/irqchip/irq-pruss-intc.c | 664 +++++++++++++++++++++
drivers/irqchip/irq-ti-sci-inta.c | 14 +-
drivers/irqchip/irq-ti-sci-intr.c | 14 +-
drivers/irqchip/qcom-pdc.c | 14 +-
drivers/pinctrl/qcom/pinctrl-msm.c | 11 +-
drivers/soc/tegra/pmc.c | 91 ++-
include/linux/irq.h | 60 +-
include/linux/irqdomain.h | 3 +
kernel/irq/chip.c | 27 +
kernel/irq/debugfs.c | 4 +
kernel/irq/irqdomain.c | 99 ++-
kernel/irq/pm.c | 34 +-
kernel/irq/proc.c | 2 +-
kernel/irq/resend.c | 15 +-
kernel/irq/settings.h | 7 +
50 files changed, 2761 insertions(+), 613 deletions(-)
create mode 100644 Documentation/devicetree/bindings/interrupt-controller/actions,owl-sirq.yaml
create mode 100644 Documentation/devicetree/bindings/interrupt-controller/mstar,mst-intc.yaml
create mode 100644 Documentation/devicetree/bindings/interrupt-controller/ti,pruss-intc.yaml
create mode 100644 drivers/irqchip/irq-mst-intc.c
create mode 100644 drivers/irqchip/irq-owl-sirq.c
create mode 100644 drivers/irqchip/irq-pruss-intc.c
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-10-10 23:04 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-10 12:30 [GIT PULL] irqchip updates for 5.10 Marc Zyngier
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.