]> asedeno.scripts.mit.edu Git - linux.git/commit
soc: ti: Add MSI domain bus support for Interrupt Aggregator
authorLokesh Vutla <lokeshvutla@ti.com>
Tue, 30 Apr 2019 10:12:28 +0000 (15:42 +0530)
committerMarc Zyngier <marc.zyngier@arm.com>
Wed, 1 May 2019 09:49:17 +0000 (10:49 +0100)
commit49b323157bf1e70bfb3114a463d340399906c43a
treebeea87f58d7d7b5d9842b6b904c2d7dfdec971b0
parent9f1463b86c13277d0bd88d5ee359577ef40f4da7
soc: ti: Add MSI domain bus support for Interrupt Aggregator

With the system coprocessor managing the range allocation of the
inputs to Interrupt Aggregator, it is difficult to represent
the device IRQs from DT.

The suggestion is to use MSI in such cases where devices wants
to allocate and group interrupts dynamically.

Create a MSI domain bus layer that allocates and frees MSIs for
a device.

APIs that are implemented:
- ti_sci_inta_msi_create_irq_domain() that creates a MSI domain
- ti_sci_inta_msi_domain_alloc_irqs() that creates MSIs for the
  specified device and resource.
- ti_sci_inta_msi_domain_free_irqs() frees the irqs attached to the device.
- ti_sci_inta_msi_get_virq() for getting the virq attached to a specific event.

Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
MAINTAINERS
drivers/soc/ti/Kconfig
drivers/soc/ti/Makefile
drivers/soc/ti/ti_sci_inta_msi.c [new file with mode: 0644]
include/linux/irqdomain.h
include/linux/msi.h
include/linux/soc/ti/ti_sci_inta_msi.h [new file with mode: 0644]