]> git.baikalelectronics.ru Git - kernel.git/commit
irqchip: add initial support for ompic
authorStafford Horne <shorne@gmail.com>
Mon, 30 Oct 2017 12:38:35 +0000 (21:38 +0900)
committerStafford Horne <shorne@gmail.com>
Fri, 3 Nov 2017 05:01:13 +0000 (14:01 +0900)
commit5a5ae3c19171349e49071e8b3318ad4daa996ab6
tree5471b19b526dd33b375f2ce7b129fce5f226a794
parentf2d487640a78fd2ec5446b792236b18535d9a0e1
irqchip: add initial support for ompic

IPI driver for the Open Multi-Processor Interrupt Controller (ompic) as
described in the Multi-core support section of the OpenRISC 1.2
architecture specification:

  https://github.com/openrisc/doc/raw/master/openrisc-arch-1.2-rev0.pdf

Each OpenRISC core contains a full interrupt controller which is used in
the SMP architecture for interrupt balancing.  This IPI device, the
ompic, is the only external device required for enabling SMP on
OpenRISC.

Pending ops are stored in a memory bit mask which can allow multiple
pending operations to be set and serviced at a time. This is mostly
borrowed from the alpha IPI implementation.

Reviewed-by: Marc Zyngier <marc.zyngier@arm.com>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
[shorne@gmail.com: converted ops to bitmask, wrote commit message]
Signed-off-by: Stafford Horne <shorne@gmail.com>
Documentation/devicetree/bindings/interrupt-controller/openrisc,ompic.txt [new file with mode: 0644]
MAINTAINERS
arch/openrisc/Kconfig
drivers/irqchip/Kconfig
drivers/irqchip/Makefile
drivers/irqchip/irq-ompic.c [new file with mode: 0644]